diff --git a/.github/workflows/npm-publish.yaml b/.github/workflows/npm-publish.yaml
index 3a52c29835..0864b02f9f 100644
--- a/.github/workflows/npm-publish.yaml
+++ b/.github/workflows/npm-publish.yaml
@@ -68,7 +68,7 @@ jobs:
CHANGESET_FILE=".changeset/update-package-versions-${GITHUB_RUN_ID}.md"
cat > "$CHANGESET_FILE" <<'EOF'
---
- "@stackframe/stack": patch
+ "@hexclave/next": patch
---
Update package versions.
@@ -89,28 +89,3 @@ jobs:
git commit -m "chore: update package versions"
git push origin dev
- # Hexclave rebrand mirror publish (Tier 2). Each publishable `@stackframe/*`
- # package is re-published as `@hexclave/*` with all cross-deps pinned to one
- # shared `@hexclave` version. Built artifacts (`dist/`) are also rewritten by
- # the script so cross-package require()/import specifiers + the build-time
- # package-version sentinel point at `@hexclave/*` instead of `@stackframe/*`.
- #
- # Hardcoded to 1.0.0 — `pnpm publish` skips versions already on npm, so
- # after the first successful run on main this becomes a no-op. PR 3 in
- # the rebrand sequence renames the source packages natively to
- # `@hexclave/*` and deletes this entire mirror flow; until then, 1.0.0
- # is the one-shot cutover version.
- #
- # Runs AFTER `Update package versions on dev` because that step asserts a
- # clean working tree (`git diff --exit-code HEAD`); the rewrite below
- # mutates package.json files in-place and would trip that assertion.
- - name: Checkout main for Hexclave mirror rewrite
- run: git checkout main
-
- - name: Rewrite package names to @hexclave/*
- run: pnpm tsx scripts/rewrite-packages-to-hexclave.ts --version=1.0.0
-
- - name: Publish @hexclave/* mirror packages
- run: pnpm publish -r --no-git-checks --access public
- env:
- NPM_CONFIG_PROVENANCE: true
diff --git a/.github/workflows/qemu-emulator-build.yaml b/.github/workflows/qemu-emulator-build.yaml
index 1989b6269f..a93b3bf109 100644
--- a/.github/workflows/qemu-emulator-build.yaml
+++ b/.github/workflows/qemu-emulator-build.yaml
@@ -149,12 +149,12 @@ jobs:
if: matrix.arch == 'amd64'
run: |
# Turbo's task graph for stack-cli#build includes
- # @stackframe/dashboard#build:rde-standalone, which transitively
- # depends on @stackframe/stack#build (via dashboard → stack).
+ # @hexclave/dashboard#build:rde-standalone, which transitively
+ # depends on @hexclave/next#build (via dashboard → stack).
# The pnpm filter must cover the dashboard dep tree too so that
# devDependencies like tailwindcss are installed for the build.
- pnpm install --frozen-lockfile --filter '@stackframe/stack-cli...' --filter '@stackframe/dashboard...'
- pnpm exec turbo run build --filter='@stackframe/stack-cli...'
+ pnpm install --frozen-lockfile --filter '@hexclave/cli...' --filter '@hexclave/dashboard...'
+ pnpm exec turbo run build --filter='@hexclave/cli...'
- name: Start emulator and verify
if: matrix.arch == 'amd64'
@@ -270,8 +270,8 @@ jobs:
- name: Install stack-cli deps + build
run: |
# See "Build stack-cli" step comment for why dashboard filter is needed
- pnpm install --frozen-lockfile --filter '@stackframe/stack-cli...' --filter '@stackframe/dashboard...'
- pnpm exec turbo run build --filter='@stackframe/stack-cli...'
+ pnpm install --frozen-lockfile --filter '@hexclave/cli...' --filter '@hexclave/dashboard...'
+ pnpm exec turbo run build --filter='@hexclave/cli...'
- name: Download built image
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
diff --git a/README.md b/README.md
index 46c9711969..d2abf24b87 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[](https://hexclave.com)
+[](https://hexclave.com)
📘 Docs
@@ -13,7 +13,7 @@ Hexclave is a managed user authentication solution. It is developer-friendly and
Hexclave gets you started in just five minutes, after which you'll be ready to use all of its features as you grow your project. Our managed service is completely optional and you can export your user data and self-host, for free, at any time.
-We support Next.js, React, and JavaScript frontends, along with any backend that can use our [REST API](https://docs.hexclave.com/api/overview). Check out our [setup guide](https://docs.hexclave.com/docs/next/getting-started/setup) to get started.
+We support Next.js, React, and JavaScript frontends, along with any backend that can use our [REST API](https://docs.hexclave.com/api/overview). Check out our [setup guide](https://docs.hexclave.com/getting-started/setup) to get started.
@@ -140,7 +140,7 @@ pnpm test # useful: --no-watch (disables watch mode) and --bail 1 (stops after t
You can now open the dev launchpad at [http://localhost:8100](http://localhost:8100). From there, you can navigate to the dashboard at [http://localhost:8101](http://localhost:8101), API on port 8102, demo on port 8103, docs on port 8104, Inbucket (e-mails) on port 8105, and Prisma Studio on port 8106. See the dev launchpad for a list of all running services.
-Your IDE may show an error on all `@stackframe/XYZ` imports. To fix this, simply restart the TypeScript language server; for example, in VSCode you can open the command palette (Ctrl+Shift+P) and run `Developer: Reload Window` or `TypeScript: Restart TS server`.
+Your IDE may show an error on all `@hexclave/XYZ` imports. To fix this, simply restart the TypeScript language server; for example, in VSCode you can open the command palette (Ctrl+Shift+P) and run `Developer: Reload Window` or `TypeScript: Restart TS server`.
Pre-populated .env files for the setup below are available and used by default in `.env.development` in each of the packages. However, if you're creating a production build (eg. with `pnpm run build`), you must supply the environment variables manually (see below).
@@ -192,5 +192,5 @@ Note: When working with AI, you should keep a terminal tab with the dev server o
## ❤ Contributors
-
+
diff --git a/apps/backend/instrumentation-client.ts b/apps/backend/instrumentation-client.ts
index 985801a55d..e946481706 100644
--- a/apps/backend/instrumentation-client.ts
+++ b/apps/backend/instrumentation-client.ts
@@ -3,9 +3,9 @@
// https://docs.sentry.io/platforms/javascript/guides/nextjs/
import * as Sentry from "@sentry/nextjs";
-import { getBrowserCompatibilityReport } from "@stackframe/stack-shared/dist/utils/browser-compat";
-import { sentryBaseConfig } from "@stackframe/stack-shared/dist/utils/sentry";
-import { nicify } from "@stackframe/stack-shared/dist/utils/strings";
+import { getBrowserCompatibilityReport } from "@hexclave/shared/dist/utils/browser-compat";
+import { sentryBaseConfig } from "@hexclave/shared/dist/utils/sentry";
+import { nicify } from "@hexclave/shared/dist/utils/strings";
Sentry.init({
...sentryBaseConfig,
diff --git a/apps/backend/package.json b/apps/backend/package.json
index 581cc1ef6d..0cdc6057d0 100644
--- a/apps/backend/package.json
+++ b/apps/backend/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/backend",
- "version": "2.8.103",
+ "name": "@hexclave/backend",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"type": "module",
@@ -85,8 +85,8 @@
"@react-email/render": "^1.2.1",
"@sentry/nextjs": "^10.45.0",
"@simplewebauthn/server": "^13.3.0",
- "@stackframe/stack": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/next": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"@upstash/qstash": "^2.8.2",
"@vercel/functions": "^2.0.0",
"@vercel/otel": "^1.10.4",
diff --git a/apps/backend/prisma/seed.ts b/apps/backend/prisma/seed.ts
index ea8d7a18d5..20902dc086 100644
--- a/apps/backend/prisma/seed.ts
+++ b/apps/backend/prisma/seed.ts
@@ -14,13 +14,13 @@ import { createOrUpdateProjectWithLegacyConfig, getProject } from '@/lib/project
import { seedDummyProject } from '@/lib/seed-dummy-data';
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from '@/lib/tenancies';
import { getPrismaClientForTenancy, globalPrismaClient } from '@/prisma-client';
-import { ALL_APPS } from '@stackframe/stack-shared/dist/apps/apps-config';
-import { DEFAULT_EMAIL_THEME_ID } from '@stackframe/stack-shared/dist/helpers/emails';
-import { AdminUserProjectsCrud } from '@stackframe/stack-shared/dist/interface/crud/projects';
-import { ITEM_IDS, PLAN_LIMITS } from '@stackframe/stack-shared/dist/plans';
-import { DayInterval } from '@stackframe/stack-shared/dist/utils/dates';
-import { throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { typedEntries, typedFromEntries } from '@stackframe/stack-shared/dist/utils/objects';
+import { ALL_APPS } from '@hexclave/shared/dist/apps/apps-config';
+import { DEFAULT_EMAIL_THEME_ID } from '@hexclave/shared/dist/helpers/emails';
+import { AdminUserProjectsCrud } from '@hexclave/shared/dist/interface/crud/projects';
+import { ITEM_IDS, PLAN_LIMITS } from '@hexclave/shared/dist/plans';
+import { DayInterval } from '@hexclave/shared/dist/utils/dates';
+import { throwErr } from '@hexclave/shared/dist/utils/errors';
+import { typedEntries, typedFromEntries } from '@hexclave/shared/dist/utils/objects';
const MONTHLY_REPEAT: DayInterval = [1, "month"];
diff --git a/apps/backend/scripts/backfill-internal-free-plans.ts b/apps/backend/scripts/backfill-internal-free-plans.ts
index 323aee1804..6c96903179 100644
--- a/apps/backend/scripts/backfill-internal-free-plans.ts
+++ b/apps/backend/scripts/backfill-internal-free-plans.ts
@@ -17,8 +17,8 @@ import { ensureFreePlanForBillingTeam } from "@/lib/payments/ensure-free-plan";
// eslint-disable-next-line @typescript-eslint/no-deprecated -- idiomatic way to get the internal tenancy today (see plan-entitlements.ts)
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch, type Tenancy } from "@/lib/tenancies";
import { globalPrismaClient } from "@/prisma-client";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
// Page size for streaming teams. Big enough to amortise round-trips,
// small enough to stay tiny in memory (~18KB per page).
diff --git a/apps/backend/scripts/benchmark-internal-metrics.ts b/apps/backend/scripts/benchmark-internal-metrics.ts
index d0d6338e84..2e936c3ca5 100644
--- a/apps/backend/scripts/benchmark-internal-metrics.ts
+++ b/apps/backend/scripts/benchmark-internal-metrics.ts
@@ -33,7 +33,7 @@
* Seeds synthetic events under a unique project_id so real data is never
* touched; cleans up via ALTER TABLE ... DELETE on exit.
*
- * Run: pnpm --filter @stackframe/backend run with-env:dev tsx scripts/benchmark-internal-metrics.ts
+ * Run: pnpm --filter @hexclave/backend run with-env:dev tsx scripts/benchmark-internal-metrics.ts
* Env knobs:
* BENCH_USERS (default 200_000) – distinct users in the perf seed
* BENCH_EVENTS_USER (default 5) – $token-refresh events per user
@@ -49,7 +49,7 @@
*/
import { getClickhouseAdminClient, getClickhouseAdminClientForMetrics } from "@/lib/clickhouse";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { randomUUID } from "node:crypto";
const RUN_ID = randomUUID();
diff --git a/apps/backend/scripts/clickhouse-migrations.ts b/apps/backend/scripts/clickhouse-migrations.ts
index 8db2a40777..d15e95e04c 100644
--- a/apps/backend/scripts/clickhouse-migrations.ts
+++ b/apps/backend/scripts/clickhouse-migrations.ts
@@ -1,5 +1,5 @@
import { getClickhouseAdminClient } from "@/lib/clickhouse";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
export async function runClickhouseMigrations() {
const start = performance.now();
diff --git a/apps/backend/scripts/generate-migration-imports.ts b/apps/backend/scripts/generate-migration-imports.ts
index e4dff82bc6..1f16dbcf1c 100644
--- a/apps/backend/scripts/generate-migration-imports.ts
+++ b/apps/backend/scripts/generate-migration-imports.ts
@@ -1,4 +1,4 @@
-import { writeFileSyncIfChanged } from '@stackframe/stack-shared/dist/utils/fs';
+import { writeFileSyncIfChanged } from '@hexclave/shared/dist/utils/fs';
import fs from 'fs';
import path from 'path';
import { MIGRATION_FILES_DIR, getMigrationFiles } from '../src/auto-migrations/utils';
diff --git a/apps/backend/scripts/generate-openapi-fumadocs.ts b/apps/backend/scripts/generate-openapi-fumadocs.ts
index 9bdc8d5b9b..c9fc28587a 100644
--- a/apps/backend/scripts/generate-openapi-fumadocs.ts
+++ b/apps/backend/scripts/generate-openapi-fumadocs.ts
@@ -1,10 +1,10 @@
import { parseOpenAPI, parseWebhookOpenAPI } from '@/lib/openapi';
import { isSmartRouteHandler } from '@/route-handlers/smart-route-handler';
-import { webhookEvents } from '@stackframe/stack-shared/dist/interface/webhooks';
-import { writeFileSyncIfChanged } from '@stackframe/stack-shared/dist/utils/fs';
-import { HTTP_METHODS } from '@stackframe/stack-shared/dist/utils/http';
-import { typedKeys } from '@stackframe/stack-shared/dist/utils/objects';
-import { stringCompare } from '@stackframe/stack-shared/dist/utils/strings';
+import { webhookEvents } from '@hexclave/shared/dist/interface/webhooks';
+import { writeFileSyncIfChanged } from '@hexclave/shared/dist/utils/fs';
+import { HTTP_METHODS } from '@hexclave/shared/dist/utils/http';
+import { typedKeys } from '@hexclave/shared/dist/utils/objects';
+import { stringCompare } from '@hexclave/shared/dist/utils/strings';
import fs from 'fs';
import { glob } from 'glob';
import path from 'path';
diff --git a/apps/backend/scripts/generate-private-sign-up-risk-engine.ts b/apps/backend/scripts/generate-private-sign-up-risk-engine.ts
index 78a00b5a98..93d47b6ef2 100644
--- a/apps/backend/scripts/generate-private-sign-up-risk-engine.ts
+++ b/apps/backend/scripts/generate-private-sign-up-risk-engine.ts
@@ -1,4 +1,4 @@
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import fs from "node:fs";
import path from "node:path";
diff --git a/apps/backend/scripts/regen-internal-subscriptions-to-latest.ts b/apps/backend/scripts/regen-internal-subscriptions-to-latest.ts
index 3223420fa1..c02047ba33 100644
--- a/apps/backend/scripts/regen-internal-subscriptions-to-latest.ts
+++ b/apps/backend/scripts/regen-internal-subscriptions-to-latest.ts
@@ -22,8 +22,8 @@ import { getStripeForAccount } from "@/lib/stripe";
// eslint-disable-next-line @typescript-eslint/no-deprecated -- idiomatic way to get the internal tenancy today (see plan-entitlements.ts)
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch, type Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient, retryTransaction } from "@/prisma-client";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
import type Stripe from "stripe";
// Page size for streaming teams. Big enough to amortise round-trips,
diff --git a/apps/backend/scripts/run-bulldozer-studio.ts b/apps/backend/scripts/run-bulldozer-studio.ts
index 943cf33989..7cf9ebfafc 100644
--- a/apps/backend/scripts/run-bulldozer-studio.ts
+++ b/apps/backend/scripts/run-bulldozer-studio.ts
@@ -1,6 +1,6 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deindent, stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { deindent, stringCompare } from "@hexclave/shared/dist/utils/strings";
import ELK from "elkjs/lib/elk.bundled.js";
import http from "node:http";
import { performance } from "node:perf_hooks";
diff --git a/apps/backend/scripts/run-cron-jobs.ts b/apps/backend/scripts/run-cron-jobs.ts
index 8cf1de6c31..ff2723b7b1 100644
--- a/apps/backend/scripts/run-cron-jobs.ts
+++ b/apps/backend/scripts/run-cron-jobs.ts
@@ -1,7 +1,7 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { captureError, HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously, wait } from "@hexclave/shared/dist/utils/promises";
+import { Result } from "@hexclave/shared/dist/utils/results";
const endpoints = [
"/api/latest/internal/external-db-sync/sequencer",
diff --git a/apps/backend/scripts/run-email-queue.ts b/apps/backend/scripts/run-email-queue.ts
index f08e85a31a..588fbf7731 100644
--- a/apps/backend/scripts/run-email-queue.ts
+++ b/apps/backend/scripts/run-email-queue.ts
@@ -1,6 +1,6 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously, wait } from "@hexclave/shared/dist/utils/promises";
async function main() {
console.log("Starting email queue processor...");
diff --git a/apps/backend/scripts/verify-data-integrity/api.ts b/apps/backend/scripts/verify-data-integrity/api.ts
index 27ca31ebd8..02dea50717 100644
--- a/apps/backend/scripts/verify-data-integrity/api.ts
+++ b/apps/backend/scripts/verify-data-integrity/api.ts
@@ -1,8 +1,8 @@
import fs from "fs";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deepPlainEquals, filterUndefined } from "@stackframe/stack-shared/dist/utils/objects";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { deepPlainEquals, filterUndefined } from "@hexclave/shared/dist/utils/objects";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
export type EndpointOutput = {
status: number,
diff --git a/apps/backend/scripts/verify-data-integrity/clickhouse-sync-verifier.ts b/apps/backend/scripts/verify-data-integrity/clickhouse-sync-verifier.ts
index 08bb316814..8e1920f63b 100644
--- a/apps/backend/scripts/verify-data-integrity/clickhouse-sync-verifier.ts
+++ b/apps/backend/scripts/verify-data-integrity/clickhouse-sync-verifier.ts
@@ -2,9 +2,9 @@ import { getClickhouseAdminClient } from "@/lib/clickhouse";
import { CLICKHOUSE_COLUMN_NORMALIZERS } from "@/lib/external-db-sync";
import type { Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy } from "@/prisma-client";
-import { DEFAULT_DB_SYNC_MAPPINGS } from "@stackframe/stack-shared/dist/config/db-sync-mappings";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { DEFAULT_DB_SYNC_MAPPINGS } from "@hexclave/shared/dist/config/db-sync-mappings";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import type { RecurseFunction } from "./recurse";
diff --git a/apps/backend/scripts/verify-data-integrity/index.ts b/apps/backend/scripts/verify-data-integrity/index.ts
index 72050e64ad..83857d0cf0 100644
--- a/apps/backend/scripts/verify-data-integrity/index.ts
+++ b/apps/backend/scripts/verify-data-integrity/index.ts
@@ -4,12 +4,12 @@ import { syncExternalDatabases } from "@/lib/external-db-sync";
import { createPaymentsSchema } from "@/lib/payments/schema/index";
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
-import type { OrganizationRenderedConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { omit } from "@stackframe/stack-shared/dist/utils/objects";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import type { OrganizationRenderedConfig } from "@hexclave/shared/dist/config/schema";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { omit } from "@hexclave/shared/dist/utils/objects";
+import { wait } from "@hexclave/shared/dist/utils/promises";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import fs from "fs";
import { createApiHelpers, loadOutputData, type OutputData } from "./api";
diff --git a/apps/backend/scripts/verify-data-integrity/payments-verifier.ts b/apps/backend/scripts/verify-data-integrity/payments-verifier.ts
index baabc55148..3cf56cbbc8 100644
--- a/apps/backend/scripts/verify-data-integrity/payments-verifier.ts
+++ b/apps/backend/scripts/verify-data-integrity/payments-verifier.ts
@@ -2,14 +2,14 @@ import type { Tenancy } from "@/lib/tenancies";
import { getItemQuantityForCustomer } from "@/lib/payments/customer-data";
import { SubscriptionStatus } from "@/generated/prisma/client";
import type { getPrismaClientForTenancy } from "@/prisma-client";
-import type { OrganizationRenderedConfig } from "@stackframe/stack-shared/dist/config/schema";
-import type { TransactionEntry } from "@stackframe/stack-shared/dist/interface/crud/transactions";
-import { FAR_FUTURE_DATE, addInterval, getIntervalsElapsed, type DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deepPlainEquals } from "@stackframe/stack-shared/dist/utils/objects";
-import { deindent, stringCompare, typedToUppercase } from "@stackframe/stack-shared/dist/utils/strings";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import type { OrganizationRenderedConfig } from "@hexclave/shared/dist/config/schema";
+import type { TransactionEntry } from "@hexclave/shared/dist/interface/crud/transactions";
+import { FAR_FUTURE_DATE, addInterval, getIntervalsElapsed, type DayInterval } from "@hexclave/shared/dist/utils/dates";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { deepPlainEquals } from "@hexclave/shared/dist/utils/objects";
+import { deindent, stringCompare, typedToUppercase } from "@hexclave/shared/dist/utils/strings";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import type { ExpectStatusCode } from "./api";
import { fetchAllTransactionsForProject } from "./stripe-payout-integrity";
diff --git a/apps/backend/scripts/verify-data-integrity/stripe-payout-integrity.ts b/apps/backend/scripts/verify-data-integrity/stripe-payout-integrity.ts
index 70e09f2625..355c1c1a5f 100644
--- a/apps/backend/scripts/verify-data-integrity/stripe-payout-integrity.ts
+++ b/apps/backend/scripts/verify-data-integrity/stripe-payout-integrity.ts
@@ -1,10 +1,10 @@
import type { Tenancy } from "@/lib/tenancies";
import { getStripeForAccount } from "@/lib/stripe";
-import type { Transaction } from "@stackframe/stack-shared/dist/interface/crud/transactions";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import type { Transaction } from "@hexclave/shared/dist/interface/crud/transactions";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import type { ExpectStatusCode } from "./api";
diff --git a/apps/backend/src/analytics.tsx b/apps/backend/src/analytics.tsx
index 6b29f1e3c5..b058555b4c 100644
--- a/apps/backend/src/analytics.tsx
+++ b/apps/backend/src/analytics.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from '@stackframe/stack-shared/dist/utils/env';
+import { getEnvVariable } from '@hexclave/shared/dist/utils/env';
import { PostHog } from 'posthog-node';
export default async function withPostHog(callback: (posthog: PostHog) => Promise) {
diff --git a/apps/backend/src/app/api/latest/(api-keys)/handlers.tsx b/apps/backend/src/app/api/latest/(api-keys)/handlers.tsx
index b177e2b3a9..ce24648f5d 100644
--- a/apps/backend/src/app/api/latest/(api-keys)/handlers.tsx
+++ b/apps/backend/src/app/api/latest/(api-keys)/handlers.tsx
@@ -5,13 +5,13 @@ import { createCrudHandlers } from "@/route-handlers/crud-handler";
import { SmartRequestAuth } from "@/route-handlers/smart-request";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { ProjectApiKey } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { TeamApiKeysCrud, UserApiKeysCrud, teamApiKeysCreateInputSchema, teamApiKeysCreateOutputSchema, teamApiKeysCrud, userApiKeysCreateInputSchema, userApiKeysCreateOutputSchema, userApiKeysCrud } from "@stackframe/stack-shared/dist/interface/crud/project-api-keys";
-import { adaptSchema, clientOrHigherAuthTypeSchema, serverOrHigherAuthTypeSchema, userIdOrMeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { createProjectApiKey } from "@stackframe/stack-shared/dist/utils/api-keys";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { KnownErrors } from "@hexclave/shared";
+import { TeamApiKeysCrud, UserApiKeysCrud, teamApiKeysCreateInputSchema, teamApiKeysCreateOutputSchema, teamApiKeysCrud, userApiKeysCreateInputSchema, userApiKeysCreateOutputSchema, userApiKeysCrud } from "@hexclave/shared/dist/interface/crud/project-api-keys";
+import { adaptSchema, clientOrHigherAuthTypeSchema, serverOrHigherAuthTypeSchema, userIdOrMeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { createProjectApiKey } from "@hexclave/shared/dist/utils/api-keys";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import * as yup from "yup";
diff --git a/apps/backend/src/app/api/latest/ai/query/[mode]/route.ts b/apps/backend/src/app/api/latest/ai/query/[mode]/route.ts
index 62178ccdbc..7c05b6c568 100644
--- a/apps/backend/src/app/api/latest/ai/query/[mode]/route.ts
+++ b/apps/backend/src/app/api/latest/ai/query/[mode]/route.ts
@@ -9,12 +9,12 @@ import { listManagedProjectIds } from "@/lib/projects";
import { SmartResponse } from "@/route-handlers/smart-response";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
-import { validateImageAttachments } from "@stackframe/stack-shared/dist/ai/image-limits";
-import { ChatContent } from "@stackframe/stack-shared/dist/interface/admin-interface";
-import { yupMixed, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Json } from "@stackframe/stack-shared/dist/utils/json";
+import { validateImageAttachments } from "@hexclave/shared/dist/ai/image-limits";
+import { ChatContent } from "@hexclave/shared/dist/interface/admin-interface";
+import { yupMixed, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { Json } from "@hexclave/shared/dist/utils/json";
import { generateText, stepCountIs, streamText, type ModelMessage } from "ai";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/analytics/events/batch/route.tsx b/apps/backend/src/app/api/latest/analytics/events/batch/route.tsx
index 02bae18aa1..c94df82044 100644
--- a/apps/backend/src/app/api/latest/analytics/events/batch/route.tsx
+++ b/apps/backend/src/app/api/latest/analytics/events/batch/route.tsx
@@ -4,10 +4,10 @@ import { findRecentSessionReplay } from "@/lib/session-replays";
import { getStackServerApp } from "@/stack";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { ITEM_IDS } from "@stackframe/stack-shared/dist/plans";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { ITEM_IDS } from "@hexclave/shared/dist/plans";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import * as zlib from "node:zlib";
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
diff --git a/apps/backend/src/app/api/latest/auth/anonymous/sign-up/route.ts b/apps/backend/src/app/api/latest/auth/anonymous/sign-up/route.ts
index 8fa99b1db7..0889cd9704 100644
--- a/apps/backend/src/app/api/latest/auth/anonymous/sign-up/route.ts
+++ b/apps/backend/src/app/api/latest/auth/anonymous/sign-up/route.ts
@@ -1,6 +1,6 @@
import { createAuthTokens } from "@/lib/tokens";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { usersCrudHandlers } from "../../../users/crud";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/auth/cli/complete/route.tsx b/apps/backend/src/app/api/latest/auth/cli/complete/route.tsx
index 1187c38427..b23cf7153f 100644
--- a/apps/backend/src/app/api/latest/auth/cli/complete/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/cli/complete/route.tsx
@@ -4,9 +4,9 @@ import { Tenancy } from "@/lib/tenancies";
import { generateAccessTokenFromRefreshTokenIfValid } from "@/lib/tokens";
import { getPrismaClientForTenancy, getPrismaSchemaForTenancy, globalPrismaClient, sqlQuoteIdent } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString, yupUnion } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString, yupUnion } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import type { InferType } from "yup";
type CliSessionState = "anonymous" | "none";
diff --git a/apps/backend/src/app/api/latest/auth/cli/poll/route.tsx b/apps/backend/src/app/api/latest/auth/cli/poll/route.tsx
index 44c17681fb..05e0c310b8 100644
--- a/apps/backend/src/app/api/latest/auth/cli/poll/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/cli/poll/route.tsx
@@ -1,8 +1,8 @@
import { Prisma } from "@/generated/prisma/client";
import { getPrismaClientForTenancy, getPrismaSchemaForTenancy, sqlQuoteIdent } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
type CliAuthAttemptRow = {
id: string,
diff --git a/apps/backend/src/app/api/latest/auth/cli/route.tsx b/apps/backend/src/app/api/latest/auth/cli/route.tsx
index f6ac433b4b..16d18292ef 100644
--- a/apps/backend/src/app/api/latest/auth/cli/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/cli/route.tsx
@@ -2,10 +2,10 @@ import { usersCrudHandlers } from "@/app/api/latest/users/crud";
import { Prisma } from "@/generated/prisma/client";
import { getPrismaClientForTenancy, getPrismaSchemaForTenancy, globalPrismaClient, sqlQuoteIdent } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
type RefreshTokenRow = {
tenancyId: string,
diff --git a/apps/backend/src/app/api/latest/auth/mfa/sign-in/verification-code-handler.tsx b/apps/backend/src/app/api/latest/auth/mfa/sign-in/verification-code-handler.tsx
index 9b5ee075eb..f76d21a6a2 100644
--- a/apps/backend/src/app/api/latest/auth/mfa/sign-in/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/auth/mfa/sign-in/verification-code-handler.tsx
@@ -3,10 +3,10 @@ import { getPrismaClientForTenancy } from "@/prisma-client";
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
import { verifyTOTP } from "@oslojs/otp";
import { VerificationCodeType } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { signInResponseSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { signInResponseSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const mfaVerificationCodeHandler = createVerificationCodeHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/auth/oauth/authorize/[provider_id]/route.tsx b/apps/backend/src/app/api/latest/auth/oauth/authorize/[provider_id]/route.tsx
index 54f1706de8..bcc3ac93f6 100644
--- a/apps/backend/src/app/api/latest/auth/oauth/authorize/[provider_id]/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/oauth/authorize/[provider_id]/route.tsx
@@ -7,10 +7,10 @@ import { getProjectBranchFromClientId, getProvider } from "@/oauth";
import { globalPrismaClient } from "@/prisma-client";
import type { SmartResponse } from "@/route-handlers/smart-response";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { urlSchema, yupArray, yupNumber, yupObject, yupString, yupUnion } from "@stackframe/stack-shared/dist/schema-fields";
-import { getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { urlSchema, yupArray, yupNumber, yupObject, yupString, yupUnion } from "@hexclave/shared/dist/schema-fields";
+import { getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import { cookies } from "next/headers";
import { redirect } from "next/navigation";
import { generators } from "openid-client";
diff --git a/apps/backend/src/app/api/latest/auth/oauth/callback/[provider_id]/route.tsx b/apps/backend/src/app/api/latest/auth/oauth/callback/[provider_id]/route.tsx
index d6195fada0..5b390da8de 100644
--- a/apps/backend/src/app/api/latest/auth/oauth/callback/[provider_id]/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/oauth/callback/[provider_id]/route.tsx
@@ -10,10 +10,10 @@ import { getProvider, oauthServer } from "@/oauth";
import { PrismaClientTransaction, getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { InvalidClientError, InvalidScopeError, Request as OAuthRequest, Response as OAuthResponse } from "@node-oauth/oauth2-server";
-import { KnownError, KnownErrors } from "@stackframe/stack-shared";
-import { yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deindent, extractScopes } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownError, KnownErrors } from "@hexclave/shared";
+import { yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { deindent, extractScopes } from "@hexclave/shared/dist/utils/strings";
import { cookies } from "next/headers";
import { redirect } from "next/navigation";
import { oauthResponseToSmartResponse } from "../../oauth-helpers";
diff --git a/apps/backend/src/app/api/latest/auth/oauth/callback/apple/native/route.tsx b/apps/backend/src/app/api/latest/auth/oauth/callback/apple/native/route.tsx
index b85a9378b8..7541bb15fe 100644
--- a/apps/backend/src/app/api/latest/auth/oauth/callback/apple/native/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/oauth/callback/apple/native/route.tsx
@@ -5,9 +5,9 @@ import { getDisabledBotChallengeAssessment, isBotChallengeDisabled } from "@/lib
import { createAuthTokens } from "@/lib/tokens";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { captureError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { captureError, throwErr } from "@hexclave/shared/dist/utils/errors";
import { createRemoteJWKSet, jwtVerify } from "jose";
// Apple's JWKS endpoint for verifying identity tokens
diff --git a/apps/backend/src/app/api/latest/auth/oauth/connected-accounts/[provider_id]/access-token/route.tsx b/apps/backend/src/app/api/latest/auth/oauth/connected-accounts/[provider_id]/access-token/route.tsx
index cb1188b223..1710b7ce92 100644
--- a/apps/backend/src/app/api/latest/auth/oauth/connected-accounts/[provider_id]/access-token/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/oauth/connected-accounts/[provider_id]/access-token/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
// TODO: Deprecated route, remove together with the v1 dashboard endpoints
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/auth/oauth/cross-domain/authorize/route.tsx b/apps/backend/src/app/api/latest/auth/oauth/cross-domain/authorize/route.tsx
index bd9ad25f7b..6a4890b5c3 100644
--- a/apps/backend/src/app/api/latest/auth/oauth/cross-domain/authorize/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/oauth/cross-domain/authorize/route.tsx
@@ -5,10 +5,10 @@ import { isRefreshTokenValid } from "@/lib/tokens";
import { oauthServer } from "@/oauth";
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, urlSchema, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { publishableClientKeyNotNecessarySentinel } from "@stackframe/stack-shared/dist/utils/oauth";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, urlSchema, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { publishableClientKeyNotNecessarySentinel } from "@hexclave/shared/dist/utils/oauth";
import { InvalidClientError, InvalidScopeError, Request as OAuthRequest, Response as OAuthResponse } from "@node-oauth/oauth2-server";
type CrossDomainAuthorizeBody = {
diff --git a/apps/backend/src/app/api/latest/auth/oauth/oauth-helpers.tsx b/apps/backend/src/app/api/latest/auth/oauth/oauth-helpers.tsx
index 4c4bf61308..a1e5c0e9aa 100644
--- a/apps/backend/src/app/api/latest/auth/oauth/oauth-helpers.tsx
+++ b/apps/backend/src/app/api/latest/auth/oauth/oauth-helpers.tsx
@@ -1,6 +1,6 @@
import { SmartResponse } from "@/route-handlers/smart-response";
import { Response as OAuthResponse } from "@node-oauth/oauth2-server";
-import { HexclaveAssertionError, StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError, StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
export function oauthResponseToSmartResponse(oauthResponse: OAuthResponse) {
if (!oauthResponse.status) {
diff --git a/apps/backend/src/app/api/latest/auth/oauth/token/route.tsx b/apps/backend/src/app/api/latest/auth/oauth/token/route.tsx
index d3645b8e8f..797c186960 100644
--- a/apps/backend/src/app/api/latest/auth/oauth/token/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/oauth/token/route.tsx
@@ -3,9 +3,9 @@ import { getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { getProjectBranchFromClientId, oauthServer } from "@/oauth";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { InvalidClientError, InvalidGrantError, InvalidRequestError, Request as OAuthRequest, Response as OAuthResponse, ServerError } from "@node-oauth/oauth2-server";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import { oauthResponseToSmartResponse } from "../oauth-helpers";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/auth/otp/send-sign-in-code/route.tsx b/apps/backend/src/app/api/latest/auth/otp/send-sign-in-code/route.tsx
index 2a705014ee..2705a3be9d 100644
--- a/apps/backend/src/app/api/latest/auth/otp/send-sign-in-code/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/otp/send-sign-in-code/route.tsx
@@ -1,8 +1,8 @@
import { getRequestContextAndBotChallengeAssessment, botChallengeFlowRequestSchemaFields } from "@/lib/turnstile";
import { serializeStoredSignUpRequestContext } from "@/lib/sign-up-context";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, clientOrHigherAuthTypeSchema, emailOtpSignInCallbackUrlSchema, signInEmailSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, clientOrHigherAuthTypeSchema, emailOtpSignInCallbackUrlSchema, signInEmailSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import { ensureUserForEmailAllowsOtp, signInVerificationCodeHandler } from "../sign-in/verification-code-handler";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/auth/otp/sign-in/verification-code-handler.tsx b/apps/backend/src/app/api/latest/auth/otp/sign-in/verification-code-handler.tsx
index 6aecd5a268..ce87621b3c 100644
--- a/apps/backend/src/app/api/latest/auth/otp/sign-in/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/auth/otp/sign-in/verification-code-handler.tsx
@@ -7,10 +7,10 @@ import { buildSignUpRuleOptions, deserializeStoredSignUpRequestContext, deserial
import { createOrUpgradeAnonymousUserWithRules } from "@/lib/users";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { turnstileResultValues } from "@stackframe/stack-shared/dist/utils/turnstile";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { emailSchema, signInResponseSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { turnstileResultValues } from "@hexclave/shared/dist/utils/turnstile";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { emailSchema, signInResponseSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { usersCrudHandlers } from "../../../users/crud";
import { createMfaRequiredError } from "../../mfa/sign-in/verification-code-handler";
diff --git a/apps/backend/src/app/api/latest/auth/passkey/initiate-passkey-authentication/route.tsx b/apps/backend/src/app/api/latest/auth/passkey/initiate-passkey-authentication/route.tsx
index 67d3c647fb..70559148b5 100644
--- a/apps/backend/src/app/api/latest/auth/passkey/initiate-passkey-authentication/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/passkey/initiate-passkey-authentication/route.tsx
@@ -1,10 +1,10 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { generateAuthenticationOptions } from "@simplewebauthn/server";
import { isoUint8Array } from "@simplewebauthn/server/helpers";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { PublicKeyCredentialRequestOptionsJSON } from "@stackframe/stack-shared/dist/utils/passkey";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { PublicKeyCredentialRequestOptionsJSON } from "@hexclave/shared/dist/utils/passkey";
import { passkeySignInVerificationCodeHandler } from "../sign-in/verification-code-handler";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/auth/passkey/initiate-passkey-registration/route.tsx b/apps/backend/src/app/api/latest/auth/passkey/initiate-passkey-registration/route.tsx
index 6b801e0bd7..9b8718c175 100644
--- a/apps/backend/src/app/api/latest/auth/passkey/initiate-passkey-registration/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/passkey/initiate-passkey-registration/route.tsx
@@ -4,9 +4,9 @@ import {
GenerateRegistrationOptionsOpts,
} from '@simplewebauthn/server';
import { isoUint8Array } from '@simplewebauthn/server/helpers';
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { registerVerificationCodeHandler } from "../register/verification-code-handler";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/auth/passkey/register/verification-code-handler.tsx b/apps/backend/src/app/api/latest/auth/passkey/register/verification-code-handler.tsx
index 95e93c6e4a..66e9d7ec2b 100644
--- a/apps/backend/src/app/api/latest/auth/passkey/register/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/auth/passkey/register/verification-code-handler.tsx
@@ -4,10 +4,10 @@ import { createVerificationCodeHandler } from "@/route-handlers/verification-cod
import { VerificationCodeType } from "@/generated/prisma/client";
import { verifyRegistrationResponse } from "@simplewebauthn/server";
import { decodeClientDataJSON } from "@simplewebauthn/server/helpers";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { RegistrationResponseJSON } from "@stackframe/stack-shared/dist/utils/passkey";
+import { KnownErrors } from "@hexclave/shared";
+import { yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { RegistrationResponseJSON } from "@hexclave/shared/dist/utils/passkey";
export const registerVerificationCodeHandler = createVerificationCodeHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/auth/passkey/sign-in/verification-code-handler.tsx b/apps/backend/src/app/api/latest/auth/passkey/sign-in/verification-code-handler.tsx
index 698bdf4ae3..81bfa37a64 100644
--- a/apps/backend/src/app/api/latest/auth/passkey/sign-in/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/auth/passkey/sign-in/verification-code-handler.tsx
@@ -5,10 +5,10 @@ import { createVerificationCodeHandler } from "@/route-handlers/verification-cod
import { VerificationCodeType } from "@/generated/prisma/client";
import { verifyAuthenticationResponse } from "@simplewebauthn/server";
import { decodeClientDataJSON } from "@simplewebauthn/server/helpers";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { signInResponseSchema, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { AuthenticationResponseJSON } from "@stackframe/stack-shared/dist/utils/passkey";
+import { KnownErrors } from "@hexclave/shared";
+import { signInResponseSchema, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { AuthenticationResponseJSON } from "@hexclave/shared/dist/utils/passkey";
import { createMfaRequiredError } from "../../mfa/sign-in/verification-code-handler";
export const passkeySignInVerificationCodeHandler = createVerificationCodeHandler({
diff --git a/apps/backend/src/app/api/latest/auth/password/reset/verification-code-handler.tsx b/apps/backend/src/app/api/latest/auth/password/reset/verification-code-handler.tsx
index 9aa3bd61b2..fdda339553 100644
--- a/apps/backend/src/app/api/latest/auth/password/reset/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/auth/password/reset/verification-code-handler.tsx
@@ -2,10 +2,10 @@ import { sendEmailFromDefaultTemplate } from "@/lib/emails";
import { getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
import { VerificationCodeType } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { getPasswordError } from "@stackframe/stack-shared/dist/helpers/password";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { emailSchema, passwordSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { getPasswordError } from "@hexclave/shared/dist/helpers/password";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { emailSchema, passwordSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { usersCrudHandlers } from "../../../users/crud";
export const resetPasswordVerificationCodeHandler = createVerificationCodeHandler({
diff --git a/apps/backend/src/app/api/latest/auth/password/send-reset-code/route.tsx b/apps/backend/src/app/api/latest/auth/password/send-reset-code/route.tsx
index 444dbeb9bf..bb55907384 100644
--- a/apps/backend/src/app/api/latest/auth/password/send-reset-code/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/password/send-reset-code/route.tsx
@@ -1,9 +1,9 @@
import { getAuthContactChannelWithEmailNormalization } from "@/lib/contact-channel";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, emailSchema, urlSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, emailSchema, urlSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { usersCrudHandlers } from "../../../users/crud";
import { resetPasswordVerificationCodeHandler } from "../reset/verification-code-handler";
diff --git a/apps/backend/src/app/api/latest/auth/password/set/route.tsx b/apps/backend/src/app/api/latest/auth/password/set/route.tsx
index 1bb7fddeda..5f32cd2975 100644
--- a/apps/backend/src/app/api/latest/auth/password/set/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/password/set/route.tsx
@@ -1,10 +1,10 @@
import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { getPasswordError } from "@stackframe/stack-shared/dist/helpers/password";
-import { adaptSchema, clientOrHigherAuthTypeSchema, passwordSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { hashPassword } from "@stackframe/stack-shared/dist/utils/hashes";
+import { KnownErrors } from "@hexclave/shared";
+import { getPasswordError } from "@hexclave/shared/dist/helpers/password";
+import { adaptSchema, clientOrHigherAuthTypeSchema, passwordSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { hashPassword } from "@hexclave/shared/dist/utils/hashes";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/auth/password/sign-in/route.tsx b/apps/backend/src/app/api/latest/auth/password/sign-in/route.tsx
index 47c1b4ff3c..48c477d2f8 100644
--- a/apps/backend/src/app/api/latest/auth/password/sign-in/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/password/sign-in/route.tsx
@@ -2,10 +2,10 @@ import { getAuthContactChannelWithEmailNormalization } from "@/lib/contact-chann
import { createAuthTokens } from "@/lib/tokens";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, emailSchema, passwordSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { comparePassword } from "@stackframe/stack-shared/dist/utils/hashes";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, emailSchema, passwordSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { comparePassword } from "@hexclave/shared/dist/utils/hashes";
import { createMfaRequiredError } from "../../mfa/sign-in/verification-code-handler";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/auth/password/sign-up/route.tsx b/apps/backend/src/app/api/latest/auth/password/sign-up/route.tsx
index d633d04da3..6de76e52fc 100644
--- a/apps/backend/src/app/api/latest/auth/password/sign-up/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/password/sign-up/route.tsx
@@ -5,9 +5,9 @@ import { getRequestContextAndBotChallengeAssessment, botChallengeFlowRequestSche
import { createOrUpgradeAnonymousUserWithRules } from "@/lib/users";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { getPasswordError } from "@stackframe/stack-shared/dist/helpers/password";
-import { adaptSchema, clientOrHigherAuthTypeSchema, emailVerificationCallbackUrlSchema, passwordSchema, signInEmailSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { getPasswordError } from "@hexclave/shared/dist/helpers/password";
+import { adaptSchema, clientOrHigherAuthTypeSchema, emailVerificationCallbackUrlSchema, passwordSchema, signInEmailSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { contactChannelVerificationCodeHandler } from "../../../contact-channels/verify/verification-code-handler";
import { createMfaRequiredError } from "../../mfa/sign-in/verification-code-handler";
diff --git a/apps/backend/src/app/api/latest/auth/password/update/route.tsx b/apps/backend/src/app/api/latest/auth/password/update/route.tsx
index 2b47481203..1d1430531d 100644
--- a/apps/backend/src/app/api/latest/auth/password/update/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/password/update/route.tsx
@@ -1,11 +1,11 @@
import { recordExternalDbSyncRefreshTokenDeletionsForUser } from "@/lib/external-db-sync";
import { getPrismaClientForTenancy, globalPrismaClient, retryTransaction } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { getPasswordError } from "@stackframe/stack-shared/dist/helpers/password";
-import { adaptSchema, clientOrHigherAuthTypeSchema, passwordSchema, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { comparePassword, hashPassword } from "@stackframe/stack-shared/dist/utils/hashes";
+import { KnownErrors } from "@hexclave/shared";
+import { getPasswordError } from "@hexclave/shared/dist/helpers/password";
+import { adaptSchema, clientOrHigherAuthTypeSchema, passwordSchema, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { comparePassword, hashPassword } from "@hexclave/shared/dist/utils/hashes";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/auth/sessions/crud.tsx b/apps/backend/src/app/api/latest/auth/sessions/crud.tsx
index 759a2f81ee..3067b2f752 100644
--- a/apps/backend/src/app/api/latest/auth/sessions/crud.tsx
+++ b/apps/backend/src/app/api/latest/auth/sessions/crud.tsx
@@ -2,12 +2,12 @@ import { recordExternalDbSyncDeletion } from "@/lib/external-db-sync";
import { globalPrismaClient } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
import { SmartRequestAuth } from "@/route-handlers/smart-request";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { sessionsCrud } from "@stackframe/stack-shared/dist/interface/crud/sessions";
-import { userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { geoInfoSchema } from "@stackframe/stack-shared/dist/utils/geo";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { sessionsCrud } from "@hexclave/shared/dist/interface/crud/sessions";
+import { userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { geoInfoSchema } from "@hexclave/shared/dist/utils/geo";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const sessionsCrudHandlers = createLazyProxy(() => createCrudHandlers(sessionsCrud, {
paramsSchema: yupObject({
diff --git a/apps/backend/src/app/api/latest/auth/sessions/current/refresh/route.tsx b/apps/backend/src/app/api/latest/auth/sessions/current/refresh/route.tsx
index f7e2da99a5..4aa534b5bc 100644
--- a/apps/backend/src/app/api/latest/auth/sessions/current/refresh/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/sessions/current/refresh/route.tsx
@@ -1,8 +1,8 @@
import { generateAccessTokenFromRefreshTokenIfValid } from "@/lib/tokens";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/auth/sessions/current/route.tsx b/apps/backend/src/app/api/latest/auth/sessions/current/route.tsx
index 9ab3716eec..5b9af82997 100644
--- a/apps/backend/src/app/api/latest/auth/sessions/current/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/sessions/current/route.tsx
@@ -2,8 +2,8 @@ import { recordExternalDbSyncDeletion } from "@/lib/external-db-sync";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { Prisma } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const DELETE = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/auth/sessions/route.tsx b/apps/backend/src/app/api/latest/auth/sessions/route.tsx
index df8ba8c363..06a77d22c1 100644
--- a/apps/backend/src/app/api/latest/auth/sessions/route.tsx
+++ b/apps/backend/src/app/api/latest/auth/sessions/route.tsx
@@ -1,7 +1,7 @@
import { createAuthTokens } from "@/lib/tokens";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, serverOrHigherAuthTypeSchema, userIdOrMeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, serverOrHigherAuthTypeSchema, userIdOrMeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { usersCrudHandlers } from "../../users/crud";
import { sessionsCrudHandlers } from "./crud";
diff --git a/apps/backend/src/app/api/latest/check-feature-support/route.tsx b/apps/backend/src/app/api/latest/check-feature-support/route.tsx
index b414018d4c..0bc2fa785e 100644
--- a/apps/backend/src/app/api/latest/check-feature-support/route.tsx
+++ b/apps/backend/src/app/api/latest/check-feature-support/route.tsx
@@ -1,7 +1,7 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/check-version/route.ts b/apps/backend/src/app/api/latest/check-version/route.ts
index 33bf6a1b64..5c19910132 100644
--- a/apps/backend/src/app/api/latest/check-version/route.ts
+++ b/apps/backend/src/app/api/latest/check-version/route.ts
@@ -1,5 +1,5 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupBoolean, yupNumber, yupObject, yupString, yupUnion } from "@stackframe/stack-shared/dist/schema-fields";
+import { yupBoolean, yupNumber, yupObject, yupString, yupUnion } from "@hexclave/shared/dist/schema-fields";
import semver from "semver";
import packageJson from "../../../../../package.json";
diff --git a/apps/backend/src/app/api/latest/connected-accounts/[user_id]/[provider_id]/[provider_account_id]/access-token/crud.tsx b/apps/backend/src/app/api/latest/connected-accounts/[user_id]/[provider_id]/[provider_account_id]/access-token/crud.tsx
index f664d10cf2..c53fa5f75a 100644
--- a/apps/backend/src/app/api/latest/connected-accounts/[user_id]/[provider_id]/[provider_account_id]/access-token/crud.tsx
+++ b/apps/backend/src/app/api/latest/connected-accounts/[user_id]/[provider_id]/[provider_account_id]/access-token/crud.tsx
@@ -2,11 +2,11 @@ import { usersCrudHandlers } from "@/app/api/latest/users/crud";
import { getProvider } from "@/oauth";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { connectedAccountAccessTokenCrud } from "@stackframe/stack-shared/dist/interface/crud/connected-accounts";
-import { userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { connectedAccountAccessTokenCrud } from "@hexclave/shared/dist/interface/crud/connected-accounts";
+import { userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
import { isSharedAccessTokenBlocked, retrieveOrRefreshAccessToken } from "../../../../access-token-helpers";
diff --git a/apps/backend/src/app/api/latest/connected-accounts/[user_id]/[provider_id]/access-token/crud.tsx b/apps/backend/src/app/api/latest/connected-accounts/[user_id]/[provider_id]/access-token/crud.tsx
index abffc593b5..dee2aa98d4 100644
--- a/apps/backend/src/app/api/latest/connected-accounts/[user_id]/[provider_id]/access-token/crud.tsx
+++ b/apps/backend/src/app/api/latest/connected-accounts/[user_id]/[provider_id]/access-token/crud.tsx
@@ -2,11 +2,11 @@ import { usersCrudHandlers } from "@/app/api/latest/users/crud";
import { getProvider } from "@/oauth";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { connectedAccountAccessTokenCrud } from "@stackframe/stack-shared/dist/interface/crud/connected-accounts";
-import { userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { connectedAccountAccessTokenCrud } from "@hexclave/shared/dist/interface/crud/connected-accounts";
+import { userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
import { isSharedAccessTokenBlocked, retrieveOrRefreshAccessToken } from "../../../access-token-helpers";
diff --git a/apps/backend/src/app/api/latest/connected-accounts/[user_id]/crud.tsx b/apps/backend/src/app/api/latest/connected-accounts/[user_id]/crud.tsx
index 84949d58fb..f68fa4c33f 100644
--- a/apps/backend/src/app/api/latest/connected-accounts/[user_id]/crud.tsx
+++ b/apps/backend/src/app/api/latest/connected-accounts/[user_id]/crud.tsx
@@ -1,11 +1,11 @@
import { ensureUserExists } from "@/lib/request-checks";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { connectedAccountCrud } from "@stackframe/stack-shared/dist/interface/crud/connected-accounts";
-import { userIdOrMeSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { connectedAccountCrud } from "@hexclave/shared/dist/interface/crud/connected-accounts";
+import { userIdOrMeSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const connectedAccountCrudHandlers = createLazyProxy(() => createCrudHandlers(connectedAccountCrud, {
paramsSchema: yupObject({
diff --git a/apps/backend/src/app/api/latest/connected-accounts/access-token-helpers.tsx b/apps/backend/src/app/api/latest/connected-accounts/access-token-helpers.tsx
index 0042977a05..47b38aa15d 100644
--- a/apps/backend/src/app/api/latest/connected-accounts/access-token-helpers.tsx
+++ b/apps/backend/src/app/api/latest/connected-accounts/access-token-helpers.tsx
@@ -1,10 +1,10 @@
import { OAuthBaseProvider } from "@/oauth/providers/base";
import type { OAuthAccessTokenRefreshError } from "@/oauth/providers/base";
import { getPrismaClientForTenancy } from "@/prisma-client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { extractScopes } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownErrors } from "@hexclave/shared";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { extractScopes } from "@hexclave/shared/dist/utils/strings";
function captureOAuthAccessTokenRefreshIssue(options: {
location: string,
diff --git a/apps/backend/src/app/api/latest/contact-channels/[user_id]/[contact_channel_id]/send-verification-code/route.tsx b/apps/backend/src/app/api/latest/contact-channels/[user_id]/[contact_channel_id]/send-verification-code/route.tsx
index 47d341e921..6a3dfe392e 100644
--- a/apps/backend/src/app/api/latest/contact-channels/[user_id]/[contact_channel_id]/send-verification-code/route.tsx
+++ b/apps/backend/src/app/api/latest/contact-channels/[user_id]/[contact_channel_id]/send-verification-code/route.tsx
@@ -1,9 +1,9 @@
import { usersCrudHandlers } from "@/app/api/latest/users/crud";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, contactChannelIdSchema, emailVerificationCallbackUrlSchema, userIdOrMeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, contactChannelIdSchema, emailVerificationCallbackUrlSchema, userIdOrMeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
import { contactChannelVerificationCodeHandler } from "../../../verify/verification-code-handler";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/contact-channels/crud.tsx b/apps/backend/src/app/api/latest/contact-channels/crud.tsx
index f6ebb76243..924387a777 100644
--- a/apps/backend/src/app/api/latest/contact-channels/crud.tsx
+++ b/apps/backend/src/app/api/latest/contact-channels/crud.tsx
@@ -5,12 +5,12 @@ import { markProjectUserForExternalDbSync, recordExternalDbSyncDeletion, withExt
import { ensureContactChannelDoesNotExists, ensureContactChannelExists } from "@/lib/request-checks";
import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { contactChannelsCrud } from "@stackframe/stack-shared/dist/interface/crud/contact-channels";
-import { userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
-import { typedToLowercase, typedToUppercase } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownErrors } from "@hexclave/shared";
+import { contactChannelsCrud } from "@hexclave/shared/dist/interface/crud/contact-channels";
+import { userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
+import { typedToLowercase, typedToUppercase } from "@hexclave/shared/dist/utils/strings";
export const contactChannelToCrud = (channel: Prisma.ContactChannelGetPayload<{}>) => {
return {
diff --git a/apps/backend/src/app/api/latest/contact-channels/send-verification-code/route.tsx b/apps/backend/src/app/api/latest/contact-channels/send-verification-code/route.tsx
index f8915851b1..a53d62cef7 100644
--- a/apps/backend/src/app/api/latest/contact-channels/send-verification-code/route.tsx
+++ b/apps/backend/src/app/api/latest/contact-channels/send-verification-code/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, emailVerificationCallbackUrlSchema, signInEmailSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, emailVerificationCallbackUrlSchema, signInEmailSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { contactChannelVerificationCodeHandler } from "../verify/verification-code-handler";
/* deprecated, use /contact-channels/[user_id]/[contact_channel_id]/send-verification-code instead */
diff --git a/apps/backend/src/app/api/latest/contact-channels/verify/verification-code-handler.tsx b/apps/backend/src/app/api/latest/contact-channels/verify/verification-code-handler.tsx
index fa2dfef55b..202ea9ccaf 100644
--- a/apps/backend/src/app/api/latest/contact-channels/verify/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/contact-channels/verify/verification-code-handler.tsx
@@ -4,9 +4,9 @@ import { getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
import { VerificationCodeType } from "@/generated/prisma/client";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { emailSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { emailSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const contactChannelVerificationCodeHandler = createVerificationCodeHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/data-vault/stores/[id]/get/route.tsx b/apps/backend/src/app/api/latest/data-vault/stores/[id]/get/route.tsx
index 2d01f6b01c..74c29c1885 100644
--- a/apps/backend/src/app/api/latest/data-vault/stores/[id]/get/route.tsx
+++ b/apps/backend/src/app/api/latest/data-vault/stores/[id]/get/route.tsx
@@ -1,9 +1,9 @@
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { decryptWithKms } from "@stackframe/stack-shared/dist/helpers/vault/server-side";
-import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { decryptWithKms } from "@hexclave/shared/dist/helpers/vault/server-side";
+import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/data-vault/stores/[id]/set/route.tsx b/apps/backend/src/app/api/latest/data-vault/stores/[id]/set/route.tsx
index 0be41caf21..44462a70ee 100644
--- a/apps/backend/src/app/api/latest/data-vault/stores/[id]/set/route.tsx
+++ b/apps/backend/src/app/api/latest/data-vault/stores/[id]/set/route.tsx
@@ -1,8 +1,8 @@
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { encryptWithKms } from "@stackframe/stack-shared/dist/helpers/vault/server-side";
-import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { encryptWithKms } from "@hexclave/shared/dist/helpers/vault/server-side";
+import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/emails/capacity-boost/route.tsx b/apps/backend/src/app/api/latest/emails/capacity-boost/route.tsx
index dc243bf829..77315057cb 100644
--- a/apps/backend/src/app/api/latest/emails/capacity-boost/route.tsx
+++ b/apps/backend/src/app/api/latest/emails/capacity-boost/route.tsx
@@ -1,7 +1,7 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
const BOOST_DURATION_HOURS = 4;
diff --git a/apps/backend/src/app/api/latest/emails/delivery-info/route.tsx b/apps/backend/src/app/api/latest/emails/delivery-info/route.tsx
index 77bcd14937..a1406062e7 100644
--- a/apps/backend/src/app/api/latest/emails/delivery-info/route.tsx
+++ b/apps/backend/src/app/api/latest/emails/delivery-info/route.tsx
@@ -1,6 +1,6 @@
import { calculateCapacityRate, getEmailCapacityBoostExpiresAt, getEmailDeliveryStatsForTenancy } from "@/lib/email-delivery-stats";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, serverOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, serverOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
const windows = [
{ key: "hour" as const },
diff --git a/apps/backend/src/app/api/latest/emails/notification-preference/crud.tsx b/apps/backend/src/app/api/latest/emails/notification-preference/crud.tsx
index e9b9c8583e..3cc56a0a27 100644
--- a/apps/backend/src/app/api/latest/emails/notification-preference/crud.tsx
+++ b/apps/backend/src/app/api/latest/emails/notification-preference/crud.tsx
@@ -3,11 +3,11 @@ import { listNotificationCategories } from "@/lib/notification-categories";
import { ensureUserExists } from "@/lib/request-checks";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { notificationPreferenceCrud, NotificationPreferenceCrud } from "@stackframe/stack-shared/dist/interface/crud/notification-preferences";
-import { userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { notificationPreferenceCrud, NotificationPreferenceCrud } from "@hexclave/shared/dist/interface/crud/notification-preferences";
+import { userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const notificationPreferencesCrudHandlers = createLazyProxy(() => createCrudHandlers(notificationPreferenceCrud, {
paramsSchema: yupObject({
diff --git a/apps/backend/src/app/api/latest/emails/outbox/crud.tsx b/apps/backend/src/app/api/latest/emails/outbox/crud.tsx
index a1b0beb314..20539cdd22 100644
--- a/apps/backend/src/app/api/latest/emails/outbox/crud.tsx
+++ b/apps/backend/src/app/api/latest/emails/outbox/crud.tsx
@@ -3,12 +3,12 @@ import { serializeRecipient } from "@/lib/email-queue-step";
import { EmailOutboxRecipient } from "@/lib/emails";
import { globalPrismaClient, RawQuery, rawQueryAll } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { emailOutboxCrud, EmailOutboxCrud } from "@stackframe/stack-shared/dist/interface/crud/email-outbox";
-import { yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { Json } from "@stackframe/stack-shared/dist/utils/json";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { emailOutboxCrud, EmailOutboxCrud } from "@hexclave/shared/dist/interface/crud/email-outbox";
+import { yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { Json } from "@hexclave/shared/dist/utils/json";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
/**
* Converts an API recipient (snake_case: user_id) to the DB format (camelCase: userId).
diff --git a/apps/backend/src/app/api/latest/emails/render-email/route.tsx b/apps/backend/src/app/api/latest/emails/render-email/route.tsx
index 3eb7e87848..cc17f949b0 100644
--- a/apps/backend/src/app/api/latest/emails/render-email/route.tsx
+++ b/apps/backend/src/app/api/latest/emails/render-email/route.tsx
@@ -1,10 +1,10 @@
import { getEmailThemeForThemeId, renderEmailWithTemplate } from "@/lib/email-rendering";
import { isPreviewModeEnabled } from "@/lib/preview-mode";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { adaptSchema, templateThemeIdSchema, yupBoolean, yupMixed, yupNumber, yupObject, yupString, yupUnion } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import type { EditableMetadata } from "@stackframe/stack-shared/dist/utils/jsx-editable-transpiler";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { adaptSchema, templateThemeIdSchema, yupBoolean, yupMixed, yupNumber, yupObject, yupString, yupUnion } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import type { EditableMetadata } from "@hexclave/shared/dist/utils/jsx-editable-transpiler";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/emails/send-email/route.tsx b/apps/backend/src/app/api/latest/emails/send-email/route.tsx
index 95d6f820cc..55ab4aae3e 100644
--- a/apps/backend/src/app/api/latest/emails/send-email/route.tsx
+++ b/apps/backend/src/app/api/latest/emails/send-email/route.tsx
@@ -4,10 +4,10 @@ import { sendEmailToMany } from "@/lib/emails";
import { getNotificationCategoryByName } from "@/lib/notification-categories";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, jsonSchema, serverOrHigherAuthTypeSchema, templateThemeIdSchema, yupArray, yupBoolean, yupNumber, yupObject, yupRecord, yupString, yupUnion } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, jsonSchema, serverOrHigherAuthTypeSchema, templateThemeIdSchema, yupArray, yupBoolean, yupNumber, yupObject, yupRecord, yupString, yupUnion } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
const bodyBase = yupObject({
user_ids: yupArray(yupString().defined()).optional(),
diff --git a/apps/backend/src/app/api/latest/emails/unsubscribe-link/route.tsx b/apps/backend/src/app/api/latest/emails/unsubscribe-link/route.tsx
index 19e5696a16..8a1bcb9209 100644
--- a/apps/backend/src/app/api/latest/emails/unsubscribe-link/route.tsx
+++ b/apps/backend/src/app/api/latest/emails/unsubscribe-link/route.tsx
@@ -2,7 +2,7 @@ import { withExternalDbSyncUpdate } from "@/lib/external-db-sync";
import { getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { VerificationCodeType } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
import { NextRequest } from "next/server";
export async function GET(request: NextRequest) {
diff --git a/apps/backend/src/app/api/latest/emails/unsubscribe-link/verification-handler.tsx b/apps/backend/src/app/api/latest/emails/unsubscribe-link/verification-handler.tsx
index aa71b3f0ad..c4ec856cc5 100644
--- a/apps/backend/src/app/api/latest/emails/unsubscribe-link/verification-handler.tsx
+++ b/apps/backend/src/app/api/latest/emails/unsubscribe-link/verification-handler.tsx
@@ -1,7 +1,7 @@
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
import { VerificationCodeType } from "@/generated/prisma/client";
-import { yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const unsubscribeLinkVerificationCodeHandler = createLazyProxy(() => createVerificationCodeHandler({
type: VerificationCodeType.ONE_TIME_PASSWORD,
diff --git a/apps/backend/src/app/api/latest/integrations/ai-proxy/[[...path]]/route.ts b/apps/backend/src/app/api/latest/integrations/ai-proxy/[[...path]]/route.ts
index 6ed8304e50..42d534a247 100644
--- a/apps/backend/src/app/api/latest/integrations/ai-proxy/[[...path]]/route.ts
+++ b/apps/backend/src/app/api/latest/integrations/ai-proxy/[[...path]]/route.ts
@@ -1,8 +1,8 @@
import { ALLOWED_MODEL_IDS } from "@/lib/ai/models";
import { preprocessProxyBody } from "@/private";
import { handleApiRequest } from "@/route-handlers/smart-route-handler";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import { NextRequest } from "next/server";
const OPENROUTER_BASE_URL = "https://openrouter.ai/api";
diff --git a/apps/backend/src/app/api/latest/integrations/credential-scanning/revoke/route.tsx b/apps/backend/src/app/api/latest/integrations/credential-scanning/revoke/route.tsx
index 5c830af3a9..256e340c1a 100644
--- a/apps/backend/src/app/api/latest/integrations/credential-scanning/revoke/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/credential-scanning/revoke/route.tsx
@@ -5,10 +5,10 @@ import { listPermissions } from "@/lib/permissions";
import { getTenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient, retryTransaction } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { escapeHtml } from "@stackframe/stack-shared/dist/utils/html";
+import { KnownErrors } from "@hexclave/shared";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { escapeHtml } from "@hexclave/shared/dist/utils/html";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/custom/domains/crud.tsx b/apps/backend/src/app/api/latest/integrations/custom/domains/crud.tsx
index 5553e2eddb..fc3da4ab9a 100644
--- a/apps/backend/src/app/api/latest/integrations/custom/domains/crud.tsx
+++ b/apps/backend/src/app/api/latest/integrations/custom/domains/crud.tsx
@@ -1,11 +1,11 @@
import { Tenancy } from "@/lib/tenancies";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { CrudTypeOf, createCrud } from "@stackframe/stack-shared/dist/crud";
-import * as schemaFields from "@stackframe/stack-shared/dist/schema-fields";
-import { yupMixed, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { CrudTypeOf, createCrud } from "@hexclave/shared/dist/crud";
+import * as schemaFields from "@hexclave/shared/dist/schema-fields";
+import { yupMixed, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { projectsCrudHandlers } from "../../../internal/projects/current/crud";
const domainReadSchema = yupObject({
diff --git a/apps/backend/src/app/api/latest/integrations/custom/internal/confirm/route.tsx b/apps/backend/src/app/api/latest/integrations/custom/internal/confirm/route.tsx
index 93f5491043..86503fce26 100644
--- a/apps/backend/src/app/api/latest/integrations/custom/internal/confirm/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/custom/internal/confirm/route.tsx
@@ -1,7 +1,7 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
+import { serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/custom/oauth/authorize/route.tsx b/apps/backend/src/app/api/latest/integrations/custom/oauth/authorize/route.tsx
index 62f5339ccd..9ad9d95e5d 100644
--- a/apps/backend/src/app/api/latest/integrations/custom/oauth/authorize/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/custom/oauth/authorize/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupNever, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { yupNever, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { redirect } from "next/navigation";
export const GET = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/integrations/custom/oauth/idp/[[...route]]/route.tsx b/apps/backend/src/app/api/latest/integrations/custom/oauth/idp/[[...route]]/route.tsx
index a7e4ebd6f9..f98be38916 100644
--- a/apps/backend/src/app/api/latest/integrations/custom/oauth/idp/[[...route]]/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/custom/oauth/idp/[[...route]]/route.tsx
@@ -1,7 +1,7 @@
import { handleApiRequest } from "@/route-handlers/smart-route-handler";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { createNodeHttpServerDuplex } from "@stackframe/stack-shared/dist/utils/node-http";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { createNodeHttpServerDuplex } from "@hexclave/shared/dist/utils/node-http";
import { NextRequest, NextResponse } from "next/server";
import { createOidcProvider } from "../../../../idp";
diff --git a/apps/backend/src/app/api/latest/integrations/custom/oauth/route.tsx b/apps/backend/src/app/api/latest/integrations/custom/oauth/route.tsx
index 8037b90af7..92821d4a28 100644
--- a/apps/backend/src/app/api/latest/integrations/custom/oauth/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/custom/oauth/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/custom/oauth/token/route.tsx b/apps/backend/src/app/api/latest/integrations/custom/oauth/token/route.tsx
index 25597c063c..309fe58d2b 100644
--- a/apps/backend/src/app/api/latest/integrations/custom/oauth/token/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/custom/oauth/token/route.tsx
@@ -1,8 +1,8 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { neonAuthorizationHeaderSchema, yupMixed, yupNumber, yupObject, yupString, yupTuple, yupUnion } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { neonAuthorizationHeaderSchema, yupMixed, yupNumber, yupObject, yupString, yupTuple, yupUnion } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/custom/projects/provision/route.tsx b/apps/backend/src/app/api/latest/integrations/custom/projects/provision/route.tsx
index 1f125e0fcb..cd2a91fbce 100644
--- a/apps/backend/src/app/api/latest/integrations/custom/projects/provision/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/custom/projects/provision/route.tsx
@@ -2,8 +2,8 @@ import { createApiKeySet } from "@/lib/internal-api-keys";
import { createOrUpdateProjectWithLegacyConfig } from "@/lib/projects";
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { neonAuthorizationHeaderSchema, projectDisplayNameSchema, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { decodeBasicAuthorizationHeader } from "@stackframe/stack-shared/dist/utils/http";
+import { neonAuthorizationHeaderSchema, projectDisplayNameSchema, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { decodeBasicAuthorizationHeader } from "@hexclave/shared/dist/utils/http";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/custom/projects/transfer/confirm/verification-code-handler.tsx b/apps/backend/src/app/api/latest/integrations/custom/projects/transfer/confirm/verification-code-handler.tsx
index 166da03dcc..9aad88f044 100644
--- a/apps/backend/src/app/api/latest/integrations/custom/projects/transfer/confirm/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/integrations/custom/projects/transfer/confirm/verification-code-handler.tsx
@@ -4,9 +4,9 @@ import { DEFAULT_BRANCH_ID } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
import { VerificationCodeType } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
export const integrationProjectTransferCodeHandler = createVerificationCodeHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/custom/projects/transfer/route.tsx b/apps/backend/src/app/api/latest/integrations/custom/projects/transfer/route.tsx
index cbaa879dfd..bc0db38aad 100644
--- a/apps/backend/src/app/api/latest/integrations/custom/projects/transfer/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/custom/projects/transfer/route.tsx
@@ -2,10 +2,10 @@ import { getProject } from "@/lib/projects";
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { neonAuthorizationHeaderSchema, urlSchema, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { decodeBasicAuthorizationHeader } from "@stackframe/stack-shared/dist/utils/http";
+import { neonAuthorizationHeaderSchema, urlSchema, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { decodeBasicAuthorizationHeader } from "@hexclave/shared/dist/utils/http";
import { integrationProjectTransferCodeHandler } from "./confirm/verification-code-handler";
async function validateAndGetTransferInfo(authorizationHeader: string, projectId: string) {
diff --git a/apps/backend/src/app/api/latest/integrations/idp.ts b/apps/backend/src/app/api/latest/integrations/idp.ts
index f18ea952f2..a5c0af16ac 100644
--- a/apps/backend/src/app/api/latest/integrations/idp.ts
+++ b/apps/backend/src/app/api/latest/integrations/idp.ts
@@ -1,12 +1,12 @@
import { globalPrismaClient, retryTransaction } from '@/prisma-client';
import { Prisma } from '@/generated/prisma/client';
-import { decodeBase64OrBase64Url, toHexString } from '@stackframe/stack-shared/dist/utils/bytes';
-import { getEnvVariable } from '@stackframe/stack-shared/dist/utils/env';
-import { HexclaveAssertionError, captureError, throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { sha512 } from '@stackframe/stack-shared/dist/utils/hashes';
-import { getPrivateJwks, getPublicJwkSet } from '@stackframe/stack-shared/dist/utils/jwt';
-import { deindent } from '@stackframe/stack-shared/dist/utils/strings';
-import { generateUuid } from '@stackframe/stack-shared/dist/utils/uuids';
+import { decodeBase64OrBase64Url, toHexString } from '@hexclave/shared/dist/utils/bytes';
+import { getEnvVariable } from '@hexclave/shared/dist/utils/env';
+import { HexclaveAssertionError, captureError, throwErr } from '@hexclave/shared/dist/utils/errors';
+import { sha512 } from '@hexclave/shared/dist/utils/hashes';
+import { getPrivateJwks, getPublicJwkSet } from '@hexclave/shared/dist/utils/jwt';
+import { deindent } from '@hexclave/shared/dist/utils/strings';
+import { generateUuid } from '@hexclave/shared/dist/utils/uuids';
import Provider, { Adapter, AdapterConstructor, AdapterPayload } from 'oidc-provider';
type AdapterData = {
diff --git a/apps/backend/src/app/api/latest/integrations/neon/api-keys/crud.tsx b/apps/backend/src/app/api/latest/integrations/neon/api-keys/crud.tsx
index 66017fa9d0..62688567d2 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/api-keys/crud.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/api-keys/crud.tsx
@@ -1,7 +1,7 @@
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { CrudTypeOf, createCrud } from "@stackframe/stack-shared/dist/crud";
-import { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { CrudTypeOf, createCrud } from "@hexclave/shared/dist/crud";
+import { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
import { internalApiKeyCrudHandlers } from "../../../internal/api-keys/crud";
const baseApiKeysReadSchema = yupObject({
diff --git a/apps/backend/src/app/api/latest/integrations/neon/api-keys/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/api-keys/route.tsx
index cd5eb8282c..5bc7323c29 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/api-keys/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/api-keys/route.tsx
@@ -1,6 +1,6 @@
import { createApiKeySet } from "@/lib/internal-api-keys";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { apiKeyCrudHandlers } from "./crud";
diff --git a/apps/backend/src/app/api/latest/integrations/neon/domains/crud.tsx b/apps/backend/src/app/api/latest/integrations/neon/domains/crud.tsx
index 92fd490159..4dc85497c8 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/domains/crud.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/domains/crud.tsx
@@ -1,11 +1,11 @@
import { Tenancy } from "@/lib/tenancies";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { CrudTypeOf, createCrud } from "@stackframe/stack-shared/dist/crud";
-import * as schemaFields from "@stackframe/stack-shared/dist/schema-fields";
-import { yupMixed, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { CrudTypeOf, createCrud } from "@hexclave/shared/dist/crud";
+import * as schemaFields from "@hexclave/shared/dist/schema-fields";
+import { yupMixed, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { projectsCrudHandlers } from "../../../internal/projects/current/crud";
const domainReadSchema = yupObject({
diff --git a/apps/backend/src/app/api/latest/integrations/neon/internal/confirm/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/internal/confirm/route.tsx
index 61492f0d15..99f7518080 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/internal/confirm/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/internal/confirm/route.tsx
@@ -1,7 +1,7 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
+import { serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/neon/oauth-providers/crud.tsx b/apps/backend/src/app/api/latest/integrations/neon/oauth-providers/crud.tsx
index 858018bc51..e9d98ae96c 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/oauth-providers/crud.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/oauth-providers/crud.tsx
@@ -1,11 +1,11 @@
import { createOrUpdateProjectWithLegacyConfig } from "@/lib/projects";
import { Tenancy, getTenancy } from "@/lib/tenancies";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { createCrud } from "@stackframe/stack-shared/dist/crud";
-import * as schemaFields from "@stackframe/stack-shared/dist/schema-fields";
-import { yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { createCrud } from "@hexclave/shared/dist/crud";
+import * as schemaFields from "@hexclave/shared/dist/schema-fields";
+import { yupObject } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
const oauthProviderReadSchema = yupObject({
id: schemaFields.oauthIdSchema.defined(),
diff --git a/apps/backend/src/app/api/latest/integrations/neon/oauth/authorize/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/oauth/authorize/route.tsx
index 6d5b0b2218..903972eca7 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/oauth/authorize/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/oauth/authorize/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupNever, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { yupNever, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { redirect } from "next/navigation";
export const GET = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/integrations/neon/oauth/idp/[[...route]]/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/oauth/idp/[[...route]]/route.tsx
index 50ea480b51..4861a1f19c 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/oauth/idp/[[...route]]/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/oauth/idp/[[...route]]/route.tsx
@@ -1,7 +1,7 @@
import { handleApiRequest } from "@/route-handlers/smart-route-handler";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { createNodeHttpServerDuplex } from "@stackframe/stack-shared/dist/utils/node-http";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { createNodeHttpServerDuplex } from "@hexclave/shared/dist/utils/node-http";
import { NextRequest, NextResponse } from "next/server";
import { createOidcProvider } from "../../../../idp";
diff --git a/apps/backend/src/app/api/latest/integrations/neon/oauth/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/oauth/route.tsx
index 8037b90af7..92821d4a28 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/oauth/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/oauth/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/neon/oauth/token/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/oauth/token/route.tsx
index 95e5129969..e0cb0bda13 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/oauth/token/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/oauth/token/route.tsx
@@ -1,8 +1,8 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { neonAuthorizationHeaderSchema, yupMixed, yupNumber, yupObject, yupString, yupTuple, yupUnion } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { neonAuthorizationHeaderSchema, yupMixed, yupNumber, yupObject, yupString, yupTuple, yupUnion } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/neon/projects/connection/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/projects/connection/route.tsx
index f96db43338..96c68490f9 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/projects/connection/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/projects/connection/route.tsx
@@ -1,8 +1,8 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { neonAuthorizationHeaderSchema, yupArray, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { decodeBasicAuthorizationHeader } from "@stackframe/stack-shared/dist/utils/http";
+import { KnownErrors } from "@hexclave/shared";
+import { neonAuthorizationHeaderSchema, yupArray, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { decodeBasicAuthorizationHeader } from "@hexclave/shared/dist/utils/http";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/neon/projects/provision/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/projects/provision/route.tsx
index 1e099007ae..122e7c4074 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/projects/provision/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/projects/provision/route.tsx
@@ -2,8 +2,8 @@ import { createApiKeySet } from "@/lib/internal-api-keys";
import { createOrUpdateProjectWithLegacyConfig } from "@/lib/projects";
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { neonAuthorizationHeaderSchema, projectDisplayNameSchema, yupArray, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { decodeBasicAuthorizationHeader } from "@stackframe/stack-shared/dist/utils/http";
+import { neonAuthorizationHeaderSchema, projectDisplayNameSchema, yupArray, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { decodeBasicAuthorizationHeader } from "@hexclave/shared/dist/utils/http";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/neon/projects/transfer/confirm/verification-code-handler.tsx b/apps/backend/src/app/api/latest/integrations/neon/projects/transfer/confirm/verification-code-handler.tsx
index ca020ff837..d245b26ff8 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/projects/transfer/confirm/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/projects/transfer/confirm/verification-code-handler.tsx
@@ -2,9 +2,9 @@ import { teamsCrudHandlers } from "@/app/api/latest/teams/crud";
import { globalPrismaClient } from "@/prisma-client";
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
import { VerificationCodeType } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
export const neonIntegrationProjectTransferCodeHandler = createVerificationCodeHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/neon/projects/transfer/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/projects/transfer/route.tsx
index 8b6eb64880..1e6f12b596 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/projects/transfer/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/projects/transfer/route.tsx
@@ -2,10 +2,10 @@ import { getProject } from "@/lib/projects";
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { neonAuthorizationHeaderSchema, urlSchema, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { decodeBasicAuthorizationHeader } from "@stackframe/stack-shared/dist/utils/http";
+import { neonAuthorizationHeaderSchema, urlSchema, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { decodeBasicAuthorizationHeader } from "@hexclave/shared/dist/utils/http";
import { neonIntegrationProjectTransferCodeHandler } from "./confirm/verification-code-handler";
async function validateAndGetTransferInfo(authorizationHeader: string, projectId: string) {
diff --git a/apps/backend/src/app/api/latest/integrations/neon/webhooks/route.tsx b/apps/backend/src/app/api/latest/integrations/neon/webhooks/route.tsx
index 500089e7bd..da7390a7bd 100644
--- a/apps/backend/src/app/api/latest/integrations/neon/webhooks/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/neon/webhooks/route.tsx
@@ -1,6 +1,6 @@
import { getSvixClient } from "@/lib/webhooks";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, neonAuthorizationHeaderSchema, urlSchema, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, neonAuthorizationHeaderSchema, urlSchema, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/integrations/resend/webhooks/route.tsx b/apps/backend/src/app/api/latest/integrations/resend/webhooks/route.tsx
index 25034fd143..a9ae8714f6 100644
--- a/apps/backend/src/app/api/latest/integrations/resend/webhooks/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/resend/webhooks/route.tsx
@@ -1,9 +1,9 @@
import { processResendDomainWebhookEvent } from "@/lib/managed-email-onboarding";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupBoolean, yupMixed, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { yupBoolean, yupMixed, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { Webhook } from "svix";
function decodeBody(bodyBuffer: ArrayBuffer) {
diff --git a/apps/backend/src/app/api/latest/integrations/stripe/webhooks/route.tsx b/apps/backend/src/app/api/latest/integrations/stripe/webhooks/route.tsx
index c444e6f362..1c9acb50d1 100644
--- a/apps/backend/src/app/api/latest/integrations/stripe/webhooks/route.tsx
+++ b/apps/backend/src/app/api/latest/integrations/stripe/webhooks/route.tsx
@@ -7,13 +7,13 @@ import { getTelegramConfig, sendTelegramMessage } from "@/lib/telegram";
import { getTenancy, type Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { DEFAULT_TEMPLATE_IDS } from "@stackframe/stack-shared/dist/helpers/emails";
-import { yupMixed, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { typedIncludes } from '@stackframe/stack-shared/dist/utils/arrays';
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
-import { typedToUppercase } from "@stackframe/stack-shared/dist/utils/strings";
+import { DEFAULT_TEMPLATE_IDS } from "@hexclave/shared/dist/helpers/emails";
+import { yupMixed, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { typedIncludes } from '@hexclave/shared/dist/utils/arrays';
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
+import { typedToUppercase } from "@hexclave/shared/dist/utils/strings";
import Stripe from "stripe";
const subscriptionChangedEvents = [
diff --git a/apps/backend/src/app/api/latest/internal/ai-chat/[threadId]/route.tsx b/apps/backend/src/app/api/latest/internal/ai-chat/[threadId]/route.tsx
index 0b409c0b9d..4156928adb 100644
--- a/apps/backend/src/app/api/latest/internal/ai-chat/[threadId]/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/ai-chat/[threadId]/route.tsx
@@ -1,6 +1,6 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const PATCH = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/ai-conversations/[conversationId]/messages/route.tsx b/apps/backend/src/app/api/latest/internal/ai-conversations/[conversationId]/messages/route.tsx
index 19bba6e90b..b8ab26b941 100644
--- a/apps/backend/src/app/api/latest/internal/ai-conversations/[conversationId]/messages/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/ai-conversations/[conversationId]/messages/route.tsx
@@ -1,6 +1,6 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { getOwnedConversation } from "../../utils";
export const PUT = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/internal/ai-conversations/[conversationId]/route.tsx b/apps/backend/src/app/api/latest/internal/ai-conversations/[conversationId]/route.tsx
index 02e143e37d..e6af514eb6 100644
--- a/apps/backend/src/app/api/latest/internal/ai-conversations/[conversationId]/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/ai-conversations/[conversationId]/route.tsx
@@ -1,6 +1,6 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { getOwnedConversation } from "../utils";
export const GET = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/internal/ai-conversations/route.tsx b/apps/backend/src/app/api/latest/internal/ai-conversations/route.tsx
index f240720a4a..3ddb66b2d9 100644
--- a/apps/backend/src/app/api/latest/internal/ai-conversations/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/ai-conversations/route.tsx
@@ -1,6 +1,6 @@
import { globalPrismaClient, retryTransaction } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/ai-conversations/utils.ts b/apps/backend/src/app/api/latest/internal/ai-conversations/utils.ts
index 87c1fce00d..dab61a25f7 100644
--- a/apps/backend/src/app/api/latest/internal/ai-conversations/utils.ts
+++ b/apps/backend/src/app/api/latest/internal/ai-conversations/utils.ts
@@ -1,5 +1,5 @@
import { globalPrismaClient } from "@/prisma-client";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export async function getOwnedConversation(conversationId: string, userId: string) {
const conversation = await globalPrismaClient.aiConversation.findUnique({
diff --git a/apps/backend/src/app/api/latest/internal/analytics/query/route.ts b/apps/backend/src/app/api/latest/internal/analytics/query/route.ts
index 25142338da..941fb4d12a 100644
--- a/apps/backend/src/app/api/latest/internal/analytics/query/route.ts
+++ b/apps/backend/src/app/api/latest/internal/analytics/query/route.ts
@@ -3,11 +3,11 @@ import { getSafeClickhouseErrorMessage } from "@/lib/clickhouse-errors";
import { arePlanLimitsEnforced, getBillingTeamId } from "@/lib/plan-entitlements";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { getStackServerApp } from "@/stack";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { ITEM_IDS, PLAN_LIMITS } from "@stackframe/stack-shared/dist/plans";
-import { adaptSchema, adminAuthTypeSchema, jsonSchema, yupBoolean, yupMixed, yupNumber, yupObject, yupRecord, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { KnownErrors } from "@hexclave/shared";
+import { ITEM_IDS, PLAN_LIMITS } from "@hexclave/shared/dist/plans";
+import { adaptSchema, adminAuthTypeSchema, jsonSchema, yupBoolean, yupMixed, yupNumber, yupObject, yupRecord, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { randomUUID } from "crypto";
const MAX_QUERY_TIMEOUT_MS = Math.max(...Object.values(PLAN_LIMITS).map(p => p.analyticsTimeoutSeconds)) * 1000;
diff --git a/apps/backend/src/app/api/latest/internal/analytics/query/timing/route.ts b/apps/backend/src/app/api/latest/internal/analytics/query/timing/route.ts
index 927aa32955..03d41a4c45 100644
--- a/apps/backend/src/app/api/latest/internal/analytics/query/timing/route.ts
+++ b/apps/backend/src/app/api/latest/internal/analytics/query/timing/route.ts
@@ -1,7 +1,7 @@
import { getClickhouseExternalClient, getQueryTimingStatsForProject } from "@/lib/clickhouse";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: { hidden: true },
diff --git a/apps/backend/src/app/api/latest/internal/api-keys/crud.tsx b/apps/backend/src/app/api/latest/internal/api-keys/crud.tsx
index 2d148eaaaa..bb35e492fb 100644
--- a/apps/backend/src/app/api/latest/internal/api-keys/crud.tsx
+++ b/apps/backend/src/app/api/latest/internal/api-keys/crud.tsx
@@ -1,10 +1,10 @@
import { globalPrismaClient } from "@/prisma-client";
import { createPrismaCrudHandlers } from "@/route-handlers/prisma-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { internalApiKeysCrud } from "@stackframe/stack-shared/dist/interface/crud/internal-api-keys";
-import { yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { internalApiKeysCrud } from "@hexclave/shared/dist/interface/crud/internal-api-keys";
+import { yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const internalApiKeyCrudHandlers = createLazyProxy(() => createPrismaCrudHandlers(internalApiKeysCrud, "apiKeySet", {
paramsSchema: yupObject({
diff --git a/apps/backend/src/app/api/latest/internal/api-keys/route.tsx b/apps/backend/src/app/api/latest/internal/api-keys/route.tsx
index e530d8b0ee..815dc4d5f4 100644
--- a/apps/backend/src/app/api/latest/internal/api-keys/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/api-keys/route.tsx
@@ -1,9 +1,9 @@
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { internalApiKeysCreateInputSchema, internalApiKeysCreateOutputSchema } from "@stackframe/stack-shared/dist/interface/crud/internal-api-keys";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { internalApiKeysCreateInputSchema, internalApiKeysCreateOutputSchema } from "@hexclave/shared/dist/interface/crud/internal-api-keys";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { internalApiKeyCrudHandlers } from "./crud";
export const GET = internalApiKeyCrudHandlers.listHandler;
diff --git a/apps/backend/src/app/api/latest/internal/backend-urls/route.tsx b/apps/backend/src/app/api/latest/internal/backend-urls/route.tsx
index 24a7d5fff6..fee1bce490 100644
--- a/apps/backend/src/app/api/latest/internal/backend-urls/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/backend-urls/route.tsx
@@ -1,8 +1,8 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { urlSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { getDefaultApiUrls } from "@stackframe/stack-shared/dist/utils/urls";
+import { urlSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { getDefaultApiUrls } from "@hexclave/shared/dist/utils/urls";
/**
* Env var format: JSON object mapping probability (as string number) to URL arrays.
diff --git a/apps/backend/src/app/api/latest/internal/changelog/route.tsx b/apps/backend/src/app/api/latest/internal/changelog/route.tsx
index 9fc35103d2..3ef9948a41 100644
--- a/apps/backend/src/app/api/latest/internal/changelog/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/changelog/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
+import { yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
import * as fs from "fs/promises";
import * as path from "path";
diff --git a/apps/backend/src/app/api/latest/internal/component-versions/route.ts b/apps/backend/src/app/api/latest/internal/component-versions/route.ts
index 3cedd6981b..6b9aeb6486 100644
--- a/apps/backend/src/app/api/latest/internal/component-versions/route.ts
+++ b/apps/backend/src/app/api/latest/internal/component-versions/route.ts
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupNumber, yupObject, yupRecord, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getLatestPageVersions } from "@stackframe/stack-shared/dist/interface/handler-urls";
+import { yupNumber, yupObject, yupRecord, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getLatestPageVersions } from "@hexclave/shared/dist/interface/handler-urls";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/config/override/[level]/reset-keys/route.tsx b/apps/backend/src/app/api/latest/internal/config/override/[level]/reset-keys/route.tsx
index 22cb650ab5..5b8a3637ce 100644
--- a/apps/backend/src/app/api/latest/internal/config/override/[level]/reset-keys/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/config/override/[level]/reset-keys/route.tsx
@@ -1,7 +1,7 @@
import { resetBranchConfigOverrideKeys, resetEnvironmentConfigOverrideKeys } from "@/lib/config";
import { assertConfigOverrideWriteAllowed } from "@/lib/development-environment";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
const levelSchema = yupString().oneOf(["branch", "environment"]).defined();
diff --git a/apps/backend/src/app/api/latest/internal/config/override/[level]/route.tsx b/apps/backend/src/app/api/latest/internal/config/override/[level]/route.tsx
index beb1b92772..46c5501f24 100644
--- a/apps/backend/src/app/api/latest/internal/config/override/[level]/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/config/override/[level]/route.tsx
@@ -16,9 +16,9 @@ import { assertConfigOverrideWriteAllowed } from "@/lib/development-environment"
import { enqueueExternalDbSync } from "@/lib/external-db-sync-queue";
import { globalPrismaClient, rawQuery } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { branchConfigSchema, environmentConfigSchema, getConfigOverrideErrors, migrateConfigOverride, projectConfigSchema } from "@stackframe/stack-shared/dist/config/schema";
-import { adaptSchema, branchConfigSourceSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { branchConfigSchema, environmentConfigSchema, getConfigOverrideErrors, migrateConfigOverride, projectConfigSchema } from "@hexclave/shared/dist/config/schema";
+import { adaptSchema, branchConfigSourceSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError, captureError } from "@hexclave/shared/dist/utils/errors";
import * as yup from "yup";
type BranchConfigSourceApi = yup.InferType;
diff --git a/apps/backend/src/app/api/latest/internal/config/route.tsx b/apps/backend/src/app/api/latest/internal/config/route.tsx
index c7f1207f6c..88af30b13f 100644
--- a/apps/backend/src/app/api/latest/internal/config/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/config/route.tsx
@@ -1,5 +1,5 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/config/source/route.tsx b/apps/backend/src/app/api/latest/internal/config/source/route.tsx
index c9efd6bd1c..526e9d5bfc 100644
--- a/apps/backend/src/app/api/latest/internal/config/source/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/config/source/route.tsx
@@ -1,6 +1,6 @@
import { getBranchConfigOverrideSource, unlinkBranchConfigOverrideSource } from "@/lib/config";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, branchConfigSourceSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, branchConfigSourceSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/conversations/[conversationId]/route.tsx b/apps/backend/src/app/api/latest/internal/conversations/[conversationId]/route.tsx
index 87cf8c88ef..97c5f03583 100644
--- a/apps/backend/src/app/api/latest/internal/conversations/[conversationId]/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/conversations/[conversationId]/route.tsx
@@ -22,7 +22,7 @@ import {
yupObject,
yupString,
yupUnion,
-} from "@stackframe/stack-shared/dist/schema-fields";
+} from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/conversations/route.tsx b/apps/backend/src/app/api/latest/internal/conversations/route.tsx
index 71051dec12..f68559968a 100644
--- a/apps/backend/src/app/api/latest/internal/conversations/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/conversations/route.tsx
@@ -12,8 +12,8 @@ import {
} from "@/lib/conversation-types";
import { internalDashboardAuthSchema, parseConversationListLimit, parseConversationListOffset } from "@/lib/conversations-api";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { projectIdSchema, userIdSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { KnownErrors } from "@stackframe/stack-shared";
+import { projectIdSchema, userIdSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
import { globalPrismaClient } from "@/prisma-client";
const conversationEntryPointBySource = {
diff --git a/apps/backend/src/app/api/latest/internal/dogfood/support/conversations/[conversationId]/route.tsx b/apps/backend/src/app/api/latest/internal/dogfood/support/conversations/[conversationId]/route.tsx
index c33ea6b270..86db20aaa7 100644
--- a/apps/backend/src/app/api/latest/internal/dogfood/support/conversations/[conversationId]/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/dogfood/support/conversations/[conversationId]/route.tsx
@@ -13,7 +13,7 @@ import {
yupNumber,
yupObject,
yupString,
-} from "@stackframe/stack-shared/dist/schema-fields";
+} from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/dogfood/support/conversations/route.tsx b/apps/backend/src/app/api/latest/internal/dogfood/support/conversations/route.tsx
index d3e16ce6c9..003004b326 100644
--- a/apps/backend/src/app/api/latest/internal/dogfood/support/conversations/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/dogfood/support/conversations/route.tsx
@@ -14,7 +14,7 @@ import {
yupNumber,
yupObject,
yupString,
-} from "@stackframe/stack-shared/dist/schema-fields";
+} from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/email-drafts/[id]/route.tsx b/apps/backend/src/app/api/latest/internal/email-drafts/[id]/route.tsx
index 5757c91441..b25afa0515 100644
--- a/apps/backend/src/app/api/latest/internal/email-drafts/[id]/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/email-drafts/[id]/route.tsx
@@ -1,8 +1,8 @@
import { templateThemeIdToThemeMode, themeModeToTemplateThemeId } from "@/lib/email-drafts";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { templateThemeIdSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { templateThemeIdSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const GET = createSmartRouteHandler({
metadata: { hidden: true },
diff --git a/apps/backend/src/app/api/latest/internal/email-drafts/route.tsx b/apps/backend/src/app/api/latest/internal/email-drafts/route.tsx
index ff30ff3d76..05fb48bc94 100644
--- a/apps/backend/src/app/api/latest/internal/email-drafts/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/email-drafts/route.tsx
@@ -1,7 +1,7 @@
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { templateThemeIdSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { templateThemeIdSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { templateThemeIdToThemeMode, themeModeToTemplateThemeId } from "@/lib/email-drafts";
diff --git a/apps/backend/src/app/api/latest/internal/email-queue-step/route.tsx b/apps/backend/src/app/api/latest/internal/email-queue-step/route.tsx
index 9c9e34765d..6b2743dcb9 100644
--- a/apps/backend/src/app/api/latest/internal/email-queue-step/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/email-queue-step/route.tsx
@@ -1,9 +1,9 @@
import { runEmailQueueStep } from "@/lib/email-queue-step";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupBoolean, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { yupBoolean, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
export const dynamic = "force-dynamic";
export const fetchCache = "force-no-store";
diff --git a/apps/backend/src/app/api/latest/internal/email-templates/[templateId]/route.tsx b/apps/backend/src/app/api/latest/internal/email-templates/[templateId]/route.tsx
index 07e4cfc323..bcd488e5ef 100644
--- a/apps/backend/src/app/api/latest/internal/email-templates/[templateId]/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/email-templates/[templateId]/route.tsx
@@ -1,9 +1,9 @@
import { overrideEnvironmentConfigOverride } from "@/lib/config";
import { getActiveEmailTheme, renderEmailWithTemplate } from "@/lib/email-rendering";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { adaptSchema, templateThemeIdSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { adaptSchema, templateThemeIdSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const PATCH = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/internal/email-templates/route.tsx b/apps/backend/src/app/api/latest/internal/email-templates/route.tsx
index ddcbf8a0aa..b6ed5a2d86 100644
--- a/apps/backend/src/app/api/latest/internal/email-templates/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/email-templates/route.tsx
@@ -1,10 +1,10 @@
import { overrideEnvironmentConfigOverride } from "@/lib/config";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { defaultNewTemplateSource } from "@stackframe/stack-shared/dist/helpers/emails";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { adaptSchema, templateThemeIdSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { filterUndefined, typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { defaultNewTemplateSource } from "@hexclave/shared/dist/helpers/emails";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { adaptSchema, templateThemeIdSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { filterUndefined, typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/email-themes/[id]/route.tsx b/apps/backend/src/app/api/latest/internal/email-themes/[id]/route.tsx
index 8689918bea..ba54130386 100644
--- a/apps/backend/src/app/api/latest/internal/email-themes/[id]/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/email-themes/[id]/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
import { internalEmailThemesCudHandlers } from "../cud";
export const GET = internalEmailThemesCudHandlers.readHandler;
diff --git a/apps/backend/src/app/api/latest/internal/email-themes/cud.tsx b/apps/backend/src/app/api/latest/internal/email-themes/cud.tsx
index f3176f5b2b..8494bd1c61 100644
--- a/apps/backend/src/app/api/latest/internal/email-themes/cud.tsx
+++ b/apps/backend/src/app/api/latest/internal/email-themes/cud.tsx
@@ -2,14 +2,14 @@ import { overrideEnvironmentConfigOverride } from "@/lib/config";
import { renderEmailWithTemplate } from "@/lib/email-rendering";
import { createCudHandlers } from "@/route-handlers/cud-handler";
import { Tenancy } from "@/lib/tenancies";
-import { previewTemplateSource } from "@stackframe/stack-shared/dist/helpers/emails";
-import { LightEmailTheme } from "@stackframe/stack-shared/dist/helpers/emails";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { createCrud } from "@stackframe/stack-shared/dist/crud";
-import { yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { previewTemplateSource } from "@hexclave/shared/dist/helpers/emails";
+import { LightEmailTheme } from "@hexclave/shared/dist/helpers/emails";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { createCrud } from "@hexclave/shared/dist/crud";
+import { yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import type { InferType } from "yup";
type ThemeItem = {
diff --git a/apps/backend/src/app/api/latest/internal/email-themes/route.tsx b/apps/backend/src/app/api/latest/internal/email-themes/route.tsx
index 92c8fa1341..c478d9835c 100644
--- a/apps/backend/src/app/api/latest/internal/email-themes/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/email-themes/route.tsx
@@ -1,7 +1,7 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { adaptSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { internalEmailThemesCudHandlers } from "./cud";
diff --git a/apps/backend/src/app/api/latest/internal/emails/crud.tsx b/apps/backend/src/app/api/latest/internal/emails/crud.tsx
index e5189704d2..cb434bd9f0 100644
--- a/apps/backend/src/app/api/latest/internal/emails/crud.tsx
+++ b/apps/backend/src/app/api/latest/internal/emails/crud.tsx
@@ -1,9 +1,9 @@
import { globalPrismaClient } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
import { EmailOutbox } from "@/generated/prisma/client";
-import { InternalEmailsCrud, internalEmailsCrud } from "@stackframe/stack-shared/dist/interface/crud/emails";
-import { yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { InternalEmailsCrud, internalEmailsCrud } from "@hexclave/shared/dist/interface/crud/emails";
+import { yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
function prismaModelToCrud(prismaModel: EmailOutbox): InternalEmailsCrud["Admin"]["Read"] {
const recipient = prismaModel.to as any;
diff --git a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/apply/route.tsx b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/apply/route.tsx
index cd939d2791..af6f1fbac9 100644
--- a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/apply/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/apply/route.tsx
@@ -1,6 +1,6 @@
import { applyManagedEmailProvider } from "@/lib/managed-email-onboarding";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/check/route.tsx b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/check/route.tsx
index 8d6d1fa9f3..b1aef144b4 100644
--- a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/check/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/check/route.tsx
@@ -1,6 +1,6 @@
import { checkManagedEmailProviderStatus } from "@/lib/managed-email-onboarding";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/delete/route.tsx b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/delete/route.tsx
index e8d5170aa3..d8ef21926c 100644
--- a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/delete/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/delete/route.tsx
@@ -1,6 +1,6 @@
import { deleteManagedEmailProvider } from "@/lib/managed-email-onboarding";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/list/route.tsx b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/list/route.tsx
index ecadd479b0..bd59150c12 100644
--- a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/list/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/list/route.tsx
@@ -1,6 +1,6 @@
import { listManagedEmailProviderDomains } from "@/lib/managed-email-onboarding";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/setup/route.tsx b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/setup/route.tsx
index 4891fc81df..5aacef6f2b 100644
--- a/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/setup/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/emails/managed-onboarding/setup/route.tsx
@@ -1,6 +1,6 @@
import { setupManagedEmailProvider } from "@/lib/managed-email-onboarding";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/external-db-sync/fusebox/route.ts b/apps/backend/src/app/api/latest/internal/external-db-sync/fusebox/route.ts
index 1039e7fa67..ed3a1637b3 100644
--- a/apps/backend/src/app/api/latest/internal/external-db-sync/fusebox/route.ts
+++ b/apps/backend/src/app/api/latest/internal/external-db-sync/fusebox/route.ts
@@ -6,8 +6,8 @@ import {
yupNumber,
yupObject,
yupString,
-} from "@stackframe/stack-shared/dist/schema-fields";
-import { KnownErrors } from "@stackframe/stack-shared";
+} from "@hexclave/shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
import { getExternalDbSyncFusebox, updateExternalDbSyncFusebox } from "@/lib/external-db-sync-metadata";
const fuseboxResponseSchema = yupObject({
diff --git a/apps/backend/src/app/api/latest/internal/external-db-sync/poller/route.ts b/apps/backend/src/app/api/latest/internal/external-db-sync/poller/route.ts
index 6f25634c49..996079ed0c 100644
--- a/apps/backend/src/app/api/latest/internal/external-db-sync/poller/route.ts
+++ b/apps/backend/src/app/api/latest/internal/external-db-sync/poller/route.ts
@@ -11,10 +11,10 @@ import {
yupObject,
yupString,
yupTuple,
-} from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+} from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { captureError, HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import type { PublishBatchRequest } from "@upstash/qstash";
const DEFAULT_MAX_DURATION_MS = 3 * 60 * 1000;
diff --git a/apps/backend/src/app/api/latest/internal/external-db-sync/sequencer/route.ts b/apps/backend/src/app/api/latest/internal/external-db-sync/sequencer/route.ts
index ed5b0411a2..fd29f38456 100644
--- a/apps/backend/src/app/api/latest/internal/external-db-sync/sequencer/route.ts
+++ b/apps/backend/src/app/api/latest/internal/external-db-sync/sequencer/route.ts
@@ -10,10 +10,10 @@ import {
yupObject,
yupString,
yupTuple,
-} from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+} from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { captureError, HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
const DEFAULT_MAX_DURATION_MS = 3 * 60 * 1000;
const SEQUENCER_BATCH_SIZE_ENV = "STACK_EXTERNAL_DB_SYNC_SEQUENCER_BATCH_SIZE";
diff --git a/apps/backend/src/app/api/latest/internal/external-db-sync/status/route.ts b/apps/backend/src/app/api/latest/internal/external-db-sync/status/route.ts
index 4782ca3d3c..8aae7528cd 100644
--- a/apps/backend/src/app/api/latest/internal/external-db-sync/status/route.ts
+++ b/apps/backend/src/app/api/latest/internal/external-db-sync/status/route.ts
@@ -2,7 +2,7 @@ import { globalPrismaClient } from "@/prisma-client";
import { Prisma } from "@/generated/prisma/client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { getClickhouseAdminClient } from "@/lib/clickhouse";
-import type { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
+import type { CompleteConfig } from "@hexclave/shared/dist/config/schema";
import {
adaptSchema,
adminAuthTypeSchema,
@@ -11,12 +11,12 @@ import {
yupNumber,
yupObject,
yupString,
-} from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { errorToNiceString, HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+} from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { errorToNiceString, HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { Client } from "pg";
-import { KnownErrors } from "@stackframe/stack-shared";
+import { KnownErrors } from "@hexclave/shared";
import { traceSpan } from "@/utils/telemetry";
const STALE_CLAIM_INTERVAL_MINUTES = 5;
diff --git a/apps/backend/src/app/api/latest/internal/external-db-sync/sync-engine/route.tsx b/apps/backend/src/app/api/latest/internal/external-db-sync/sync-engine/route.tsx
index 259f30a7e0..5ff342fd67 100644
--- a/apps/backend/src/app/api/latest/internal/external-db-sync/sync-engine/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/external-db-sync/sync-engine/route.tsx
@@ -4,7 +4,7 @@ import { getTenancy } from "@/lib/tenancies";
import { ensureUpstashSignature } from "@/lib/upstash";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { getExternalDbSyncFusebox } from "@/lib/external-db-sync-metadata";
-import { yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
+import { yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
import { traceSpan } from "@/utils/telemetry";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/internal/failed-emails-digest/route.ts b/apps/backend/src/app/api/latest/internal/failed-emails-digest/route.ts
index e2662fa656..3c5e6a58e3 100644
--- a/apps/backend/src/app/api/latest/internal/failed-emails-digest/route.ts
+++ b/apps/backend/src/app/api/latest/internal/failed-emails-digest/route.ts
@@ -1,10 +1,10 @@
import { getSharedEmailConfig } from "@/lib/emails";
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupArray, yupBoolean, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { escapeHtml } from "@stackframe/stack-shared/dist/utils/html";
+import { yupArray, yupBoolean, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { escapeHtml } from "@hexclave/shared/dist/utils/html";
import { getFailedEmailsByTenancy } from "./crud";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/internal/feature-requests/[featureRequestId]/upvote/route.tsx b/apps/backend/src/app/api/latest/internal/feature-requests/[featureRequestId]/upvote/route.tsx
index d381bced9f..715820fe19 100644
--- a/apps/backend/src/app/api/latest/internal/feature-requests/[featureRequestId]/upvote/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/feature-requests/[featureRequestId]/upvote/route.tsx
@@ -1,7 +1,7 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { getOrCreateFeaturebaseUserFromAuth, requireFeaturebaseApiKey } from "@/lib/featurebase";
-import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
// POST /api/latest/internal/feature-requests/[featureRequestId]/upvote
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/internal/feature-requests/route.tsx b/apps/backend/src/app/api/latest/internal/feature-requests/route.tsx
index ff949187cd..8b1313c210 100644
--- a/apps/backend/src/app/api/latest/internal/feature-requests/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/feature-requests/route.tsx
@@ -1,7 +1,7 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { getOrCreateFeaturebaseUserFromAuth, requireFeaturebaseApiKey } from "@/lib/featurebase";
-import { adaptSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
// Typed subset of the Featurebase v2 API responses; fields we don't use are omitted.
// The response schema validated by yup on output acts as the runtime safety net.
diff --git a/apps/backend/src/app/api/latest/internal/feedback/route.tsx b/apps/backend/src/app/api/latest/internal/feedback/route.tsx
index 368da30119..3ea82c892e 100644
--- a/apps/backend/src/app/api/latest/internal/feedback/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/feedback/route.tsx
@@ -3,9 +3,9 @@ import { sendSupportFeedbackEmail } from "@/lib/internal-feedback-emails";
import { isLocalEmulatorEnabled } from "@/lib/local-emulator";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
-import { adaptSchema, emailSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, emailSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
/**
* Unified feedback endpoint used by both the dashboard and the dev tool.
diff --git a/apps/backend/src/app/api/latest/internal/init-script-callback/route.tsx b/apps/backend/src/app/api/latest/internal/init-script-callback/route.tsx
index 3fff216e76..e08b6e53dd 100644
--- a/apps/backend/src/app/api/latest/internal/init-script-callback/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/init-script-callback/route.tsx
@@ -1,8 +1,8 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { getTelegramConfig, sendTelegramMessage } from "@/lib/telegram";
-import { adaptSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { InferType } from "yup";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
const STACK_TRACE_MAX_LENGTH = 4000;
const MESSAGE_PREFIX = "_".repeat(50);
diff --git a/apps/backend/src/app/api/latest/internal/local-emulator/project/route.tsx b/apps/backend/src/app/api/latest/internal/local-emulator/project/route.tsx
index 38b48e78eb..9da17f4626 100644
--- a/apps/backend/src/app/api/latest/internal/local-emulator/project/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/local-emulator/project/route.tsx
@@ -23,10 +23,10 @@ import {
yupNumber,
yupObject,
yupString,
-} from "@stackframe/stack-shared/dist/schema-fields";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+} from "@hexclave/shared/dist/schema-fields";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import fs from "fs/promises";
import * as path from "path";
diff --git a/apps/backend/src/app/api/latest/internal/mcp-review/add-manual/route.ts b/apps/backend/src/app/api/latest/internal/mcp-review/add-manual/route.ts
index fed36bcc9f..23173cc268 100644
--- a/apps/backend/src/app/api/latest/internal/mcp-review/add-manual/route.ts
+++ b/apps/backend/src/app/api/latest/internal/mcp-review/add-manual/route.ts
@@ -1,8 +1,8 @@
import { getConnectionOrThrow } from "@/lib/ai/mcp-logger";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: { hidden: true },
diff --git a/apps/backend/src/app/api/latest/internal/mcp-review/delete/route.ts b/apps/backend/src/app/api/latest/internal/mcp-review/delete/route.ts
index e3126c65d0..39c27d2a3c 100644
--- a/apps/backend/src/app/api/latest/internal/mcp-review/delete/route.ts
+++ b/apps/backend/src/app/api/latest/internal/mcp-review/delete/route.ts
@@ -1,8 +1,8 @@
import { getConnectionOrThrow } from "@/lib/ai/mcp-logger";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: { hidden: true },
diff --git a/apps/backend/src/app/api/latest/internal/mcp-review/mark-reviewed/route.ts b/apps/backend/src/app/api/latest/internal/mcp-review/mark-reviewed/route.ts
index 5500fe15ba..bf38706562 100644
--- a/apps/backend/src/app/api/latest/internal/mcp-review/mark-reviewed/route.ts
+++ b/apps/backend/src/app/api/latest/internal/mcp-review/mark-reviewed/route.ts
@@ -1,8 +1,8 @@
import { getConnectionOrThrow } from "@/lib/ai/mcp-logger";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: { hidden: true },
diff --git a/apps/backend/src/app/api/latest/internal/mcp-review/update-correction/route.ts b/apps/backend/src/app/api/latest/internal/mcp-review/update-correction/route.ts
index dfb40a7859..be3ef84ca0 100644
--- a/apps/backend/src/app/api/latest/internal/mcp-review/update-correction/route.ts
+++ b/apps/backend/src/app/api/latest/internal/mcp-review/update-correction/route.ts
@@ -1,8 +1,8 @@
import { getConnectionOrThrow } from "@/lib/ai/mcp-logger";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: { hidden: true },
diff --git a/apps/backend/src/app/api/latest/internal/metrics/route.tsx b/apps/backend/src/app/api/latest/internal/metrics/route.tsx
index b2a10b36a6..d5d1e753a9 100644
--- a/apps/backend/src/app/api/latest/internal/metrics/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/metrics/route.tsx
@@ -6,8 +6,8 @@ import { ActivitySplit } from "@/lib/metrics-activity-split";
import { Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy, getPrismaSchemaForTenancy, sqlQuoteIdent } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
+import { KnownErrors } from "@hexclave/shared";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
import {
type MetricsDataPoint,
type MetricsRecentUser,
@@ -19,9 +19,9 @@ import {
MetricsLoginMethodEntrySchema,
MetricsPaymentsOverviewSchema,
MetricsRecentUserSchema,
-} from "@stackframe/stack-shared/dist/interface/admin-metrics";
-import { captureError, HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupRecord, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+} from "@hexclave/shared/dist/interface/admin-metrics";
+import { captureError, HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupRecord, yupString } from "@hexclave/shared/dist/schema-fields";
import { userFullInclude, userPrismaToCrud, usersCrudHandlers } from "../../users/crud";
type DataPoints = MetricsDataPoint[];
diff --git a/apps/backend/src/app/api/latest/internal/metrics/user-counts/route.tsx b/apps/backend/src/app/api/latest/internal/metrics/user-counts/route.tsx
index b59ae9848e..8857c70cbb 100644
--- a/apps/backend/src/app/api/latest/internal/metrics/user-counts/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/metrics/user-counts/route.tsx
@@ -1,6 +1,6 @@
import { getPrismaClientForTenancy, getPrismaSchemaForTenancy, sqlQuoteIdent } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/onboarding/preview-affected-users/route.tsx b/apps/backend/src/app/api/latest/internal/onboarding/preview-affected-users/route.tsx
index 25e575fb70..8d06ab92bc 100644
--- a/apps/backend/src/app/api/latest/internal/onboarding/preview-affected-users/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/onboarding/preview-affected-users/route.tsx
@@ -1,7 +1,7 @@
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, restrictedReasonSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import type { RestrictedReason } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, restrictedReasonSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import type { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
/**
* Preview which users would be affected by onboarding config changes.
diff --git a/apps/backend/src/app/api/latest/internal/payments/method-configs/route.ts b/apps/backend/src/app/api/latest/internal/payments/method-configs/route.ts
index 94375080e8..4131918a74 100644
--- a/apps/backend/src/app/api/latest/internal/payments/method-configs/route.ts
+++ b/apps/backend/src/app/api/latest/internal/payments/method-configs/route.ts
@@ -2,11 +2,11 @@ import { isPreviewModeEnabled } from "@/lib/preview-mode";
import { getStackStripe } from "@/lib/stripe";
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { getAllPaymentMethodIds, getAllPaymentMethodNames, getPaymentMethodName, isKnownPaymentMethod } from "@stackframe/stack-shared/dist/payments/payment-methods";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupBoolean, yupNumber, yupObject, yupRecord, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownErrors } from "@hexclave/shared";
+import { getAllPaymentMethodIds, getAllPaymentMethodNames, getPaymentMethodName, isKnownPaymentMethod } from "@hexclave/shared/dist/payments/payment-methods";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupBoolean, yupNumber, yupObject, yupRecord, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
const METADATA_FIELDS = new Set([
'id', 'object', 'active', 'application', 'is_default', 'livemode', 'name', 'parent'
diff --git a/apps/backend/src/app/api/latest/internal/payments/setup/route.ts b/apps/backend/src/app/api/latest/internal/payments/setup/route.ts
index 7d0159faa5..cb8fee35ce 100644
--- a/apps/backend/src/app/api/latest/internal/payments/setup/route.ts
+++ b/apps/backend/src/app/api/latest/internal/payments/setup/route.ts
@@ -1,8 +1,8 @@
import { getStackStripe } from "@/lib/stripe";
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/payments/stripe-widgets/account-session/route.ts b/apps/backend/src/app/api/latest/internal/payments/stripe-widgets/account-session/route.ts
index 0cf76ce141..d8d1402642 100644
--- a/apps/backend/src/app/api/latest/internal/payments/stripe-widgets/account-session/route.ts
+++ b/apps/backend/src/app/api/latest/internal/payments/stripe-widgets/account-session/route.ts
@@ -2,8 +2,8 @@ import { isPreviewModeEnabled } from "@/lib/preview-mode";
import { getStackStripe } from "@/lib/stripe";
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/payments/stripe/account-info/route.ts b/apps/backend/src/app/api/latest/internal/payments/stripe/account-info/route.ts
index 69223cce0e..fd6dc3a8ff 100644
--- a/apps/backend/src/app/api/latest/internal/payments/stripe/account-info/route.ts
+++ b/apps/backend/src/app/api/latest/internal/payments/stripe/account-info/route.ts
@@ -2,8 +2,8 @@ import { isPreviewModeEnabled } from "@/lib/preview-mode";
import { getStackStripe } from "@/lib/stripe";
import { globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, adminAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, adminAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/payments/test-mode-purchase-session/route.tsx b/apps/backend/src/app/api/latest/internal/payments/test-mode-purchase-session/route.tsx
index 63d0da1562..a8516f2efc 100644
--- a/apps/backend/src/app/api/latest/internal/payments/test-mode-purchase-session/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/payments/test-mode-purchase-session/route.tsx
@@ -4,9 +4,9 @@ import { getTenancy } from "@/lib/tenancies";
import { getStripeForAccount } from "@/lib/stripe";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/payments/transactions/refund/route.tsx b/apps/backend/src/app/api/latest/internal/payments/transactions/refund/route.tsx
index e4031524ef..ff9232f29c 100644
--- a/apps/backend/src/app/api/latest/internal/payments/transactions/refund/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/payments/transactions/refund/route.tsx
@@ -13,11 +13,11 @@ import { getStripeForAccount } from "@/lib/stripe";
import type { Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy, type PrismaClientTransaction } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { adaptSchema, adminAuthTypeSchema, moneyAmountSchema, productSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { moneyAmountToStripeUnits } from "@stackframe/stack-shared/dist/utils/currencies";
-import { SUPPORTED_CURRENCIES, type MoneyAmount } from "@stackframe/stack-shared/dist/utils/currency-constants";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { adaptSchema, adminAuthTypeSchema, moneyAmountSchema, productSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { moneyAmountToStripeUnits } from "@hexclave/shared/dist/utils/currencies";
+import { SUPPORTED_CURRENCIES, type MoneyAmount } from "@hexclave/shared/dist/utils/currency-constants";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
import type Stripe from "stripe";
import { InferType } from "yup";
diff --git a/apps/backend/src/app/api/latest/internal/payments/transactions/route.tsx b/apps/backend/src/app/api/latest/internal/payments/transactions/route.tsx
index b920fc1fcc..54029b0ff6 100644
--- a/apps/backend/src/app/api/latest/internal/payments/transactions/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/payments/transactions/route.tsx
@@ -5,10 +5,10 @@ import { paymentsSchema } from "@/lib/payments/schema/singleton";
import { REFUND_TXN_PREFIX, parseRefundTxnId } from "@/lib/payments/refund-txn-id";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { TRANSACTION_TYPES, transactionSchema, type Transaction, type TransactionEntry, type TransactionType } from "@stackframe/stack-shared/dist/interface/crud/transactions";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { SUPPORTED_CURRENCIES } from "@stackframe/stack-shared/dist/utils/currency-constants";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { TRANSACTION_TYPES, transactionSchema, type Transaction, type TransactionEntry, type TransactionType } from "@hexclave/shared/dist/interface/crud/transactions";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { SUPPORTED_CURRENCIES } from "@hexclave/shared/dist/utils/currency-constants";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
const schema = paymentsSchema;
diff --git a/apps/backend/src/app/api/latest/internal/preview/create-project/route.tsx b/apps/backend/src/app/api/latest/internal/preview/create-project/route.tsx
index ba7e0654da..2eebcb8598 100644
--- a/apps/backend/src/app/api/latest/internal/preview/create-project/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/preview/create-project/route.tsx
@@ -3,9 +3,9 @@ import { isPreviewModeEnabled } from "@/lib/preview-mode";
import { seedDummyProject } from "@/lib/seed-dummy-data";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { ignoreUnhandledRejection } from "@stackframe/stack-shared/dist/utils/promises";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { ignoreUnhandledRejection } from "@hexclave/shared/dist/utils/promises";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/projects-metrics/route.tsx b/apps/backend/src/app/api/latest/internal/projects-metrics/route.tsx
index cfed3f5fe1..9fff3c3af4 100644
--- a/apps/backend/src/app/api/latest/internal/projects-metrics/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/projects-metrics/route.tsx
@@ -2,10 +2,10 @@ import { getClickhouseAdminClientForMetrics } from "@/lib/clickhouse";
import { listManagedProjectIds } from "@/lib/projects";
import { DEFAULT_BRANCH_ID } from "@/lib/tenancies";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { MetricsDataPointsSchema } from "@stackframe/stack-shared/dist/interface/admin-metrics";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupRecord, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { MetricsDataPointsSchema } from "@hexclave/shared/dist/interface/admin-metrics";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupRecord, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
const SIGNUPS_WINDOW_DAYS = 30;
const ONE_DAY_MS = 24 * 60 * 60 * 1000;
diff --git a/apps/backend/src/app/api/latest/internal/projects/crud.tsx b/apps/backend/src/app/api/latest/internal/projects/crud.tsx
index ea3fce8741..523220269a 100644
--- a/apps/backend/src/app/api/latest/internal/projects/crud.tsx
+++ b/apps/backend/src/app/api/latest/internal/projects/crud.tsx
@@ -4,12 +4,12 @@ import { ensureTeamMembershipExists } from "@/lib/request-checks";
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient, rawQueryAll } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adminUserProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { projectIdSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { isNotNull, typedEntries, typedFromEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { adminUserProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { projectIdSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { isNotNull, typedEntries, typedFromEntries } from "@hexclave/shared/dist/utils/objects";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const adminUserProjectsCrudHandlers = createLazyProxy(() => createCrudHandlers(adminUserProjectsCrud, {
paramsSchema: yupObject({
diff --git a/apps/backend/src/app/api/latest/internal/projects/current/crud.tsx b/apps/backend/src/app/api/latest/internal/projects/current/crud.tsx
index 66f12fbd6f..b227efa59b 100644
--- a/apps/backend/src/app/api/latest/internal/projects/current/crud.tsx
+++ b/apps/backend/src/app/api/latest/internal/projects/current/crud.tsx
@@ -3,10 +3,10 @@ import { createOrUpdateProjectWithLegacyConfig } from "@/lib/projects";
import { getTenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { projectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { projectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { yupObject } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const projectsCrudHandlers = createLazyProxy(() => createCrudHandlers(projectsCrud, {
paramsSchema: yupObject({}),
diff --git a/apps/backend/src/app/api/latest/internal/projects/transfer/route.tsx b/apps/backend/src/app/api/latest/internal/projects/transfer/route.tsx
index 59b49f6158..aae5844d81 100644
--- a/apps/backend/src/app/api/latest/internal/projects/transfer/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/projects/transfer/route.tsx
@@ -2,9 +2,9 @@ import { ensureTeamMembershipExists, ensureUserTeamPermissionExists } from "@/li
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/rewrite-template-source/route.tsx b/apps/backend/src/app/api/latest/internal/rewrite-template-source/route.tsx
index 5f9e4d1148..a81283f921 100644
--- a/apps/backend/src/app/api/latest/internal/rewrite-template-source/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/rewrite-template-source/route.tsx
@@ -1,7 +1,7 @@
import { rewriteTemplateSourceWithAI } from "@/lib/email-template-rewrite";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/send-sign-in-invitation/route.tsx b/apps/backend/src/app/api/latest/internal/send-sign-in-invitation/route.tsx
index 0f8a87d63a..89f1877452 100644
--- a/apps/backend/src/app/api/latest/internal/send-sign-in-invitation/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/send-sign-in-invitation/route.tsx
@@ -1,8 +1,8 @@
import { sendEmailFromDefaultTemplate } from "@/lib/emails";
import { validateRedirectUrl } from "@/lib/redirect-urls";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, emailSchema, serverOrHigherAuthTypeSchema, urlSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, emailSchema, serverOrHigherAuthTypeSchema, urlSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/send-test-email/route.tsx b/apps/backend/src/app/api/latest/internal/send-test-email/route.tsx
index 7761645188..08d4bbccd5 100644
--- a/apps/backend/src/app/api/latest/internal/send-test-email/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/send-test-email/route.tsx
@@ -2,13 +2,13 @@ import { isSecureEmailPort, lowLevelSendEmailDirectWithoutRetries } from "@/lib/
import { arePlanLimitsEnforced, getBillingTeamId } from "@/lib/plan-entitlements";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { getStackServerApp } from "@/stack";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { ITEM_IDS } from "@stackframe/stack-shared/dist/plans";
-import * as schemaFields from "@stackframe/stack-shared/dist/schema-fields";
-import { adaptSchema, adminAuthTypeSchema, emailSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { timeout } from "@stackframe/stack-shared/dist/utils/promises";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { KnownErrors } from "@hexclave/shared";
+import { ITEM_IDS } from "@hexclave/shared/dist/plans";
+import * as schemaFields from "@hexclave/shared/dist/schema-fields";
+import { adaptSchema, adminAuthTypeSchema, emailSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { timeout } from "@hexclave/shared/dist/utils/promises";
+import { Result } from "@hexclave/shared/dist/utils/results";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/internal/send-test-webhook/route.tsx b/apps/backend/src/app/api/latest/internal/send-test-webhook/route.tsx
index 78d5f6b94a..bfbb95daea 100644
--- a/apps/backend/src/app/api/latest/internal/send-test-webhook/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/send-test-webhook/route.tsx
@@ -1,8 +1,8 @@
import { getSvixClient } from "@/lib/webhooks";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { captureError, HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { adaptSchema, adminAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { captureError, HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { MessageStatus } from "svix";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/chunks/[chunk_id]/events/route.tsx b/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/chunks/[chunk_id]/events/route.tsx
index eaa40ada27..fcd4e60d63 100644
--- a/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/chunks/[chunk_id]/events/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/chunks/[chunk_id]/events/route.tsx
@@ -1,9 +1,9 @@
import { getPrismaClientForTenancy } from "@/prisma-client";
import { downloadBytes } from "@/s3";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { promisify } from "node:util";
import { gunzip as gunzipCb } from "node:zlib";
diff --git a/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/chunks/route.tsx b/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/chunks/route.tsx
index 39e85cf8ab..e619f0dd04 100644
--- a/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/chunks/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/chunks/route.tsx
@@ -1,8 +1,8 @@
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { Prisma } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
const DEFAULT_LIMIT = 100;
const MAX_LIMIT = 500;
diff --git a/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/events/route.tsx b/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/events/route.tsx
index 8d542cb2a8..79f4d128f1 100644
--- a/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/events/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/events/route.tsx
@@ -2,9 +2,9 @@ import { generatePreviewReplayEvents, isPreviewModeEnabled } from "@/lib/preview
import { getPrismaClientForTenancy } from "@/prisma-client";
import { downloadBytes } from "@/s3";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { promisify } from "node:util";
import { gunzip as gunzipCb } from "node:zlib";
diff --git a/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/route.tsx b/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/route.tsx
index 262d29782e..9b2c56a226 100644
--- a/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/session-replays/[session_replay_id]/route.tsx
@@ -1,8 +1,8 @@
import { Prisma } from "@/generated/prisma/client";
import { getPrismaClientForTenancy, getPrismaSchemaForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import {
aggregateSessionReplayChunksByReplayIds,
querySessionReplayAdminRows,
diff --git a/apps/backend/src/app/api/latest/internal/session-replays/route.tsx b/apps/backend/src/app/api/latest/internal/session-replays/route.tsx
index bf3c657a04..6596a6338e 100644
--- a/apps/backend/src/app/api/latest/internal/session-replays/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/session-replays/route.tsx
@@ -7,10 +7,10 @@ import {
sessionReplayAdminRowToApiItem,
} from "./session-replay-admin-rows";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { isUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { isUuid } from "@hexclave/shared/dist/utils/uuids";
const DEFAULT_LIMIT = 50;
const MAX_LIMIT = 200;
diff --git a/apps/backend/src/app/api/latest/internal/sign-up-rules-stats/route.tsx b/apps/backend/src/app/api/latest/internal/sign-up-rules-stats/route.tsx
index d2fcc9baf7..63e406c5bd 100644
--- a/apps/backend/src/app/api/latest/internal/sign-up-rules-stats/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/sign-up-rules-stats/route.tsx
@@ -1,7 +1,7 @@
import { getClickhouseAdminClient } from "@/lib/clickhouse";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { adaptSchema, adminAuthTypeSchema, yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
const ANALYTICS_HOURS = 48;
diff --git a/apps/backend/src/app/api/latest/internal/sign-up-rules-test/route.tsx b/apps/backend/src/app/api/latest/internal/sign-up-rules-test/route.tsx
index b51a0d6a0d..eedbdf20e8 100644
--- a/apps/backend/src/app/api/latest/internal/sign-up-rules-test/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/sign-up-rules-test/route.tsx
@@ -4,11 +4,11 @@ import { calculateSignUpRiskScores } from "@/lib/risk-scores";
import { evaluateSignUpRulesWithTrace } from "@/lib/sign-up-rules";
import { getDerivedSignUpCountryCode } from "@/lib/users";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { riskScoreFieldSchema } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { signUpAuthMethodValues } from "@stackframe/stack-shared/dist/utils/auth-methods";
-import type { TurnstileResult } from "@stackframe/stack-shared/dist/utils/turnstile";
-import { turnstileResultValues } from "@stackframe/stack-shared/dist/utils/turnstile";
-import { adaptSchema, adminAuthTypeSchema, countryCodeSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { riskScoreFieldSchema } from "@hexclave/shared/dist/interface/crud/users";
+import { signUpAuthMethodValues } from "@hexclave/shared/dist/utils/auth-methods";
+import type { TurnstileResult } from "@hexclave/shared/dist/utils/turnstile";
+import { turnstileResultValues } from "@hexclave/shared/dist/utils/turnstile";
+import { adaptSchema, adminAuthTypeSchema, countryCodeSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
const ACTION_TYPES = ['allow', 'reject', 'restrict', 'log'] as const;
const DECISION_TYPES = ['allow', 'reject', 'default-allow', 'default-reject'] as const;
diff --git a/apps/backend/src/app/api/latest/internal/user-activity/route.tsx b/apps/backend/src/app/api/latest/internal/user-activity/route.tsx
index 8243429a06..4d4dea9e6d 100644
--- a/apps/backend/src/app/api/latest/internal/user-activity/route.tsx
+++ b/apps/backend/src/app/api/latest/internal/user-activity/route.tsx
@@ -1,9 +1,9 @@
import { getClickhouseAdminClient } from "@/lib/clickhouse";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { ClickHouseError } from "@clickhouse/client";
-import { UserActivityResponseBodySchema } from "@stackframe/stack-shared/dist/interface/admin-metrics";
-import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { UserActivityResponseBodySchema } from "@hexclave/shared/dist/interface/admin-metrics";
+import { adaptSchema, adminAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError, captureError } from "@hexclave/shared/dist/utils/errors";
// Per-user activity heatmap window. Sized to match the 22×16 dashboard grid
// so every cell maps to exactly one day and we never truncate or pad awkwardly
diff --git a/apps/backend/src/app/api/latest/migration-tests/route.tsx b/apps/backend/src/app/api/latest/migration-tests/route.tsx
index 599a47fca7..bff86cb06e 100644
--- a/apps/backend/src/app/api/latest/migration-tests/route.tsx
+++ b/apps/backend/src/app/api/latest/migration-tests/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/migration-tests/smart-route-handler/route.tsx b/apps/backend/src/app/api/latest/migration-tests/smart-route-handler/route.tsx
index f560f3f9ea..289fa2c5a9 100644
--- a/apps/backend/src/app/api/latest/migration-tests/smart-route-handler/route.tsx
+++ b/apps/backend/src/app/api/latest/migration-tests/smart-route-handler/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/oauth-providers/crud.tsx b/apps/backend/src/app/api/latest/oauth-providers/crud.tsx
index 5f7de19f3d..07957433ae 100644
--- a/apps/backend/src/app/api/latest/oauth-providers/crud.tsx
+++ b/apps/backend/src/app/api/latest/oauth-providers/crud.tsx
@@ -3,12 +3,12 @@ import { ensureUserExists } from "@/lib/request-checks";
import { Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { oauthProviderCrud } from "@stackframe/stack-shared/dist/interface/crud/oauth-providers";
-import { userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { allProviders, ProviderType } from "@stackframe/stack-shared/dist/utils/oauth";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { oauthProviderCrud } from "@hexclave/shared/dist/interface/crud/oauth-providers";
+import { userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { allProviders, ProviderType } from "@hexclave/shared/dist/utils/oauth";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
// Helper function to check if a provider type is already used for signing in
async function checkInputValidity(options: {
diff --git a/apps/backend/src/app/api/latest/payments/billing/[customer_type]/[customer_id]/route.ts b/apps/backend/src/app/api/latest/payments/billing/[customer_type]/[customer_id]/route.ts
index 65f4f7a9b7..6e97abab20 100644
--- a/apps/backend/src/app/api/latest/payments/billing/[customer_type]/[customer_id]/route.ts
+++ b/apps/backend/src/app/api/latest/payments/billing/[customer_type]/[customer_id]/route.ts
@@ -2,7 +2,7 @@ import { ensureClientCanAccessCustomer, getDefaultCardPaymentMethodSummary, getS
import { getStripeForAccount } from "@/lib/stripe";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/payments/invoices/[customer_type]/[customer_id]/route.ts b/apps/backend/src/app/api/latest/payments/invoices/[customer_type]/[customer_id]/route.ts
index 219e9886c9..067e177f52 100644
--- a/apps/backend/src/app/api/latest/payments/invoices/[customer_type]/[customer_id]/route.ts
+++ b/apps/backend/src/app/api/latest/payments/invoices/[customer_type]/[customer_id]/route.ts
@@ -2,10 +2,10 @@ import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { ensureClientCanAccessCustomer } from "@/lib/payments";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { Prisma } from "@/generated/prisma/client";
-import { customerInvoicesListResponseSchema } from "@stackframe/stack-shared/dist/interface/crud/invoices";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { typedToUppercase } from "@stackframe/stack-shared/dist/utils/strings";
+import { customerInvoicesListResponseSchema } from "@hexclave/shared/dist/interface/crud/invoices";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { typedToUppercase } from "@hexclave/shared/dist/utils/strings";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/payments/items/[customer_type]/[customer_id]/[item_id]/route.ts b/apps/backend/src/app/api/latest/payments/items/[customer_type]/[customer_id]/[item_id]/route.ts
index ac8a4698de..3eda385be0 100644
--- a/apps/backend/src/app/api/latest/payments/items/[customer_type]/[customer_id]/[item_id]/route.ts
+++ b/apps/backend/src/app/api/latest/payments/items/[customer_type]/[customer_id]/[item_id]/route.ts
@@ -2,9 +2,9 @@ import { ensureClientCanAccessCustomer, ensureCustomerExists } from "@/lib/payme
import { getItemQuantityForCustomer } from "@/lib/payments/customer-data";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
export const GET = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/payments/items/[customer_type]/[customer_id]/[item_id]/update-quantity/route.ts b/apps/backend/src/app/api/latest/payments/items/[customer_type]/[customer_id]/[item_id]/update-quantity/route.ts
index 04dd502b05..7993ac519b 100644
--- a/apps/backend/src/app/api/latest/payments/items/[customer_type]/[customer_id]/[item_id]/update-quantity/route.ts
+++ b/apps/backend/src/app/api/latest/payments/items/[customer_type]/[customer_id]/[item_id]/update-quantity/route.ts
@@ -3,10 +3,10 @@ import { bulldozerWriteItemQuantityChange } from "@/lib/payments/bulldozer-dual-
import { getItemQuantityForCustomer } from "@/lib/payments/customer-data";
import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
-import { typedToUppercase } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, serverOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
+import { typedToUppercase } from "@hexclave/shared/dist/utils/strings";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/payments/payment-method/[customer_type]/[customer_id]/set-default/route.ts b/apps/backend/src/app/api/latest/payments/payment-method/[customer_type]/[customer_id]/set-default/route.ts
index ffe39ab7dd..b12c1132a3 100644
--- a/apps/backend/src/app/api/latest/payments/payment-method/[customer_type]/[customer_id]/set-default/route.ts
+++ b/apps/backend/src/app/api/latest/payments/payment-method/[customer_type]/[customer_id]/set-default/route.ts
@@ -2,10 +2,10 @@ import { ensureClientCanAccessCustomer, ensureStripeCustomerForCustomer, getDefa
import { getStripeForAccount } from "@/lib/stripe";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { typedToUppercase } from "@stackframe/stack-shared/dist/utils/strings";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { typedToUppercase } from "@hexclave/shared/dist/utils/strings";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/payments/payment-method/[customer_type]/[customer_id]/setup-intent/route.ts b/apps/backend/src/app/api/latest/payments/payment-method/[customer_type]/[customer_id]/setup-intent/route.ts
index 930fd43bd3..8011bcc041 100644
--- a/apps/backend/src/app/api/latest/payments/payment-method/[customer_type]/[customer_id]/setup-intent/route.ts
+++ b/apps/backend/src/app/api/latest/payments/payment-method/[customer_type]/[customer_id]/setup-intent/route.ts
@@ -2,8 +2,8 @@ import { ensureClientCanAccessCustomer, ensureStripeCustomerForCustomer } from "
import { getStripeForAccount } from "@/lib/stripe";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/[product_id]/route.ts b/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/[product_id]/route.ts
index 5fd77cd55d..684d7ae9bd 100644
--- a/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/[product_id]/route.ts
+++ b/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/[product_id]/route.ts
@@ -7,9 +7,9 @@ import { ensureUserTeamPermissionExists } from "@/lib/request-checks";
import { getStripeForAccount } from "@/lib/stripe";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
export const DELETE = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/route.ts b/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/route.ts
index 0482ae92dd..827701348f 100644
--- a/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/route.ts
+++ b/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/route.ts
@@ -2,12 +2,12 @@ import { ensureClientCanAccessCustomer, ensureCustomerExists, ensureProductIdOrI
import { getOwnedProductsForCustomer, getSubscriptionMapForCustomer } from "@/lib/payments/customer-data";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { customerProductsListResponseSchema } from "@stackframe/stack-shared/dist/interface/crud/products";
-import { adaptSchema, clientOrHigherAuthTypeSchema, inlineProductSchema, serverOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { typedEntries, typedFromEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownErrors } from "@hexclave/shared";
+import { customerProductsListResponseSchema } from "@hexclave/shared/dist/interface/crud/products";
+import { adaptSchema, clientOrHigherAuthTypeSchema, inlineProductSchema, serverOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { typedEntries, typedFromEntries } from "@hexclave/shared/dist/utils/objects";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/switch/route.ts b/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/switch/route.ts
index b104c05ecf..726320ff3e 100644
--- a/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/switch/route.ts
+++ b/apps/backend/src/app/api/latest/payments/products/[customer_type]/[customer_id]/switch/route.ts
@@ -6,12 +6,12 @@ import { upsertProductVersion } from "@/lib/product-versions";
import { getStripeForAccount, sanitizeStripePeriodDates } from "@/lib/stripe";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { SUPPORTED_CURRENCIES } from "@stackframe/stack-shared/dist/utils/currency-constants";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getOrUndefined, typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { typedToUppercase } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { SUPPORTED_CURRENCIES } from "@hexclave/shared/dist/utils/currency-constants";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { getOrUndefined, typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { typedToUppercase } from "@hexclave/shared/dist/utils/strings";
import Stripe from "stripe";
diff --git a/apps/backend/src/app/api/latest/payments/purchases/create-purchase-url/route.ts b/apps/backend/src/app/api/latest/payments/purchases/create-purchase-url/route.ts
index 7f6f8175f1..3c41c53abc 100644
--- a/apps/backend/src/app/api/latest/payments/purchases/create-purchase-url/route.ts
+++ b/apps/backend/src/app/api/latest/payments/purchases/create-purchase-url/route.ts
@@ -5,10 +5,10 @@ import { validateRedirectUrl } from "@/lib/redirect-urls";
import { getStackStripe, getStripeForAccount } from "@/lib/stripe";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { adaptSchema, clientOrHigherAuthTypeSchema, inlineProductSchema, urlSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { adaptSchema, clientOrHigherAuthTypeSchema, inlineProductSchema, urlSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { purchaseUrlVerificationCodeHandler } from "../verification-code-handler";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/payments/purchases/purchase-session/route.tsx b/apps/backend/src/app/api/latest/payments/purchases/purchase-session/route.tsx
index 478da7b6e0..adac5dfe36 100644
--- a/apps/backend/src/app/api/latest/payments/purchases/purchase-session/route.tsx
+++ b/apps/backend/src/app/api/latest/payments/purchases/purchase-session/route.tsx
@@ -7,10 +7,10 @@ import { getStripeForAccount } from "@/lib/stripe";
import { getTenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { getStripeOneTimeMinAmount } from "@stackframe/stack-shared/dist/payments/stripe-limits";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError, StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { getStripeOneTimeMinAmount } from "@hexclave/shared/dist/payments/stripe-limits";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError, StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
import { purchaseUrlVerificationCodeHandler } from "../verification-code-handler";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/payments/purchases/validate-code/route.ts b/apps/backend/src/app/api/latest/payments/purchases/validate-code/route.ts
index 3c8c4825ce..f7e820b0b4 100644
--- a/apps/backend/src/app/api/latest/payments/purchases/validate-code/route.ts
+++ b/apps/backend/src/app/api/latest/payments/purchases/validate-code/route.ts
@@ -4,9 +4,9 @@ import { validateRedirectUrl } from "@/lib/redirect-urls";
import { getTenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { inlineProductSchema, urlSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { inlineProductSchema, urlSchema, yupArray, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { purchaseUrlVerificationCodeHandler } from "../verification-code-handler";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/payments/purchases/verification-code-handler.tsx b/apps/backend/src/app/api/latest/payments/purchases/verification-code-handler.tsx
index b6094ab563..ffb87fae00 100644
--- a/apps/backend/src/app/api/latest/payments/purchases/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/payments/purchases/verification-code-handler.tsx
@@ -1,6 +1,6 @@
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
import { VerificationCodeType } from "@/generated/prisma/client";
-import { productSchema, yupBoolean, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { productSchema, yupBoolean, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const purchaseUrlVerificationCodeHandler = createVerificationCodeHandler({
type: VerificationCodeType.PURCHASE_URL,
diff --git a/apps/backend/src/app/api/latest/permission-definitions-pagination.ts b/apps/backend/src/app/api/latest/permission-definitions-pagination.ts
index 0002b40455..09c7789196 100644
--- a/apps/backend/src/app/api/latest/permission-definitions-pagination.ts
+++ b/apps/backend/src/app/api/latest/permission-definitions-pagination.ts
@@ -1,6 +1,6 @@
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
// Binary search: index of the first item whose id > cursor, in an
// array already sorted by `stringCompare(a.id, b.id)`.
diff --git a/apps/backend/src/app/api/latest/project-permission-definitions/crud.tsx b/apps/backend/src/app/api/latest/project-permission-definitions/crud.tsx
index 47eaab18fd..51a591ca81 100644
--- a/apps/backend/src/app/api/latest/project-permission-definitions/crud.tsx
+++ b/apps/backend/src/app/api/latest/project-permission-definitions/crud.tsx
@@ -1,9 +1,9 @@
import { createPermissionDefinition, deletePermissionDefinition, listPermissionDefinitions, updatePermissionDefinition } from "@/lib/permissions";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { projectPermissionDefinitionsCrud } from '@stackframe/stack-shared/dist/interface/crud/project-permissions';
-import { permissionDefinitionIdSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { projectPermissionDefinitionsCrud } from '@hexclave/shared/dist/interface/crud/project-permissions';
+import { permissionDefinitionIdSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const projectPermissionDefinitionsCrudHandlers = createLazyProxy(() => createCrudHandlers(projectPermissionDefinitionsCrud, {
diff --git a/apps/backend/src/app/api/latest/project-permissions/crud.tsx b/apps/backend/src/app/api/latest/project-permissions/crud.tsx
index 89285b2c02..22183f4bf9 100644
--- a/apps/backend/src/app/api/latest/project-permissions/crud.tsx
+++ b/apps/backend/src/app/api/latest/project-permissions/crud.tsx
@@ -4,11 +4,11 @@ import { sendProjectPermissionCreatedWebhook, sendProjectPermissionDeletedWebhoo
import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { projectPermissionsCrud } from '@stackframe/stack-shared/dist/interface/crud/project-permissions';
-import { permissionDefinitionIdSchema, userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { projectPermissionsCrud } from '@hexclave/shared/dist/interface/crud/project-permissions';
+import { permissionDefinitionIdSchema, userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const projectPermissionsCrudHandlers = createLazyProxy(() => createCrudHandlers(projectPermissionsCrud, {
querySchema: yupObject({
diff --git a/apps/backend/src/app/api/latest/projects-anonymous-users/[project_id]/.well-known/[...route].ts b/apps/backend/src/app/api/latest/projects-anonymous-users/[project_id]/.well-known/[...route].ts
index af60ab0a77..facc0b9192 100644
--- a/apps/backend/src/app/api/latest/projects-anonymous-users/[project_id]/.well-known/[...route].ts
+++ b/apps/backend/src/app/api/latest/projects-anonymous-users/[project_id]/.well-known/[...route].ts
@@ -1,7 +1,7 @@
// this exists as an alias for OIDC discovery, because the `iss` field in the JWT does not support query params
// redirect to projects/.well-known/[...route]?include_anonymous=true
-import { yupNever, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { yupNever, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { redirect } from "next/navigation";
import { createSmartRouteHandler } from "../../../../../../route-handlers/smart-route-handler";
diff --git a/apps/backend/src/app/api/latest/projects/[project_id]/.well-known/jwks.json/route.ts b/apps/backend/src/app/api/latest/projects/[project_id]/.well-known/jwks.json/route.ts
index f1c05f20d5..a33d4ecf47 100644
--- a/apps/backend/src/app/api/latest/projects/[project_id]/.well-known/jwks.json/route.ts
+++ b/apps/backend/src/app/api/latest/projects/[project_id]/.well-known/jwks.json/route.ts
@@ -1,6 +1,6 @@
-import { yupArray, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { yupArray, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { getProject } from "../../../../../../../lib/projects";
import { getPublicProjectJwkSet } from "../../../../../../../lib/tokens";
import { createSmartRouteHandler } from "../../../../../../../route-handlers/smart-route-handler";
diff --git a/apps/backend/src/app/api/latest/projects/current/crud.tsx b/apps/backend/src/app/api/latest/projects/current/crud.tsx
index 7d4b2c8c7c..5b28d4d0c9 100644
--- a/apps/backend/src/app/api/latest/projects/current/crud.tsx
+++ b/apps/backend/src/app/api/latest/projects/current/crud.tsx
@@ -1,8 +1,8 @@
import { renderedOrganizationConfigToProjectCrud } from "@/lib/config";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { clientProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { clientProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { yupObject } from "@hexclave/shared/dist/schema-fields";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const clientProjectsCrudHandlers = createLazyProxy(() => createCrudHandlers(clientProjectsCrud, {
paramsSchema: yupObject({}),
diff --git a/apps/backend/src/app/api/latest/route.ts b/apps/backend/src/app/api/latest/route.ts
index 871c3e1427..e03aa49fca 100644
--- a/apps/backend/src/app/api/latest/route.ts
+++ b/apps/backend/src/app/api/latest/route.ts
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { adaptSchema, projectIdSchema, yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { deindent, typedCapitalize } from "@stackframe/stack-shared/dist/utils/strings";
+import { adaptSchema, projectIdSchema, yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { deindent, typedCapitalize } from "@hexclave/shared/dist/utils/strings";
export const GET = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/session-replays/batch/route.tsx b/apps/backend/src/app/api/latest/session-replays/batch/route.tsx
index 402e4f8438..9f6c392681 100644
--- a/apps/backend/src/app/api/latest/session-replays/batch/route.tsx
+++ b/apps/backend/src/app/api/latest/session-replays/batch/route.tsx
@@ -5,10 +5,10 @@ import { Prisma } from "@/generated/prisma/client";
import { arePlanLimitsEnforced, getBillingTeamId } from "@/lib/plan-entitlements";
import { findRecentSessionReplay } from "@/lib/session-replays";
import { getStackServerApp } from "@/stack";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { ITEM_IDS } from "@stackframe/stack-shared/dist/plans";
-import { adaptSchema, clientOrHigherAuthTypeSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { ITEM_IDS } from "@hexclave/shared/dist/plans";
+import { adaptSchema, clientOrHigherAuthTypeSchema, yupArray, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import { randomUUID } from "node:crypto";
import { promisify } from "node:util";
import { gzip as gzipCb } from "node:zlib";
diff --git a/apps/backend/src/app/api/latest/team-invitations/[id]/accept/route.tsx b/apps/backend/src/app/api/latest/team-invitations/[id]/accept/route.tsx
index 7fe5881aeb..b047285fa3 100644
--- a/apps/backend/src/app/api/latest/team-invitations/[id]/accept/route.tsx
+++ b/apps/backend/src/app/api/latest/team-invitations/[id]/accept/route.tsx
@@ -5,8 +5,8 @@ import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { globalPrismaClient } from "@/prisma-client";
import { VerificationCodeType } from "@/generated/prisma/client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, userIdOrMeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, userIdOrMeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
export const POST = createSmartRouteHandler({
metadata: {
diff --git a/apps/backend/src/app/api/latest/team-invitations/accept/verification-code-handler.tsx b/apps/backend/src/app/api/latest/team-invitations/accept/verification-code-handler.tsx
index 7d95292fc6..8f08ca96c2 100644
--- a/apps/backend/src/app/api/latest/team-invitations/accept/verification-code-handler.tsx
+++ b/apps/backend/src/app/api/latest/team-invitations/accept/verification-code-handler.tsx
@@ -6,8 +6,8 @@ import { getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { getPrismaClientForTenancy } from "@/prisma-client";
import { createVerificationCodeHandler } from "@/route-handlers/verification-code-handler";
import { VerificationCodeType } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { emailSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { emailSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { teamsCrudHandlers } from "../../teams/crud";
export const teamInvitationCodeHandler = createVerificationCodeHandler({
diff --git a/apps/backend/src/app/api/latest/team-invitations/crud.tsx b/apps/backend/src/app/api/latest/team-invitations/crud.tsx
index 4a8e8c037f..3188e05baf 100644
--- a/apps/backend/src/app/api/latest/team-invitations/crud.tsx
+++ b/apps/backend/src/app/api/latest/team-invitations/crud.tsx
@@ -2,11 +2,11 @@ import { VerificationCodeType } from "@/generated/prisma/client";
import { ensureTeamExists, ensureTeamMembershipExists, ensureUserTeamPermissionExists } from "@/lib/request-checks";
import { getPrismaClientForTenancy, globalPrismaClient, retryTransaction } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { teamInvitationCrud } from "@stackframe/stack-shared/dist/interface/crud/team-invitation";
-import { userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { teamInvitationCrud } from "@hexclave/shared/dist/interface/crud/team-invitation";
+import { userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
import { teamsCrudHandlers } from "../teams/crud";
import { teamInvitationCodeHandler } from "./accept/verification-code-handler";
diff --git a/apps/backend/src/app/api/latest/team-invitations/send-code/route.tsx b/apps/backend/src/app/api/latest/team-invitations/send-code/route.tsx
index fddea5c7c1..14e89bce6f 100644
--- a/apps/backend/src/app/api/latest/team-invitations/send-code/route.tsx
+++ b/apps/backend/src/app/api/latest/team-invitations/send-code/route.tsx
@@ -1,8 +1,8 @@
import { ensureUserTeamPermissionExists } from "@/lib/request-checks";
import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { adaptSchema, clientOrHigherAuthTypeSchema, teamIdSchema, teamInvitationCallbackUrlSchema, teamInvitationEmailSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { KnownErrors } from "@hexclave/shared";
+import { adaptSchema, clientOrHigherAuthTypeSchema, teamIdSchema, teamInvitationCallbackUrlSchema, teamInvitationEmailSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { teamInvitationCodeHandler } from "../accept/verification-code-handler";
export const POST = createSmartRouteHandler({
diff --git a/apps/backend/src/app/api/latest/team-member-profiles/crud.tsx b/apps/backend/src/app/api/latest/team-member-profiles/crud.tsx
index 552a49484d..1d6a96f051 100644
--- a/apps/backend/src/app/api/latest/team-member-profiles/crud.tsx
+++ b/apps/backend/src/app/api/latest/team-member-profiles/crud.tsx
@@ -4,11 +4,11 @@ import { ensureTeamExists, ensureTeamMembershipExists, ensureUserExists, ensureU
import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
import { uploadAndGetUrl } from "@/s3";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { teamMemberProfilesCrud } from "@stackframe/stack-shared/dist/interface/crud/team-member-profiles";
-import { userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { teamMemberProfilesCrud } from "@hexclave/shared/dist/interface/crud/team-member-profiles";
+import { userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
import { userFullInclude, userPrismaToCrud } from "../users/crud";
const fullInclude = { projectUser: { include: userFullInclude } };
diff --git a/apps/backend/src/app/api/latest/team-memberships/crud.tsx b/apps/backend/src/app/api/latest/team-memberships/crud.tsx
index b0479b0764..5cc843ca6a 100644
--- a/apps/backend/src/app/api/latest/team-memberships/crud.tsx
+++ b/apps/backend/src/app/api/latest/team-memberships/crud.tsx
@@ -7,11 +7,11 @@ import { sendTeamMembershipCreatedWebhook, sendTeamMembershipDeletedWebhook, sen
import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { teamMembershipsCrud } from "@stackframe/stack-shared/dist/interface/crud/team-memberships";
-import { userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { teamMembershipsCrud } from "@hexclave/shared/dist/interface/crud/team-memberships";
+import { userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export async function addUserToTeam(tx: PrismaTransaction, options: {
diff --git a/apps/backend/src/app/api/latest/team-permission-definitions/crud.tsx b/apps/backend/src/app/api/latest/team-permission-definitions/crud.tsx
index bfa72c014d..ef22f4039b 100644
--- a/apps/backend/src/app/api/latest/team-permission-definitions/crud.tsx
+++ b/apps/backend/src/app/api/latest/team-permission-definitions/crud.tsx
@@ -1,9 +1,9 @@
import { createPermissionDefinition, deletePermissionDefinition, listPermissionDefinitions, updatePermissionDefinition } from "@/lib/permissions";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { teamPermissionDefinitionsCrud } from '@stackframe/stack-shared/dist/interface/crud/team-permissions';
-import { permissionDefinitionIdSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { teamPermissionDefinitionsCrud } from '@hexclave/shared/dist/interface/crud/team-permissions';
+import { permissionDefinitionIdSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
import { paginatePermissionDefinitions, permissionDefinitionsListQuerySchema } from "../permission-definitions-pagination";
export const teamPermissionDefinitionsCrudHandlers = createLazyProxy(() => createCrudHandlers(teamPermissionDefinitionsCrud, {
diff --git a/apps/backend/src/app/api/latest/team-permissions/crud.tsx b/apps/backend/src/app/api/latest/team-permissions/crud.tsx
index bc4a27c6de..c04cef537a 100644
--- a/apps/backend/src/app/api/latest/team-permissions/crud.tsx
+++ b/apps/backend/src/app/api/latest/team-permissions/crud.tsx
@@ -4,11 +4,11 @@ import { sendTeamPermissionCreatedWebhook, sendTeamPermissionDeletedWebhook } fr
import { getPrismaClientForTenancy, retryTransaction } from "@/prisma-client";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { teamPermissionsCrud } from '@stackframe/stack-shared/dist/interface/crud/team-permissions';
-import { permissionDefinitionIdSchema, userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { KnownErrors } from "@hexclave/shared";
+import { teamPermissionsCrud } from '@hexclave/shared/dist/interface/crud/team-permissions';
+import { permissionDefinitionIdSchema, userIdOrMeSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
export const teamPermissionsCrudHandlers = createLazyProxy(() => createCrudHandlers(teamPermissionsCrud, {
querySchema: yupObject({
diff --git a/apps/backend/src/app/api/latest/teams/crud.tsx b/apps/backend/src/app/api/latest/teams/crud.tsx
index eebb40be6d..6b732182b1 100644
--- a/apps/backend/src/app/api/latest/teams/crud.tsx
+++ b/apps/backend/src/app/api/latest/teams/crud.tsx
@@ -8,14 +8,14 @@ import { createCrudHandlers } from "@/route-handlers/crud-handler";
import { uploadAndGetUrl } from "@/s3";
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
import { Prisma, PurchaseCreationSource } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { teamsCrud } from "@stackframe/stack-shared/dist/interface/crud/teams";
-import { userIdOrMeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { validateBase64Image } from "@stackframe/stack-shared/dist/utils/base64";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
-import { isUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { KnownErrors } from "@hexclave/shared";
+import { teamsCrud } from "@hexclave/shared/dist/interface/crud/teams";
+import { userIdOrMeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { validateBase64Image } from "@hexclave/shared/dist/utils/base64";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
+import { isUuid } from "@hexclave/shared/dist/utils/uuids";
import { addUserToTeam } from "../team-memberships/crud";
diff --git a/apps/backend/src/app/api/latest/users/crud.tsx b/apps/backend/src/app/api/latest/users/crud.tsx
index 782fcc9fdd..d7615c3c59 100644
--- a/apps/backend/src/app/api/latest/users/crud.tsx
+++ b/apps/backend/src/app/api/latest/users/crud.tsx
@@ -14,19 +14,19 @@ import { createCrudHandlers } from "@/route-handlers/crud-handler";
import { uploadAndGetUrl } from "@/s3";
import { log } from "@/utils/telemetry";
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { currentUserCrud } from "@stackframe/stack-shared/dist/interface/crud/current-user";
-import { UsersCrud, usersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import type { RestrictedReason } from "@stackframe/stack-shared/dist/schema-fields";
-import { userIdOrMeSchema, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { validateBase64Image } from "@stackframe/stack-shared/dist/utils/base64";
-import { decodeBase64 } from "@stackframe/stack-shared/dist/utils/bytes";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError, captureError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { hashPassword, isPasswordHashValid } from "@stackframe/stack-shared/dist/utils/hashes";
-import { has } from "@stackframe/stack-shared/dist/utils/objects";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
-import { isUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { KnownErrors } from "@hexclave/shared";
+import { currentUserCrud } from "@hexclave/shared/dist/interface/crud/current-user";
+import { UsersCrud, usersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import type { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
+import { userIdOrMeSchema, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { validateBase64Image } from "@hexclave/shared/dist/utils/base64";
+import { decodeBase64 } from "@hexclave/shared/dist/utils/bytes";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError, captureError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { hashPassword, isPasswordHashValid } from "@hexclave/shared/dist/utils/hashes";
+import { has } from "@hexclave/shared/dist/utils/objects";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
+import { isUuid } from "@hexclave/shared/dist/utils/uuids";
import { teamPrismaToCrud, teamsCrudHandlers } from "../teams/crud";
export const userFullInclude = {
diff --git a/apps/backend/src/app/api/latest/webhooks/svix-token/route.tsx b/apps/backend/src/app/api/latest/webhooks/svix-token/route.tsx
index aa83ec85c9..3ecd26fe73 100644
--- a/apps/backend/src/app/api/latest/webhooks/svix-token/route.tsx
+++ b/apps/backend/src/app/api/latest/webhooks/svix-token/route.tsx
@@ -1,10 +1,10 @@
import { getSvixClient } from "@/lib/webhooks";
import { isPreviewModeEnabled } from "@/lib/preview-mode";
import { createCrudHandlers } from "@/route-handlers/crud-handler";
-import { svixTokenCrud } from "@stackframe/stack-shared/dist/interface/crud/svix-token";
-import { yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
+import { svixTokenCrud } from "@hexclave/shared/dist/interface/crud/svix-token";
+import { yupObject } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { createLazyProxy } from "@hexclave/shared/dist/utils/proxies";
const svixServerUrl = getEnvVariable("STACK_SVIX_SERVER_URL", "");
diff --git a/apps/backend/src/app/api/migrations/v2beta2/migration-tests/smart-route-handler/route.ts b/apps/backend/src/app/api/migrations/v2beta2/migration-tests/smart-route-handler/route.ts
index 70f0a33318..133ce658a4 100644
--- a/apps/backend/src/app/api/migrations/v2beta2/migration-tests/smart-route-handler/route.ts
+++ b/apps/backend/src/app/api/migrations/v2beta2/migration-tests/smart-route-handler/route.ts
@@ -1,6 +1,6 @@
import { GET as v2beta3Handler } from "@/app/api/migrations/v2beta3/migration-tests/smart-route-handler/route";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { ensureObjectSchema, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { ensureObjectSchema, yupString } from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
...v2beta3Handler.initArgs[0],
diff --git a/apps/backend/src/app/api/migrations/v2beta3/migration-tests/smart-route-handler/route.ts b/apps/backend/src/app/api/migrations/v2beta3/migration-tests/smart-route-handler/route.ts
index 559ffaefde..36cd8d4c83 100644
--- a/apps/backend/src/app/api/migrations/v2beta3/migration-tests/smart-route-handler/route.ts
+++ b/apps/backend/src/app/api/migrations/v2beta3/migration-tests/smart-route-handler/route.ts
@@ -1,7 +1,7 @@
import { GET as v2beta4Handler } from "@/app/api/migrations/v2beta4/migration-tests/smart-route-handler/route";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { ensureObjectSchema, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { omit } from "@stackframe/stack-shared/dist/utils/objects";
+import { ensureObjectSchema, yupString } from "@hexclave/shared/dist/schema-fields";
+import { omit } from "@hexclave/shared/dist/utils/objects";
export const GET = createSmartRouteHandler({
...v2beta4Handler.initArgs[0],
diff --git a/apps/backend/src/app/api/migrations/v2beta4/migration-tests/smart-route-handler/route.ts b/apps/backend/src/app/api/migrations/v2beta4/migration-tests/smart-route-handler/route.ts
index 959eb80e0d..4cb5622a79 100644
--- a/apps/backend/src/app/api/migrations/v2beta4/migration-tests/smart-route-handler/route.ts
+++ b/apps/backend/src/app/api/migrations/v2beta4/migration-tests/smart-route-handler/route.ts
@@ -1,6 +1,6 @@
import { GET as latestHandler } from "@/app/api/latest/migration-tests/smart-route-handler/route";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { ensureObjectSchema, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { ensureObjectSchema, yupString } from "@hexclave/shared/dist/schema-fields";
export const GET = createSmartRouteHandler({
...latestHandler.initArgs[0],
diff --git a/apps/backend/src/app/api/migrations/v2beta5/payments/purchases/create-purchase-url/route.ts b/apps/backend/src/app/api/migrations/v2beta5/payments/purchases/create-purchase-url/route.ts
index 686e21d854..3f43cc3ff8 100644
--- a/apps/backend/src/app/api/migrations/v2beta5/payments/purchases/create-purchase-url/route.ts
+++ b/apps/backend/src/app/api/migrations/v2beta5/payments/purchases/create-purchase-url/route.ts
@@ -1,6 +1,6 @@
import { POST as latestHandler } from "@/app/api/latest/payments/purchases/create-purchase-url/route";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { ensureObjectSchema, inlineProductSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { ensureObjectSchema, inlineProductSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { normalizePurchaseBody } from "../offers-compat";
const latestInit = latestHandler.initArgs[0];
diff --git a/apps/backend/src/app/dev-stats/api/route.tsx b/apps/backend/src/app/dev-stats/api/route.tsx
index 370a54bd5d..3020ea01ed 100644
--- a/apps/backend/src/app/dev-stats/api/route.tsx
+++ b/apps/backend/src/app/dev-stats/api/route.tsx
@@ -12,9 +12,9 @@ import {
getSlowestRequests,
} from "@/lib/dev-request-stats";
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupArray, yupNumber, yupObject, yupRecord, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { yupArray, yupNumber, yupObject, yupRecord, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
const requestStatSchema = yupObject({
method: yupString().defined(),
diff --git a/apps/backend/src/app/dev-stats/page.tsx b/apps/backend/src/app/dev-stats/page.tsx
index 274b2407e4..34113203c4 100644
--- a/apps/backend/src/app/dev-stats/page.tsx
+++ b/apps/backend/src/app/dev-stats/page.tsx
@@ -1,7 +1,7 @@
"use client";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { useCallback, useMemo, useState } from "react";
type RequestStat = {
diff --git a/apps/backend/src/app/global-error.tsx b/apps/backend/src/app/global-error.tsx
index d65c7f4d14..96f8773dd2 100644
--- a/apps/backend/src/app/global-error.tsx
+++ b/apps/backend/src/app/global-error.tsx
@@ -1,7 +1,7 @@
"use client";
import * as Sentry from "@sentry/nextjs";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import Error from "next/error";
import { useEffect } from "react";
diff --git a/apps/backend/src/app/health/email/route.tsx b/apps/backend/src/app/health/email/route.tsx
index 205be3218f..9ac25d45f7 100644
--- a/apps/backend/src/app/health/email/route.tsx
+++ b/apps/backend/src/app/health/email/route.tsx
@@ -1,10 +1,10 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
import { traceSpan } from "@/utils/telemetry";
-import { yupNumber, yupObject, yupString, yupTuple } from "@stackframe/stack-shared/dist/schema-fields";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { yupNumber, yupObject, yupString, yupTuple } from "@hexclave/shared/dist/schema-fields";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
type ResendEmail = {
to: string[],
diff --git a/apps/backend/src/app/health/error-handler-debug/endpoint/route.tsx b/apps/backend/src/app/health/error-handler-debug/endpoint/route.tsx
index a722469e08..ed4c1c79bd 100644
--- a/apps/backend/src/app/health/error-handler-debug/endpoint/route.tsx
+++ b/apps/backend/src/app/health/error-handler-debug/endpoint/route.tsx
@@ -1,6 +1,6 @@
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const dynamic = "force-dynamic";
diff --git a/apps/backend/src/app/health/error-handler-debug/page.tsx b/apps/backend/src/app/health/error-handler-debug/page.tsx
index 713641b878..da28678af8 100644
--- a/apps/backend/src/app/health/error-handler-debug/page.tsx
+++ b/apps/backend/src/app/health/error-handler-debug/page.tsx
@@ -1,6 +1,6 @@
"use client";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
export default function Page() {
diff --git a/apps/backend/src/app/health/route.tsx b/apps/backend/src/app/health/route.tsx
index ddb63f2733..100ead6935 100644
--- a/apps/backend/src/app/health/route.tsx
+++ b/apps/backend/src/app/health/route.tsx
@@ -1,5 +1,5 @@
import { globalPrismaClient } from "@/prisma-client";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { NextRequest } from "next/server";
export async function GET(req: NextRequest) {
diff --git a/apps/backend/src/app/page.tsx b/apps/backend/src/app/page.tsx
index 22868f6588..24ac5aed62 100644
--- a/apps/backend/src/app/page.tsx
+++ b/apps/backend/src/app/page.tsx
@@ -1,4 +1,4 @@
-import { getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
+import { getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
import Link from "next/link";
export default function Home() {
diff --git a/apps/backend/src/auto-migrations/index.tsx b/apps/backend/src/auto-migrations/index.tsx
index bb05cfdb04..7a2600daca 100644
--- a/apps/backend/src/auto-migrations/index.tsx
+++ b/apps/backend/src/auto-migrations/index.tsx
@@ -1,7 +1,7 @@
import { Prisma, PrismaClient } from '@/generated/prisma/client';
import { sqlQuoteIdent, sqlQuoteIdentToString } from '@/prisma-client';
-import { HexclaveAssertionError } from '@stackframe/stack-shared/dist/utils/errors';
-import { wait } from '@stackframe/stack-shared/dist/utils/promises';
+import { HexclaveAssertionError } from '@hexclave/shared/dist/utils/errors';
+import { wait } from '@hexclave/shared/dist/utils/promises';
import { MIGRATION_FILES } from './../generated/migration-files';
// The bigint key for the pg advisory lock
diff --git a/apps/backend/src/auto-migrations/utils.tsx b/apps/backend/src/auto-migrations/utils.tsx
index e8b381acc0..9f914eff6e 100644
--- a/apps/backend/src/auto-migrations/utils.tsx
+++ b/apps/backend/src/auto-migrations/utils.tsx
@@ -1,4 +1,4 @@
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import fs from "fs";
import path from "path";
diff --git a/apps/backend/src/instrumentation.ts b/apps/backend/src/instrumentation.ts
index 10d256d26e..ebdbe788c8 100644
--- a/apps/backend/src/instrumentation.ts
+++ b/apps/backend/src/instrumentation.ts
@@ -2,9 +2,9 @@ import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentation
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
import { PrismaInstrumentation } from "@prisma/instrumentation";
import * as Sentry from "@sentry/nextjs";
-import { getEnvVariable, getNextRuntime, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { sentryBaseConfig } from "@stackframe/stack-shared/dist/utils/sentry";
-import { nicify } from "@stackframe/stack-shared/dist/utils/strings";
+import { getEnvVariable, getNextRuntime, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { sentryBaseConfig } from "@hexclave/shared/dist/utils/sentry";
+import { nicify } from "@hexclave/shared/dist/utils/strings";
import { registerOTel } from '@vercel/otel';
import { initPerfStats } from "./lib/dev-perf-stats";
import "./polyfills";
diff --git a/apps/backend/src/lib/ai/mcp-logger.ts b/apps/backend/src/lib/ai/mcp-logger.ts
index 4028b610f2..dd9723b8e2 100644
--- a/apps/backend/src/lib/ai/mcp-logger.ts
+++ b/apps/backend/src/lib/ai/mcp-logger.ts
@@ -1,5 +1,5 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, captureError } from "@hexclave/shared/dist/utils/errors";
import { DbConnection } from "./spacetimedb-bindings";
import type { LogMcpCallParams } from "./spacetimedb-bindings/types/reducers";
diff --git a/apps/backend/src/lib/ai/models.ts b/apps/backend/src/lib/ai/models.ts
index a4bc8881f7..152e488366 100644
--- a/apps/backend/src/lib/ai/models.ts
+++ b/apps/backend/src/lib/ai/models.ts
@@ -1,7 +1,7 @@
import { isLocalEmulatorEnabled } from "@/lib/local-emulator";
import { createOpenRouter } from "@openrouter/ai-sdk-provider";
-import { getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const MODEL_QUALITIES = ["dumb", "smart", "smartest"] as const;
export const MODEL_SPEEDS = ["slow", "fast"] as const;
diff --git a/apps/backend/src/lib/ai/qa-reviewer.ts b/apps/backend/src/lib/ai/qa-reviewer.ts
index 6c9167d84d..16b390429a 100644
--- a/apps/backend/src/lib/ai/qa-reviewer.ts
+++ b/apps/backend/src/lib/ai/qa-reviewer.ts
@@ -1,6 +1,6 @@
import { createMCPClient } from "@ai-sdk/mcp";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import { generateText, stepCountIs } from "ai";
import { getConnection } from "./mcp-logger";
import { createOpenRouterProvider } from "./models";
diff --git a/apps/backend/src/lib/ai/schema.ts b/apps/backend/src/lib/ai/schema.ts
index a0310c295e..ad3e8fae3f 100644
--- a/apps/backend/src/lib/ai/schema.ts
+++ b/apps/backend/src/lib/ai/schema.ts
@@ -1,4 +1,4 @@
-import { yupArray, yupMixed, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { yupArray, yupMixed, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { ModelMessage } from "ai";
import { InferType } from "yup";
import { MODEL_QUALITIES, MODEL_SPEEDS } from "./models";
diff --git a/apps/backend/src/lib/ai/tools/docs.ts b/apps/backend/src/lib/ai/tools/docs.ts
index a189500d10..ee852afff0 100644
--- a/apps/backend/src/lib/ai/tools/docs.ts
+++ b/apps/backend/src/lib/ai/tools/docs.ts
@@ -1,6 +1,6 @@
import { createMCPClient, type MCPClient } from "@ai-sdk/mcp";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import { tool } from "ai";
import { z } from "zod";
diff --git a/apps/backend/src/lib/ai/verified-qa.ts b/apps/backend/src/lib/ai/verified-qa.ts
index ff93962436..042eba7500 100644
--- a/apps/backend/src/lib/ai/verified-qa.ts
+++ b/apps/backend/src/lib/ai/verified-qa.ts
@@ -1,5 +1,5 @@
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { getConnection } from "./mcp-logger";
export async function getVerifiedQaContext(): Promise {
diff --git a/apps/backend/src/lib/bulldozer/db/bulldozer-sort-helpers-sql.ts b/apps/backend/src/lib/bulldozer/db/bulldozer-sort-helpers-sql.ts
index 1616567b3f..23e5fb56bc 100644
--- a/apps/backend/src/lib/bulldozer/db/bulldozer-sort-helpers-sql.ts
+++ b/apps/backend/src/lib/bulldozer/db/bulldozer-sort-helpers-sql.ts
@@ -1,4 +1,4 @@
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
export const BULLDOZER_SORT_HELPERS_SQL = deindent`
CREATE TEMP TABLE IF NOT EXISTS pg_temp.bulldozer_side_effects (
diff --git a/apps/backend/src/lib/bulldozer/db/index.fuzz.test.ts b/apps/backend/src/lib/bulldozer/db/index.fuzz.test.ts
index 53cc44a856..a508f36849 100644
--- a/apps/backend/src/lib/bulldozer/db/index.fuzz.test.ts
+++ b/apps/backend/src/lib/bulldozer/db/index.fuzz.test.ts
@@ -1,4 +1,4 @@
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import postgres from "postgres";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest";
import type { Table } from "./index";
diff --git a/apps/backend/src/lib/bulldozer/db/index.perf.test.ts b/apps/backend/src/lib/bulldozer/db/index.perf.test.ts
index 83c4b82ea7..197fadec39 100644
--- a/apps/backend/src/lib/bulldozer/db/index.perf.test.ts
+++ b/apps/backend/src/lib/bulldozer/db/index.perf.test.ts
@@ -1,4 +1,4 @@
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import postgres from "postgres";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import type { Table } from "./index";
diff --git a/apps/backend/src/lib/bulldozer/db/index.test.ts b/apps/backend/src/lib/bulldozer/db/index.test.ts
index 9878edcc2a..5b2b2aa77a 100644
--- a/apps/backend/src/lib/bulldozer/db/index.test.ts
+++ b/apps/backend/src/lib/bulldozer/db/index.test.ts
@@ -1,4 +1,4 @@
-import { stringCompare, templateIdentity } from "@stackframe/stack-shared/dist/utils/strings";
+import { stringCompare, templateIdentity } from "@hexclave/shared/dist/utils/strings";
import postgres from "postgres";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, test } from "vitest";
import type { Table } from "./index";
diff --git a/apps/backend/src/lib/bulldozer/db/index.ts b/apps/backend/src/lib/bulldozer/db/index.ts
index 99ae1abaca..a2654cfd9f 100644
--- a/apps/backend/src/lib/bulldozer/db/index.ts
+++ b/apps/backend/src/lib/bulldozer/db/index.ts
@@ -1,5 +1,5 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { BULLDOZER_SORT_HELPERS_SQL } from "./bulldozer-sort-helpers-sql";
import type { BulldozerExecutionContext } from "./execution-context";
diff --git a/apps/backend/src/lib/bulldozer/db/row-change-trigger-dispatch.ts b/apps/backend/src/lib/bulldozer/db/row-change-trigger-dispatch.ts
index de6b705636..b75fec2b59 100644
--- a/apps/backend/src/lib/bulldozer/db/row-change-trigger-dispatch.ts
+++ b/apps/backend/src/lib/bulldozer/db/row-change-trigger-dispatch.ts
@@ -1,5 +1,5 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import type { BulldozerExecutionContext } from "./execution-context";
import { getBulldozerExecutionContext } from "./execution-context";
import type { SqlExpression, SqlStatement } from "./utilities";
diff --git a/apps/backend/src/lib/bulldozer/db/tables/concat-table.ts b/apps/backend/src/lib/bulldozer/db/tables/concat-table.ts
index 6c0baeb947..88d68cfd78 100644
--- a/apps/backend/src/lib/bulldozer/db/tables/concat-table.ts
+++ b/apps/backend/src/lib/bulldozer/db/tables/concat-table.ts
@@ -1,5 +1,5 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import type { Table } from "..";
import { getBulldozerExecutionContext } from "../execution-context";
import { attachRowChangeTriggerMetadata, normalizeRowChangeTrigger } from "../row-change-trigger-dispatch";
diff --git a/apps/backend/src/lib/bulldozer/db/tables/filter-table.ts b/apps/backend/src/lib/bulldozer/db/tables/filter-table.ts
index 97a481a65b..99a81d1d20 100644
--- a/apps/backend/src/lib/bulldozer/db/tables/filter-table.ts
+++ b/apps/backend/src/lib/bulldozer/db/tables/filter-table.ts
@@ -1,4 +1,4 @@
-import { pick } from "@stackframe/stack-shared/dist/utils/objects";
+import { pick } from "@hexclave/shared/dist/utils/objects";
import type { Table } from "..";
import type { Json, RowData, SqlPredicate, TableId } from "../utilities";
import {
diff --git a/apps/backend/src/lib/bulldozer/db/tables/map-table.ts b/apps/backend/src/lib/bulldozer/db/tables/map-table.ts
index 8e59e760cf..65accf389d 100644
--- a/apps/backend/src/lib/bulldozer/db/tables/map-table.ts
+++ b/apps/backend/src/lib/bulldozer/db/tables/map-table.ts
@@ -1,4 +1,4 @@
-import { pick } from "@stackframe/stack-shared/dist/utils/objects";
+import { pick } from "@hexclave/shared/dist/utils/objects";
import type { Table } from "..";
import type { Json, RowData, SqlMapper, TableId } from "../utilities";
import {
diff --git a/apps/backend/src/lib/bulldozer/db/utilities.ts b/apps/backend/src/lib/bulldozer/db/utilities.ts
index 3453e06327..be9d9e158d 100644
--- a/apps/backend/src/lib/bulldozer/db/utilities.ts
+++ b/apps/backend/src/lib/bulldozer/db/utilities.ts
@@ -1,5 +1,5 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { templateIdentity } from "@stackframe/stack-shared/dist/utils/strings";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { templateIdentity } from "@hexclave/shared/dist/utils/strings";
const sqlTemplateLiteral = (type: T) => (strings: TemplateStringsArray, ...values: { sql: string }[]) => ({ type, sql: templateIdentity(strings, ...values.map(v => v.sql)) });
diff --git a/apps/backend/src/lib/cache.tsx b/apps/backend/src/lib/cache.tsx
index d35bbb6fea..478b6af3d9 100644
--- a/apps/backend/src/lib/cache.tsx
+++ b/apps/backend/src/lib/cache.tsx
@@ -1,6 +1,6 @@
import { Prisma } from "@/generated/prisma/client";
import { PrismaClientTransaction } from "@/prisma-client";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export type CacheGetOrSetOptions = {
namespace: string,
diff --git a/apps/backend/src/lib/cel-evaluator.ts b/apps/backend/src/lib/cel-evaluator.ts
index 3fbc834162..4feef8fffe 100644
--- a/apps/backend/src/lib/cel-evaluator.ts
+++ b/apps/backend/src/lib/cel-evaluator.ts
@@ -1,7 +1,7 @@
-import type { SignUpRiskScoresCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { normalizeCountryCode } from "@stackframe/stack-shared/dist/schema-fields";
-import { SignUpAuthMethod } from "@stackframe/stack-shared/dist/utils/auth-methods";
-import { unescapeCelString } from "@stackframe/stack-shared/dist/utils/cel-fields";
+import type { SignUpRiskScoresCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { normalizeCountryCode } from "@hexclave/shared/dist/schema-fields";
+import { SignUpAuthMethod } from "@hexclave/shared/dist/utils/auth-methods";
+import { unescapeCelString } from "@hexclave/shared/dist/utils/cel-fields";
import { evaluate } from "cel-js";
import { normalizeEmail } from "./emails";
import { SignUpRiskScores } from "./risk-scores";
diff --git a/apps/backend/src/lib/clickhouse-errors.ts b/apps/backend/src/lib/clickhouse-errors.ts
index 680f1719c0..4951992338 100644
--- a/apps/backend/src/lib/clickhouse-errors.ts
+++ b/apps/backend/src/lib/clickhouse-errors.ts
@@ -1,5 +1,5 @@
-import { getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { captureError, HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
const SAFE_CLICKHOUSE_ERROR_CODES = [
62, // SYNTAX_ERROR
diff --git a/apps/backend/src/lib/clickhouse.tsx b/apps/backend/src/lib/clickhouse.tsx
index 4e0e6e8cdd..26344e880b 100644
--- a/apps/backend/src/lib/clickhouse.tsx
+++ b/apps/backend/src/lib/clickhouse.tsx
@@ -1,6 +1,6 @@
import { createClient, type ClickHouseClient, type ClickHouseSettings } from "@clickhouse/client";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
// Re-exported so other modules can hold a typed ClickHouse client (e.g. to
// thread a single warmed client through helpers) without taking a direct
diff --git a/apps/backend/src/lib/config.tsx b/apps/backend/src/lib/config.tsx
index 9b533b6aa9..37d535f795 100644
--- a/apps/backend/src/lib/config.tsx
+++ b/apps/backend/src/lib/config.tsx
@@ -1,14 +1,14 @@
import { Prisma } from "@/generated/prisma/client";
-import { Config, getInvalidConfigReason, normalize, override, removeKeysFromConfig } from "@stackframe/stack-shared/dist/config/format";
-import { BranchConfigOverride, BranchConfigOverrideOverride, BranchIncompleteConfig, BranchRenderedConfig, CompleteConfig, EnvironmentConfigOverride, EnvironmentConfigOverrideOverride, EnvironmentIncompleteConfig, EnvironmentRenderedConfig, OrganizationConfigOverride, OrganizationConfigOverrideOverride, OrganizationIncompleteConfig, ProjectConfigOverride, ProjectConfigOverrideOverride, ProjectIncompleteConfig, ProjectRenderedConfig, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, branchConfigSchema, environmentConfigSchema, getConfigOverrideErrors, getIncompleteConfigWarnings, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { branchConfigSourceSchema, yupBoolean, yupMixed, yupObject, yupRecord, yupString, yupUnion } from "@stackframe/stack-shared/dist/schema-fields";
-import { isTruthy } from "@stackframe/stack-shared/dist/utils/booleans";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { filterUndefined, typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
-import { deindent, stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { Config, getInvalidConfigReason, normalize, override, removeKeysFromConfig } from "@hexclave/shared/dist/config/format";
+import { BranchConfigOverride, BranchConfigOverrideOverride, BranchIncompleteConfig, BranchRenderedConfig, CompleteConfig, EnvironmentConfigOverride, EnvironmentConfigOverrideOverride, EnvironmentIncompleteConfig, EnvironmentRenderedConfig, OrganizationConfigOverride, OrganizationConfigOverrideOverride, OrganizationIncompleteConfig, ProjectConfigOverride, ProjectConfigOverrideOverride, ProjectIncompleteConfig, ProjectRenderedConfig, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, branchConfigSchema, environmentConfigSchema, getConfigOverrideErrors, getIncompleteConfigWarnings, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig } from "@hexclave/shared/dist/config/schema";
+import { ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { branchConfigSourceSchema, yupBoolean, yupMixed, yupObject, yupRecord, yupString, yupUnion } from "@hexclave/shared/dist/schema-fields";
+import { isTruthy } from "@hexclave/shared/dist/utils/booleans";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { filterUndefined, typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { Result } from "@hexclave/shared/dist/utils/results";
+import { deindent, stringCompare } from "@hexclave/shared/dist/utils/strings";
import * as yup from "yup";
import { RawQuery, globalPrismaClient, rawQuery } from "../prisma-client";
import { DEVELOPMENT_ENVIRONMENT_ENV_CONFIG_BLOCKED_MESSAGE, getEnvironmentConfigWriteBlockReason } from "./development-environment";
diff --git a/apps/backend/src/lib/contact-channel.tsx b/apps/backend/src/lib/contact-channel.tsx
index db5a5a13c1..70e214fefa 100644
--- a/apps/backend/src/lib/contact-channel.tsx
+++ b/apps/backend/src/lib/contact-channel.tsx
@@ -1,6 +1,6 @@
import { BooleanTrue, ContactChannelType } from "@/generated/prisma/client";
import { markProjectUserForExternalDbSync, withExternalDbSyncUpdate } from "@/lib/external-db-sync";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { normalizeEmail } from "./emails";
import { PrismaTransaction } from "./types";
diff --git a/apps/backend/src/lib/conversation-types.ts b/apps/backend/src/lib/conversation-types.ts
index c7783475a3..40913a0b4f 100644
--- a/apps/backend/src/lib/conversation-types.ts
+++ b/apps/backend/src/lib/conversation-types.ts
@@ -1 +1 @@
-export * from "@stackframe/stack-shared/dist/interface/conversations";
+export * from "@hexclave/shared/dist/interface/conversations";
diff --git a/apps/backend/src/lib/conversations-api.ts b/apps/backend/src/lib/conversations-api.ts
index babc54d828..53d0073396 100644
--- a/apps/backend/src/lib/conversations-api.ts
+++ b/apps/backend/src/lib/conversations-api.ts
@@ -6,7 +6,7 @@ import {
yupMixed,
yupObject,
yupString,
-} from "@stackframe/stack-shared/dist/schema-fields";
+} from "@hexclave/shared/dist/schema-fields";
/**
* Auth schema shared by internal dashboard conversation routes. Only signed-in
@@ -57,7 +57,7 @@ export function parseConversationListOffset(value: string | undefined) {
/**
* Public (snake_case) response schemas. These are what leaves the API boundary
* to external consumers; the internal camelCase shapes live in
- * `@stackframe/stack-shared/dist/interface/conversations`.
+ * `@hexclave/shared/dist/interface/conversations`.
*/
export const publicConversationMetadataSchema = yupObject({
assigned_to_user_id: yupString().nullable().defined(),
diff --git a/apps/backend/src/lib/conversations.tsx b/apps/backend/src/lib/conversations.tsx
index 9b11d660bc..06a4d86d8b 100644
--- a/apps/backend/src/lib/conversations.tsx
+++ b/apps/backend/src/lib/conversations.tsx
@@ -20,12 +20,12 @@ import {
import { listManagedProjectIds } from "@/lib/projects";
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
import { globalPrismaClient, retryTransaction, type PrismaClientTransaction } from "@/prisma-client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { computeFirstResponseDueAt, computeNextResponseDueAt, DEFAULT_SUPPORT_SLA } from "@stackframe/stack-shared/dist/helpers/support-sla";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { yupArray, yupMixed, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { KnownErrors } from "@hexclave/shared";
+import { computeFirstResponseDueAt, computeNextResponseDueAt, DEFAULT_SUPPORT_SLA } from "@hexclave/shared/dist/helpers/support-sla";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { yupArray, yupMixed, yupString } from "@hexclave/shared/dist/schema-fields";
+import { StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
const tagsSchema = yupArray(yupString().defined()).defined();
const attachmentsSchema = yupArray(yupMixed().defined()).defined();
diff --git a/apps/backend/src/lib/dev-perf-stats.tsx b/apps/backend/src/lib/dev-perf-stats.tsx
index 54a6665fc7..7f7b6511d8 100644
--- a/apps/backend/src/lib/dev-perf-stats.tsx
+++ b/apps/backend/src/lib/dev-perf-stats.tsx
@@ -10,8 +10,8 @@
* All metrics are only collected in development mode.
*/
-import { getNextRuntime, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { createGlobal } from "@stackframe/stack-shared/dist/utils/globals";
+import { getNextRuntime, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { createGlobal } from "@hexclave/shared/dist/utils/globals";
// ============================================================================
// Types
diff --git a/apps/backend/src/lib/dev-request-stats.tsx b/apps/backend/src/lib/dev-request-stats.tsx
index dad19ea9c1..ce5c9ebddc 100644
--- a/apps/backend/src/lib/dev-request-stats.tsx
+++ b/apps/backend/src/lib/dev-request-stats.tsx
@@ -1,4 +1,4 @@
-import { getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
+import { getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
export type RequestStat = {
method: string,
diff --git a/apps/backend/src/lib/development-environment.ts b/apps/backend/src/lib/development-environment.ts
index 0a0ff51d4c..3085081c8e 100644
--- a/apps/backend/src/lib/development-environment.ts
+++ b/apps/backend/src/lib/development-environment.ts
@@ -1,6 +1,6 @@
import { Prisma } from "@/generated/prisma/client";
import { globalPrismaClient } from "@/prisma-client";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
export const DEVELOPMENT_ENVIRONMENT_ENV_CONFIG_BLOCKED_MESSAGE =
"Environment configuration overrides cannot be changed in a development environment. Update this in your production deployment instead.";
diff --git a/apps/backend/src/lib/email-delivery-stats.tsx b/apps/backend/src/lib/email-delivery-stats.tsx
index f3cbe36c1b..208e23f5f9 100644
--- a/apps/backend/src/lib/email-delivery-stats.tsx
+++ b/apps/backend/src/lib/email-delivery-stats.tsx
@@ -1,7 +1,7 @@
import { Prisma } from "@/generated/prisma/client";
import { globalPrismaClient, PrismaClientTransaction, RawQuery, rawQuery } from "@/prisma-client";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export type EmailDeliveryWindowStats = {
sent: number,
diff --git a/apps/backend/src/lib/email-queue-step.tsx b/apps/backend/src/lib/email-queue-step.tsx
index 37e7cfe065..38f8026fbf 100644
--- a/apps/backend/src/lib/email-queue-step.tsx
+++ b/apps/backend/src/lib/email-queue-step.tsx
@@ -5,17 +5,17 @@ import { EmailOutboxRecipient, getEmailConfig, } from "@/lib/emails";
import { generateUnsubscribeLink, getNotificationCategoryById, hasNotificationEnabled, listNotificationCategories } from "@/lib/notification-categories";
import { arePlanLimitsEnforced, getBillingTeamId } from "@/lib/plan-entitlements";
import { getStackServerApp } from "@/stack";
-import { ITEM_IDS } from "@stackframe/stack-shared/dist/plans";
+import { ITEM_IDS } from "@hexclave/shared/dist/plans";
import { getTenancy, Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient, PrismaClientTransaction } from "@/prisma-client";
import { allPromisesAndWaitUntilEach } from "@/utils/background-tasks";
import { withTraceSpan } from "@/utils/telemetry";
-import { groupBy } from "@stackframe/stack-shared/dist/utils/arrays";
-import { getEnvBoolean, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, errorToNiceString, HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { Json } from "@stackframe/stack-shared/dist/utils/json";
-import { filterUndefined } from "@stackframe/stack-shared/dist/utils/objects";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { groupBy } from "@hexclave/shared/dist/utils/arrays";
+import { getEnvBoolean, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { captureError, errorToNiceString, HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { Json } from "@hexclave/shared/dist/utils/json";
+import { filterUndefined } from "@hexclave/shared/dist/utils/objects";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { randomUUID } from "node:crypto";
import { checkEmailWithEmailable, type EmailableCheckResult } from "./emailable";
import { lowLevelSendEmailDirectWithoutRetries } from "./emails-low-level";
diff --git a/apps/backend/src/lib/email-rendering.tsx b/apps/backend/src/lib/email-rendering.tsx
index 9a14e96afb..f0c8f49fbd 100644
--- a/apps/backend/src/lib/email-rendering.tsx
+++ b/apps/backend/src/lib/email-rendering.tsx
@@ -1,15 +1,15 @@
import { executeJavascript, type ExecuteResult } from '@/lib/js-execution';
-import { emptyEmailTheme } from '@stackframe/stack-shared/dist/helpers/emails';
-import { HexclaveAssertionError, captureError } from '@stackframe/stack-shared/dist/utils/errors';
-import { bundleJavaScript } from '@stackframe/stack-shared/dist/utils/esbuild';
-import { get, has } from '@stackframe/stack-shared/dist/utils/objects';
+import { emptyEmailTheme } from '@hexclave/shared/dist/helpers/emails';
+import { HexclaveAssertionError, captureError } from '@hexclave/shared/dist/utils/errors';
+import { bundleJavaScript } from '@hexclave/shared/dist/utils/esbuild';
+import { get, has } from '@hexclave/shared/dist/utils/objects';
import {
type EditableMetadata,
transpileJsxForEditing,
convertSentinelTokensToComments,
-} from "@stackframe/stack-shared/dist/utils/jsx-editable-transpiler";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+} from "@hexclave/shared/dist/utils/jsx-editable-transpiler";
+import { Result } from "@hexclave/shared/dist/utils/results";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { Tenancy } from './tenancies';
export function getActiveEmailTheme(tenancy: Tenancy) {
diff --git a/apps/backend/src/lib/email-template-rewrite.ts b/apps/backend/src/lib/email-template-rewrite.ts
index 9d9dcf3f40..621391462c 100644
--- a/apps/backend/src/lib/email-template-rewrite.ts
+++ b/apps/backend/src/lib/email-template-rewrite.ts
@@ -1,8 +1,8 @@
import { renderEmailWithTemplate } from "@/lib/email-rendering";
-import { emptyEmailTheme } from "@stackframe/stack-shared/dist/helpers/emails";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { emptyEmailTheme } from "@hexclave/shared/dist/helpers/emails";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { Result } from "@hexclave/shared/dist/utils/results";
const MOCK_API_KEY_SENTINEL = "mock-openrouter-api-key";
const AI_REQUEST_TIMEOUT_MS = 120_000;
diff --git a/apps/backend/src/lib/emailable.tsx b/apps/backend/src/lib/emailable.tsx
index 14d8f5d672..535d36ee2e 100644
--- a/apps/backend/src/lib/emailable.tsx
+++ b/apps/backend/src/lib/emailable.tsx
@@ -1,7 +1,7 @@
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { traceSpan } from "@stackframe/stack-shared/dist/utils/telemetry";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { captureError, HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
+import { traceSpan } from "@hexclave/shared/dist/utils/telemetry";
import createEmailableClient from "emailable";
export const EMAILABLE_NOT_DELIVERABLE_TEST_DOMAIN = "emailable-not-deliverable.example.com";
diff --git a/apps/backend/src/lib/emails-low-level.tsx b/apps/backend/src/lib/emails-low-level.tsx
index 40158418ba..424c665371 100644
--- a/apps/backend/src/lib/emails-low-level.tsx
+++ b/apps/backend/src/lib/emails-low-level.tsx
@@ -4,11 +4,11 @@
* providers. You probably shouldn't use this and should instead use the functions in emails.tsx.
*/
-import { HexclaveAssertionError, captureError } from '@stackframe/stack-shared/dist/utils/errors';
-import { omit, pick } from '@stackframe/stack-shared/dist/utils/objects';
-import { runAsynchronously, wait } from '@stackframe/stack-shared/dist/utils/promises';
-import { Result } from '@stackframe/stack-shared/dist/utils/results';
-import { traceSpan } from '@stackframe/stack-shared/dist/utils/telemetry';
+import { HexclaveAssertionError, captureError } from '@hexclave/shared/dist/utils/errors';
+import { omit, pick } from '@hexclave/shared/dist/utils/objects';
+import { runAsynchronously, wait } from '@hexclave/shared/dist/utils/promises';
+import { Result } from '@hexclave/shared/dist/utils/results';
+import { traceSpan } from '@hexclave/shared/dist/utils/telemetry';
import nodemailer from 'nodemailer';
import { checkSmtpEgressPolicy } from '@/private';
diff --git a/apps/backend/src/lib/emails.tsx b/apps/backend/src/lib/emails.tsx
index de7282fbf1..d0557a6dc6 100644
--- a/apps/backend/src/lib/emails.tsx
+++ b/apps/backend/src/lib/emails.tsx
@@ -1,11 +1,11 @@
import { globalPrismaClient } from '@/prisma-client';
import { runAsynchronouslyAndWaitUntil } from '@/utils/background-tasks';
import { EmailOutboxCreatedWith } from '@/generated/prisma/client';
-import { DEFAULT_TEMPLATE_IDS } from '@stackframe/stack-shared/dist/helpers/emails';
-import { UsersCrud } from '@stackframe/stack-shared/dist/interface/crud/users';
-import { getEnvBoolean, getEnvVariable } from '@stackframe/stack-shared/dist/utils/env';
-import { HexclaveAssertionError } from '@stackframe/stack-shared/dist/utils/errors';
-import { Json } from '@stackframe/stack-shared/dist/utils/json';
+import { DEFAULT_TEMPLATE_IDS } from '@hexclave/shared/dist/helpers/emails';
+import { UsersCrud } from '@hexclave/shared/dist/interface/crud/users';
+import { getEnvBoolean, getEnvVariable } from '@hexclave/shared/dist/utils/env';
+import { HexclaveAssertionError } from '@hexclave/shared/dist/utils/errors';
+import { Json } from '@hexclave/shared/dist/utils/json';
import { runEmailQueueStep, serializeRecipient } from './email-queue-step';
import { LowLevelEmailConfig, isSecureEmailPort } from './emails-low-level';
import { Tenancy } from './tenancies';
diff --git a/apps/backend/src/lib/end-users.tsx b/apps/backend/src/lib/end-users.tsx
index 67aa08696e..048eaef41d 100644
--- a/apps/backend/src/lib/end-users.tsx
+++ b/apps/backend/src/lib/end-users.tsx
@@ -1,8 +1,8 @@
-import { normalizeCountryCode } from "@stackframe/stack-shared/dist/utils/country-codes";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { isIpAddress } from "@stackframe/stack-shared/dist/utils/ips";
-import { pick } from "@stackframe/stack-shared/dist/utils/objects";
+import { normalizeCountryCode } from "@hexclave/shared/dist/utils/country-codes";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { isIpAddress } from "@hexclave/shared/dist/utils/ips";
+import { pick } from "@hexclave/shared/dist/utils/objects";
import { headers } from "next/headers";
// An end user is a person sitting behind a computer screen.
diff --git a/apps/backend/src/lib/events.tsx b/apps/backend/src/lib/events.tsx
index 7a8f8e5278..22e2d1cd16 100644
--- a/apps/backend/src/lib/events.tsx
+++ b/apps/backend/src/lib/events.tsx
@@ -3,14 +3,14 @@ import { arePlanLimitsEnforced } from "@/lib/plan-entitlements";
import { globalPrismaClient } from "@/prisma-client";
import { getStackServerApp } from "@/stack";
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
-import { ITEM_IDS } from "@stackframe/stack-shared/dist/plans";
-import { urlSchema, yupBoolean, yupMixed, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { HTTP_METHODS } from "@stackframe/stack-shared/dist/utils/http";
-import { filterUndefined, typedKeys } from "@stackframe/stack-shared/dist/utils/objects";
-import { UnionToIntersection } from "@stackframe/stack-shared/dist/utils/types";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { ITEM_IDS } from "@hexclave/shared/dist/plans";
+import { urlSchema, yupBoolean, yupMixed, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { HTTP_METHODS } from "@hexclave/shared/dist/utils/http";
+import { filterUndefined, typedKeys } from "@hexclave/shared/dist/utils/objects";
+import { UnionToIntersection } from "@hexclave/shared/dist/utils/types";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import * as yup from "yup";
import { getClickhouseAdminClient } from "./clickhouse";
import { getEndUserInfo } from "./end-users";
diff --git a/apps/backend/src/lib/external-db-sync-queue.ts b/apps/backend/src/lib/external-db-sync-queue.ts
index 735167191f..cbd0415e1f 100644
--- a/apps/backend/src/lib/external-db-sync-queue.ts
+++ b/apps/backend/src/lib/external-db-sync-queue.ts
@@ -1,5 +1,5 @@
import { globalPrismaClient } from "@/prisma-client";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
diff --git a/apps/backend/src/lib/external-db-sync.ts b/apps/backend/src/lib/external-db-sync.ts
index 6fe4975150..b6b8b3b51f 100644
--- a/apps/backend/src/lib/external-db-sync.ts
+++ b/apps/backend/src/lib/external-db-sync.ts
@@ -3,12 +3,12 @@ import type { PrismaTransaction } from "@/lib/types";
import { getPrismaClientForTenancy, PrismaClientWithReplica } from "@/prisma-client";
import { Prisma } from "@/generated/prisma/client";
import { getClickhouseAdminClient } from "@/lib/clickhouse";
-import { DEFAULT_DB_SYNC_MAPPINGS } from "@stackframe/stack-shared/dist/config/db-sync-mappings";
-import type { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { captureError, HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { omit } from "@stackframe/stack-shared/dist/utils/objects";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { DEFAULT_DB_SYNC_MAPPINGS } from "@hexclave/shared/dist/config/db-sync-mappings";
+import type { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { captureError, HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { omit } from "@hexclave/shared/dist/utils/objects";
+import { Result } from "@hexclave/shared/dist/utils/results";
import type { ClickHouseClient } from "@clickhouse/client";
import { Client } from 'pg';
diff --git a/apps/backend/src/lib/featurebase.tsx b/apps/backend/src/lib/featurebase.tsx
index 2125c6bc2c..cc4867df64 100644
--- a/apps/backend/src/lib/featurebase.tsx
+++ b/apps/backend/src/lib/featurebase.tsx
@@ -1,7 +1,7 @@
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getOrCreateFeaturebaseUser as getOrCreateFeaturebaseUserShared, StackAuthUser } from "@stackframe/stack-shared/dist/utils/featurebase";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { getOrCreateFeaturebaseUser as getOrCreateFeaturebaseUserShared, StackAuthUser } from "@hexclave/shared/dist/utils/featurebase";
export function getFeaturebaseApiKey(): string {
return getEnvVariable("STACK_FEATUREBASE_API_KEY", "");
diff --git a/apps/backend/src/lib/internal-api-keys.tsx b/apps/backend/src/lib/internal-api-keys.tsx
index ccecd27643..059fdc5df5 100644
--- a/apps/backend/src/lib/internal-api-keys.tsx
+++ b/apps/backend/src/lib/internal-api-keys.tsx
@@ -2,15 +2,15 @@
import { ApiKeySet, Prisma } from '@/generated/prisma/client';
import { RawQuery, globalPrismaClient, rawQuery } from '@/prisma-client';
-import { InternalApiKeysCrud } from '@stackframe/stack-shared/dist/interface/crud/internal-api-keys';
-import { yupString } from '@stackframe/stack-shared/dist/schema-fields';
-import { typedIncludes } from '@stackframe/stack-shared/dist/utils/arrays';
-import { generateSecureRandomString } from '@stackframe/stack-shared/dist/utils/crypto';
-import { KnownError, KnownErrors } from '@stackframe/stack-shared/dist/known-errors';
-import { HexclaveAssertionError } from '@stackframe/stack-shared/dist/utils/errors';
-import { publishableClientKeyNotNecessarySentinel } from '@stackframe/stack-shared/dist/utils/oauth';
-import { Result } from '@stackframe/stack-shared/dist/utils/results';
-import { generateUuid } from '@stackframe/stack-shared/dist/utils/uuids';
+import { InternalApiKeysCrud } from '@hexclave/shared/dist/interface/crud/internal-api-keys';
+import { yupString } from '@hexclave/shared/dist/schema-fields';
+import { typedIncludes } from '@hexclave/shared/dist/utils/arrays';
+import { generateSecureRandomString } from '@hexclave/shared/dist/utils/crypto';
+import { KnownError, KnownErrors } from '@hexclave/shared/dist/known-errors';
+import { HexclaveAssertionError } from '@hexclave/shared/dist/utils/errors';
+import { publishableClientKeyNotNecessarySentinel } from '@hexclave/shared/dist/utils/oauth';
+import { Result } from '@hexclave/shared/dist/utils/results';
+import { generateUuid } from '@hexclave/shared/dist/utils/uuids';
import { getRenderedProjectConfigQuery } from './config';
export const publishableClientKeyHeaderSchema = yupString().matches(/^[a-zA-Z0-9_-]*$/);
diff --git a/apps/backend/src/lib/internal-feedback-emails.tsx b/apps/backend/src/lib/internal-feedback-emails.tsx
index 990146d344..dc77bc4f16 100644
--- a/apps/backend/src/lib/internal-feedback-emails.tsx
+++ b/apps/backend/src/lib/internal-feedback-emails.tsx
@@ -3,10 +3,10 @@ import { normalizeEmail, sendEmailToMany } from "@/lib/emails";
import { isLocalEmulatorEnabled } from "@/lib/local-emulator";
import { getNotificationCategoryByName } from "@/lib/notification-categories";
import { Tenancy } from "@/lib/tenancies";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { escapeHtml } from "@stackframe/stack-shared/dist/utils/html";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { escapeHtml } from "@hexclave/shared/dist/utils/html";
const transactionalCategoryId = getNotificationCategoryByName("Transactional")?.id ?? throwErr("Transactional notification category not found");
diff --git a/apps/backend/src/lib/js-execution.tsx b/apps/backend/src/lib/js-execution.tsx
index a5fe9def5d..5e0c3a5118 100644
--- a/apps/backend/src/lib/js-execution.tsx
+++ b/apps/backend/src/lib/js-execution.tsx
@@ -1,9 +1,9 @@
import { traceSpan } from '@/utils/telemetry';
import { runAsynchronouslyAndWaitUntil } from '@/utils/background-tasks';
-import { getEnvVariable, getNodeEnvironment } from '@stackframe/stack-shared/dist/utils/env';
+import { getEnvVariable, getNodeEnvironment } from '@hexclave/shared/dist/utils/env';
import { isLocalEmulatorEnabled } from "@/lib/local-emulator";
-import { HexclaveAssertionError, captureError } from '@stackframe/stack-shared/dist/utils/errors';
-import { Result } from '@stackframe/stack-shared/dist/utils/results';
+import { HexclaveAssertionError, captureError } from '@hexclave/shared/dist/utils/errors';
+import { Result } from '@hexclave/shared/dist/utils/results';
import { Sandbox } from '@vercel/sandbox';
import { Freestyle as FreestyleClient } from 'freestyle-sandboxes';
diff --git a/apps/backend/src/lib/local-emulator.test.ts b/apps/backend/src/lib/local-emulator.test.ts
index 0d07429c7b..a4e9f05506 100644
--- a/apps/backend/src/lib/local-emulator.test.ts
+++ b/apps/backend/src/lib/local-emulator.test.ts
@@ -96,7 +96,7 @@ describe("local emulator config", () => {
await writeConfigToFile(absoluteFilePath, { auth: { allowLocalhost: true } });
await expect(fs.readFile(mountedFilePath, "utf-8")).resolves.toBe(
- `import type { StackConfig } from "@stackframe/js";\n\nexport const config: StackConfig = {\n "auth": {\n "allowLocalhost": true\n }\n};\n`
+ `import type { StackConfig } from "@hexclave/js";\n\nexport const config: StackConfig = {\n "auth": {\n "allowLocalhost": true\n }\n};\n`
);
});
@@ -112,7 +112,7 @@ describe("local emulator config", () => {
await writeShowOnboardingConfigToFile(absoluteFilePath);
await expect(fs.readFile(mountedFilePath, "utf-8")).resolves.toBe(
- `import type { StackConfig } from "@stackframe/js";\n\nexport const config: StackConfig = "show-onboarding";\n`
+ `import type { StackConfig } from "@hexclave/js";\n\nexport const config: StackConfig = "show-onboarding";\n`
);
});
diff --git a/apps/backend/src/lib/local-emulator.ts b/apps/backend/src/lib/local-emulator.ts
index a9ea9e2538..9e70092903 100644
--- a/apps/backend/src/lib/local-emulator.ts
+++ b/apps/backend/src/lib/local-emulator.ts
@@ -1,11 +1,11 @@
import { globalPrismaClient } from "@/prisma-client";
-import { showOnboardingStackConfigValue } from "@stackframe/stack-shared/dist/config-authoring";
-import { detectImportPackageFromDir, renderConfigFileContent } from "@stackframe/stack-shared/dist/config-rendering";
-import { parseStackConfigFileContent } from "@stackframe/stack-shared/dist/stack-config-file";
-import { isValidConfig } from "@stackframe/stack-shared/dist/config/format";
-import { LOCAL_EMULATOR_ADMIN_EMAIL, LOCAL_EMULATOR_ADMIN_PASSWORD } from "@stackframe/stack-shared/dist/local-emulator";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { showOnboardingStackConfigValue } from "@hexclave/shared/dist/config-authoring";
+import { detectImportPackageFromDir, renderConfigFileContent } from "@hexclave/shared/dist/config-rendering";
+import { parseStackConfigFileContent } from "@hexclave/shared/dist/stack-config-file";
+import { isValidConfig } from "@hexclave/shared/dist/config/format";
+import { LOCAL_EMULATOR_ADMIN_EMAIL, LOCAL_EMULATOR_ADMIN_PASSWORD } from "@hexclave/shared/dist/local-emulator";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import fs from "fs/promises";
import path from "path";
@@ -127,7 +127,7 @@ export async function writeShowOnboardingConfigToFile(filePath: string): Promise
} else {
await fs.mkdir(dir, { recursive: true });
}
- const importPackage = detectImportPackageFromDir(dir) ?? "@stackframe/js";
+ const importPackage = detectImportPackageFromDir(dir) ?? "@hexclave/js";
const content = `import type { StackConfig } from "${importPackage}";\n\nexport const config: StackConfig = "show-onboarding";\n`;
await fs.writeFile(resolvedPath, content, "utf-8");
}
diff --git a/apps/backend/src/lib/managed-email-domains.tsx b/apps/backend/src/lib/managed-email-domains.tsx
index 56b370f1b0..6ae757fb9c 100644
--- a/apps/backend/src/lib/managed-email-domains.tsx
+++ b/apps/backend/src/lib/managed-email-domains.tsx
@@ -1,6 +1,6 @@
import { Prisma } from "@/generated/prisma/client";
import { globalPrismaClient } from "@/prisma-client";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export type ManagedEmailDomainStatus = "pending_dns" | "pending_verification" | "verified" | "applied" | "failed";
diff --git a/apps/backend/src/lib/managed-email-onboarding.tsx b/apps/backend/src/lib/managed-email-onboarding.tsx
index d1ebad8b63..8547837484 100644
--- a/apps/backend/src/lib/managed-email-onboarding.tsx
+++ b/apps/backend/src/lib/managed-email-onboarding.tsx
@@ -13,9 +13,9 @@ import {
updateManagedEmailDomainWebhookStatus,
} from "@/lib/managed-email-domains";
import { Tenancy } from "@/lib/tenancies";
-import { getNodeEnvironment, getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { getNodeEnvironment, getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously, wait } from "@hexclave/shared/dist/utils/promises";
type ResendDomainRecord = {
record: string,
diff --git a/apps/backend/src/lib/metrics-activity-split.ts b/apps/backend/src/lib/metrics-activity-split.ts
index f8e6eecf53..46941de4ac 100644
--- a/apps/backend/src/lib/metrics-activity-split.ts
+++ b/apps/backend/src/lib/metrics-activity-split.ts
@@ -1,4 +1,4 @@
-import type { MetricsActivitySplit } from "@stackframe/stack-shared/dist/interface/admin-metrics";
+import type { MetricsActivitySplit } from "@hexclave/shared/dist/interface/admin-metrics";
export type ActivitySplit = MetricsActivitySplit;
diff --git a/apps/backend/src/lib/notification-categories.ts b/apps/backend/src/lib/notification-categories.ts
index 520e970d8f..5580884a98 100644
--- a/apps/backend/src/lib/notification-categories.ts
+++ b/apps/backend/src/lib/notification-categories.ts
@@ -1,7 +1,7 @@
import { Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy } from "@/prisma-client";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { unsubscribeLinkVerificationCodeHandler } from "../app/api/latest/emails/unsubscribe-link/verification-handler";
// For now, we only have two hardcoded notification categories. TODO: query from database instead and create UI to manage them in dashboard
diff --git a/apps/backend/src/lib/oauth.tsx b/apps/backend/src/lib/oauth.tsx
index 0bf9041f80..c0af2c76bb 100644
--- a/apps/backend/src/lib/oauth.tsx
+++ b/apps/backend/src/lib/oauth.tsx
@@ -2,9 +2,9 @@ import { getAuthContactChannelWithEmailNormalization } from "@/lib/contact-chann
import { Tenancy } from "@/lib/tenancies";
import { createOrUpgradeAnonymousUserWithRules, SignUpRuleOptions } from "@/lib/users";
import { PrismaClientTransaction } from "@/prisma-client";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { captureError, HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { captureError, HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
/**
* Find an existing OAuth account for sign-in.
diff --git a/apps/backend/src/lib/openapi.tsx b/apps/backend/src/lib/openapi.tsx
index 777fc7fc78..95582b32e8 100644
--- a/apps/backend/src/lib/openapi.tsx
+++ b/apps/backend/src/lib/openapi.tsx
@@ -1,11 +1,11 @@
import { SmartRouteHandler } from '@/route-handlers/smart-route-handler';
-import { CrudlOperation, EndpointDocumentation } from '@stackframe/stack-shared/dist/crud';
-import { WebhookEvent } from '@stackframe/stack-shared/dist/interface/webhooks';
-import { yupNumber, yupObject, yupString } from '@stackframe/stack-shared/dist/schema-fields';
-import { HexclaveAssertionError, throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { HttpMethod } from '@stackframe/stack-shared/dist/utils/http';
-import { typedEntries, typedFromEntries } from '@stackframe/stack-shared/dist/utils/objects';
-import { deindent, stringCompare } from '@stackframe/stack-shared/dist/utils/strings';
+import { CrudlOperation, EndpointDocumentation } from '@hexclave/shared/dist/crud';
+import { WebhookEvent } from '@hexclave/shared/dist/interface/webhooks';
+import { yupNumber, yupObject, yupString } from '@hexclave/shared/dist/schema-fields';
+import { HexclaveAssertionError, throwErr } from '@hexclave/shared/dist/utils/errors';
+import { HttpMethod } from '@hexclave/shared/dist/utils/http';
+import { typedEntries, typedFromEntries } from '@hexclave/shared/dist/utils/objects';
+import { deindent, stringCompare } from '@hexclave/shared/dist/utils/strings';
import * as yup from 'yup';
export function parseOpenAPI(options: {
diff --git a/apps/backend/src/lib/payments.test.tsx b/apps/backend/src/lib/payments.test.tsx
index 078fda83b7..2b495e6992 100644
--- a/apps/backend/src/lib/payments.test.tsx
+++ b/apps/backend/src/lib/payments.test.tsx
@@ -1,4 +1,4 @@
-import { KnownErrors } from '@stackframe/stack-shared';
+import { KnownErrors } from '@hexclave/shared';
import { describe, expect, it } from 'vitest';
import { validatePurchaseSession } from './payments';
import { bulldozerWriteOneTimePurchase, bulldozerWriteSubscription } from "@/lib/payments/bulldozer-dual-write";
diff --git a/apps/backend/src/lib/payments.tsx b/apps/backend/src/lib/payments.tsx
index 0bf7d6c47c..c8e633b918 100644
--- a/apps/backend/src/lib/payments.tsx
+++ b/apps/backend/src/lib/payments.tsx
@@ -4,15 +4,15 @@ import { getOwnedProductsForCustomer, getSubscriptionMapForCustomer } from "@/li
import type { OwnedProductsRow, SubscriptionRow } from "@/lib/payments/schema/types";
import { ensureUserTeamPermissionExists } from "@/lib/request-checks";
import { getPrismaClientForTenancy, PrismaClientTransaction } from "@/prisma-client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import type { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import type { inlineProductSchema, productSchema, productSchemaWithMetadata } from "@stackframe/stack-shared/dist/schema-fields";
-import { SUPPORTED_CURRENCIES } from "@stackframe/stack-shared/dist/utils/currency-constants";
-import { addInterval } from "@stackframe/stack-shared/dist/utils/dates";
-import { HexclaveAssertionError, StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { filterUndefined, getOrUndefined, has, typedEntries, typedFromEntries, typedKeys, typedValues } from "@stackframe/stack-shared/dist/utils/objects";
-import { typedToUppercase } from "@stackframe/stack-shared/dist/utils/strings";
-import { isUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { KnownErrors } from "@hexclave/shared";
+import type { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import type { inlineProductSchema, productSchema, productSchemaWithMetadata } from "@hexclave/shared/dist/schema-fields";
+import { SUPPORTED_CURRENCIES } from "@hexclave/shared/dist/utils/currency-constants";
+import { addInterval } from "@hexclave/shared/dist/utils/dates";
+import { HexclaveAssertionError, StatusError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { filterUndefined, getOrUndefined, has, typedEntries, typedFromEntries, typedKeys, typedValues } from "@hexclave/shared/dist/utils/objects";
+import { typedToUppercase } from "@hexclave/shared/dist/utils/strings";
+import { isUuid } from "@hexclave/shared/dist/utils/uuids";
import Stripe from "stripe";
import * as yup from "yup";
import { getStripeForAccount, useStripeMock } from "./stripe";
diff --git a/apps/backend/src/lib/payments/ensure-free-plan.test.ts b/apps/backend/src/lib/payments/ensure-free-plan.test.ts
index 9b88396212..5c82ea2f3c 100644
--- a/apps/backend/src/lib/payments/ensure-free-plan.test.ts
+++ b/apps/backend/src/lib/payments/ensure-free-plan.test.ts
@@ -1,6 +1,6 @@
import { randomUUID } from "node:crypto";
import { describe, expect, it } from "vitest";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
import { bulldozerWriteSubscription } from "@/lib/payments/bulldozer-dual-write";
import { getSubscriptionMapForCustomer } from "@/lib/payments/customer-data";
// eslint-disable-next-line @typescript-eslint/no-deprecated -- idiomatic way to get the internal tenancy today (see plan-entitlements.ts)
diff --git a/apps/backend/src/lib/payments/ensure-free-plan.ts b/apps/backend/src/lib/payments/ensure-free-plan.ts
index 668fe77ac2..edb4d4f197 100644
--- a/apps/backend/src/lib/payments/ensure-free-plan.ts
+++ b/apps/backend/src/lib/payments/ensure-free-plan.ts
@@ -6,9 +6,9 @@ import type { ProductSnapshot } from "@/lib/payments/schema/types";
// eslint-disable-next-line @typescript-eslint/no-deprecated -- idiomatic way to get the internal tenancy today (see plan-entitlements.ts)
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch, type Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy, retryTransaction, type PrismaClientTransaction } from "@/prisma-client";
-import { addInterval } from "@stackframe/stack-shared/dist/utils/dates";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getOrUndefined, typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
+import { addInterval } from "@hexclave/shared/dist/utils/dates";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { getOrUndefined, typedEntries } from "@hexclave/shared/dist/utils/objects";
/**
* Free/team/growth plans live on the internal tenancy; the "customer" is a
diff --git a/apps/backend/src/lib/payments/platform-fees.ts b/apps/backend/src/lib/payments/platform-fees.ts
index c919621000..8e77dc64a8 100644
--- a/apps/backend/src/lib/payments/platform-fees.ts
+++ b/apps/backend/src/lib/payments/platform-fees.ts
@@ -1,4 +1,4 @@
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
// 0.9% of every Stripe money movement on a non-internal project is collected
// as a platform fee, ridden along via Stripe's native application_fee_*
diff --git a/apps/backend/src/lib/permissions.tsx b/apps/backend/src/lib/permissions.tsx
index 7429ead3a6..6e919ce340 100644
--- a/apps/backend/src/lib/permissions.tsx
+++ b/apps/backend/src/lib/permissions.tsx
@@ -1,11 +1,11 @@
import { PrismaClientTransaction } from "@/prisma-client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { ProjectPermissionsCrud } from "@stackframe/stack-shared/dist/interface/crud/project-permissions";
-import { TeamPermissionDefinitionsCrud, TeamPermissionsCrud } from "@stackframe/stack-shared/dist/interface/crud/team-permissions";
-import { groupBy } from "@stackframe/stack-shared/dist/utils/arrays";
-import { getOrUndefined, has, typedEntries, typedFromEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownErrors } from "@hexclave/shared";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { ProjectPermissionsCrud } from "@hexclave/shared/dist/interface/crud/project-permissions";
+import { TeamPermissionDefinitionsCrud, TeamPermissionsCrud } from "@hexclave/shared/dist/interface/crud/team-permissions";
+import { groupBy } from "@hexclave/shared/dist/utils/arrays";
+import { getOrUndefined, has, typedEntries, typedFromEntries } from "@hexclave/shared/dist/utils/objects";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { overrideEnvironmentConfigOverride } from "./config";
import { recordExternalDbSyncDeletion, withExternalDbSyncUpdate } from "./external-db-sync";
import { Tenancy } from "./tenancies";
diff --git a/apps/backend/src/lib/plan-entitlements.test.ts b/apps/backend/src/lib/plan-entitlements.test.ts
index 3c98434ddc..ef51ed90f7 100644
--- a/apps/backend/src/lib/plan-entitlements.test.ts
+++ b/apps/backend/src/lib/plan-entitlements.test.ts
@@ -1,5 +1,5 @@
import type { PrismaClientTransaction } from "@/prisma-client";
-import { ITEM_IDS, PLAN_LIMITS } from "@stackframe/stack-shared/dist/plans";
+import { ITEM_IDS, PLAN_LIMITS } from "@hexclave/shared/dist/plans";
import { afterEach, describe, expect, it, vi } from "vitest";
import {
arePlanLimitsEnforced,
diff --git a/apps/backend/src/lib/plan-entitlements.ts b/apps/backend/src/lib/plan-entitlements.ts
index 98b56700c1..932ab977c1 100644
--- a/apps/backend/src/lib/plan-entitlements.ts
+++ b/apps/backend/src/lib/plan-entitlements.ts
@@ -1,8 +1,8 @@
import { getItemQuantityForCustomer } from "@/lib/payments/customer-data";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
-import { ITEM_IDS } from "@stackframe/stack-shared/dist/plans";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { ITEM_IDS } from "@hexclave/shared/dist/plans";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch, type Tenancy } from "./tenancies";
/**
diff --git a/apps/backend/src/lib/preview-mode.ts b/apps/backend/src/lib/preview-mode.ts
index 115a3ff9d3..28838c60ab 100644
--- a/apps/backend/src/lib/preview-mode.ts
+++ b/apps/backend/src/lib/preview-mode.ts
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
export function isPreviewModeEnabled() {
return getEnvVariable("NEXT_PUBLIC_STACK_IS_PREVIEW", "") === "true";
diff --git a/apps/backend/src/lib/product-versions.tsx b/apps/backend/src/lib/product-versions.tsx
index 469a7c588c..f5de65998b 100644
--- a/apps/backend/src/lib/product-versions.tsx
+++ b/apps/backend/src/lib/product-versions.tsx
@@ -1,6 +1,6 @@
import { PrismaClientTransaction } from "@/prisma-client";
-import { encodeBase64 } from "@stackframe/stack-shared/dist/utils/bytes";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { encodeBase64 } from "@hexclave/shared/dist/utils/bytes";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import crypto from "crypto";
/**
diff --git a/apps/backend/src/lib/projects.tsx b/apps/backend/src/lib/projects.tsx
index 489086d71d..7bc3e39906 100644
--- a/apps/backend/src/lib/projects.tsx
+++ b/apps/backend/src/lib/projects.tsx
@@ -1,13 +1,13 @@
import { Prisma } from "@/generated/prisma/client";
import { uploadAndGetUrl } from "@/s3";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { CompleteConfig, EnvironmentConfigOverrideOverride, ProjectConfigOverrideOverride } from "@stackframe/stack-shared/dist/config/schema";
-import { AdminUserProjectsCrud, ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { filterUndefined, typedFromEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { KnownErrors } from "@hexclave/shared";
+import { CompleteConfig, EnvironmentConfigOverrideOverride, ProjectConfigOverrideOverride } from "@hexclave/shared/dist/config/schema";
+import { AdminUserProjectsCrud, ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { filterUndefined, typedFromEntries } from "@hexclave/shared/dist/utils/objects";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { RawQuery, getPrismaClientForTenancy, globalPrismaClient, rawQuery, retryTransaction } from "../prisma-client";
import { overrideEnvironmentConfigOverride, overrideProjectConfigOverride } from "./config";
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch } from "./tenancies";
diff --git a/apps/backend/src/lib/redirect-urls.tsx b/apps/backend/src/lib/redirect-urls.tsx
index 56a22c28eb..0af54b9cdc 100644
--- a/apps/backend/src/lib/redirect-urls.tsx
+++ b/apps/backend/src/lib/redirect-urls.tsx
@@ -1,5 +1,5 @@
-import { getEnvVariable, getProcessEnv } from "@stackframe/stack-shared/dist/utils/env";
-import { getHostedHandlerTrustedDomain as getHostedHandlerTrustedDomainFromConfig, isAcceptedNativeAppUrl, validateRedirectUrl as validateRedirectUrlAgainstTrustedDomains } from "@stackframe/stack-shared/dist/utils/redirect-urls";
+import { getEnvVariable, getProcessEnv } from "@hexclave/shared/dist/utils/env";
+import { getHostedHandlerTrustedDomain as getHostedHandlerTrustedDomainFromConfig, isAcceptedNativeAppUrl, validateRedirectUrl as validateRedirectUrlAgainstTrustedDomains } from "@hexclave/shared/dist/utils/redirect-urls";
import { Tenancy } from "./tenancies";
export { isAcceptedNativeAppUrl };
diff --git a/apps/backend/src/lib/request-checks.tsx b/apps/backend/src/lib/request-checks.tsx
index 17ec57f68f..5f91e9a1de 100644
--- a/apps/backend/src/lib/request-checks.tsx
+++ b/apps/backend/src/lib/request-checks.tsx
@@ -1,8 +1,8 @@
import { StandardOAuthProviderType } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { ProviderType, standardProviders } from "@stackframe/stack-shared/dist/utils/oauth";
-import { typedToUppercase } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownErrors } from "@hexclave/shared";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
+import { ProviderType, standardProviders } from "@hexclave/shared/dist/utils/oauth";
+import { typedToUppercase } from "@hexclave/shared/dist/utils/strings";
import { listPermissions } from "./permissions";
import { Tenancy } from "./tenancies";
import { PrismaTransaction } from "./types";
diff --git a/apps/backend/src/lib/risk-scores.tsx b/apps/backend/src/lib/risk-scores.tsx
index fe4650af05..1acb953db3 100644
--- a/apps/backend/src/lib/risk-scores.tsx
+++ b/apps/backend/src/lib/risk-scores.tsx
@@ -1,7 +1,7 @@
import { getPrismaClientForTenancy, getPrismaSchemaForTenancy, sqlQuoteIdent } from "@/prisma-client";
import { signUpRiskEngine } from "@/private";
-import type { SignUpRiskScoresCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import type { SignUpAuthMethod } from "@stackframe/stack-shared/dist/utils/auth-methods";
+import type { SignUpRiskScoresCrud } from "@hexclave/shared/dist/interface/crud/users";
+import type { SignUpAuthMethod } from "@hexclave/shared/dist/utils/auth-methods";
import { checkEmailWithEmailable } from "./emailable";
import { type DerivedSignUpHeuristicFacts } from "./sign-up-heuristics";
import type { Tenancy } from "./tenancies";
diff --git a/apps/backend/src/lib/seed-dummy-data.test.ts b/apps/backend/src/lib/seed-dummy-data.test.ts
index d8ad5ced83..e8420b4104 100644
--- a/apps/backend/src/lib/seed-dummy-data.test.ts
+++ b/apps/backend/src/lib/seed-dummy-data.test.ts
@@ -1,4 +1,4 @@
-import { branchConfigSchema, getConfigOverrideErrors, getIncompleteConfigWarnings } from "@stackframe/stack-shared/dist/config/schema";
+import { branchConfigSchema, getConfigOverrideErrors, getIncompleteConfigWarnings } from "@hexclave/shared/dist/config/schema";
import { describe, expect, it } from "vitest";
import { buildDummyPaymentsSetup } from "./seed-dummy-data";
diff --git a/apps/backend/src/lib/seed-dummy-data.ts b/apps/backend/src/lib/seed-dummy-data.ts
index 11ce225854..c0c4716e75 100644
--- a/apps/backend/src/lib/seed-dummy-data.ts
+++ b/apps/backend/src/lib/seed-dummy-data.ts
@@ -8,14 +8,14 @@ import { createOrUpdateProjectWithLegacyConfig, getProject } from '@/lib/project
import { DEFAULT_BRANCH_ID, getSoleTenancyFromProjectBranch, type Tenancy } from '@/lib/tenancies';
import { getPrismaClientForTenancy, globalPrismaClient, retryTransaction, type PrismaClientTransaction } from '@/prisma-client';
import { runAsynchronouslyAndWaitUntil } from '@/utils/background-tasks';
-import { ALL_APPS } from '@stackframe/stack-shared/dist/apps/apps-config';
-import { DEFAULT_EMAIL_THEME_ID } from '@stackframe/stack-shared/dist/helpers/emails';
-import { type AdminUserProjectsCrud, type ProjectsCrud } from '@stackframe/stack-shared/dist/interface/crud/projects';
-import { type Config } from '@stackframe/stack-shared/dist/config/format';
-import { DayInterval } from '@stackframe/stack-shared/dist/utils/dates';
-import { getEnvVariable } from '@stackframe/stack-shared/dist/utils/env';
-import { throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { typedEntries, typedFromEntries } from '@stackframe/stack-shared/dist/utils/objects';
+import { ALL_APPS } from '@hexclave/shared/dist/apps/apps-config';
+import { DEFAULT_EMAIL_THEME_ID } from '@hexclave/shared/dist/helpers/emails';
+import { type AdminUserProjectsCrud, type ProjectsCrud } from '@hexclave/shared/dist/interface/crud/projects';
+import { type Config } from '@hexclave/shared/dist/config/format';
+import { DayInterval } from '@hexclave/shared/dist/utils/dates';
+import { getEnvVariable } from '@hexclave/shared/dist/utils/env';
+import { throwErr } from '@hexclave/shared/dist/utils/errors';
+import { typedEntries, typedFromEntries } from '@hexclave/shared/dist/utils/objects';
import { createHash, randomUUID } from 'node:crypto';
const EXPLORATORY_TEAM_DISPLAY_NAME = 'Exploratory Research and Insight Partnership With Very Long Collaborative Name For Testing';
diff --git a/apps/backend/src/lib/sign-up-context.ts b/apps/backend/src/lib/sign-up-context.ts
index 928a6a49b0..6f91616cd1 100644
--- a/apps/backend/src/lib/sign-up-context.ts
+++ b/apps/backend/src/lib/sign-up-context.ts
@@ -1,5 +1,5 @@
-import { yupBoolean, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { SignUpAuthMethod } from "@stackframe/stack-shared/dist/utils/auth-methods";
+import { yupBoolean, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { SignUpAuthMethod } from "@hexclave/shared/dist/utils/auth-methods";
import { BestEffortEndUserRequestContext } from "./end-users";
import { SignUpTurnstileAssessment } from "./turnstile";
import { SignUpRuleOptions } from "./users";
diff --git a/apps/backend/src/lib/sign-up-rules.ts b/apps/backend/src/lib/sign-up-rules.ts
index 27c2e3a5b8..09f0972a88 100644
--- a/apps/backend/src/lib/sign-up-rules.ts
+++ b/apps/backend/src/lib/sign-up-rules.ts
@@ -1,7 +1,7 @@
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
-import type { SignUpRule, SignUpRuleAction } from "@stackframe/stack-shared/dist/interface/crud/sign-up-rules";
-import { captureError, HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
+import type { SignUpRule, SignUpRuleAction } from "@hexclave/shared/dist/interface/crud/sign-up-rules";
+import { captureError, HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
import { CelEvaluationError, evaluateCelExpression, SignUpRuleContext } from "./cel-evaluator";
import { logEvent, SystemEventTypes } from "./events";
import { getBillingTeamId } from "./plan-entitlements";
diff --git a/apps/backend/src/lib/stripe-proxy.tsx b/apps/backend/src/lib/stripe-proxy.tsx
index 046530095d..f0d6f6fab2 100644
--- a/apps/backend/src/lib/stripe-proxy.tsx
+++ b/apps/backend/src/lib/stripe-proxy.tsx
@@ -1,5 +1,5 @@
import Stripe from "stripe";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
export type StripeOverridesMap = Record>;
export function createStripeProxy(
diff --git a/apps/backend/src/lib/stripe.tsx b/apps/backend/src/lib/stripe.tsx
index 41441910b7..691458a302 100644
--- a/apps/backend/src/lib/stripe.tsx
+++ b/apps/backend/src/lib/stripe.tsx
@@ -4,10 +4,10 @@ import { ensureFreePlanForBillingTeam } from "@/lib/payments/ensure-free-plan";
import { getProductVersion } from "@/lib/product-versions";
import { getTenancy, Tenancy } from "@/lib/tenancies";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
-import type { productSchema } from "@stackframe/stack-shared/dist/schema-fields";
-import { typedIncludes } from "@stackframe/stack-shared/dist/utils/arrays";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import type { productSchema } from "@hexclave/shared/dist/schema-fields";
+import { typedIncludes } from "@hexclave/shared/dist/utils/arrays";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { captureError, HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
import Stripe from "stripe";
import type * as yup from "yup";
import { isLocalEmulatorEnabled } from "./local-emulator";
diff --git a/apps/backend/src/lib/telegram.tsx b/apps/backend/src/lib/telegram.tsx
index 19a9eaa6d3..3e13f2ae97 100644
--- a/apps/backend/src/lib/telegram.tsx
+++ b/apps/backend/src/lib/telegram.tsx
@@ -1,5 +1,5 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
const TELEGRAM_HOSTNAME = "api.telegram.org";
const TELEGRAM_ENDPOINT_PATH = "/sendMessage";
diff --git a/apps/backend/src/lib/tenancies.tsx b/apps/backend/src/lib/tenancies.tsx
index be5c1f05f1..750762fed3 100644
--- a/apps/backend/src/lib/tenancies.tsx
+++ b/apps/backend/src/lib/tenancies.tsx
@@ -1,9 +1,9 @@
import { globalPrismaClient, RawQuery, rawQuery } from "@/prisma-client";
import { Prisma } from "@/generated/prisma/client";
-import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { deepPlainEquals } from "@stackframe/stack-shared/dist/utils/objects";
+import { ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { deepPlainEquals } from "@hexclave/shared/dist/utils/objects";
import { getRenderedOrganizationConfigQuery } from "./config";
import { getProject, getProjectQuery } from "./projects";
diff --git a/apps/backend/src/lib/tokens.tsx b/apps/backend/src/lib/tokens.tsx
index ceb7c7dd73..7e0a87e2eb 100644
--- a/apps/backend/src/lib/tokens.tsx
+++ b/apps/backend/src/lib/tokens.tsx
@@ -1,17 +1,17 @@
import { usersCrudHandlers } from '@/app/api/latest/users/crud';
import { withExternalDbSyncUpdate } from '@/lib/external-db-sync';
import { getPrismaClientForTenancy, globalPrismaClient } from '@/prisma-client';
-import { KnownErrors } from '@stackframe/stack-shared';
-import type { RestrictedReason } from "@stackframe/stack-shared/dist/schema-fields";
-import { restrictedReasonSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { AccessTokenPayload } from '@stackframe/stack-shared/dist/sessions';
-import { generateSecureRandomString } from '@stackframe/stack-shared/dist/utils/crypto';
-import { getEnvVariable } from '@stackframe/stack-shared/dist/utils/env';
-import { captureError, HexclaveAssertionError, throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { getPrivateJwks, getPublicJwkSet, signJWT, verifyJWT } from '@stackframe/stack-shared/dist/utils/jwt';
-import { Result } from '@stackframe/stack-shared/dist/utils/results';
-import { traceSpan } from '@stackframe/stack-shared/dist/utils/telemetry';
-import { turnstileResultValues } from '@stackframe/stack-shared/dist/utils/turnstile';
+import { KnownErrors } from '@hexclave/shared';
+import type { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
+import { restrictedReasonSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { AccessTokenPayload } from '@hexclave/shared/dist/sessions';
+import { generateSecureRandomString } from '@hexclave/shared/dist/utils/crypto';
+import { getEnvVariable } from '@hexclave/shared/dist/utils/env';
+import { captureError, HexclaveAssertionError, throwErr } from '@hexclave/shared/dist/utils/errors';
+import { getPrivateJwks, getPublicJwkSet, signJWT, verifyJWT } from '@hexclave/shared/dist/utils/jwt';
+import { Result } from '@hexclave/shared/dist/utils/results';
+import { traceSpan } from '@hexclave/shared/dist/utils/telemetry';
+import { turnstileResultValues } from '@hexclave/shared/dist/utils/turnstile';
import * as jose from 'jose';
import { JOSEError, JWTExpired } from 'jose/errors';
import { getEndUserIpInfoForEvent, logEvent, SystemEventTypes } from './events';
diff --git a/apps/backend/src/lib/turnstile.tsx b/apps/backend/src/lib/turnstile.tsx
index 5165cfe1cc..d3ba9cc3fb 100644
--- a/apps/backend/src/lib/turnstile.tsx
+++ b/apps/backend/src/lib/turnstile.tsx
@@ -1,15 +1,15 @@
-import { KnownErrors } from "@stackframe/stack-shared";
-import { yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvBoolean, getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { KnownErrors } from "@hexclave/shared";
+import { yupString } from "@hexclave/shared/dist/schema-fields";
+import { getEnvBoolean, getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { captureError, HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { Result } from "@hexclave/shared/dist/utils/results";
import {
TurnstileAction,
TurnstilePhase,
TurnstileResult,
turnstileDevelopmentKeys,
turnstilePhaseValues,
-} from "@stackframe/stack-shared/dist/utils/turnstile";
+} from "@hexclave/shared/dist/utils/turnstile";
import { BestEffortEndUserRequestContext, getBestEffortEndUserRequestContext } from "./end-users";
import { validateRedirectHostname } from "./redirect-urls";
import { Tenancy } from "./tenancies";
@@ -302,7 +302,7 @@ import.meta.vitest?.describe("verifyTurnstileToken(...)", () => {
});
test("can suppress captureError for expected siteverify rejections", async ({ expect }) => {
- const errorsModule = await import("@stackframe/stack-shared/dist/utils/errors");
+ const errorsModule = await import("@hexclave/shared/dist/utils/errors");
const captureErrorSpy = vi.spyOn(errorsModule, "captureError").mockImplementation(() => {});
stubFetch({ success: false, action: "sign_up_with_credential" });
diff --git a/apps/backend/src/lib/upstash.tsx b/apps/backend/src/lib/upstash.tsx
index e2c752096e..364423eda0 100644
--- a/apps/backend/src/lib/upstash.tsx
+++ b/apps/backend/src/lib/upstash.tsx
@@ -1,6 +1,6 @@
import { SmartRequest } from "@/route-handlers/smart-request";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import { Client, Receiver } from "@upstash/qstash";
export const upstash = new Client({
diff --git a/apps/backend/src/lib/users.tsx b/apps/backend/src/lib/users.tsx
index 521d27e39f..d1561e41e9 100644
--- a/apps/backend/src/lib/users.tsx
+++ b/apps/backend/src/lib/users.tsx
@@ -1,12 +1,12 @@
import { usersCrudHandlers } from "@/app/api/latest/users/crud";
import { getPrismaClientForTenancy, getPrismaSchemaForTenancy, sqlQuoteIdent } from "@/prisma-client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { isValidCountryCode, normalizeCountryCode } from "@stackframe/stack-shared/dist/schema-fields";
-import { SignUpAuthMethod } from "@stackframe/stack-shared/dist/utils/auth-methods";
-import { getEnvBoolean, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { KeyIntersect } from "@stackframe/stack-shared/dist/utils/types";
+import { KnownErrors } from "@hexclave/shared";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { isValidCountryCode, normalizeCountryCode } from "@hexclave/shared/dist/schema-fields";
+import { SignUpAuthMethod } from "@hexclave/shared/dist/utils/auth-methods";
+import { getEnvBoolean, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
+import { KeyIntersect } from "@hexclave/shared/dist/utils/types";
import { createSignUpRuleContext } from "./cel-evaluator";
import { BestEffortEndUserRequestContext, getBestEffortEndUserRequestContext } from "./end-users";
import { calculateSignUpRiskAssessment } from "./risk-scores";
diff --git a/apps/backend/src/lib/webhooks.tsx b/apps/backend/src/lib/webhooks.tsx
index 8f1067da27..23da2b4717 100644
--- a/apps/backend/src/lib/webhooks.tsx
+++ b/apps/backend/src/lib/webhooks.tsx
@@ -1,12 +1,12 @@
-import { projectPermissionCreatedWebhookEvent, projectPermissionDeletedWebhookEvent } from "@stackframe/stack-shared/dist/interface/crud/project-permissions";
-import { teamMembershipCreatedWebhookEvent, teamMembershipDeletedWebhookEvent } from "@stackframe/stack-shared/dist/interface/crud/team-memberships";
-import { teamPermissionCreatedWebhookEvent, teamPermissionDeletedWebhookEvent } from "@stackframe/stack-shared/dist/interface/crud/team-permissions";
-import { teamCreatedWebhookEvent, teamDeletedWebhookEvent, teamUpdatedWebhookEvent } from "@stackframe/stack-shared/dist/interface/crud/teams";
-import { userCreatedWebhookEvent, userDeletedWebhookEvent, userUpdatedWebhookEvent } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { WebhookEvent } from "@stackframe/stack-shared/dist/interface/webhooks";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { projectPermissionCreatedWebhookEvent, projectPermissionDeletedWebhookEvent } from "@hexclave/shared/dist/interface/crud/project-permissions";
+import { teamMembershipCreatedWebhookEvent, teamMembershipDeletedWebhookEvent } from "@hexclave/shared/dist/interface/crud/team-memberships";
+import { teamPermissionCreatedWebhookEvent, teamPermissionDeletedWebhookEvent } from "@hexclave/shared/dist/interface/crud/team-permissions";
+import { teamCreatedWebhookEvent, teamDeletedWebhookEvent, teamUpdatedWebhookEvent } from "@hexclave/shared/dist/interface/crud/teams";
+import { userCreatedWebhookEvent, userDeletedWebhookEvent, userUpdatedWebhookEvent } from "@hexclave/shared/dist/interface/crud/users";
+import { WebhookEvent } from "@hexclave/shared/dist/interface/webhooks";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { Svix } from "svix";
import * as yup from "yup";
import { isPreviewModeEnabled } from "@/lib/preview-mode";
diff --git a/apps/backend/src/oauth/index.tsx b/apps/backend/src/oauth/index.tsx
index c2c5c50337..b496b95c4b 100644
--- a/apps/backend/src/oauth/index.tsx
+++ b/apps/backend/src/oauth/index.tsx
@@ -1,8 +1,8 @@
import { DEFAULT_BRANCH_ID, Tenancy } from "@/lib/tenancies";
import { DiscordProvider } from "@/oauth/providers/discord";
import OAuth2Server from "@node-oauth/oauth2-server";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
import { OAuthModel } from "./model";
import { AppleProvider } from "./providers/apple";
import { OAuthBaseProvider } from "./providers/base";
diff --git a/apps/backend/src/oauth/model.tsx b/apps/backend/src/oauth/model.tsx
index 7b13e09886..101cab49d5 100644
--- a/apps/backend/src/oauth/model.tsx
+++ b/apps/backend/src/oauth/model.tsx
@@ -8,8 +8,8 @@ import { getSoleTenancyFromProjectBranch, getTenancy } from "@/lib/tenancies";
import { createRefreshTokenObj, decodeAccessToken, generateAccessTokenFromRefreshTokenIfValid, isRefreshTokenValid } from "@/lib/tokens";
import { getPrismaClientForTenancy, globalPrismaClient } from "@/prisma-client";
import { AuthorizationCode, AuthorizationCodeModel, Client, Falsey, RefreshToken, Token, User } from "@node-oauth/oauth2-server";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { HexclaveAssertionError, StatusError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { HexclaveAssertionError, StatusError, captureError } from "@hexclave/shared/dist/utils/errors";
import { getProjectBranchFromClientId } from ".";
const PrismaClientKnownRequestError = Prisma.PrismaClientKnownRequestError;
diff --git a/apps/backend/src/oauth/providers/apple.tsx b/apps/backend/src/oauth/providers/apple.tsx
index f4fca6be2d..35daa549a7 100644
--- a/apps/backend/src/oauth/providers/apple.tsx
+++ b/apps/backend/src/oauth/providers/apple.tsx
@@ -1,5 +1,5 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
import { decodeJwt } from 'jose';
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/base.tsx b/apps/backend/src/oauth/providers/base.tsx
index 62d63edb97..fe0bc53454 100644
--- a/apps/backend/src/oauth/providers/base.tsx
+++ b/apps/backend/src/oauth/providers/base.tsx
@@ -1,8 +1,8 @@
-import { KnownErrors } from "@stackframe/stack-shared";
-import { HexclaveAssertionError, StatusError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
-import { mergeScopeStrings } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownErrors } from "@hexclave/shared";
+import { HexclaveAssertionError, StatusError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
+import { Result } from "@hexclave/shared/dist/utils/results";
+import { mergeScopeStrings } from "@hexclave/shared/dist/utils/strings";
import { CallbackParamsType, Client, Issuer, TokenSet as OIDCTokenSet, custom, generators } from "openid-client";
import { OAuthUserInfo } from "../utils";
diff --git a/apps/backend/src/oauth/providers/bitbucket.tsx b/apps/backend/src/oauth/providers/bitbucket.tsx
index 5fbcc047c1..a01d6c6892 100644
--- a/apps/backend/src/oauth/providers/bitbucket.tsx
+++ b/apps/backend/src/oauth/providers/bitbucket.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/discord.tsx b/apps/backend/src/oauth/providers/discord.tsx
index 145273a65a..00e33295d9 100644
--- a/apps/backend/src/oauth/providers/discord.tsx
+++ b/apps/backend/src/oauth/providers/discord.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/facebook.tsx b/apps/backend/src/oauth/providers/facebook.tsx
index acca06736e..f55477103d 100644
--- a/apps/backend/src/oauth/providers/facebook.tsx
+++ b/apps/backend/src/oauth/providers/facebook.tsx
@@ -1,5 +1,5 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { StatusError } from "@hexclave/shared/dist/utils/errors";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/github.tsx b/apps/backend/src/oauth/providers/github.tsx
index 69c550db65..89defba655 100644
--- a/apps/backend/src/oauth/providers/github.tsx
+++ b/apps/backend/src/oauth/providers/github.tsx
@@ -1,6 +1,6 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getJwtInfo } from "@stackframe/stack-shared/dist/utils/jwt";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
+import { getJwtInfo } from "@hexclave/shared/dist/utils/jwt";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/gitlab.tsx b/apps/backend/src/oauth/providers/gitlab.tsx
index e21af23e15..8ce4ad3b3e 100644
--- a/apps/backend/src/oauth/providers/gitlab.tsx
+++ b/apps/backend/src/oauth/providers/gitlab.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/google.tsx b/apps/backend/src/oauth/providers/google.tsx
index 7cb131809b..e63f69cbcd 100644
--- a/apps/backend/src/oauth/providers/google.tsx
+++ b/apps/backend/src/oauth/providers/google.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/linkedin.tsx b/apps/backend/src/oauth/providers/linkedin.tsx
index e0f6bad4f9..d666ac9c9b 100644
--- a/apps/backend/src/oauth/providers/linkedin.tsx
+++ b/apps/backend/src/oauth/providers/linkedin.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/microsoft.tsx b/apps/backend/src/oauth/providers/microsoft.tsx
index 3210e4b654..e6bed424f4 100644
--- a/apps/backend/src/oauth/providers/microsoft.tsx
+++ b/apps/backend/src/oauth/providers/microsoft.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/mock.tsx b/apps/backend/src/oauth/providers/mock.tsx
index 74f9d8f52c..e797ac2a06 100644
--- a/apps/backend/src/oauth/providers/mock.tsx
+++ b/apps/backend/src/oauth/providers/mock.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/spotify.tsx b/apps/backend/src/oauth/providers/spotify.tsx
index fbe8483e37..4bd9cd3857 100644
--- a/apps/backend/src/oauth/providers/spotify.tsx
+++ b/apps/backend/src/oauth/providers/spotify.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/twitch.tsx b/apps/backend/src/oauth/providers/twitch.tsx
index f0241fa205..69d825ac29 100644
--- a/apps/backend/src/oauth/providers/twitch.tsx
+++ b/apps/backend/src/oauth/providers/twitch.tsx
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/providers/x.tsx b/apps/backend/src/oauth/providers/x.tsx
index 61d2059013..ac7e979f19 100644
--- a/apps/backend/src/oauth/providers/x.tsx
+++ b/apps/backend/src/oauth/providers/x.tsx
@@ -1,5 +1,5 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { OAuthUserInfo, validateUserInfo } from "../utils";
import { OAuthBaseProvider, TokenSet } from "./base";
diff --git a/apps/backend/src/oauth/utils.tsx b/apps/backend/src/oauth/utils.tsx
index 1072a10b98..ac090ab625 100644
--- a/apps/backend/src/oauth/utils.tsx
+++ b/apps/backend/src/oauth/utils.tsx
@@ -1,4 +1,4 @@
-import { emailSchema, yupBoolean, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { emailSchema, yupBoolean, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import * as yup from 'yup';
export type OAuthUserInfo = yup.InferType;
diff --git a/apps/backend/src/polyfills.tsx b/apps/backend/src/polyfills.tsx
index cc42cddde7..9d7bcfe645 100644
--- a/apps/backend/src/polyfills.tsx
+++ b/apps/backend/src/polyfills.tsx
@@ -1,6 +1,6 @@
import * as Sentry from "@sentry/nextjs";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, registerErrorSink } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { captureError, registerErrorSink } from "@hexclave/shared/dist/utils/errors";
import * as util from "util";
import { runAsynchronouslyAndWaitUntil } from "./utils/background-tasks";
diff --git a/apps/backend/src/prisma-client.tsx b/apps/backend/src/prisma-client.tsx
index 8280bbe502..efe73a81e9 100644
--- a/apps/backend/src/prisma-client.tsx
+++ b/apps/backend/src/prisma-client.tsx
@@ -1,16 +1,16 @@
import { Prisma, PrismaClient } from "@/generated/prisma/client";
import { PrismaPg } from '@prisma/adapter-pg';
import { readReplicas } from '@prisma/extension-read-replicas';
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { yupObject, yupValidate } from "@stackframe/stack-shared/dist/schema-fields";
-import { getEnvVariable, getNodeEnvironment } from '@stackframe/stack-shared/dist/utils/env';
-import { captureError, HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { globalVar } from "@stackframe/stack-shared/dist/utils/globals";
-import { deepPlainEquals, filterUndefined, typedFromEntries, typedKeys } from "@stackframe/stack-shared/dist/utils/objects";
-import { concatStacktracesIfRejected, ignoreUnhandledRejection, runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { throwingProxy } from "@stackframe/stack-shared/dist/utils/proxies";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
-import { traceSpan } from "@stackframe/stack-shared/dist/utils/telemetry";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { yupObject, yupValidate } from "@hexclave/shared/dist/schema-fields";
+import { getEnvVariable, getNodeEnvironment } from '@hexclave/shared/dist/utils/env';
+import { captureError, HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { globalVar } from "@hexclave/shared/dist/utils/globals";
+import { deepPlainEquals, filterUndefined, typedFromEntries, typedKeys } from "@hexclave/shared/dist/utils/objects";
+import { concatStacktracesIfRejected, ignoreUnhandledRejection, runAsynchronously, wait } from "@hexclave/shared/dist/utils/promises";
+import { throwingProxy } from "@hexclave/shared/dist/utils/proxies";
+import { Result } from "@hexclave/shared/dist/utils/results";
+import { traceSpan } from "@hexclave/shared/dist/utils/telemetry";
import net from "node:net";
import { Pool } from "pg";
import { isPromise } from "util/types";
diff --git a/apps/backend/src/proxy.tsx b/apps/backend/src/proxy.tsx
index eb42d94e3f..c41fea4ee5 100644
--- a/apps/backend/src/proxy.tsx
+++ b/apps/backend/src/proxy.tsx
@@ -1,6 +1,6 @@
-import { getEnvVariable, getNodeEnvironment } from '@stackframe/stack-shared/dist/utils/env';
-import { HexclaveAssertionError } from '@stackframe/stack-shared/dist/utils/errors';
-import { wait } from '@stackframe/stack-shared/dist/utils/promises';
+import { getEnvVariable, getNodeEnvironment } from '@hexclave/shared/dist/utils/env';
+import { HexclaveAssertionError } from '@hexclave/shared/dist/utils/errors';
+import { wait } from '@hexclave/shared/dist/utils/promises';
import apiVersions from './generated/api-versions.json';
import routes from './generated/routes.json';
import './polyfills';
diff --git a/apps/backend/src/route-handlers/crud-handler.tsx b/apps/backend/src/route-handlers/crud-handler.tsx
index eeef642ccc..f38f7f5432 100644
--- a/apps/backend/src/route-handlers/crud-handler.tsx
+++ b/apps/backend/src/route-handlers/crud-handler.tsx
@@ -1,15 +1,15 @@
import "../polyfills";
import { Tenancy, getSoleTenancyFromProjectBranch, } from "@/lib/tenancies";
-import { CrudSchema, CrudTypeOf, CrudlOperation } from "@stackframe/stack-shared/dist/crud";
-import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { yupArray, yupBoolean, yupMixed, yupNumber, yupObject, yupString, yupValidate } from "@stackframe/stack-shared/dist/schema-fields";
-import { typedIncludes } from "@stackframe/stack-shared/dist/utils/arrays";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { FilterUndefined } from "@stackframe/stack-shared/dist/utils/objects";
-import { deindent, typedToLowercase } from "@stackframe/stack-shared/dist/utils/strings";
-import { traceSpan } from "@stackframe/stack-shared/dist/utils/telemetry";
+import { CrudSchema, CrudTypeOf, CrudlOperation } from "@hexclave/shared/dist/crud";
+import { ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { yupArray, yupBoolean, yupMixed, yupNumber, yupObject, yupString, yupValidate } from "@hexclave/shared/dist/schema-fields";
+import { typedIncludes } from "@hexclave/shared/dist/utils/arrays";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { FilterUndefined } from "@hexclave/shared/dist/utils/objects";
+import { deindent, typedToLowercase } from "@hexclave/shared/dist/utils/strings";
+import { traceSpan } from "@hexclave/shared/dist/utils/telemetry";
import * as yup from "yup";
import { SmartRequestAuth } from "./smart-request";
import { SmartRouteHandler, createSmartRouteHandler, routeHandlerTypeHelper } from "./smart-route-handler";
diff --git a/apps/backend/src/route-handlers/cud-handler.tsx b/apps/backend/src/route-handlers/cud-handler.tsx
index bafca6e271..742009ec22 100644
--- a/apps/backend/src/route-handlers/cud-handler.tsx
+++ b/apps/backend/src/route-handlers/cud-handler.tsx
@@ -1,15 +1,15 @@
import "../polyfills";
import { Tenancy, getSoleTenancyFromProjectBranch } from "@/lib/tenancies";
-import { CrudSchema, CrudTypeOf, CrudlOperation } from "@stackframe/stack-shared/dist/crud";
-import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { yupArray, yupBoolean, yupMixed, yupNumber, yupObject, yupString, yupValidate } from "@stackframe/stack-shared/dist/schema-fields";
-import { typedIncludes } from "@stackframe/stack-shared/dist/utils/arrays";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { FilterUndefined } from "@stackframe/stack-shared/dist/utils/objects";
-import { deindent, typedToLowercase } from "@stackframe/stack-shared/dist/utils/strings";
-import { traceSpan } from "@stackframe/stack-shared/dist/utils/telemetry";
+import { CrudSchema, CrudTypeOf, CrudlOperation } from "@hexclave/shared/dist/crud";
+import { ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { yupArray, yupBoolean, yupMixed, yupNumber, yupObject, yupString, yupValidate } from "@hexclave/shared/dist/schema-fields";
+import { typedIncludes } from "@hexclave/shared/dist/utils/arrays";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { FilterUndefined } from "@hexclave/shared/dist/utils/objects";
+import { deindent, typedToLowercase } from "@hexclave/shared/dist/utils/strings";
+import { traceSpan } from "@hexclave/shared/dist/utils/telemetry";
import * as yup from "yup";
import { SmartRequestAuth } from "./smart-request";
import { SmartRouteHandler, createSmartRouteHandler, routeHandlerTypeHelper } from "./smart-route-handler";
@@ -414,8 +414,8 @@ async function validate(obj: unknown, schema: yup.ISchema, currentUser: Us
}
import.meta.vitest?.test("createCudHandlers", async ({ expect }) => {
- const { createCrud } = await import("@stackframe/stack-shared/dist/crud");
- const { yupObject, yupString } = await import("@stackframe/stack-shared/dist/schema-fields");
+ const { createCrud } = await import("@hexclave/shared/dist/crud");
+ const { yupObject, yupString } = await import("@hexclave/shared/dist/schema-fields");
const itemClientSchema = yupObject({
id: yupString().defined(),
diff --git a/apps/backend/src/route-handlers/not-found-handler.tsx b/apps/backend/src/route-handlers/not-found-handler.tsx
index 76309737d1..593a6d5aa4 100644
--- a/apps/backend/src/route-handlers/not-found-handler.tsx
+++ b/apps/backend/src/route-handlers/not-found-handler.tsx
@@ -1,5 +1,5 @@
-import { yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { createSmartRouteHandler } from "./smart-route-handler";
export const NotFoundHandler = createSmartRouteHandler({
diff --git a/apps/backend/src/route-handlers/prisma-handler.tsx b/apps/backend/src/route-handlers/prisma-handler.tsx
index 7e06c51323..4117a162b0 100644
--- a/apps/backend/src/route-handlers/prisma-handler.tsx
+++ b/apps/backend/src/route-handlers/prisma-handler.tsx
@@ -1,8 +1,8 @@
import { Prisma } from "@/generated/prisma/client";
import { globalPrismaClient } from "@/prisma-client";
import type * as PrismaRuntime from "@prisma/client/runtime/client";
-import { CrudSchema, CrudTypeOf } from "@stackframe/stack-shared/dist/crud";
-import { typedAssign } from "@stackframe/stack-shared/dist/utils/objects";
+import { CrudSchema, CrudTypeOf } from "@hexclave/shared/dist/crud";
+import { typedAssign } from "@hexclave/shared/dist/utils/objects";
import * as yup from "yup";
import { CrudHandlers, ParamsSchema, QuerySchema, createCrudHandlers } from "./crud-handler";
import { SmartRequestAuth } from "./smart-request";
diff --git a/apps/backend/src/route-handlers/redirect-handler.tsx b/apps/backend/src/route-handlers/redirect-handler.tsx
index 266029e6ea..77ebbfb2f7 100644
--- a/apps/backend/src/route-handlers/redirect-handler.tsx
+++ b/apps/backend/src/route-handlers/redirect-handler.tsx
@@ -1,6 +1,6 @@
import "../polyfills";
-import { yupArray, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
+import { yupArray, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
import { NextRequest } from "next/server";
import { createSmartRouteHandler } from "./smart-route-handler";
diff --git a/apps/backend/src/route-handlers/smart-request.tsx b/apps/backend/src/route-handlers/smart-request.tsx
index 63469d01f4..b3c946bcad 100644
--- a/apps/backend/src/route-handlers/smart-request.tsx
+++ b/apps/backend/src/route-handlers/smart-request.tsx
@@ -6,15 +6,15 @@ import { getProjectQuery, listManagedProjectIds } from "@/lib/projects";
import { DEFAULT_BRANCH_ID, Tenancy, getSoleTenancyFromProjectBranchQuery } from "@/lib/tenancies";
import { decodeAccessToken } from "@/lib/tokens";
import { globalPrismaClient, rawQueryAll } from "@/prisma-client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { StackAdaptSentinel, yupValidate } from "@stackframe/stack-shared/dist/schema-fields";
-import { groupBy, typedIncludes } from "@stackframe/stack-shared/dist/utils/arrays";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError, captureError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
-import { traceSpan, withTraceSpan } from "@stackframe/stack-shared/dist/utils/telemetry";
+import { KnownErrors } from "@hexclave/shared";
+import { ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { StackAdaptSentinel, yupValidate } from "@hexclave/shared/dist/schema-fields";
+import { groupBy, typedIncludes } from "@hexclave/shared/dist/utils/arrays";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError, captureError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
+import { traceSpan, withTraceSpan } from "@hexclave/shared/dist/utils/telemetry";
import { NextRequest } from "next/server";
import * as yup from "yup";
diff --git a/apps/backend/src/route-handlers/smart-response.tsx b/apps/backend/src/route-handlers/smart-response.tsx
index 36b45df95d..5a870951a7 100644
--- a/apps/backend/src/route-handlers/smart-response.tsx
+++ b/apps/backend/src/route-handlers/smart-response.tsx
@@ -1,8 +1,8 @@
-import { yupValidate } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Json } from "@stackframe/stack-shared/dist/utils/json";
-import { deepPlainEquals } from "@stackframe/stack-shared/dist/utils/objects";
-import { traceSpan } from "@stackframe/stack-shared/dist/utils/telemetry";
+import { yupValidate } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { Json } from "@hexclave/shared/dist/utils/json";
+import { deepPlainEquals } from "@hexclave/shared/dist/utils/objects";
+import { traceSpan } from "@hexclave/shared/dist/utils/telemetry";
import { NextRequest } from "next/server";
import * as yup from "yup";
import "../polyfills";
diff --git a/apps/backend/src/route-handlers/smart-route-handler.tsx b/apps/backend/src/route-handlers/smart-route-handler.tsx
index fc1e0146bd..33eace2847 100644
--- a/apps/backend/src/route-handlers/smart-route-handler.tsx
+++ b/apps/backend/src/route-handlers/smart-route-handler.tsx
@@ -2,13 +2,13 @@ import "../polyfills";
import { recordRequestStats } from "@/lib/dev-request-stats";
import * as Sentry from "@sentry/nextjs";
-import { EndpointDocumentation } from "@stackframe/stack-shared/dist/crud";
-import { KnownError, KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError, captureError, errorToNiceString } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { traceSpan } from "@stackframe/stack-shared/dist/utils/telemetry";
+import { EndpointDocumentation } from "@hexclave/shared/dist/crud";
+import { KnownError, KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError, captureError, errorToNiceString } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously, wait } from "@hexclave/shared/dist/utils/promises";
+import { traceSpan } from "@hexclave/shared/dist/utils/telemetry";
import { NextRequest } from "next/server";
import * as yup from "yup";
import { DeepPartialSmartRequestWithSentinel, MergeSmartRequest, SmartRequest, createSmartRequest, validateSmartRequest } from "./smart-request";
diff --git a/apps/backend/src/route-handlers/verification-code-handler.tsx b/apps/backend/src/route-handlers/verification-code-handler.tsx
index 8c1796c272..51d269e9be 100644
--- a/apps/backend/src/route-handlers/verification-code-handler.tsx
+++ b/apps/backend/src/route-handlers/verification-code-handler.tsx
@@ -3,13 +3,13 @@ import { validateRedirectUrl } from "@/lib/redirect-urls";
import { getSoleTenancyFromProjectBranch, getTenancy, Tenancy } from "@/lib/tenancies";
import { globalPrismaClient } from "@/prisma-client";
import { Prisma, VerificationCodeType } from "@/generated/prisma/client";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { DeepPartial } from "@stackframe/stack-shared/dist/utils/objects";
+import { KnownErrors } from "@hexclave/shared";
+import { ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { DeepPartial } from "@hexclave/shared/dist/utils/objects";
import * as yup from "yup";
import { SmartRequest } from "./smart-request";
import { SmartResponse } from "./smart-response";
diff --git a/apps/backend/src/s3.tsx b/apps/backend/src/s3.tsx
index 8ee39cc351..816858536b 100644
--- a/apps/backend/src/s3.tsx
+++ b/apps/backend/src/s3.tsx
@@ -1,6 +1,6 @@
import { GetObjectCommand, PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, StatusError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, StatusError } from "@hexclave/shared/dist/utils/errors";
import { ImageProcessingError, parseBase64Image } from "./lib/images";
const S3_REGION = getEnvVariable("STACK_S3_REGION", "");
diff --git a/apps/backend/src/scripts/regen-internal-subscriptions-to-latest.test.ts b/apps/backend/src/scripts/regen-internal-subscriptions-to-latest.test.ts
index 6cfef36261..44d22af8be 100644
--- a/apps/backend/src/scripts/regen-internal-subscriptions-to-latest.test.ts
+++ b/apps/backend/src/scripts/regen-internal-subscriptions-to-latest.test.ts
@@ -1,8 +1,8 @@
import { randomUUID } from "node:crypto";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import type Stripe from "stripe";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
import {
runRegenInternalSubscriptionsToLatest,
type StripeClientForRegen,
diff --git a/apps/backend/src/smart-router.tsx b/apps/backend/src/smart-router.tsx
index 4b138b958f..ceca8831bc 100644
--- a/apps/backend/src/smart-router.tsx
+++ b/apps/backend/src/smart-router.tsx
@@ -1,14 +1,14 @@
-import { isTruthy } from "@stackframe/stack-shared/dist/utils/booleans";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { numberCompare } from "@stackframe/stack-shared/dist/utils/numbers";
+import { isTruthy } from "@hexclave/shared/dist/utils/booleans";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { numberCompare } from "@hexclave/shared/dist/utils/numbers";
// SmartRouter may be imported on the edge, so we can't import fs at the top level
// hence, we define some wrapper functions
-const listRecursively: typeof import("@stackframe/stack-shared/dist/utils/fs").listRecursively = async (...args) => {
+const listRecursively: typeof import("@hexclave/shared/dist/utils/fs").listRecursively = async (...args) => {
// SmartRouter may be imported on the edge, so we can't import fs at the top level
// hence, this wrapper function
- const m = await import("@stackframe/stack-shared/dist/utils/fs");
+ const m = await import("@hexclave/shared/dist/utils/fs");
return await m.listRecursively(...args);
};
const readFile = async (path: string) => {
diff --git a/apps/backend/src/stack.tsx b/apps/backend/src/stack.tsx
index 1128ccb6af..00094e9607 100644
--- a/apps/backend/src/stack.tsx
+++ b/apps/backend/src/stack.tsx
@@ -1,5 +1,5 @@
-import { StackServerApp } from '@stackframe/stack';
-import { getEnvVariable } from '@stackframe/stack-shared/dist/utils/env';
+import { StackServerApp } from '@hexclave/next';
+import { getEnvVariable } from '@hexclave/shared/dist/utils/env';
export function getStackServerApp() {
// Fail fast if the backend self-URL env var is missing — without it the SDK
diff --git a/apps/backend/src/utils/background-tasks.tsx b/apps/backend/src/utils/background-tasks.tsx
index e23f55c3dd..95dc22b7e6 100644
--- a/apps/backend/src/utils/background-tasks.tsx
+++ b/apps/backend/src/utils/background-tasks.tsx
@@ -1,5 +1,5 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { ignoreUnhandledRejection, runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { ignoreUnhandledRejection, runAsynchronously } from "@hexclave/shared/dist/utils/promises";
// Tracked for SIGTERM drain on non-Vercel runtimes (e.g. Cloud Run).
const inFlightPromises = new Set>();
diff --git a/apps/backend/src/utils/telemetry.tsx b/apps/backend/src/utils/telemetry.tsx
index 9cf3d7aa7b..a871dea9fa 100644
--- a/apps/backend/src/utils/telemetry.tsx
+++ b/apps/backend/src/utils/telemetry.tsx
@@ -1,6 +1,6 @@
import { Attributes, AttributeValue, Span, trace } from "@opentelemetry/api";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
const tracer = trace.getTracer('stack-backend');
diff --git a/apps/dashboard/DESIGN-GUIDE.md b/apps/dashboard/DESIGN-GUIDE.md
index ade99f4298..1b6f5157d8 100644
--- a/apps/dashboard/DESIGN-GUIDE.md
+++ b/apps/dashboard/DESIGN-GUIDE.md
@@ -47,7 +47,7 @@ Use this when implementing a new dashboard UI quickly:
9. Need settings/property grid editor?
- Use `DesignEditableGrid`.
10. Need interactive / sortable / searchable data table?
- - Use `DataGrid` + `useDataSource` + `createDefaultDataGridState` from `@stackframe/dashboard-ui-components`.
+ - Use `DataGrid` + `useDataSource` + `createDefaultDataGridState` from `@hexclave/dashboard-ui-components`.
11. Need dropdown action/selector/toggle menu?
- Use `DesignMenu`.
12. Need a focus-trapping modal/dialog (confirmation, rich modal, tester, form)?
@@ -531,7 +531,7 @@ Rules:
### 4.12 `DataGrid` + `useDataSource` + `createDefaultDataGridState`
-Package: `@stackframe/dashboard-ui-components`
+Package: `@hexclave/dashboard-ui-components`
Use for:
@@ -541,7 +541,7 @@ Use for:
Canonical pattern:
```tsx
-import { DataGrid, useDataSource, createDefaultDataGridState, type DataGridColumnDef } from "@stackframe/dashboard-ui-components";
+import { DataGrid, useDataSource, createDefaultDataGridState, type DataGridColumnDef } from "@hexclave/dashboard-ui-components";
const columns: DataGridColumnDef[] = [
{ id: "name", header: "Name", accessor: "name", width: 200, type: "string" },
@@ -647,7 +647,7 @@ File: `packages/dashboard-ui-components/src/components/dialog.tsx` (re-exported
Use for:
- any focus-trapping modal in the dashboard (confirmations, rich detail dialogs, tester surfaces, settings forms presented as modals)
-- replacing hand-wired `Dialog` + `DialogContent` + `DialogHeader` combinations from `@stackframe/stack-ui`
+- replacing hand-wired `Dialog` + `DialogContent` + `DialogHeader` combinations from `@hexclave/ui`
Props you should use most:
@@ -663,7 +663,7 @@ Props you should use most:
- `hideTopCloseButton`: hide the top-right "X" rendered by `DialogContent` for fully custom close affordances.
- `bodyClassName` / `headerClassName` / `footerClassName` / `overlayClassName` / `className`: fine-grained class overrides for each region.
-Re-exports (import these from the same module — do not mix with `@stackframe/stack-ui` for the same dialog):
+Re-exports (import these from the same module — do not mix with `@hexclave/ui` for the same dialog):
- `DesignDialogClose` (alias of `DialogClose`)
- `DesignDialogTrigger` (alias of `DialogTrigger`)
diff --git a/apps/dashboard/instrumentation-client.ts b/apps/dashboard/instrumentation-client.ts
index f8a83551c9..c147fa90b9 100644
--- a/apps/dashboard/instrumentation-client.ts
+++ b/apps/dashboard/instrumentation-client.ts
@@ -4,9 +4,9 @@
import { getPublicEnvVar } from "@/lib/env";
import * as Sentry from "@sentry/nextjs";
-import { getBrowserCompatibilityReport } from "@stackframe/stack-shared/dist/utils/browser-compat";
-import { sentryBaseConfig } from "@stackframe/stack-shared/dist/utils/sentry";
-import { nicify } from "@stackframe/stack-shared/dist/utils/strings";
+import { getBrowserCompatibilityReport } from "@hexclave/shared/dist/utils/browser-compat";
+import { sentryBaseConfig } from "@hexclave/shared/dist/utils/sentry";
+import { nicify } from "@hexclave/shared/dist/utils/strings";
import posthog from "posthog-js";
export const onRouterTransitionStart = Sentry.captureRouterTransitionStart;
diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json
index 4e8583b427..82fa4bd38b 100644
--- a/apps/dashboard/package.json
+++ b/apps/dashboard/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/dashboard",
- "version": "2.8.103",
+ "name": "@hexclave/dashboard",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"scripts": {
@@ -61,9 +61,9 @@
"@radix-ui/react-tooltip": "^1.1.3",
"@react-hook/resize-observer": "^2.0.2",
"@sentry/nextjs": "^10.11.0",
- "@stackframe/dashboard-ui-components": "workspace:*",
- "@stackframe/stack": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/dashboard-ui-components": "workspace:*",
+ "@hexclave/next": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"@stripe/connect-js": "^3.3.27",
"@stripe/react-connect-js": "^3.3.24",
"@stripe/react-stripe-js": "^3.8.1",
diff --git a/apps/dashboard/scripts/bundle-type-definitions.ts b/apps/dashboard/scripts/bundle-type-definitions.ts
index 3165bcff05..141cfff984 100644
--- a/apps/dashboard/scripts/bundle-type-definitions.ts
+++ b/apps/dashboard/scripts/bundle-type-definitions.ts
@@ -1,4 +1,4 @@
-import { writeFileSyncIfChanged } from '@stackframe/stack-shared/dist/utils/fs';
+import { writeFileSyncIfChanged } from '@hexclave/shared/dist/utils/fs';
import { glob } from 'glob';
import * as fs from 'node:fs/promises';
import * as path from 'node:path';
diff --git a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/components.tsx b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/components.tsx
index f29e358802..c4b25be947 100644
--- a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/components.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/components.tsx
@@ -24,9 +24,9 @@ import {
cn,
} from "@/components/ui";
import { ArrowLeftIcon, CheckCircleIcon, WarningCircleIcon } from "@phosphor-icons/react";
-import { AdminOwnedProject } from "@stackframe/stack";
-import { ALL_APPS, type AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { previewTemplateSource } from "@stackframe/stack-shared/dist/helpers/emails";
+import { AdminOwnedProject } from "@hexclave/next";
+import { ALL_APPS, type AppId } from "@hexclave/shared/dist/apps/apps-config";
+import { previewTemplateSource } from "@hexclave/shared/dist/helpers/emails";
import type { TimelineStep } from "./shared";
diff --git a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/content.tsx b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/content.tsx
index 4f975f9ab6..485dea7ffd 100644
--- a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/content.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/content.tsx
@@ -24,12 +24,12 @@ import {
import { useDashboardInternalUser } from "@/lib/dashboard-user";
import { getPublicEnvVar } from "@/lib/env";
import { PlusCircleIcon } from "@phosphor-icons/react";
-import { AdminOwnedProject, useStackApp } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert, wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { AdminOwnedProject, useStackApp } from "@hexclave/next";
+import { runAsynchronouslyWithAlert, wait } from "@hexclave/shared/dist/utils/promises";
import { useSearchParams } from "next/navigation";
import { Suspense, useCallback, useEffect, useMemo, useRef, useState } from "react";
-import type { ProjectOnboardingStatus } from "@stackframe/stack-shared/dist/schema-fields";
+import type { ProjectOnboardingStatus } from "@hexclave/shared/dist/schema-fields";
import { ProjectOnboardingWizard } from "./project-onboarding-wizard";
import {
beginPendingAction,
diff --git a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/link-existing-onboarding.tsx b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/link-existing-onboarding.tsx
index 57096bba16..b6be3e3be3 100644
--- a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/link-existing-onboarding.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/link-existing-onboarding.tsx
@@ -10,11 +10,11 @@ import { DesignSelectorDropdown } from "@/components/design-components/select";
import { ActionDialog, Spinner, Typography, cn } from "@/components/ui";
import { useDashboardInternalUser } from "@/lib/dashboard-user";
import { ArrowsClockwiseIcon, GithubLogoIcon, LinkBreakIcon, LockSimpleIcon, TerminalWindowIcon } from "@phosphor-icons/react";
-import { type AdminOwnedProject, type PushedConfigSource } from "@stackframe/stack";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert, wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { type AdminOwnedProject, type PushedConfigSource } from "@hexclave/next";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert, wait } from "@hexclave/shared/dist/utils/promises";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import sodium from "libsodium-wrappers";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/project-onboarding-wizard.test.tsx b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/project-onboarding-wizard.test.tsx
index 7b8707307e..d6e7a4ba5a 100644
--- a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/project-onboarding-wizard.test.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/project-onboarding-wizard.test.tsx
@@ -87,17 +87,17 @@ vi.mock("@/lib/config-update", () => ({
useUpdateConfig: () => mockUpdateConfig,
}));
-vi.mock("@stackframe/stack", () => ({
+vi.mock("@hexclave/next", () => ({
AdminOwnedProject: class {},
AuthPage: () =>
Auth preview
,
}));
-vi.mock("@stackframe/stack-shared/dist/utils/oauth", () => ({
+vi.mock("@hexclave/shared/dist/utils/oauth", () => ({
allProviders: ["google", "github", "microsoft", "spotify"],
sharedProviders: ["google", "github", "microsoft", "spotify"],
}));
-vi.mock("@stackframe/stack-shared/dist/utils/promises", () => ({
+vi.mock("@hexclave/shared/dist/utils/promises", () => ({
runAsynchronouslyWithAlert: (fn: () => Promise) => fn(),
}));
@@ -141,7 +141,7 @@ vi.mock("./link-existing-onboarding", () => ({
import { ProjectOnboardingWizard } from "./project-onboarding-wizard";
import { normalizeProjectOnboardingState, orderedAppIds, REQUIRED_APP_IDS } from "./shared";
-import { ALL_APPS } from "@stackframe/stack-shared/dist/apps/apps-config";
+import { ALL_APPS } from "@hexclave/shared/dist/apps/apps-config";
afterEach(() => {
cleanup();
diff --git a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/project-onboarding-wizard.tsx b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/project-onboarding-wizard.tsx
index 1a72e1ed06..90623764b3 100644
--- a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/project-onboarding-wizard.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/project-onboarding-wizard.tsx
@@ -29,11 +29,11 @@ import {
WarningCircleIcon,
WebhooksLogoIcon,
} from "@phosphor-icons/react";
-import { AdminOwnedProject, AuthPage } from "@stackframe/stack";
-import { type AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { type EnvironmentConfigOverrideOverride } from "@stackframe/stack-shared/dist/config/schema";
-import { projectOnboardingStatusValues, type ProjectOnboardingStatus } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { AdminOwnedProject, AuthPage } from "@hexclave/next";
+import { type AppId } from "@hexclave/shared/dist/apps/apps-config";
+import { type EnvironmentConfigOverrideOverride } from "@hexclave/shared/dist/config/schema";
+import { projectOnboardingStatusValues, type ProjectOnboardingStatus } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import {
diff --git a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/shared.ts b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/shared.ts
index a7c4772028..7dc1dfe7ed 100644
--- a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/shared.ts
+++ b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client-parts/shared.ts
@@ -1,9 +1,9 @@
import { stackAppInternalsSymbol } from "@/lib/stack-app-internals";
-import { AdminOwnedProject } from "@stackframe/stack";
-import { ALL_APPS, type AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { projectOnboardingStatusValues, type ProjectOnboardingStatus } from "@stackframe/stack-shared/dist/schema-fields";
-import { sharedProviders } from "@stackframe/stack-shared/dist/utils/oauth";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { AdminOwnedProject } from "@hexclave/next";
+import { ALL_APPS, type AppId } from "@hexclave/shared/dist/apps/apps-config";
+import { projectOnboardingStatusValues, type ProjectOnboardingStatus } from "@hexclave/shared/dist/schema-fields";
+import { sharedProviders } from "@hexclave/shared/dist/utils/oauth";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
const PROJECT_ONBOARDING_STATUSES = projectOnboardingStatusValues;
diff --git a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/page-client.tsx
index 2e705dc7a7..6eeee3ea1f 100644
--- a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/page-client.tsx
@@ -7,14 +7,14 @@ import { Button, Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle,
import { getPublicEnvVar } from "@/lib/env";
import { stackAppInternalsSymbol } from "@/lib/stack-app-internals";
import { GearIcon } from "@phosphor-icons/react";
-import { AdminOwnedProject, Team, useStackApp, useUser } from "@stackframe/stack";
-import { isPaidPlan } from "@stackframe/stack-shared/dist/plans";
-import { projectOnboardingStatusValues, strictEmailSchema, yupObject, type ProjectOnboardingStatus } from "@stackframe/stack-shared/dist/schema-fields";
-import { groupBy } from "@stackframe/stack-shared/dist/utils/arrays";
-import { captureError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously, runAsynchronouslyWithAlert, wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { useQueryState } from "@stackframe/stack-shared/dist/utils/react";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { AdminOwnedProject, Team, useStackApp, useUser } from "@hexclave/next";
+import { isPaidPlan } from "@hexclave/shared/dist/plans";
+import { projectOnboardingStatusValues, strictEmailSchema, yupObject, type ProjectOnboardingStatus } from "@hexclave/shared/dist/schema-fields";
+import { groupBy } from "@hexclave/shared/dist/utils/arrays";
+import { captureError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously, runAsynchronouslyWithAlert, wait } from "@hexclave/shared/dist/utils/promises";
+import { useQueryState } from "@hexclave/shared/dist/utils/react";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { Suspense, useCallback, useEffect, useMemo, useState } from "react";
import * as yup from "yup";
import { inviteUser, listInvitations, revokeInvitation } from "./actions";
diff --git a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/preview-project-redirect.tsx b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/preview-project-redirect.tsx
index 609ffcd65e..51f8cee759 100644
--- a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/preview-project-redirect.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/preview-project-redirect.tsx
@@ -3,9 +3,9 @@
import Loading from "@/app/loading";
import { useRouter } from "@/components/router";
import { stackAppInternalsSymbol } from "@/lib/stack-app-internals";
-import { useStackApp, useUser } from "@stackframe/stack";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useStackApp, useUser } from "@hexclave/next";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useEffect, useMemo, useRef } from "react";
export default function PreviewProjectRedirect() {
diff --git a/apps/dashboard/src/app/(main)/(protected)/layout-client.tsx b/apps/dashboard/src/app/(main)/(protected)/layout-client.tsx
index de0da7ce84..bd5ccbd9fb 100644
--- a/apps/dashboard/src/app/(main)/(protected)/layout-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/layout-client.tsx
@@ -1,13 +1,13 @@
"use client";
import Loading from "@/app/loading";
-import { CursorBlastEffect } from "@stackframe/dashboard-ui-components";
+import { CursorBlastEffect } from "@hexclave/dashboard-ui-components";
import { ConfigUpdateDialogProvider } from "@/lib/config-update";
import { getPublicEnvVar } from '@/lib/env';
-import { useStackApp, useUser } from "@stackframe/stack";
-import { LOCAL_EMULATOR_ADMIN_EMAIL, LOCAL_EMULATOR_ADMIN_PASSWORD } from "@stackframe/stack-shared/dist/local-emulator";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { useStackApp, useUser } from "@hexclave/next";
+import { LOCAL_EMULATOR_ADMIN_EMAIL, LOCAL_EMULATOR_ADMIN_PASSWORD } from "@hexclave/shared/dist/local-emulator";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { useEffect, useRef } from "react";
export default function LayoutClient({ children }: { children: React.ReactNode }) {
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe-section-with-data.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe-section-with-data.tsx
index 88f9478f0c..01a09478cd 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe-section-with-data.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe-section-with-data.tsx
@@ -2,7 +2,7 @@
import { stackAppInternalsSymbol } from "@/lib/stack-app-internals";
import { cn } from "@/lib/utils";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import { ErrorBoundary } from "next/dist/client/components/error-boundary";
import { useAdminApp } from '../use-admin-app';
import { GlobeSection } from './globe';
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe.tsx
index c8f28aa51a..85d0c3b0ee 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe.tsx
@@ -3,11 +3,11 @@ import { useDashboardUser } from '@/lib/dashboard-user';
import { useThemeWatcher } from '@/lib/theme';
import { cn } from '@/lib/utils';
import useResizeObserver from '@react-hook/resize-observer';
-import { UserAvatar } from '@stackframe/stack';
-import type { MetricsRecentUser } from '@stackframe/stack-shared/dist/interface/admin-metrics';
-import { throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { use } from '@stackframe/stack-shared/dist/utils/react';
-import { getFlagEmoji } from '@stackframe/stack-shared/dist/utils/unicode';
+import { UserAvatar } from '@hexclave/next';
+import type { MetricsRecentUser } from '@hexclave/shared/dist/interface/admin-metrics';
+import { throwErr } from '@hexclave/shared/dist/utils/errors';
+import { use } from '@hexclave/shared/dist/utils/react';
+import { getFlagEmoji } from '@hexclave/shared/dist/utils/unicode';
import { Link } from '@/components/link';
import dynamic from 'next/dynamic';
import { RefObject, Suspense, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/line-chart.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/line-chart.tsx
index de728313eb..22f956258d 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/line-chart.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/line-chart.tsx
@@ -10,7 +10,7 @@ import {
ANALYTICS_CHART_DEFAULT_STATE,
AnalyticsChart,
type AnalyticsChartState,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { useRouter } from "@/components/router";
import {
cn,
@@ -19,8 +19,8 @@ import {
import { Calendar } from "@/components/ui/calendar";
import { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from "@/components/ui/chart";
import { Popover, PopoverAnchor, PopoverContent } from "@/components/ui/popover";
-import { UserAvatar } from '@stackframe/stack';
-import { fromNow, isWeekend } from '@stackframe/stack-shared/dist/utils/dates';
+import { UserAvatar } from '@hexclave/next';
+import { fromNow, isWeekend } from '@hexclave/shared/dist/utils/dates';
import { useId, useMemo, useState } from "react";
import { Area, Bar, BarChart, CartesianGrid, Cell, ComposedChart, Line, LineChart, Pie, PieChart, TooltipProps, XAxis, YAxis } from "recharts";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-loading.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-loading.tsx
index 960f91a45c..eafa1bd08a 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-loading.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-loading.tsx
@@ -1,7 +1,7 @@
'use client';
import { Button, Card, CardContent, cn } from '@/components/ui';
-import { captureError } from '@stackframe/stack-shared/dist/utils/errors';
+import { captureError } from '@hexclave/shared/dist/utils/errors';
import { ArrowClockwiseIcon, CircleNotchIcon, WarningCircleIcon } from '@phosphor-icons/react';
const capturedMetricsErrors = new WeakSet();
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-page.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-page.tsx
index f542fef158..8e12d44796 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-page.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-page.tsx
@@ -15,9 +15,9 @@ import {
} from "@/lib/stack-app-internals";
import { CompassIcon, EnvelopeIcon, EnvelopeOpenIcon, GlobeIcon, SquaresFourIcon, WarningCircleIcon, XCircleIcon } from "@phosphor-icons/react";
import useResizeObserver from '@react-hook/resize-observer';
-import { useUser } from "@stackframe/stack";
-import { ALL_APPS } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { useUser } from "@hexclave/next";
+import { ALL_APPS } from "@hexclave/shared/dist/apps/apps-config";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { ErrorBoundary } from "next/dist/client/components/error-boundary";
import { type ElementType, Suspense, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
import { PageLayout } from "../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/setup-page.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/setup-page.tsx
index 809086dbf7..0ae48c5db0 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/setup-page.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/setup-page.tsx
@@ -8,8 +8,8 @@ import { StyledLink } from '@/components/link';
import { CopyPromptButton, Tabs, TabsContent, TabsList, TabsTrigger, Typography, cn } from "@/components/ui";
import { useThemeWatcher } from '@/lib/theme';
import { BookIcon, SparkleIcon, XIcon } from "@phosphor-icons/react";
-import { use } from "@stackframe/stack-shared/dist/utils/react";
-import { deindent } from '@stackframe/stack-shared/dist/utils/strings';
+import { use } from "@hexclave/shared/dist/utils/react";
+import { deindent } from '@hexclave/shared/dist/utils/strings';
import dynamic from "next/dynamic";
import Image from 'next/image';
import { Suspense, useRef, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/@modal/(.)apps/[appId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/@modal/(.)apps/[appId]/page-client.tsx
index 6ecb0835d1..73ef1447fe 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/@modal/(.)apps/[appId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/@modal/(.)apps/[appId]/page-client.tsx
@@ -7,7 +7,7 @@ import { Dialog, DialogContent, DialogTitle } from "@/components/ui";
import { ALL_APPS_FRONTEND, getAppPath, isSubApp } from "@/lib/apps-frontend";
import { isAppEnabled } from "@/lib/apps-utils";
import { useUpdateConfig } from "@/lib/config-update";
-import { AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
+import { AppId } from "@hexclave/shared/dist/apps/apps-config";
import { usePathname } from "next/navigation";
import { useEffect, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/@modal/(.)apps/[appId]/page.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/@modal/(.)apps/[appId]/page.tsx
index 60ce6a1209..2a174cb6ef 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/@modal/(.)apps/[appId]/page.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/@modal/(.)apps/[appId]/page.tsx
@@ -1,4 +1,4 @@
-import { ALL_APPS, AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
+import { ALL_APPS, AppId } from "@hexclave/shared/dist/apps/apps-config";
import { notFound } from "next/navigation";
import AppDetailsModalPageClient from "./page-client";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/queries/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/queries/page-client.tsx
index 0e40542852..90aca7f9b0 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/queries/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/queries/page-client.tsx
@@ -28,8 +28,8 @@ import {
SpinnerGapIcon,
TrashIcon,
} from "@phosphor-icons/react";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useCallback, useMemo, useState } from "react";
import { AppEnabledGuard } from "../../app-enabled-guard";
import { PageLayout } from "../../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/shared.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/shared.tsx
index 8e9d359939..eb2bf54e35 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/shared.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/shared.tsx
@@ -16,8 +16,8 @@ import {
} from "@phosphor-icons/react";
import { Alert, AlertDescription, Button } from "@/components/ui";
import { useDashboardInternalUser } from "@/lib/dashboard-user";
-import { PLAN_LIMITS, resolvePlanId } from "@stackframe/stack-shared/dist/plans";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { PLAN_LIMITS, resolvePlanId } from "@hexclave/shared/dist/plans";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useVirtualizer } from "@tanstack/react-virtual";
import { useMemo, useRef } from "react";
import { useAdminApp } from "../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/ai-query-bar.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/ai-query-bar.tsx
index 70ea162234..d79cfd7291 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/ai-query-bar.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/ai-query-bar.tsx
@@ -9,7 +9,7 @@ import {
SpinnerGapIcon,
XIcon,
} from "@phosphor-icons/react";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { useCallback, useState, type KeyboardEvent } from "react";
import type { AiQueryChat } from "./use-ai-query-chat";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/ai-query-dialog.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/ai-query-dialog.tsx
index 1e80621352..d11826cee8 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/ai-query-dialog.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/ai-query-dialog.tsx
@@ -30,11 +30,11 @@ import {
TrashIcon,
XIcon,
} from "@phosphor-icons/react";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
import {
runAsynchronously,
runAsynchronouslyWithAlert,
-} from "@stackframe/stack-shared/dist/utils/promises";
+} from "@hexclave/shared/dist/utils/promises";
import {
useCallback,
useEffect,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/page-client.tsx
index 18d70181bd..0ce61384d2 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/page-client.tsx
@@ -4,7 +4,7 @@ import { Link } from "@/components/link";
import { Button, Typography } from "@/components/ui";
import { cn } from "@/lib/utils";
import { ArrowClockwiseIcon, CodeIcon } from "@phosphor-icons/react";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { useCallback, useState } from "react";
import { AppEnabledGuard } from "../../app-enabled-guard";
import { PageLayout } from "../../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/query-data-grid.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/query-data-grid.tsx
index 3d7c30a657..125348e1a9 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/query-data-grid.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/query-data-grid.tsx
@@ -20,7 +20,7 @@ import {
type DataGridDataSource,
type DataGridState,
type DataGridToolbarContext,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import {
forwardRef,
useCallback,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/use-ai-query-chat.ts b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/use-ai-query-chat.ts
index 748dc9d3bf..7f45a5d676 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/use-ai-query-chat.ts
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/analytics/tables/use-ai-query-chat.ts
@@ -3,8 +3,8 @@
import { createAnalyticsQueryChatAdapter } from "@/components/vibe-coding";
import { getPublicEnvVar } from "@/lib/env";
import { useLocalThreadRuntime, type AssistantRuntime, type ThreadMessage, type ToolCallContentPart } from "@assistant-ui/react";
-import { useUser } from "@stackframe/stack";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { useUser } from "@hexclave/next";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { useProjectId } from "../../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/app-enabled-guard.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/app-enabled-guard.tsx
index 76521cff3f..d348ce5531 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/app-enabled-guard.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/app-enabled-guard.tsx
@@ -2,7 +2,7 @@
import { useRouter } from "@/components/router";
import { isAppEnabled } from "@/lib/apps-utils";
-import { AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
+import { AppId } from "@hexclave/shared/dist/apps/apps-config";
import { Typography } from "@/components/ui";
import type { ReactNode } from "react";
import { useEffect } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/[appId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/[appId]/page-client.tsx
index 9a77eb63e9..623532ab77 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/[appId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/[appId]/page-client.tsx
@@ -6,8 +6,8 @@ import { useRouter } from "@/components/router";
import { useUpdateConfig } from "@/lib/config-update";
import { ALL_APPS_FRONTEND, getAppPath, getDocumentationHref, isSubApp, type AppId } from "@/lib/apps-frontend";
import { isAppEnabled } from "@/lib/apps-utils";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { PageLayout } from "../../page-layout";
export default function AppDetailsPageClient({ appId }: { appId: AppId }) {
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/[appId]/page.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/[appId]/page.tsx
index 64cfa3d031..b0e1da358a 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/[appId]/page.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/[appId]/page.tsx
@@ -1,4 +1,4 @@
-import { ALL_APPS, AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
+import { ALL_APPS, AppId } from "@hexclave/shared/dist/apps/apps-config";
import { notFound } from "next/navigation";
import AppDetailsPageClient from "./page-client";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/page-client.tsx
index cf65866c36..06069b9a58 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/apps/page-client.tsx
@@ -6,8 +6,8 @@ import { DesignAlert, DesignCard, DesignCategoryTabs, DesignInput } from "@/comp
import { type AppId } from "@/lib/apps-frontend";
import { getEnabledAppIds } from "@/lib/apps-utils";
import { CheckCircleIcon, MagnifyingGlassIcon, SquaresFourIcon } from "@phosphor-icons/react";
-import { ALL_APPS } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { ALL_APPS } from "@hexclave/shared/dist/apps/apps-config";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { useMemo, useState } from "react";
import { PageLayout } from "../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/auth-methods/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/auth-methods/page-client.tsx
index f8535d189b..2c990a4606 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/auth-methods/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/auth-methods/page-client.tsx
@@ -10,7 +10,7 @@ import {
DesignCard,
DesignCardTint,
DesignInput,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { DesignMenu, type DesignMenuActionItem } from "@/components/design-components/menu";
import { DesignSelectorDropdown } from "@/components/design-components/select";
import {
@@ -28,14 +28,14 @@ import {
UserCircleIcon,
UserPlusIcon,
} from "@phosphor-icons/react";
-import { AdminProject, AuthPage } from "@stackframe/stack";
-import type { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import type { RestrictedReason } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { allProviders } from "@stackframe/stack-shared/dist/utils/oauth";
-import { typedFromEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { AdminProject, AuthPage } from "@hexclave/next";
+import type { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import type { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { allProviders } from "@hexclave/shared/dist/utils/oauth";
+import { typedFromEntries } from "@hexclave/shared/dist/utils/objects";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { useId, useMemo, useState } from "react";
import { AppEnabledGuard } from "../app-enabled-guard";
import { PageLayout } from "../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/auth-methods/providers.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/auth-methods/providers.tsx
index 47e9cbdfe7..d34111e44c 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/auth-methods/providers.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/auth-methods/providers.tsx
@@ -9,13 +9,13 @@ import {
DesignCardTint,
DesignInput,
DesignPillToggle,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { getPublicEnvVar } from '@/lib/env';
import { ArrowRightIcon, InfoIcon, WarningCircleIcon } from "@phosphor-icons/react";
-import { AdminProject } from "@stackframe/stack";
-import { yupBoolean, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { sharedProviders } from "@stackframe/stack-shared/dist/utils/oauth";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { AdminProject } from "@hexclave/next";
+import { yupBoolean, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { sharedProviders } from "@hexclave/shared/dist/utils/oauth";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { useState, type ReactNode } from "react";
import type { UseFormReturn } from "react-hook-form";
import { useWatch } from "react-hook-form";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/conversations/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/conversations/page-client.tsx
index 0eac87f8bd..1e930dbee2 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/conversations/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/conversations/page-client.tsx
@@ -42,12 +42,12 @@ import {
type ConversationStatus,
type ConversationSummary,
} from "@/lib/conversation-types";
-import { useUser } from "@stackframe/stack";
-import { computeSlaUrgency, type SlaUrgency } from "@stackframe/stack-shared/dist/helpers/support-sla";
-import { fromNow } from "@stackframe/stack-shared/dist/utils/dates";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { useUser } from "@hexclave/next";
+import { computeSlaUrgency, type SlaUrgency } from "@hexclave/shared/dist/helpers/support-sla";
+import { fromNow } from "@hexclave/shared/dist/utils/dates";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import {
ArrowLeftIcon,
ArrowSquareOutIcon,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/dashboards/[dashboardId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/dashboards/[dashboardId]/page-client.tsx
index 52d74cc77d..00139a8065 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/dashboards/[dashboardId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/dashboards/[dashboardId]/page-client.tsx
@@ -25,11 +25,11 @@ import {
TrashIcon,
XIcon,
} from "@phosphor-icons/react";
-import { ALL_APPS } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { ALL_APPS } from "@hexclave/shared/dist/apps/apps-config";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import type { AppId } from "@/lib/apps-frontend";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { getPublicEnvVar } from "@/lib/env";
import { usePathname } from "next/navigation";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/dashboards/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/dashboards/page-client.tsx
index c777edf585..a140b820ed 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/dashboards/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/dashboards/page-client.tsx
@@ -12,9 +12,9 @@ import {
PlusIcon,
TrashIcon,
} from "@phosphor-icons/react";
-import { DesignCard } from "@stackframe/dashboard-ui-components";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { DesignCard } from "@hexclave/dashboard-ui-components";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { useMemo, useState } from "react";
import * as yup from "yup";
import { PageLayout } from "../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/data-vault/stores/[storeId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/data-vault/stores/[storeId]/page-client.tsx
index 549192878b..0e73d71d42 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/data-vault/stores/[storeId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/data-vault/stores/[storeId]/page-client.tsx
@@ -12,7 +12,7 @@ import {
import { ActionDialog, Label, toast } from "@/components/ui";
import { useUpdateConfig } from "@/lib/config-update";
import { ArrowLeftIcon, CopyIcon, DatabaseIcon, HashIcon, TagIcon, TrashIcon } from "@phosphor-icons/react";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { useMemo, useState } from "react";
import { useRouter } from "../../../../../../../../components/router";
import { AppEnabledGuard } from "../../../app-enabled-guard";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/data-vault/stores/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/data-vault/stores/page-client.tsx
index 0348ef88b9..fc82c86457 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/data-vault/stores/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/data-vault/stores/page-client.tsx
@@ -8,8 +8,8 @@ import {
import { ActionDialog, Label, toast } from "@/components/ui";
import { useUpdateConfig } from "@/lib/config-update";
import { DatabaseIcon, PlusIcon } from "@phosphor-icons/react";
-import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@stackframe/stack-shared/dist/schema-fields";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
+import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@hexclave/shared/dist/schema-fields";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
import { useState } from "react";
import { useRouter } from "../../../../../../../components/router";
import { AppEnabledGuard } from "../../app-enabled-guard";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/analytics-chart-state-panel.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/analytics-chart-state-panel.tsx
index 9ad39e551f..e5ea91704f 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/analytics-chart-state-panel.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/analytics-chart-state-panel.tsx
@@ -32,7 +32,7 @@ import {
type FormatKindDatetime,
type FormatKindPercent,
type FormatKindType,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
/** Shared wrapper row used throughout the state panel: rounded border,
* subtle background, label + mono key caption, and a right-side slot. */
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/analytics-chart-usage-viewer.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/analytics-chart-usage-viewer.tsx
index 1a013c5243..e62015f387 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/analytics-chart-usage-viewer.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/analytics-chart-usage-viewer.tsx
@@ -6,7 +6,7 @@ import {
DesignButton,
} from "@/components/design-components";
import { CursorClickIcon } from "@phosphor-icons/react";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useState } from "react";
import type {
AnalyticsChartLayer,
@@ -14,7 +14,7 @@ import type {
Annotation,
FormatKind,
Point,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
function formatFormatKindLiteral(kind: FormatKind): string {
const fields: string[] = [`type: "${kind.type}"`];
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/fixtures.ts b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/fixtures.ts
index 808a83af5e..eee1bba42c 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/fixtures.ts
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/fixtures.ts
@@ -7,7 +7,7 @@ import {
type AnalyticsChartState,
type Annotation,
type Point,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
const DAY_COUNT = 30;
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/panels.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/panels.tsx
index e5661c177c..ce4fc1fd6c 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/panels.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/demo/panels.tsx
@@ -21,7 +21,7 @@ import {
formatValue,
TrendPill,
type FormatKind,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { TABLE_ROWS, type TableRow } from "./fixtures";
export { TrendPill };
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/page-client.tsx
index 1645d5aff3..1e18c2396a 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/chart-demo/page-client.tsx
@@ -13,7 +13,7 @@ import {
pointValue,
type AnalyticsChartState,
type Annotation,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import {
AnalyticsChartEventsPanel,
type AnalyticsChartLabEvent,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/datagrid-demo/demo/fixtures.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/datagrid-demo/demo/fixtures.tsx
index 566309e202..985db7efe7 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/datagrid-demo/demo/fixtures.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/datagrid-demo/demo/fixtures.tsx
@@ -1,4 +1,4 @@
-import type { DataGridColumnDef } from "@stackframe/dashboard-ui-components";
+import type { DataGridColumnDef } from "@hexclave/dashboard-ui-components";
// ─── Sample data type ────────────────────────────────────────────────
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/datagrid-demo/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/datagrid-demo/page-client.tsx
index dd590059b4..bf7a4b3153 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/datagrid-demo/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/datagrid-demo/page-client.tsx
@@ -9,7 +9,7 @@ import {
LightningIcon,
XIcon,
} from "@phosphor-icons/react";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useCallback, useMemo, useRef, useState } from "react";
import { PageLayout } from "../../page-layout";
import {
@@ -19,7 +19,7 @@ import {
type DataGridCellContext,
type DataGridDataSource,
type DataGridState,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import {
DEMO_COLUMNS,
DEMO_USERS_200,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/realistic-demo/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/realistic-demo/page-client.tsx
index ce8a836b5f..08e1f5f05c 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/realistic-demo/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/design-language/realistic-demo/page-client.tsx
@@ -33,8 +33,8 @@ import {
WarningCircle
} from "@phosphor-icons/react";
import { Bar, BarChart, CartesianGrid, Cell, XAxis, YAxis, type TooltipProps } from "recharts";
-import { isWeekend } from "@stackframe/stack-shared/dist/utils/dates";
-import { DataGrid, useDataSource, type DataGridColumnDef, createDefaultDataGridState } from "@stackframe/dashboard-ui-components";
+import { isWeekend } from "@hexclave/shared/dist/utils/dates";
+import { DataGrid, useDataSource, type DataGridColumnDef, createDefaultDataGridState } from "@hexclave/dashboard-ui-components";
import { useCallback, useMemo, useState } from "react";
import { PageLayout } from "../../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/domains/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/domains/page-client.tsx
index 4b5561c45a..bcee8cfd8b 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/domains/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/domains/page-client.tsx
@@ -5,12 +5,12 @@ import { InlineSaveDiscard } from "@/components/inline-save-discard";
import { SettingCard, SettingSwitch } from "@/components/settings";
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionCell, ActionDialog, Alert, Button, Typography } from "@/components/ui";
import { useUpdateConfig } from "@/lib/config-update";
-import { DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@stackframe/dashboard-ui-components";
-import { yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { isValidHostnameWithWildcards, isValidUrl } from "@stackframe/stack-shared/dist/utils/urls";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@hexclave/dashboard-ui-components";
+import { yupString } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { isValidHostnameWithWildcards, isValidUrl } from "@hexclave/shared/dist/utils/urls";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import React, { useMemo, useState } from "react";
import * as yup from "yup";
import { AppEnabledGuard } from "../app-enabled-guard";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/[draftId]/draft-progress-bar.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/[draftId]/draft-progress-bar.tsx
index f9b4d16569..a319a9bc70 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/[draftId]/draft-progress-bar.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/[draftId]/draft-progress-bar.tsx
@@ -2,7 +2,7 @@
import { Check } from "@phosphor-icons/react";
import { cn } from "@/lib/utils";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
export type DraftStep = {
id: string,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/[draftId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/[draftId]/page-client.tsx
index e451743727..19b6cdcd4f 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/[draftId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/[draftId]/page-client.tsx
@@ -13,9 +13,9 @@ import { EmailDraftUI } from "@/components/vibe-coding/draft-tool-components";
import { useDashboardUser } from "@/lib/dashboard-user";
import { getPublicEnvVar } from "@/lib/env";
import { PauseIcon, PlayIcon, XCircleIcon } from "@phosphor-icons/react";
-import { AdminEmailOutbox, AdminEmailOutboxStatus } from "@stackframe/stack";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { AdminEmailOutbox, AdminEmailOutboxStatus } from "@hexclave/next";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { useSearchParams } from "next/navigation";
import { useCallback, useEffect, useMemo, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/page-client.tsx
index de7d7632b4..caef66ec52 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/page-client.tsx
@@ -7,8 +7,8 @@ import { useRouter } from "@/components/router";
import { ActionDialog, Alert, AlertDescription, AlertTitle, Button, Dialog, DialogContent, DialogHeader, DialogTitle, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Input, Label, Spinner, Typography } from "@/components/ui";
import { cn } from "@/lib/utils";
import { ArrowLeft, CaretDown, ClockCounterClockwise, Copy, DotsThreeVertical, FileCode, FileText, PaperPlaneTilt, Pencil, Plus, WarningCircle } from "@phosphor-icons/react";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { useMemo, useState, type ElementType } from "react";
import * as yup from "yup";
import { AppEnabledGuard } from "../app-enabled-guard";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-outbox/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-outbox/page-client.tsx
index 0adbd3e729..abedc8642f 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-outbox/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-outbox/page-client.tsx
@@ -2,12 +2,12 @@
import { SettingCard } from "@/components/settings";
import { ActionDialog, Badge, Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SimpleTooltip, Switch, Typography, useToast } from "@/components/ui";
-import { DataGrid, DataGridToolbar, useDataGridUrlState, useDataSource, type DataGridColumnDef, type DataGridDataSource } from "@stackframe/dashboard-ui-components";
+import { DataGrid, DataGridToolbar, useDataGridUrlState, useDataSource, type DataGridColumnDef, type DataGridDataSource } from "@hexclave/dashboard-ui-components";
import { cn } from "@/lib/utils";
import { DotsThreeIcon, PauseIcon, PlayIcon, XCircleIcon } from "@phosphor-icons/react";
-import { AdminEmailOutbox, AdminEmailOutboxSimpleStatus, AdminEmailOutboxStatus } from "@stackframe/stack";
-import { fromNow } from "@stackframe/stack-shared/dist/utils/dates";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { AdminEmailOutbox, AdminEmailOutboxSimpleStatus, AdminEmailOutboxStatus } from "@hexclave/next";
+import { fromNow } from "@hexclave/shared/dist/utils/dates";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { PageLayout } from "../page-layout";
import { useAdminApp } from "../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/domain-reputation-card.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/domain-reputation-card.tsx
index a845873083..8416876364 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/domain-reputation-card.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/domain-reputation-card.tsx
@@ -5,7 +5,7 @@ import { DesignCard } from "@/components/design-components";
import { SimpleTooltip, Typography } from "@/components/ui";
import { cn } from "@/lib/utils";
import { Gauge } from "@phosphor-icons/react";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useEffect, useState } from "react";
import { useAdminApp } from "../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/email-status-utils.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/email-status-utils.tsx
index 70e8f8d5ea..ddb02a828d 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/email-status-utils.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/email-status-utils.tsx
@@ -1,5 +1,5 @@
import { DesignBadgeColor } from "@/components/design-components";
-import { AdminEmailOutboxStatus } from "@stackframe/stack";
+import { AdminEmailOutboxStatus } from "@hexclave/next";
import { StatsBarData } from "./stats-bar";
export const STATUS_LABELS: Record = {
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/grouped-email-table.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/grouped-email-table.tsx
index 942d493bb5..b5cd183979 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/grouped-email-table.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/grouped-email-table.tsx
@@ -2,14 +2,14 @@
import { useRouter } from "@/components/router";
import { Spinner, Typography } from "@/components/ui";
-import { AdminEmailOutbox, AdminEmailOutboxStatus } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { AdminEmailOutbox, AdminEmailOutboxStatus } from "@hexclave/next";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import {
DataGrid,
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { useEffect, useMemo, useState } from "react";
import { useAdminApp } from "../use-admin-app";
import { StatsBar, StatsBarData } from "./stats-bar";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/no-source/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/no-source/page-client.tsx
index 98de0b568a..486855f932 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/no-source/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/no-source/page-client.tsx
@@ -1,7 +1,7 @@
"use client";
import { useCallback } from "react";
-import { AdminEmailOutbox } from "@stackframe/stack";
+import { AdminEmailOutbox } from "@hexclave/next";
import { AppEnabledGuard } from "../../app-enabled-guard";
import { PageLayout } from "../../page-layout";
import { SentEmailsView } from "../sent-emails-view";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/page-client.tsx
index 96bc4276f9..414e4ac8f6 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/page-client.tsx
@@ -6,14 +6,14 @@ import { DesignPillToggle } from "@/components/design-components";
import { useRouter } from "@/components/router";
import { Spinner, Typography } from "@/components/ui";
import { Envelope } from "@phosphor-icons/react";
-import { AdminEmailOutbox } from "@stackframe/stack";
+import { AdminEmailOutbox } from "@hexclave/next";
import {
DataGrid,
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
type DataGridDataSource,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { useCallback, useMemo, useState } from "react";
import { AppEnabledGuard } from "../app-enabled-guard";
import { PageLayout } from "../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/sent-emails-view.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/sent-emails-view.tsx
index 2ce8fad664..27fc3fc430 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/sent-emails-view.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-sent/sent-emails-view.tsx
@@ -5,14 +5,14 @@ import { DesignCard } from "@/components/design-components";
import { useRouter } from "@/components/router";
import { Spinner, Typography } from "@/components/ui";
import { Envelope } from "@phosphor-icons/react";
-import { AdminEmailOutbox } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { AdminEmailOutbox } from "@hexclave/next";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import {
DataGrid,
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { type ReactNode, useCallback, useEffect, useMemo, useState } from "react";
import { useAdminApp, useProjectId } from "../use-admin-app";
import { DomainReputationCard } from "./domain-reputation-card";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-settings/domain-settings.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-settings/domain-settings.tsx
index 03e3ed34a8..c66b1b2b78 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-settings/domain-settings.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-settings/domain-settings.tsx
@@ -11,8 +11,8 @@ import {
import { useUpdateConfig } from "@/lib/config-update";
import { getPublicEnvVar } from "@/lib/env";
import { cn } from "@/lib/utils";
-import { AdminEmailConfig } from "@stackframe/stack";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
+import { AdminEmailConfig } from "@hexclave/next";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
import {
ArrowLeft,
ArrowsClockwise,
@@ -32,8 +32,8 @@ import {
Trash,
WarningDiamond,
} from "@phosphor-icons/react";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { ActionDialog, Dialog, DialogContent, DialogTitle, Label, Popover, PopoverContent, PopoverTrigger, Typography, useToast } from "@/components/ui";
import { useCallback, useEffect, useMemo, useState } from "react";
import * as yup from "yup";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-settings/theme-settings.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-settings/theme-settings.tsx
index 2f1bd54ef8..a44f2458b2 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-settings/theme-settings.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-settings/theme-settings.tsx
@@ -7,8 +7,8 @@ import { useRouter } from "@/components/router";
import { Typography } from "@/components/ui";
import { cn } from "@/lib/utils";
import { ArrowRightIcon, CheckIcon, PaintBrush } from "@phosphor-icons/react";
-import { previewTemplateSource } from "@stackframe/stack-shared/dist/helpers/emails";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { previewTemplateSource } from "@hexclave/shared/dist/helpers/emails";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import React, { useMemo } from "react";
import { useAdminApp } from "../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/[templateId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/[templateId]/page-client.tsx
index 871bcc5d28..724ad4edb2 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/[templateId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/[templateId]/page-client.tsx
@@ -17,9 +17,9 @@ import {
import { applyWysiwygEdit, ToolCallContent } from "@/components/vibe-coding/chat-adapters";
import { useDashboardUser } from "@/lib/dashboard-user";
import { getPublicEnvVar } from "@/lib/env";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { useCallback, useEffect, useRef, useState } from "react";
const BUILDER_STATUS_MESSAGES = [
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/[templateId]/sent/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/[templateId]/sent/page-client.tsx
index c996670dcd..4f3b8e0d97 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/[templateId]/sent/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/[templateId]/sent/page-client.tsx
@@ -1,7 +1,7 @@
"use client";
import { useCallback, useMemo } from "react";
-import { AdminEmailOutbox } from "@stackframe/stack";
+import { AdminEmailOutbox } from "@hexclave/next";
import { AppEnabledGuard } from "../../../app-enabled-guard";
import { PageLayout } from "../../../page-layout";
import { useAdminApp } from "../../../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/[themeId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/[themeId]/page-client.tsx
index 17fad99ca4..ef9c544b37 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/[themeId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/[themeId]/page-client.tsx
@@ -12,9 +12,9 @@ import {
} from "@/components/vibe-coding/chat-adapters";
import { useDashboardUser } from "@/lib/dashboard-user";
import { getPublicEnvVar } from "@/lib/env";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { previewTemplateSource } from "@stackframe/stack-shared/dist/helpers/emails";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { previewTemplateSource } from "@hexclave/shared/dist/helpers/emails";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
import { useCallback, useEffect, useState } from "react";
const BUILDER_STATUS_MESSAGES = [
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/page-client.tsx
index 36c2789d77..677eb640b5 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/page-client.tsx
@@ -8,9 +8,9 @@ import { ActionDialog, Alert, AlertDescription, AlertTitle, Button, Typography }
import { useUpdateConfig } from "@/lib/config-update";
import { cn } from "@/lib/utils";
import { CheckIcon, DeviceMobile, DeviceTablet, Monitor, Palette, Plus, Trash } from "@phosphor-icons/react";
-import { DEFAULT_EMAIL_THEMES, DEFAULT_EMAIL_THEME_ID, previewTemplateSource } from "@stackframe/stack-shared/dist/helpers/emails";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { DEFAULT_EMAIL_THEMES, DEFAULT_EMAIL_THEME_ID, previewTemplateSource } from "@hexclave/shared/dist/helpers/emails";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useEffect, useRef, useState, type ElementType } from "react";
import * as yup from "yup";
import { AppEnabledGuard } from "../app-enabled-guard";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-viewer/[emailId]/email-timeline.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-viewer/[emailId]/email-timeline.tsx
index 6769398e97..7d6e9e9669 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-viewer/[emailId]/email-timeline.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-viewer/[emailId]/email-timeline.tsx
@@ -3,7 +3,7 @@
import { cn } from "@/lib/utils";
import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui";
import { TooltipPortal } from "@radix-ui/react-tooltip";
-import { AdminEmailOutbox, AdminSendAttemptError } from "@stackframe/stack";
+import { AdminEmailOutbox, AdminSendAttemptError } from "@hexclave/next";
type TimelineEvent = {
id: string,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-viewer/[emailId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-viewer/[emailId]/page-client.tsx
index fa6b800822..d8cb90ea68 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-viewer/[emailId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-viewer/[emailId]/page-client.tsx
@@ -7,8 +7,8 @@ import { ActionDialog, Alert, AlertDescription, AlertTitle, Badge, Button, Input
import { CodeEditor, VibeCodeLayout, type ViewportMode } from "@/components/vibe-coding";
import { cn } from "@/lib/utils";
import { ArrowLeftIcon, Info, PauseIcon, PencilSimple, PlayIcon, XCircleIcon } from "@phosphor-icons/react";
-import { AdminEmailOutbox, AdminEmailOutboxStatus } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { AdminEmailOutbox, AdminEmailOutboxStatus } from "@hexclave/next";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useRouter } from "@/components/router";
import { useCallback, useEffect, useState } from "react";
import { PageLayout } from "../../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx
index 10b8f31c0d..203b18b9b8 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx
@@ -8,18 +8,18 @@ import { useRouter } from "@/components/router";
import { useUpdateConfig } from "@/lib/config-update";
import { getPublicEnvVar } from "@/lib/env";
import { ArrowSquareOut, CheckCircle, Envelope, HardDrive, Sliders, WarningCircleIcon, XCircle, XIcon } from "@phosphor-icons/react";
-import { AdminEmailConfig, AdminProject, AdminSentEmail, ServerUser, UserAvatar } from "@stackframe/stack";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { strictEmailSchema } from "@stackframe/stack-shared/dist/schema-fields";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { deepPlainEquals } from "@stackframe/stack-shared/dist/utils/objects";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { AdminEmailConfig, AdminProject, AdminSentEmail, ServerUser, UserAvatar } from "@hexclave/next";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { strictEmailSchema } from "@hexclave/shared/dist/schema-fields";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { deepPlainEquals } from "@hexclave/shared/dist/utils/objects";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import {
DataGrid,
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { useEffect, useMemo, useState, type ElementType } from "react";
import * as yup from "yup";
import { AppEnabledGuard } from "../app-enabled-guard";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/expert-mode/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/expert-mode/page-client.tsx
index 105929c6dd..285a02a9d6 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/expert-mode/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/expert-mode/page-client.tsx
@@ -1,8 +1,8 @@
"use client";
import { Alert, Button, Card, CardContent, CardHeader, CardTitle, Input, Textarea, Typography } from "@/components/ui";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import React, { useEffect, useMemo } from "react";
import { PageLayout } from "../page-layout";
import { useAdminApp } from "../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/external-db-sync/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/external-db-sync/page-client.tsx
index b86e5dcdbf..9f13f4d1aa 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/external-db-sync/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/external-db-sync/page-client.tsx
@@ -14,10 +14,10 @@ import {
Switch,
Typography,
} from "@/components/ui";
-import { DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@stackframe/dashboard-ui-components";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@hexclave/dashboard-ui-components";
+import { Result } from "@hexclave/shared/dist/utils/results";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { notFound } from "next/navigation";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/launch-checklist/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/launch-checklist/page-client.tsx
index c22eea820c..24a7c8e8ce 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/launch-checklist/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/launch-checklist/page-client.tsx
@@ -16,7 +16,7 @@ import {
cn
} from "@/components/ui";
import { CaretDownIcon, CaretUpIcon, CheckCircleIcon, CircleIcon, ClockIcon } from "@phosphor-icons/react";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import * as confetti from "canvas-confetti";
import { useEffect, useRef, useState } from "react";
import { AppEnabledGuard } from "../app-enabled-guard";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/onboarding/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/onboarding/page-client.tsx
index deac771312..b52a2e8e1d 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/onboarding/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/onboarding/page-client.tsx
@@ -10,8 +10,8 @@ import {
import { Typography } from "@/components/ui";
import { useUpdateConfig } from "@/lib/config-update";
import { WarningCircle } from "@phosphor-icons/react";
-import type { RestrictedReason } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import type { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useState } from "react";
import { AppEnabledGuard } from "../app-enabled-guard";
import { PageLayout } from "../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/customers/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/customers/page-client.tsx
index a24e67de69..4f397803db 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/customers/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/customers/page-client.tsx
@@ -22,11 +22,11 @@ import {
} from "@/components/ui";
import { useUpdateConfig } from "@/lib/config-update";
import { CaretUpDownIcon } from "@phosphor-icons/react";
-import { createDefaultDataGridState, DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@stackframe/dashboard-ui-components";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { createDefaultDataGridState, DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@hexclave/dashboard-ui-components";
+import { KnownErrors } from "@hexclave/shared";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { Suspense, useEffect, useMemo, useState } from "react";
import { useWatch } from "react-hook-form";
import * as yup from "yup";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/layout.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/layout.tsx
index 1398e0fdf1..15b40931ae 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/layout.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/layout.tsx
@@ -9,7 +9,7 @@ import { useUpdateConfig } from "@/lib/config-update";
import { cn } from "@/lib/utils";
import { getPublicEnvVar } from "@/lib/env";
import { ArrowRightIcon, ArrowsClockwiseIcon, ChartBarIcon, FlaskIcon, ShieldIcon, WalletIcon, WarningIcon, WebhooksLogoIcon } from "@phosphor-icons/react";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { ConnectNotificationBanner } from "@stripe/react-connect-js";
import { usePathname } from "next/navigation";
import { useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/[productId]/edit/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/[productId]/edit/page-client.tsx
index a3b2e883f1..bf2f508e93 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/[productId]/edit/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/[productId]/edit/page-client.tsx
@@ -24,8 +24,8 @@ import { SubpageHeader } from "@/components/design-components/subpage-header";
import { useUpdateConfig } from "@/lib/config-update";
import { cn } from "@/lib/utils";
import { ClockIcon, HardDriveIcon, PackageIcon, PlusIcon, PuzzlePieceIcon, StackIcon, TrashIcon } from "@phosphor-icons/react";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
import { useState } from "react";
import { useAdminApp, useProjectId } from "../../../../use-admin-app";
import { CreateProductLineDialog } from "../../create-product-line-dialog";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/[productId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/[productId]/page-client.tsx
index fa75bb5dd1..29f251219e 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/[productId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/[productId]/page-client.tsx
@@ -38,16 +38,16 @@ import {
toast,
Typography,
} from "@/components/ui";
-import { createDefaultDataGridState, DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@stackframe/dashboard-ui-components";
+import { createDefaultDataGridState, DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@hexclave/dashboard-ui-components";
import { useUpdateConfig } from "@/lib/config-update";
import { ArrowLeftIcon, ClockIcon, CopyIcon, CurrencyDollarIcon, DotsThreeIcon, FolderOpenIcon, GiftIcon, HardDriveIcon, PackageIcon, PencilSimpleIcon, PlusIcon, PuzzlePieceIcon, StackIcon, TagIcon, TrashIcon, UsersIcon } from "@phosphor-icons/react";
-import type { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import type { Transaction, TransactionEntry } from "@stackframe/stack-shared/dist/interface/crud/transactions";
-import type { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
-import { fromNow } from "@stackframe/stack-shared/dist/utils/dates";
-import { prettyPrintWithMagnitudes } from "@stackframe/stack-shared/dist/utils/numbers";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import type { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import type { Transaction, TransactionEntry } from "@hexclave/shared/dist/interface/crud/transactions";
+import type { DayInterval } from "@hexclave/shared/dist/utils/dates";
+import { fromNow } from "@hexclave/shared/dist/utils/dates";
+import { prettyPrintWithMagnitudes } from "@hexclave/shared/dist/utils/numbers";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { Suspense, useMemo, useState } from "react";
import { PageLayout } from "../../../page-layout";
import { useAdminApp, useProjectId } from "../../../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/components.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/components.tsx
index 3617ab3217..ea16da7af3 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/components.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/components.tsx
@@ -11,7 +11,7 @@ import {
} from "@/components/ui";
import { cn } from "@/lib/utils";
import { CaretUpDownIcon } from "@phosphor-icons/react";
-import type { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
+import type { DayInterval } from "@hexclave/shared/dist/utils/dates";
import { useState } from "react";
import { DEFAULT_INTERVAL_UNITS } from "./utils";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/create-product-line-dialog.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/create-product-line-dialog.tsx
index b261b5ee0a..90567a7078 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/create-product-line-dialog.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/create-product-line-dialog.tsx
@@ -8,8 +8,8 @@ import {
} from "@/components/design-components";
import { Label, SimpleTooltip, Typography } from "@/components/ui";
import { FolderOpenIcon } from "@phosphor-icons/react";
-import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useState } from "react";
// Helper to convert display name to ID format
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/included-item-dialog.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/included-item-dialog.tsx
index a8b870f19b..891a3e41e5 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/included-item-dialog.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/included-item-dialog.tsx
@@ -10,7 +10,7 @@ import {
import { Checkbox, Label, SimpleTooltip, Typography } from "@/components/ui";
import { cn } from "@/lib/utils";
import { PackageIcon } from "@phosphor-icons/react";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
import { useEffect, useMemo, useState } from "react";
type ExpiresOption = 'never' | 'when-purchase-expires' | 'when-repeated';
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/new/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/new/page-client.tsx
index efc800edb8..a3061d4d41 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/new/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/new/page-client.tsx
@@ -27,10 +27,10 @@ import {
import { useUpdateConfig } from "@/lib/config-update";
import { cn } from "@/lib/utils";
import { ArrowSquareOutIcon, BuildingOfficeIcon, CaretDownIcon, ChatIcon, ClockIcon, CodeIcon, CopyIcon, GearIcon, HardDriveIcon, LightningIcon, PlusIcon, PuzzlePieceIcon, StackIcon, TrashIcon, UserIcon } from "@phosphor-icons/react";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@stackframe/stack-shared/dist/schema-fields";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@hexclave/shared/dist/schema-fields";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useSearchParams } from "next/navigation";
import { useLayoutEffect, useMemo, useRef, useState } from "react";
import { useAdminApp, useProjectId } from "../../../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/page-client-list-view.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/page-client-list-view.tsx
index 1a944589e4..805756bce5 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/page-client-list-view.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/page-client-list-view.tsx
@@ -7,13 +7,13 @@ import { ActionDialog, Alert, AlertDescription, AlertTitle, Button, DropdownMenu
import { cn } from "@/lib/utils";
import { useUpdateConfig } from "@/lib/config-update";
import { DotsThreeVerticalIcon } from "@phosphor-icons/react";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { useHover } from "@stackframe/stack-shared/dist/hooks/use-hover";
-import { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
-import { prettyPrintWithMagnitudes } from "@stackframe/stack-shared/dist/utils/numbers";
-import { typedEntries, typedFromEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { useHover } from "@hexclave/shared/dist/hooks/use-hover";
+import { DayInterval } from "@hexclave/shared/dist/utils/dates";
+import { prettyPrintWithMagnitudes } from "@hexclave/shared/dist/utils/numbers";
+import { typedEntries, typedFromEntries } from "@hexclave/shared/dist/utils/objects";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import React, { ReactNode, useEffect, useMemo, useRef, useState } from "react";
import { useAdminApp, useProjectId } from "../../use-admin-app";
import { ListSection } from "./list-section";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/page-client-product-lines-view.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/page-client-product-lines-view.tsx
index 1e1e47a9ea..2124c3a89a 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/page-client-product-lines-view.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/page-client-product-lines-view.tsx
@@ -29,14 +29,14 @@ import { cn } from "@/lib/utils";
import { useUpdateConfig } from "@/lib/config-update";
import { DndContext, DragOverlay, useDraggable, useDroppable, type DragEndEvent, type DragStartEvent } from '@dnd-kit/core';
import { CaretUpDownIcon, CircleNotchIcon, CodeIcon, CopyIcon, DotsSixVerticalIcon, DotsThreeVerticalIcon, EyeIcon, FileTextIcon, HardDriveIcon, InfoIcon, PencilSimpleIcon, PlusIcon, PuzzlePieceIcon, StackIcon, TrashIcon, XIcon } from "@phosphor-icons/react";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId } from "@stackframe/stack-shared/dist/schema-fields";
-import type { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
-import { prettyPrintWithMagnitudes } from "@stackframe/stack-shared/dist/utils/numbers";
-import { typedEntries, typedFromEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
-import { urlString } from '@stackframe/stack-shared/dist/utils/urls';
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId } from "@hexclave/shared/dist/schema-fields";
+import type { DayInterval } from "@hexclave/shared/dist/utils/dates";
+import { prettyPrintWithMagnitudes } from "@hexclave/shared/dist/utils/numbers";
+import { typedEntries, typedFromEntries } from "@hexclave/shared/dist/utils/objects";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
+import { urlString } from '@hexclave/shared/dist/utils/urls';
import { Fragment, useEffect, useMemo, useRef, useState, type ReactNode } from "react";
import { useAdminApp, useProjectId } from "../../use-admin-app";
import { IntervalPopover, OrSeparator } from "./components";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/price-dialog.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/price-dialog.tsx
index d035898551..e64a33f1b4 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/price-dialog.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/price-dialog.tsx
@@ -1,8 +1,8 @@
"use client";
import { cn } from "@/lib/utils";
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@stackframe/stack-shared/dist/schema-fields";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@hexclave/shared/dist/schema-fields";
import { Button, Checkbox, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, SimpleTooltip, Typography } from "@/components/ui";
import { useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/price-edit-dialog.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/price-edit-dialog.tsx
index d935e5bf6b..56633b1129 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/price-edit-dialog.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/price-edit-dialog.tsx
@@ -18,8 +18,8 @@ import {
PopoverTrigger,
} from "@/components/ui";
import { CaretUpDownIcon, ClockIcon, CurrencyDollarIcon, HardDriveIcon } from "@phosphor-icons/react";
-import type { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import type { DayInterval } from "@hexclave/shared/dist/utils/dates";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useMemo, useState } from "react";
import { DEFAULT_INTERVAL_UNITS, getPriceCheckoutError, PRICE_INTERVAL_UNITS, type Price } from "./utils";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-card-preview.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-card-preview.tsx
index 858e013472..26cb9777be 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-card-preview.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-card-preview.tsx
@@ -2,8 +2,8 @@
import { cn } from "@/lib/utils";
import { GiftIcon, HardDriveIcon, PuzzlePieceIcon, StackIcon } from "@phosphor-icons/react";
-import { prettyPrintWithMagnitudes } from "@stackframe/stack-shared/dist/utils/numbers";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
+import { prettyPrintWithMagnitudes } from "@hexclave/shared/dist/utils/numbers";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
import { Fragment } from "react";
import {
freeTrialLabel,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-dialog.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-dialog.tsx
index a7eb85e83e..892773f2fd 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-dialog.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-dialog.tsx
@@ -4,8 +4,8 @@ import { Stepper, StepperPage } from "@/components/stepper";
import { Button, Card, CardDescription, CardHeader, CardTitle, Checkbox, Dialog, DialogContent, DialogFooter, DialogTitle, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Typography } from "@/components/ui";
import { cn } from "@/lib/utils";
import { ArrowLeftIcon, ArrowRightIcon, CreditCardIcon, PackageIcon, PlusIcon, RepeatIcon, TrashIcon } from "@phosphor-icons/react";
-import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@stackframe/stack-shared/dist/schema-fields";
-import { getOrUndefined } from "@stackframe/stack-shared/dist/utils/objects";
+import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@hexclave/shared/dist/schema-fields";
+import { getOrUndefined } from "@hexclave/shared/dist/utils/objects";
import { useState } from "react";
import { CreateProductLineDialog } from "./create-product-line-dialog";
import { IncludedItemDialog } from "./included-item-dialog";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-price-row.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-price-row.tsx
index c774beb62c..6f230d3e99 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-price-row.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/product-price-row.tsx
@@ -11,7 +11,7 @@ import {
} from "@/components/ui";
import { cn } from "@/lib/utils";
import { InfoIcon, WarningIcon, XIcon } from "@phosphor-icons/react";
-import type { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
+import type { DayInterval } from "@hexclave/shared/dist/utils/dates";
import { useEffect, useState } from "react";
import { IntervalPopover } from "./components";
import { buildPriceUpdate, DEFAULT_INTERVAL_UNITS, freeTrialLabel, getPriceCheckoutError, intervalLabel, PRICE_INTERVAL_UNITS, Product } from "./utils";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/utils.ts b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/utils.ts
index d683d19289..fc74a62597 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/utils.ts
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/products/utils.ts
@@ -1,7 +1,7 @@
-import { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { getStripeOneTimeMinAmount } from "@stackframe/stack-shared/dist/payments/stripe-limits";
-import { isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@stackframe/stack-shared/dist/schema-fields";
-import type { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
+import { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { getStripeOneTimeMinAmount } from "@hexclave/shared/dist/payments/stripe-limits";
+import { isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@hexclave/shared/dist/schema-fields";
+import type { DayInterval } from "@hexclave/shared/dist/utils/dates";
// ============================================================================
// Types
@@ -197,7 +197,7 @@ export function isFreePrices(prices: PricesObject): boolean {
// ============================================================================
// Re-export utilities from schema-fields for convenience
-export { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@stackframe/stack-shared/dist/schema-fields";
+export { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@hexclave/shared/dist/schema-fields";
/**
* Validates if an ID matches the required pattern.
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/page-client.tsx
index 4db5433744..32470f6c7e 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/page-client.tsx
@@ -5,7 +5,7 @@ import { DesignCard } from "@/components/design-components";
import { useUpdateConfig } from "@/lib/config-update";
import { cn } from "@/lib/utils";
import { LockIcon } from "@phosphor-icons/react";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useRef, useState } from "react";
import { PageLayout } from "../../page-layout";
import { useAdminApp } from "../../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/payment-methods.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/payment-methods.tsx
index 1192fad89e..35b491c64e 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/payment-methods.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/payment-methods.tsx
@@ -5,8 +5,8 @@ import { getPaymentMethodIcon } from "@/components/ui/payment-method-icons";
import { cn } from "@/lib/utils";
import { DesignBadge, DesignButton, DesignCard } from "@/components/design-components";
import { BankIcon, CircleNotchIcon, CreditCardIcon, CurrencyCircleDollarIcon, GlobeIcon, HandCoinsIcon, LightningIcon, ReceiptIcon, WalletIcon } from "@phosphor-icons/react";
-import { getPaymentMethodCategory, PAYMENT_CATEGORIES, PAYMENT_METHOD_DEPENDENCIES, PaymentMethodCategory } from "@stackframe/stack-shared/dist/payments/payment-methods";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { getPaymentMethodCategory, PAYMENT_CATEGORIES, PAYMENT_METHOD_DEPENDENCIES, PaymentMethodCategory } from "@hexclave/shared/dist/payments/payment-methods";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useCallback, useEffect, useState } from "react";
import { useAdminApp } from "../../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/stripe-connection-check.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/stripe-connection-check.tsx
index 8aeeb7e7fb..647c264863 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/stripe-connection-check.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/settings/stripe-connection-check.tsx
@@ -4,7 +4,7 @@ import { Typography } from "@/components/ui";
import { cn } from "@/lib/utils";
import { DesignBadge, DesignButton, DesignCard } from "@/components/design-components";
import { ArrowRightIcon, CheckCircleIcon, PlugsConnectedIcon, WarningCircleIcon, XCircleIcon } from "@phosphor-icons/react";
-import { runAsynchronouslyWithAlert, wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert, wait } from "@hexclave/shared/dist/utils/promises";
import { useAdminApp } from "../../use-admin-app";
type StatusVariant = "success" | "warning" | "error";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-keys/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-keys/page-client.tsx
index a233204541..323c6b7390 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-keys/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-keys/page-client.tsx
@@ -6,7 +6,7 @@ import { SmartFormDialog } from "@/components/form-dialog";
import { SelectField } from "@/components/form-fields";
import { SettingSwitch } from "@/components/settings";
import { ActionDialog, Button, Typography } from "@/components/ui";
-import { InternalApiKeyFirstView } from "@stackframe/stack";
+import { InternalApiKeyFirstView } from "@hexclave/next";
import { useSearchParams } from "next/navigation";
import { useState } from "react";
import * as yup from "yup";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-settings/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-settings/page-client.tsx
index 4a973268a9..128846e9d1 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-settings/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-settings/page-client.tsx
@@ -13,10 +13,10 @@ import {
import { ActionDialog, Avatar, AvatarFallback, AvatarImage, SimpleTooltip, Switch, useToast } from "@/components/ui";
import { useDashboardInternalUser } from "@/lib/dashboard-user";
import { getPublicEnvVar } from "@/lib/env";
-import type { PushedConfigSource } from "@stackframe/stack";
-import { TeamSwitcher } from "@stackframe/stack";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import type { PushedConfigSource } from "@hexclave/next";
+import { TeamSwitcher } from "@hexclave/next";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { ArrowsLeftRightIcon, BuildingsIcon, GearIcon, GlobeHemisphereWestIcon, ImageIcon, WarningIcon } from "@phosphor-icons/react";
import { useCallback, useEffect, useMemo, useState } from "react";
import * as yup from "yup";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/page-client.tsx
index 3c240fca9b..900c56db3a 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/page-client.tsx
@@ -19,8 +19,8 @@ import {
} from "@/lib/session-replay-streams";
import { cn } from "@/lib/utils";
import { ArrowLeftIcon, ArrowsClockwiseIcon, CheckIcon, CursorClickIcon, FastForwardIcon, FunnelSimpleIcon, GearIcon, LinkIcon, MonitorPlayIcon, PauseIcon, PlayIcon, XIcon } from "@phosphor-icons/react";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { Panel, PanelGroup, PanelResizeHandle } from "react-resizable-panels";
import { AppEnabledGuard } from "../app-enabled-guard";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/session-replay-machine.ts b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/session-replay-machine.ts
index 30cbff6525..8ae1177331 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/session-replay-machine.ts
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/session-replays/session-replay-machine.ts
@@ -9,7 +9,7 @@ import {
globalOffsetToLocalOffset,
localOffsetToGlobalOffset,
} from "@/lib/session-replay-streams";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
// ---------------------------------------------------------------------------
// Shared constants (also used by the component shell)
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sidebar-layout.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sidebar-layout.tsx
index b197e42add..0ee5681cf1 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sidebar-layout.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sidebar-layout.tsx
@@ -37,8 +37,8 @@ import {
type Icon as PhosphorIcon,
} from "@phosphor-icons/react";
import { TooltipPortal } from "@radix-ui/react-tooltip";
-import { UserButton } from "@stackframe/stack";
-import { ALL_APPS, type AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
+import { UserButton } from "@hexclave/next";
+import { ALL_APPS, type AppId } from "@hexclave/shared/dist/apps/apps-config";
import { usePathname } from "next/navigation";
import { useCallback, useMemo, useRef, useState } from "react";
import { useAdminApp, useProjectId } from "./use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sign-up-rules/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sign-up-rules/page-client.tsx
index 1d378b076d..4ee2a0433e 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sign-up-rules/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sign-up-rules/page-client.tsx
@@ -69,15 +69,15 @@ import {
XCircleIcon,
XIcon,
} from "@phosphor-icons/react";
-import type { CompleteConfig } from "@stackframe/stack-shared/dist/config/schema";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
-import type { SignUpRule, SignUpRuleAction } from "@stackframe/stack-shared/dist/interface/crud/sign-up-rules";
-import { isValidCountryCode, normalizeCountryCode } from "@stackframe/stack-shared/dist/schema-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { standardProviders } from "@stackframe/stack-shared/dist/utils/oauth";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import type { CompleteConfig } from "@hexclave/shared/dist/config/schema";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
+import type { SignUpRule, SignUpRuleAction } from "@hexclave/shared/dist/interface/crud/sign-up-rules";
+import { isValidCountryCode, normalizeCountryCode } from "@hexclave/shared/dist/schema-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { standardProviders } from "@hexclave/shared/dist/utils/oauth";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import React, { useMemo, useRef, useState } from "react";
import { Area, AreaChart, ResponsiveContainer, YAxis } from "recharts";
import { AppEnabledGuard } from "../app-enabled-guard";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/support/page.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/support/page.tsx
index 90ce904673..72a3a24e5c 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/support/page.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/support/page.tsx
@@ -1,7 +1,7 @@
"use client";
import { useRouter } from "@/components/router";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { useParams } from "next/navigation";
import { useEffect } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-settings/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-settings/page-client.tsx
index 9e10882959..bab425b278 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-settings/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-settings/page-client.tsx
@@ -10,7 +10,7 @@ import {
import { ActionDialog, Checkbox, Switch, Typography } from "@/components/ui";
import { useUpdateConfig } from "@/lib/config-update";
import { GearSix, ShieldCheck, ShieldIcon, UserPlus, UsersIcon } from "@phosphor-icons/react";
-import { typedFromEntries } from "@stackframe/stack-shared/dist/utils/objects";
+import { typedFromEntries } from "@hexclave/shared/dist/utils/objects";
import { useCallback, useEffect, useMemo, useState } from "react";
import { AppEnabledGuard } from "../app-enabled-guard";
import { PageLayout } from "../page-layout";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/page-client.tsx
index 491406ed8c..9b3be7f900 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/page-client.tsx
@@ -12,11 +12,11 @@ import { ALL_APPS_FRONTEND } from "@/lib/apps-frontend";
import { isAppEnabled } from "@/lib/apps-utils";
import { yupResolver } from '@hookform/resolvers/yup';
import { DatabaseIcon, PlusIcon } from "@phosphor-icons/react";
-import { ServerTeam } from '@stackframe/stack';
-import { AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { strictEmailSchema, yupObject } from '@stackframe/stack-shared/dist/schema-fields';
-import { HexclaveAssertionError, throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { runAsynchronouslyWithAlert } from '@stackframe/stack-shared/dist/utils/promises';
+import { ServerTeam } from '@hexclave/next';
+import { AppId } from "@hexclave/shared/dist/apps/apps-config";
+import { strictEmailSchema, yupObject } from '@hexclave/shared/dist/schema-fields';
+import { HexclaveAssertionError, throwErr } from '@hexclave/shared/dist/utils/errors';
+import { runAsynchronouslyWithAlert } from '@hexclave/shared/dist/utils/promises';
import { notFound, usePathname, useSearchParams } from 'next/navigation';
import { Suspense, useCallback, useMemo, useState } from 'react';
import { useForm } from 'react-hook-form';
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/team-analytics.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/team-analytics.tsx
index 68c739e03a..ef2662c60a 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/team-analytics.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/team-analytics.tsx
@@ -9,10 +9,10 @@ import {
} from "@/components/design-components";
import { Avatar, AvatarFallback, AvatarImage, Skeleton, Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui";
import { WarningCircleIcon } from "@phosphor-icons/react";
-import type { DataGridColumnDef } from "@stackframe/dashboard-ui-components";
-import { ServerTeam, ServerUser } from "@stackframe/stack";
-import { captureError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import type { DataGridColumnDef } from "@hexclave/dashboard-ui-components";
+import { ServerTeam, ServerUser } from "@hexclave/next";
+import { captureError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { useEffect, useMemo, useState } from "react";
import {
Area,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/team-payments.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/team-payments.tsx
index 42b5be5679..57996a80a6 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/team-payments.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/[teamId]/team-payments.tsx
@@ -10,10 +10,10 @@ import { UserPageMetricCard } from "../../users/[userId]/user-page-metric-card";
import { UserPageTableSection } from "../../users/[userId]/user-page-table-section";
import type { Icon as PhosphorIcon } from "@phosphor-icons/react";
import { ArrowClockwiseIcon, ArrowCounterClockwiseIcon, CoinsIcon, GearIcon, ProhibitIcon, QuestionIcon, ShoppingCartIcon, ShuffleIcon } from "@phosphor-icons/react";
-import type { DataGridColumnDef } from "@stackframe/dashboard-ui-components";
-import type { ServerTeam } from "@stackframe/stack";
-import type { Transaction, TransactionEntry, TransactionType } from "@stackframe/stack-shared/dist/interface/crud/transactions";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import type { DataGridColumnDef } from "@hexclave/dashboard-ui-components";
+import type { ServerTeam } from "@hexclave/next";
+import type { Transaction, TransactionEntry, TransactionType } from "@hexclave/shared/dist/interface/crud/transactions";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import { Suspense, useMemo } from "react";
import { useAdminApp } from "../../use-admin-app";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/use-admin-app.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/use-admin-app.tsx
index 6f921fb66f..ac720ca05d 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/use-admin-app.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/use-admin-app.tsx
@@ -1,8 +1,8 @@
"use client";
import { useDashboardInternalUser } from "@/lib/dashboard-user";
-import { StackAdminApp } from "@stackframe/stack";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { StackAdminApp } from "@hexclave/next";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
import { notFound, usePathname } from "next/navigation";
import React from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx
index 2f1798f9cd..1dd8909e41 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx
@@ -44,16 +44,16 @@ import { isAppEnabled } from "@/lib/apps-utils";
import { parseRiskScore } from "@/lib/risk-score-utils";
import { useUserActivityOrThrow } from "@/lib/stack-app-internals";
import { AtIcon, CalendarIcon, CheckIcon, DatabaseIcon, EnvelopeIcon, GlobeIcon, HashIcon, PlusIcon, ProhibitIcon, ShieldIcon, SquareIcon, XIcon } from "@phosphor-icons/react";
-import { type DataGridColumnDef } from "@stackframe/dashboard-ui-components";
-import { ServerContactChannel, ServerOAuthProvider, ServerTeam, ServerUser } from "@stackframe/stack";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { normalizeCountryCode } from "@stackframe/stack-shared/dist/schema-fields";
-import { fromNow } from "@stackframe/stack-shared/dist/utils/dates";
-import { captureError, HexclaveAssertionError, throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { type DataGridColumnDef } from "@hexclave/dashboard-ui-components";
+import { ServerContactChannel, ServerOAuthProvider, ServerTeam, ServerUser } from "@hexclave/next";
+import { KnownErrors } from "@hexclave/shared";
+import { AppId } from "@hexclave/shared/dist/apps/apps-config";
+import { normalizeCountryCode } from "@hexclave/shared/dist/schema-fields";
+import { fromNow } from "@hexclave/shared/dist/utils/dates";
+import { captureError, HexclaveAssertionError, throwErr } from '@hexclave/shared/dist/utils/errors';
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { usePathname, useSearchParams } from "next/navigation";
import { Suspense, useCallback, useEffect, useMemo, useRef, useState, type ReactNode, type RefObject } from "react";
import { createPortal } from "react-dom";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-analytics.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-analytics.tsx
index 6c76668db4..13a8c24289 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-analytics.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-analytics.tsx
@@ -11,10 +11,10 @@ import {
} from "@/components/design-components";
import { Button, Skeleton, Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui";
import { FunnelXIcon, WarningCircleIcon } from "@phosphor-icons/react";
-import type { DataGridColumnDef } from "@stackframe/dashboard-ui-components";
-import { ServerUser } from "@stackframe/stack";
-import { captureError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import type { DataGridColumnDef } from "@hexclave/dashboard-ui-components";
+import { ServerUser } from "@hexclave/next";
+import { captureError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import {
Area,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-page-table-section.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-page-table-section.tsx
index dbfd5d3471..23538f2004 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-page-table-section.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-page-table-section.tsx
@@ -1,6 +1,6 @@
"use client";
-import { createDefaultDataGridState, DataGrid, type DataGridColumnDef, type DataGridSortModel, useDataGridUrlState, useDataSource } from "@stackframe/dashboard-ui-components";
+import { createDefaultDataGridState, DataGrid, type DataGridColumnDef, type DataGridSortModel, useDataGridUrlState, useDataSource } from "@hexclave/dashboard-ui-components";
import { useState, type ReactNode } from "react";
type UserPageTableSectionProps = {
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-payments.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-payments.tsx
index 000936c61e..b08db380e5 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-payments.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/user-payments.tsx
@@ -8,10 +8,10 @@ import {
import { cn, Skeleton } from "@/components/ui";
import type { Icon as PhosphorIcon } from "@phosphor-icons/react";
import { ArrowClockwiseIcon, ArrowCounterClockwiseIcon, CoinsIcon, GearIcon, ProhibitIcon, QuestionIcon, ShoppingCartIcon, ShuffleIcon } from "@phosphor-icons/react";
-import type { DataGridColumnDef } from "@stackframe/dashboard-ui-components";
-import type { ServerUser } from "@stackframe/stack";
-import type { Transaction, TransactionEntry, TransactionType } from "@stackframe/stack-shared/dist/interface/crud/transactions";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import type { DataGridColumnDef } from "@hexclave/dashboard-ui-components";
+import type { ServerUser } from "@hexclave/next";
+import type { Transaction, TransactionEntry, TransactionType } from "@hexclave/shared/dist/interface/crud/transactions";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import { Suspense, useMemo } from "react";
import { useAdminApp } from "../../use-admin-app";
import { UserPageMetricCard } from "./user-page-metric-card";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/page-client.tsx
index af86650935..2b9c10bb16 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/page-client.tsx
@@ -6,7 +6,7 @@ import { StyledLink } from "@/components/link";
import { Alert, Button, SimpleTooltip, Skeleton } from "@/components/ui";
import { UserDialog } from "@/components/user-dialog";
import { useMetricsUserCountsOrThrow } from "@/lib/stack-app-internals";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import { ArrowsClockwiseIcon, DownloadSimpleIcon } from "@phosphor-icons/react";
import { ErrorBoundary } from "next/dist/client/components/error-boundary";
import { Suspense, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/vercel/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/vercel/page-client.tsx
index 70af851d28..e58dd86030 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/vercel/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/vercel/page-client.tsx
@@ -4,8 +4,8 @@ import { EnvKeys } from "@/components/env-keys";
import { InlineCode } from "@/components/inline-code";
import { StyledLink } from "@/components/link";
import { CaretDownIcon, CaretUpIcon, CheckCircleIcon, CircleIcon, ClockIcon } from "@phosphor-icons/react";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import {
DesignAlert,
DesignBadge,
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/[endpointId]/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/[endpointId]/page-client.tsx
index 03fdb66d00..eb1c344d40 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/[endpointId]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/[endpointId]/page-client.tsx
@@ -2,7 +2,7 @@
import { DesignAlert, DesignBadge, DesignButton, DesignCard, DesignEditableGrid, type DesignEditableGridItem } from "@/components/design-components";
import { CopyButton } from "@/components/ui";
-import { DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@stackframe/dashboard-ui-components";
+import { DataGrid, useDataGridUrlState, useDataSource, type DataGridColumnDef } from "@hexclave/dashboard-ui-components";
import { getPublicEnvVar } from '@/lib/env';
import { CaretLeftIcon, CaretRightIcon, InfoIcon, KeyIcon, LinkIcon, TextAlignLeftIcon } from "@phosphor-icons/react";
import { useMemo, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/page-client.tsx
index 9991ec8ff5..8d1e739964 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/page-client.tsx
@@ -5,7 +5,7 @@ import { InputField } from "@/components/form-fields";
import { useRouter } from "@/components/router";
import { DesignAlert, DesignBadge, DesignButton, DesignCard } from "@/components/design-components";
import { getPublicEnvVar } from '@/lib/env';
-import { urlSchema } from "@stackframe/stack-shared/dist/schema-fields";
+import { urlSchema } from "@hexclave/shared/dist/schema-fields";
import { yupResolver } from "@hookform/resolvers/yup";
import { ActionCell, ActionDialog, Form, Typography } from "@/components/ui";
import { useMemo, useState } from "react";
@@ -16,7 +16,7 @@ import { AppEnabledGuard } from "../app-enabled-guard";
import { PageLayout } from "../page-layout";
import { useAdminApp } from "../use-admin-app";
import { getSvixResult } from "./utils";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { useTheme } from "@/lib/theme";
import { GlobeHemisphereWestIcon } from "@phosphor-icons/react";
import "svix-react/style.css";
@@ -25,7 +25,7 @@ import {
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
export default function PageClient() {
diff --git a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/widget-playground/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/widget-playground/page-client.tsx
index d5c1cb14c7..ab761aa23b 100644
--- a/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/widget-playground/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/widget-playground/page-client.tsx
@@ -4,16 +4,16 @@ import { PacificaCard } from '@/components/pacifica/card';
import { Button, ButtonProps, Dialog, DialogBody, DialogContent, DialogFooter, DialogHeader, DialogTitle, Input, SimpleTooltip, cn } from '@/components/ui';
import { DndContext, closestCenter, pointerWithin, useDraggable, useDroppable } from '@dnd-kit/core';
import useResizeObserver from '@react-hook/resize-observer';
-import { range } from '@stackframe/stack-shared/dist/utils/arrays';
-import { HexclaveAssertionError, errorToNiceString, throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { bundleJavaScript } from '@stackframe/stack-shared/dist/utils/esbuild';
-import { Json, isJsonSerializable } from '@stackframe/stack-shared/dist/utils/json';
-import { deepPlainEquals, filterUndefined, isNotNull } from '@stackframe/stack-shared/dist/utils/objects';
-import { runAsynchronously, runAsynchronouslyWithAlert, wait } from '@stackframe/stack-shared/dist/utils/promises';
-import { RefState, mapRefState, useRefState } from '@stackframe/stack-shared/dist/utils/react';
-import { AsyncResult, Result } from '@stackframe/stack-shared/dist/utils/results';
-import { deindent } from '@stackframe/stack-shared/dist/utils/strings';
-import { generateUuid } from '@stackframe/stack-shared/dist/utils/uuids';
+import { range } from '@hexclave/shared/dist/utils/arrays';
+import { HexclaveAssertionError, errorToNiceString, throwErr } from '@hexclave/shared/dist/utils/errors';
+import { bundleJavaScript } from '@hexclave/shared/dist/utils/esbuild';
+import { Json, isJsonSerializable } from '@hexclave/shared/dist/utils/json';
+import { deepPlainEquals, filterUndefined, isNotNull } from '@hexclave/shared/dist/utils/objects';
+import { runAsynchronously, runAsynchronouslyWithAlert, wait } from '@hexclave/shared/dist/utils/promises';
+import { RefState, mapRefState, useRefState } from '@hexclave/shared/dist/utils/react';
+import { AsyncResult, Result } from '@hexclave/shared/dist/utils/results';
+import { deindent } from '@hexclave/shared/dist/utils/strings';
+import { generateUuid } from '@hexclave/shared/dist/utils/uuids';
import { ErrorBoundary } from 'next/dist/client/components/error-boundary';
import React, { useCallback, useEffect, useRef, useState } from 'react';
import { FaBorderNone, FaPen, FaPlus, FaTrash } from 'react-icons/fa';
diff --git a/apps/dashboard/src/app/(main)/handler/[...stack]/page.tsx b/apps/dashboard/src/app/(main)/handler/[...stack]/page.tsx
index 69d5acbe82..c4c251e860 100644
--- a/apps/dashboard/src/app/(main)/handler/[...stack]/page.tsx
+++ b/apps/dashboard/src/app/(main)/handler/[...stack]/page.tsx
@@ -1,5 +1,5 @@
import { StyledLink } from "@/components/link";
-import { StackHandler } from "@stackframe/stack";
+import { StackHandler } from "@hexclave/next";
export default function Handler(props: unknown) {
const extraInfo = <>
diff --git a/apps/dashboard/src/app/(main)/integrations/featurebase/sso/page.tsx b/apps/dashboard/src/app/(main)/integrations/featurebase/sso/page.tsx
index 3f9bfd106f..8d1944694b 100644
--- a/apps/dashboard/src/app/(main)/integrations/featurebase/sso/page.tsx
+++ b/apps/dashboard/src/app/(main)/integrations/featurebase/sso/page.tsx
@@ -1,7 +1,7 @@
import { getStackServerApp } from "@/stack/server";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { getOrCreateFeaturebaseUser } from "@stackframe/stack-shared/dist/utils/featurebase";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { getOrCreateFeaturebaseUser } from "@hexclave/shared/dist/utils/featurebase";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import * as jose from "jose";
import { Metadata } from "next";
import { redirect } from "next/navigation";
diff --git a/apps/dashboard/src/app/(main)/integrations/neon-transfer-confirm-page.tsx b/apps/dashboard/src/app/(main)/integrations/neon-transfer-confirm-page.tsx
index 070b6ed45f..9fab2c208d 100644
--- a/apps/dashboard/src/app/(main)/integrations/neon-transfer-confirm-page.tsx
+++ b/apps/dashboard/src/app/(main)/integrations/neon-transfer-confirm-page.tsx
@@ -4,9 +4,9 @@ import { Logo } from "@/components/logo";
import { useRouter } from "@/components/router";
import { Button, Card, CardContent, CardFooter, CardHeader, Input, Typography } from "@/components/ui";
import { buildTransferSignUpUrl, getStackAppInternals } from "@/lib/transfer-utils";
-import { useStackApp, useUser } from "@stackframe/stack";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously, runAsynchronouslyWithAlert, wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { useStackApp, useUser } from "@hexclave/next";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously, runAsynchronouslyWithAlert, wait } from "@hexclave/shared/dist/utils/promises";
import Image from "next/image";
import { useSearchParams } from "next/navigation";
import { useEffect, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/integrations/oauth-confirm-card.tsx b/apps/dashboard/src/app/(main)/integrations/oauth-confirm-card.tsx
index 1a81906ff7..f2598ae68f 100644
--- a/apps/dashboard/src/app/(main)/integrations/oauth-confirm-card.tsx
+++ b/apps/dashboard/src/app/(main)/integrations/oauth-confirm-card.tsx
@@ -2,7 +2,7 @@
import { Logo } from "@/components/logo";
import { useDashboardInternalUser } from "@/lib/dashboard-user";
-import { AdminProject } from "@stackframe/stack";
+import { AdminProject } from "@hexclave/next";
import { Button, Card, CardContent, CardFooter, CardHeader, Input, Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, Typography } from "@/components/ui";
import Image from "next/image";
import { useSearchParams } from "next/navigation";
diff --git a/apps/dashboard/src/app/(main)/integrations/oauth-confirm-page.tsx b/apps/dashboard/src/app/(main)/integrations/oauth-confirm-page.tsx
index 45bd1cd0c9..b8915b1ede 100644
--- a/apps/dashboard/src/app/(main)/integrations/oauth-confirm-page.tsx
+++ b/apps/dashboard/src/app/(main)/integrations/oauth-confirm-page.tsx
@@ -1,6 +1,6 @@
import { getStackServerApp } from "@/stack/server";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { redirect } from "next/navigation";
import ConfirmCard from "./oauth-confirm-card";
diff --git a/apps/dashboard/src/app/(main)/integrations/transfer-confirm-page.tsx b/apps/dashboard/src/app/(main)/integrations/transfer-confirm-page.tsx
index 2b89ada25d..d8c5f6ed84 100644
--- a/apps/dashboard/src/app/(main)/integrations/transfer-confirm-page.tsx
+++ b/apps/dashboard/src/app/(main)/integrations/transfer-confirm-page.tsx
@@ -3,9 +3,9 @@
import { ProjectTransferConfirmView, type ProjectTransferConfirmUiState } from "@/components/project-transfer-confirm-view";
import { useRouter } from "@/components/router";
import { buildTransferSignUpUrl, getStackAppInternals } from "@/lib/transfer-utils";
-import { useStackApp, useUser } from "@stackframe/stack";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { useStackApp, useUser } from "@hexclave/next";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously, wait } from "@hexclave/shared/dist/utils/promises";
import { useSearchParams } from "next/navigation";
import { useEffect, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/purchase/[code]/page-client.tsx b/apps/dashboard/src/app/(main)/purchase/[code]/page-client.tsx
index e401c9cd35..a465ec38bf 100644
--- a/apps/dashboard/src/app/(main)/purchase/[code]/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/purchase/[code]/page-client.tsx
@@ -5,9 +5,9 @@ import { StripeElementsProvider } from "@/components/payments/stripe-elements-pr
import { Alert, AlertDescription, AlertTitle, Button, Card, CardContent, Input, Skeleton, Typography } from "@/components/ui";
import { getPublicEnvVar } from "@/lib/env";
import { MinusIcon, PlusIcon } from "@phosphor-icons/react";
-import { inlineProductSchema } from "@stackframe/stack-shared/dist/schema-fields";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
+import { inlineProductSchema } from "@hexclave/shared/dist/schema-fields";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
import Image from 'next/image';
import { useSearchParams } from "next/navigation";
import { useCallback, useEffect, useMemo, useState } from "react";
diff --git a/apps/dashboard/src/app/(main)/purchase/return/page-client.tsx b/apps/dashboard/src/app/(main)/purchase/return/page-client.tsx
index c2baceafc8..c21b6ac8db 100644
--- a/apps/dashboard/src/app/(main)/purchase/return/page-client.tsx
+++ b/apps/dashboard/src/app/(main)/purchase/return/page-client.tsx
@@ -2,8 +2,8 @@
import { StyledLink } from "@/components/link";
import { getPublicEnvVar } from "@/lib/env";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { Typography } from "@/components/ui";
import { loadStripe } from "@stripe/stripe-js";
import { useSearchParams } from "next/navigation";
diff --git a/apps/dashboard/src/app/api/[...any]/route.tsx b/apps/dashboard/src/app/api/[...any]/route.tsx
index 5ba53847b4..8cbaaee434 100644
--- a/apps/dashboard/src/app/api/[...any]/route.tsx
+++ b/apps/dashboard/src/app/api/[...any]/route.tsx
@@ -1,4 +1,4 @@
-import { nicify } from "@stackframe/stack-shared/dist/utils/strings";
+import { nicify } from "@hexclave/shared/dist/utils/strings";
import { NextRequest, NextResponse } from "next/server";
import '../../../polyfills';
diff --git a/apps/dashboard/src/app/api/development-environment/health/route.ts b/apps/dashboard/src/app/api/development-environment/health/route.ts
index e606e2f50c..a4597ccfdf 100644
--- a/apps/dashboard/src/app/api/development-environment/health/route.ts
+++ b/apps/dashboard/src/app/api/development-environment/health/route.ts
@@ -1,6 +1,6 @@
import { getPublicEnvVar } from "@/lib/env";
import { NextRequest, NextResponse } from "next/server";
-import { createUrlIfValid, isLocalhost } from "@stackframe/stack-shared/dist/utils/urls";
+import { createUrlIfValid, isLocalhost } from "@hexclave/shared/dist/utils/urls";
export const runtime = "nodejs";
diff --git a/apps/dashboard/src/app/api/remote-development-environment/config/apply-update/route.ts b/apps/dashboard/src/app/api/remote-development-environment/config/apply-update/route.ts
index b2e75c2368..7951085954 100644
--- a/apps/dashboard/src/app/api/remote-development-environment/config/apply-update/route.ts
+++ b/apps/dashboard/src/app/api/remote-development-environment/config/apply-update/route.ts
@@ -2,7 +2,7 @@ import { NextRequest, NextResponse } from "next/server";
import { applyRemoteDevelopmentEnvironmentConfigUpdate } from "@/lib/remote-development-environment/manager";
import { readRemoteDevelopmentEnvironmentJsonBody } from "@/lib/remote-development-environment/route-json";
import { assertRemoteDevelopmentEnvironmentBrowserRequest, assertRemoteDevelopmentEnvironmentRequest } from "@/lib/remote-development-environment/security";
-import { isValidConfig } from "@stackframe/stack-shared/dist/config/format";
+import { isValidConfig } from "@hexclave/shared/dist/config/format";
export const runtime = "nodejs";
diff --git a/apps/dashboard/src/app/client-polyfill.tsx b/apps/dashboard/src/app/client-polyfill.tsx
index 0d0b963bb0..e6115c869f 100644
--- a/apps/dashboard/src/app/client-polyfill.tsx
+++ b/apps/dashboard/src/app/client-polyfill.tsx
@@ -1,7 +1,7 @@
"use client";
import * as Sentry from "@sentry/nextjs";
-import { useUser } from "@stackframe/stack";
+import { useUser } from "@hexclave/next";
import { Suspense, useEffect } from "react";
// ensure that the polyfills are loaded even on the client
diff --git a/apps/dashboard/src/app/health/error-handler-debug/endpoint/route.tsx b/apps/dashboard/src/app/health/error-handler-debug/endpoint/route.tsx
index 94402a2f6a..05f4ff2bf1 100644
--- a/apps/dashboard/src/app/health/error-handler-debug/endpoint/route.tsx
+++ b/apps/dashboard/src/app/health/error-handler-debug/endpoint/route.tsx
@@ -1,4 +1,4 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const dynamic = "force-dynamic";
diff --git a/apps/dashboard/src/app/health/error-handler-debug/page.tsx b/apps/dashboard/src/app/health/error-handler-debug/page.tsx
index 9e08da17ff..6e71f8365f 100644
--- a/apps/dashboard/src/app/health/error-handler-debug/page.tsx
+++ b/apps/dashboard/src/app/health/error-handler-debug/page.tsx
@@ -1,6 +1,6 @@
"use client";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { Button } from "@/components/ui";
export default function Page() {
diff --git a/apps/dashboard/src/app/layout-client.tsx b/apps/dashboard/src/app/layout-client.tsx
index 17d969f856..25587338d0 100644
--- a/apps/dashboard/src/app/layout-client.tsx
+++ b/apps/dashboard/src/app/layout-client.tsx
@@ -7,8 +7,8 @@ import { Toaster } from "@/components/ui";
import { VersionAlerter } from "@/components/version-alerter";
import { getPublicEnvVar } from "@/lib/env";
import { stackClientApp } from "@/stack/client";
-import { StackProvider, StackTheme } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { StackProvider, StackTheme } from "@hexclave/next";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import React, { useSyncExternalStore } from "react";
import { BackgroundShine } from "./background-shine";
import { ClientPolyfill } from "./client-polyfill";
diff --git a/apps/dashboard/src/app/layout.tsx b/apps/dashboard/src/app/layout.tsx
index d19d56a28c..d8ff4c953f 100644
--- a/apps/dashboard/src/app/layout.tsx
+++ b/apps/dashboard/src/app/layout.tsx
@@ -1,7 +1,7 @@
import { StyleLink } from '@/components/style-link';
import { cn } from '@/components/ui';
import { getPublicEnvVar } from '@/lib/env';
-import { getEnvVariable, getNodeEnvironment } from '@stackframe/stack-shared/dist/utils/env';
+import { getEnvVariable, getNodeEnvironment } from '@hexclave/shared/dist/utils/env';
import { Analytics } from "@vercel/analytics/react";
import { SpeedInsights } from "@vercel/speed-insights/next";
import { GeistMono } from "geist/font/mono";
diff --git a/apps/dashboard/src/app/providers.tsx b/apps/dashboard/src/app/providers.tsx
index 05790546ff..3ae97b9378 100644
--- a/apps/dashboard/src/app/providers.tsx
+++ b/apps/dashboard/src/app/providers.tsx
@@ -1,5 +1,5 @@
'use client';
-import { useStackApp, useUser } from '@stackframe/stack';
+import { useStackApp, useUser } from '@hexclave/next';
import posthog from 'posthog-js';
import { Suspense, useEffect, useState } from 'react';
diff --git a/apps/dashboard/src/app/remote-development-environment-auth-gate.tsx b/apps/dashboard/src/app/remote-development-environment-auth-gate.tsx
index 2caa56a5a2..293b95a8ec 100644
--- a/apps/dashboard/src/app/remote-development-environment-auth-gate.tsx
+++ b/apps/dashboard/src/app/remote-development-environment-auth-gate.tsx
@@ -3,8 +3,8 @@
import Loading from "@/app/loading";
import { getPublicEnvVar } from "@/lib/env";
import { stackAppInternalsSymbol } from "@/lib/stack-app-internals";
-import { useStackApp } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useStackApp } from "@hexclave/next";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useEffect, useState } from "react";
const RDE_ACCESS_TOKEN_MIN_EXPIRATION_MS = 30_000;
diff --git a/apps/dashboard/src/components/app-square.tsx b/apps/dashboard/src/components/app-square.tsx
index 5758d1ef0a..9b473240d1 100644
--- a/apps/dashboard/src/components/app-square.tsx
+++ b/apps/dashboard/src/components/app-square.tsx
@@ -5,8 +5,8 @@ import { ALL_APPS_FRONTEND, AppFrontend, getAppPath, getDocumentationHref, isSub
import { isAppEnabled } from "@/lib/apps-utils";
import { useUpdateConfig } from "@/lib/config-update";
import { CheckIcon, DotsThreeVerticalIcon } from "@phosphor-icons/react";
-import { ALL_APPS, AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { appSquarePaddingExpression, appSquareWidthExpression, AppIcon as SharedAppIcon } from "@stackframe/stack-shared/dist/apps/apps-ui";
+import { ALL_APPS, AppId } from "@hexclave/shared/dist/apps/apps-config";
+import { appSquarePaddingExpression, appSquareWidthExpression, AppIcon as SharedAppIcon } from "@hexclave/shared/dist/apps/apps-ui";
import { useState } from "react";
import { AppWarningModal } from "./app-warning-modal";
import { Link } from "./link";
diff --git a/apps/dashboard/src/components/app-store-entry.tsx b/apps/dashboard/src/components/app-store-entry.tsx
index 9bd5b69bcf..501b743eca 100644
--- a/apps/dashboard/src/components/app-store-entry.tsx
+++ b/apps/dashboard/src/components/app-store-entry.tsx
@@ -4,7 +4,7 @@ import { AppIcon } from "@/components/app-square";
import { Badge, Button, Dialog, DialogContent, DialogTitle, ScrollArea, cn } from "@/components/ui";
import { ALL_APPS_FRONTEND, getDocumentationHref, isSubApp, type AppId } from "@/lib/apps-frontend";
import { ArrowRightIcon, CaretLeftIcon, CaretRightIcon, CheckIcon, LightningIcon, ShieldCheckIcon, XIcon } from "@phosphor-icons/react";
-import { ALL_APPS, ALL_APP_TAGS } from "@stackframe/stack-shared/dist/apps/apps-config";
+import { ALL_APPS, ALL_APP_TAGS } from "@hexclave/shared/dist/apps/apps-config";
import Image from "next/image";
import { FunctionComponent, useCallback, useEffect, useRef, useState } from "react";
diff --git a/apps/dashboard/src/components/assistant-ui/chat-stream.ts b/apps/dashboard/src/components/assistant-ui/chat-stream.ts
index 58c420db1c..050f3a2469 100644
--- a/apps/dashboard/src/components/assistant-ui/chat-stream.ts
+++ b/apps/dashboard/src/components/assistant-ui/chat-stream.ts
@@ -1,7 +1,7 @@
import { buildStackAuthHeaders, type CurrentUser } from "@/lib/api-headers";
import type { ChatModelAdapter, ChatModelRunOptions, ChatModelRunResult } from "@assistant-ui/react";
-import type { ChatContent } from "@stackframe/stack-shared/dist/interface/admin-interface";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import type { ChatContent } from "@hexclave/shared/dist/interface/admin-interface";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import {
convertToModelMessages,
DefaultChatTransport,
diff --git a/apps/dashboard/src/components/assistant-ui/compress-image.ts b/apps/dashboard/src/components/assistant-ui/compress-image.ts
index 71a714b5c5..8106f24847 100644
--- a/apps/dashboard/src/components/assistant-ui/compress-image.ts
+++ b/apps/dashboard/src/components/assistant-ui/compress-image.ts
@@ -1,4 +1,4 @@
-import { MAX_IMAGE_BYTES_PER_FILE } from "@stackframe/stack-shared/dist/ai/image-limits";
+import { MAX_IMAGE_BYTES_PER_FILE } from "@hexclave/shared/dist/ai/image-limits";
/**
* Maximum pixel dimension (width or height) for compressed output.
diff --git a/apps/dashboard/src/components/assistant-ui/image-attachment-adapter.ts b/apps/dashboard/src/components/assistant-ui/image-attachment-adapter.ts
index 99aa3c57ae..18c48c0f7d 100644
--- a/apps/dashboard/src/components/assistant-ui/image-attachment-adapter.ts
+++ b/apps/dashboard/src/components/assistant-ui/image-attachment-adapter.ts
@@ -4,7 +4,7 @@ import {
type CompleteAttachment,
type PendingAttachment,
} from "@assistant-ui/react";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
/** Chat composer attachments: UUID ids, auto-compressed to fit shared max file size (see `image-limits`). */
export class ImageAttachmentAdapter implements AttachmentAdapter {
diff --git a/apps/dashboard/src/components/assistant-ui/image-attachment-validation.ts b/apps/dashboard/src/components/assistant-ui/image-attachment-validation.ts
index d032147bf8..d2cda8be27 100644
--- a/apps/dashboard/src/components/assistant-ui/image-attachment-validation.ts
+++ b/apps/dashboard/src/components/assistant-ui/image-attachment-validation.ts
@@ -2,7 +2,7 @@ import {
MAX_IMAGE_BYTES_PER_FILE,
MAX_IMAGE_MB_PER_FILE,
MAX_IMAGES_PER_MESSAGE,
-} from "@stackframe/stack-shared/dist/ai/image-limits";
+} from "@hexclave/shared/dist/ai/image-limits";
type ValidationResult = { ok: true } | { ok: false, reason: string };
diff --git a/apps/dashboard/src/components/assistant-ui/thread.tsx b/apps/dashboard/src/components/assistant-ui/thread.tsx
index d2eda88da7..11b4a535e7 100644
--- a/apps/dashboard/src/components/assistant-ui/thread.tsx
+++ b/apps/dashboard/src/components/assistant-ui/thread.tsx
@@ -23,8 +23,8 @@ import {
import { ArrowClockwiseIcon, ArrowDownIcon, CaretLeftIcon, CaretRightIcon, CheckIcon, CopyIcon, ImageIcon, PaperPlaneRightIcon, PencilSimpleIcon, WarningCircle, XIcon } from "@phosphor-icons/react";
import {
MAX_IMAGES_PER_MESSAGE,
-} from "@stackframe/stack-shared/dist/ai/image-limits";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+} from "@hexclave/shared/dist/ai/image-limits";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { createContext, useContext, useEffect, useMemo, useRef, useState, type ComponentProps, type FC, type ReactNode } from "react";
type AssistantContentComponents = ComponentProps["components"];
diff --git a/apps/dashboard/src/components/cmdk-commands.tsx b/apps/dashboard/src/components/cmdk-commands.tsx
index dce8b8e293..165590c8e8 100644
--- a/apps/dashboard/src/components/cmdk-commands.tsx
+++ b/apps/dashboard/src/components/cmdk-commands.tsx
@@ -8,8 +8,8 @@ import { getUninstalledAppIds } from "@/lib/apps-utils";
import { classifyClickHouseSqlVsPrompt } from "@/lib/classify-query";
import { cn } from "@/lib/utils";
import { ChartBarIcon, CheckIcon, CubeIcon, DownloadSimpleIcon, EnvelopeSimpleIcon, GearIcon, GlobeIcon, HardDriveIcon, InfoIcon, KeyIcon, LayoutIcon, LightningIcon, Palette, PlayIcon, PlusIcon, ShieldCheckIcon, SparkleIcon, UsersIcon } from "@phosphor-icons/react";
-import { ALL_APPS, ALL_APP_TAGS, type AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { ALL_APPS, ALL_APP_TAGS, type AppId } from "@hexclave/shared/dist/apps/apps-config";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import Image from "next/image";
import React, { memo, useEffect, useMemo } from "react";
import { AIChatPreview } from "./commands/ask-ai";
diff --git a/apps/dashboard/src/components/cmdk-search.tsx b/apps/dashboard/src/components/cmdk-search.tsx
index f54dc631e6..300098eb32 100644
--- a/apps/dashboard/src/components/cmdk-search.tsx
+++ b/apps/dashboard/src/components/cmdk-search.tsx
@@ -10,8 +10,8 @@ import {
SparkleIcon,
UserIcon,
} from "@phosphor-icons/react";
-import { type AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { type AppId } from "@hexclave/shared/dist/apps/apps-config";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { usePathname } from "next/navigation";
import React, { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
import { useCmdKCommands, type CmdKCommand } from "./cmdk-commands";
diff --git a/apps/dashboard/src/components/commands/ask-ai.tsx b/apps/dashboard/src/components/commands/ask-ai.tsx
index 894ce139ef..b2c62399b4 100644
--- a/apps/dashboard/src/components/commands/ask-ai.tsx
+++ b/apps/dashboard/src/components/commands/ask-ai.tsx
@@ -11,8 +11,8 @@ import {
useThreadRuntime,
type ChatModelAdapter,
} from "@assistant-ui/react";
-import { useUser } from "@stackframe/stack";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { useUser } from "@hexclave/next";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { usePathname } from "next/navigation";
import { memo, useEffect, useMemo, useRef, useState } from "react";
import { CmdKPreviewProps } from "../cmdk-commands";
diff --git a/apps/dashboard/src/components/commands/create-dashboard/create-dashboard-preview.tsx b/apps/dashboard/src/components/commands/create-dashboard/create-dashboard-preview.tsx
index 6fb2109bdc..54df195af6 100644
--- a/apps/dashboard/src/components/commands/create-dashboard/create-dashboard-preview.tsx
+++ b/apps/dashboard/src/components/commands/create-dashboard/create-dashboard-preview.tsx
@@ -12,11 +12,11 @@ import { useDashboardUser } from "@/lib/dashboard-user";
import { getPublicEnvVar } from "@/lib/env";
import { cn } from "@/lib/utils";
import { FloppyDiskIcon } from "@phosphor-icons/react";
-import { ALL_APPS } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { captureError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { ALL_APPS } from "@hexclave/shared/dist/apps/apps-config";
+import { captureError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { useChat, type UIMessage } from "@ai-sdk/react";
import { memo, useCallback, useMemo, useRef, useState } from "react";
import { CmdKPreviewProps } from "../../cmdk-commands";
diff --git a/apps/dashboard/src/components/commands/create-dashboard/dashboard-sandbox-host.tsx b/apps/dashboard/src/components/commands/create-dashboard/dashboard-sandbox-host.tsx
index ef2dc7dc42..700bbff7a9 100644
--- a/apps/dashboard/src/components/commands/create-dashboard/dashboard-sandbox-host.tsx
+++ b/apps/dashboard/src/components/commands/create-dashboard/dashboard-sandbox-host.tsx
@@ -4,8 +4,8 @@ import { DashboardRuntimeCodegen } from "@/lib/ai-dashboard/contracts";
import { useDashboardUser } from "@/lib/dashboard-user";
import { getPublicEnvVar } from "@/lib/env";
import { useTheme } from "@/lib/theme";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { memo, useEffect, useMemo, useRef } from "react";
import packageJson from "../../../../package.json";
@@ -80,19 +80,19 @@ function getDependencyScripts(esmVersion: string, esmFallbackVersion: string, da
// Stack SDK may not be published at the current version — try with fallback
try {
- const StackSDK = await import('https://esm.sh/@stackframe/js@${esmVersion}');
+ const StackSDK = await import('https://esm.sh/@hexclave/js@${esmVersion}');
window.StackAdminApp = StackSDK.StackAdminApp;
window.StackServerApp = StackSDK.StackServerApp;
window.StackSDK = StackSDK;
} catch (e) {
- reportDependencyError('[sandbox] @stackframe/js failed at version ${esmVersion}; trying fallback ${esmFallbackVersion}: ' + formatDependencyError(e), e);
+ reportDependencyError('[sandbox] @hexclave/js failed at version ${esmVersion}; trying fallback ${esmFallbackVersion}: ' + formatDependencyError(e), e);
try {
- const StackSDK = await import('https://esm.sh/@stackframe/js@${esmFallbackVersion}');
+ const StackSDK = await import('https://esm.sh/@hexclave/js@${esmFallbackVersion}');
window.StackAdminApp = StackSDK.StackAdminApp;
window.StackServerApp = StackSDK.StackServerApp;
window.StackSDK = StackSDK;
} catch (e2) {
- failDependencyLoad('[sandbox] @stackframe/js fallback failed at version ${esmFallbackVersion}: ' + formatDependencyError(e2), e2);
+ failDependencyLoad('[sandbox] @hexclave/js fallback failed at version ${esmFallbackVersion}: ' + formatDependencyError(e2), e2);
}
}
window.generateUuid = () => crypto.randomUUID();
@@ -105,7 +105,7 @@ function getDependencyScripts(esmVersion: string, esmFallbackVersion: string, da
window.dispatchEvent(new Event('deps-ready'));
};
script.onerror = (e) => {
- const message = '[sandbox] Failed to load local dashboard-ui-components IIFE bundle. Run pnpm --filter @stackframe/dashboard-ui-components dev or pnpm --filter @stackframe/dashboard-ui-components build so apps/dashboard/public/dashboard-ui-components.iife.js exists.';
+ const message = '[sandbox] Failed to load local dashboard-ui-components IIFE bundle. Run pnpm --filter @hexclave/dashboard-ui-components dev or pnpm --filter @hexclave/dashboard-ui-components build so apps/dashboard/public/dashboard-ui-components.iife.js exists.';
failDependencyLoad(message, e instanceof Error ? e : new Error(message));
};
document.head.appendChild(script);
@@ -151,15 +151,15 @@ function getDependencyScripts(esmVersion: string, esmFallbackVersion: string, da
let DashboardUIComponents, StackSDK;
try {
[DashboardUIComponents, StackSDK] = await Promise.all([
- import('https://esm.sh/@stackframe/dashboard-ui-components@${esmVersion}?deps=react@19.2.3,react-dom@19.2.3'),
- import('https://esm.sh/@stackframe/js@${esmVersion}'),
+ import('https://esm.sh/@hexclave/dashboard-ui-components@${esmVersion}?deps=react@19.2.3,react-dom@19.2.3'),
+ import('https://esm.sh/@hexclave/js@${esmVersion}'),
]);
} catch (e) {
reportDependencyError('[sandbox] Custom dashboard packages failed at version ${esmVersion}; trying fallback ${esmFallbackVersion}: ' + formatDependencyError(e), e);
try {
[DashboardUIComponents, StackSDK] = await Promise.all([
- import('https://esm.sh/@stackframe/dashboard-ui-components@${esmFallbackVersion}?deps=react@19.2.3,react-dom@19.2.3'),
- import('https://esm.sh/@stackframe/js@${esmFallbackVersion}'),
+ import('https://esm.sh/@hexclave/dashboard-ui-components@${esmFallbackVersion}?deps=react@19.2.3,react-dom@19.2.3'),
+ import('https://esm.sh/@hexclave/js@${esmFallbackVersion}'),
]);
} catch (e2) {
failDependencyLoad('[sandbox] Custom dashboard package fallback failed at version ${esmFallbackVersion}: ' + formatDependencyError(e2), e2);
diff --git a/apps/dashboard/src/components/commands/run-query.tsx b/apps/dashboard/src/components/commands/run-query.tsx
index 9c5f20f6b0..2806dff4cb 100644
--- a/apps/dashboard/src/components/commands/run-query.tsx
+++ b/apps/dashboard/src/components/commands/run-query.tsx
@@ -37,8 +37,8 @@ import {
SpinnerGapIcon,
WarningCircleIcon
} from "@phosphor-icons/react";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { memo, useCallback, useMemo, useState } from "react";
import { CmdKPreviewProps } from "../cmdk-commands";
diff --git a/apps/dashboard/src/components/confetti.tsx b/apps/dashboard/src/components/confetti.tsx
index 3effe63d7c..d3db9ec690 100644
--- a/apps/dashboard/src/components/confetti.tsx
+++ b/apps/dashboard/src/components/confetti.tsx
@@ -2,8 +2,8 @@
import * as confetti from "canvas-confetti";
import { useEffect } from "react";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
export function Confetti() {
diff --git a/apps/dashboard/src/components/copyable-text.tsx b/apps/dashboard/src/components/copyable-text.tsx
index 7d3d3f8c15..f4a485eca8 100644
--- a/apps/dashboard/src/components/copyable-text.tsx
+++ b/apps/dashboard/src/components/copyable-text.tsx
@@ -2,7 +2,7 @@
import { Button, cn } from "@/components/ui";
import { CheckIcon, CopyIcon } from "@phosphor-icons/react";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import React, { useCallback, useEffect, useState } from "react";
import { InlineCode } from "./inline-code";
diff --git a/apps/dashboard/src/components/data-table/api-key-table.tsx b/apps/dashboard/src/components/data-table/api-key-table.tsx
index a65a7a375e..d40f8e04dd 100644
--- a/apps/dashboard/src/components/data-table/api-key-table.tsx
+++ b/apps/dashboard/src/components/data-table/api-key-table.tsx
@@ -1,12 +1,12 @@
'use client';
-import { InternalApiKey } from '@stackframe/stack';
+import { InternalApiKey } from '@hexclave/next';
import { ActionCell, ActionDialog, Badge, Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui";
import {
DataGrid,
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { useMemo, useState } from "react";
type ApiKeyStatus = 'valid' | 'expired' | 'revoked';
diff --git a/apps/dashboard/src/components/data-table/common/cursor-pagination.tsx b/apps/dashboard/src/components/data-table/common/cursor-pagination.tsx
index 16aff29812..75e82f2990 100644
--- a/apps/dashboard/src/components/data-table/common/cursor-pagination.tsx
+++ b/apps/dashboard/src/components/data-table/common/cursor-pagination.tsx
@@ -1,7 +1,7 @@
"use client";
import { useCallback, useRef } from "react";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
export function useCursorPaginationCache(initialPage: number = 1) {
const cursorCacheRef = useRef(new Map([[initialPage, null]]));
diff --git a/apps/dashboard/src/components/data-table/payment-product-table.tsx b/apps/dashboard/src/components/data-table/payment-product-table.tsx
index e4c6accfb2..916f03b57d 100644
--- a/apps/dashboard/src/components/data-table/payment-product-table.tsx
+++ b/apps/dashboard/src/components/data-table/payment-product-table.tsx
@@ -3,14 +3,14 @@ import { useAdminApp } from "@/app/(main)/(protected)/projects/[projectId]/use-a
import { ProductDialog } from "@/components/payments/product-dialog";
import { ActionCell, ActionDialog, toast } from "@/components/ui";
import { useUpdateConfig } from "@/lib/config-update";
-import { branchPaymentsSchema } from "@stackframe/stack-shared/dist/config/schema";
-import { typedEntries, typedFromEntries } from "@stackframe/stack-shared/dist/utils/objects";
+import { branchPaymentsSchema } from "@hexclave/shared/dist/config/schema";
+import { typedEntries, typedFromEntries } from "@hexclave/shared/dist/utils/objects";
import {
DataGrid,
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { useState } from "react";
import * as yup from "yup";
diff --git a/apps/dashboard/src/components/data-table/permission-table.tsx b/apps/dashboard/src/components/data-table/permission-table.tsx
index 2c50283097..6fc15ed032 100644
--- a/apps/dashboard/src/components/data-table/permission-table.tsx
+++ b/apps/dashboard/src/components/data-table/permission-table.tsx
@@ -8,7 +8,7 @@ import {
useDataSource,
type DataGridColumnDef,
type DataGridDataSource,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { useCallback, useContext, useMemo, useState, createContext } from "react";
import { useDebounce } from "use-debounce";
import * as yup from "yup";
diff --git a/apps/dashboard/src/components/data-table/team-member-table.tsx b/apps/dashboard/src/components/data-table/team-member-table.tsx
index 86e62bf5a0..9d0a4e9d5d 100644
--- a/apps/dashboard/src/components/data-table/team-member-table.tsx
+++ b/apps/dashboard/src/components/data-table/team-member-table.tsx
@@ -12,17 +12,17 @@ import {
SimpleTooltip,
toast,
} from "@/components/ui";
-import { ServerTeam, ServerUser } from "@stackframe/stack";
-import { fromNow } from "@stackframe/stack-shared/dist/utils/dates";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { ServerTeam, ServerUser } from "@hexclave/next";
+import { fromNow } from "@hexclave/shared/dist/utils/dates";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import {
DataGrid,
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
type DataGridDataSource,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { CheckCircleIcon, CopyIcon, XCircleIcon } from "@phosphor-icons/react";
import { useCallback, useMemo, useRef, useState } from "react";
import { useDebounce } from "use-debounce";
diff --git a/apps/dashboard/src/components/data-table/team-search-table.tsx b/apps/dashboard/src/components/data-table/team-search-table.tsx
index 0846509a73..ba94fbdc24 100644
--- a/apps/dashboard/src/components/data-table/team-search-table.tsx
+++ b/apps/dashboard/src/components/data-table/team-search-table.tsx
@@ -1,14 +1,14 @@
"use client";
import { useAdminApp } from "@/app/(main)/(protected)/projects/[projectId]/use-admin-app";
-import { ServerTeam } from "@stackframe/stack";
+import { ServerTeam } from "@hexclave/next";
import {
createDefaultDataGridState,
DataGrid,
useDataSource,
type DataGridColumnDef,
type DataGridState,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { useCallback, useEffect, useMemo, useState, type ReactNode } from "react";
const PAGE_SIZE = 25;
diff --git a/apps/dashboard/src/components/data-table/team-table.tsx b/apps/dashboard/src/components/data-table/team-table.tsx
index 23c55f849a..c4637b6b70 100644
--- a/apps/dashboard/src/components/data-table/team-table.tsx
+++ b/apps/dashboard/src/components/data-table/team-table.tsx
@@ -2,14 +2,14 @@
import { useAdminApp } from "@/app/(main)/(protected)/projects/[projectId]/use-admin-app";
import { useRouter } from "@/components/router";
import { ActionCell, ActionDialog, Typography } from "@/components/ui";
-import { ServerTeam } from '@stackframe/stack';
+import { ServerTeam } from '@hexclave/next';
import {
DataGrid,
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
type DataGridDataSource,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import React, { useCallback, useMemo, useState } from "react";
import { useDebounce } from "use-debounce";
import * as yup from "yup";
diff --git a/apps/dashboard/src/components/data-table/transaction-table.test.ts b/apps/dashboard/src/components/data-table/transaction-table.test.ts
index 51cad128b8..4bc37b4355 100644
--- a/apps/dashboard/src/components/data-table/transaction-table.test.ts
+++ b/apps/dashboard/src/components/data-table/transaction-table.test.ts
@@ -1,4 +1,4 @@
-import type { Transaction } from "@stackframe/stack-shared/dist/interface/crud/transactions";
+import type { Transaction } from "@hexclave/shared/dist/interface/crud/transactions";
import { describe, expect, it } from "vitest";
import { describeDetail, getTransactionSummary } from "./transaction-table";
diff --git a/apps/dashboard/src/components/data-table/transaction-table.tsx b/apps/dashboard/src/components/data-table/transaction-table.tsx
index d104697772..2f332f759b 100644
--- a/apps/dashboard/src/components/data-table/transaction-table.tsx
+++ b/apps/dashboard/src/components/data-table/transaction-table.tsx
@@ -8,13 +8,13 @@ import { useAdminApp } from '@/app/(main)/(protected)/projects/[projectId]/use-a
import { ActionCell, ActionDialog, Alert, AlertDescription, AvatarCell, Badge, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, SimpleTooltip } from '@/components/ui';
import type { Icon as PhosphorIcon } from '@phosphor-icons/react';
import { ArrowClockwiseIcon, ArrowCounterClockwiseIcon, GearIcon, ProhibitIcon, QuestionIcon, ReceiptXIcon, ShoppingCartIcon, ShuffleIcon } from '@phosphor-icons/react';
-import { DataGrid, DataGridToolbar, useDataGridUrlState, useDataSource, type DataGridColumnDef, type DataGridDataSource } from '@stackframe/dashboard-ui-components';
-import type { Transaction, TransactionEntry, TransactionType } from '@stackframe/stack-shared/dist/interface/crud/transactions';
-import { TRANSACTION_TYPES } from '@stackframe/stack-shared/dist/interface/crud/transactions';
-import { moneyAmountSchema } from '@stackframe/stack-shared/dist/schema-fields';
-import { moneyAmountToStripeUnits } from '@stackframe/stack-shared/dist/utils/currencies';
-import type { MoneyAmount } from '@stackframe/stack-shared/dist/utils/currency-constants';
-import { SUPPORTED_CURRENCIES } from '@stackframe/stack-shared/dist/utils/currency-constants';
+import { DataGrid, DataGridToolbar, useDataGridUrlState, useDataSource, type DataGridColumnDef, type DataGridDataSource } from '@hexclave/dashboard-ui-components';
+import type { Transaction, TransactionEntry, TransactionType } from '@hexclave/shared/dist/interface/crud/transactions';
+import { TRANSACTION_TYPES } from '@hexclave/shared/dist/interface/crud/transactions';
+import { moneyAmountSchema } from '@hexclave/shared/dist/schema-fields';
+import { moneyAmountToStripeUnits } from '@hexclave/shared/dist/utils/currencies';
+import type { MoneyAmount } from '@hexclave/shared/dist/utils/currency-constants';
+import { SUPPORTED_CURRENCIES } from '@hexclave/shared/dist/utils/currency-constants';
import React, { useCallback, useMemo, useRef, useState } from 'react';
import { Link } from '../link';
diff --git a/apps/dashboard/src/components/data-table/user-picker-table.tsx b/apps/dashboard/src/components/data-table/user-picker-table.tsx
index 6468ced8b0..4c5a5cc27b 100644
--- a/apps/dashboard/src/components/data-table/user-picker-table.tsx
+++ b/apps/dashboard/src/components/data-table/user-picker-table.tsx
@@ -6,7 +6,7 @@
import { useAdminApp } from '@/app/(main)/(protected)/projects/[projectId]/use-admin-app';
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui";
-import type { ServerUser } from '@stackframe/stack';
+import type { ServerUser } from '@hexclave/next';
import {
createDefaultDataGridState,
DataGrid,
@@ -14,7 +14,7 @@ import {
type DataGridColumnDef,
type DataGridDataSource,
type DataGridState,
-} from "@stackframe/dashboard-ui-components";
+} from "@hexclave/dashboard-ui-components";
import { useCallback, useMemo, useRef, useState } from "react";
import { useDebounce } from "use-debounce";
import { extendUsers } from "./user-table";
diff --git a/apps/dashboard/src/components/data-table/user-table.tsx b/apps/dashboard/src/components/data-table/user-table.tsx
index a061782497..3378e1f7ea 100644
--- a/apps/dashboard/src/components/data-table/user-table.tsx
+++ b/apps/dashboard/src/components/data-table/user-table.tsx
@@ -22,17 +22,17 @@ import {
toast,
} from "@/components/ui";
import { CheckCircleIcon, CopyIcon, DotsThreeIcon, MagnifyingGlassIcon, XCircleIcon } from "@phosphor-icons/react";
-import type { ServerUser } from "@stackframe/stack";
+import type { ServerUser } from "@hexclave/next";
import {
DataGrid,
useDataGridUrlState,
useDataSource,
type DataGridColumnDef,
type DataGridDataSource,
-} from "@stackframe/dashboard-ui-components";
-import { fromNow } from "@stackframe/stack-shared/dist/utils/dates";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+} from "@hexclave/dashboard-ui-components";
+import { fromNow } from "@hexclave/shared/dist/utils/dates";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { useCallback, useEffect, useMemo, useState } from "react";
import { useDebounce } from "use-debounce";
import { Link } from "../link";
diff --git a/apps/dashboard/src/components/design-components/alert.tsx b/apps/dashboard/src/components/design-components/alert.tsx
index a4094e3a1c..7391ad7d4d 100644
--- a/apps/dashboard/src/components/design-components/alert.tsx
+++ b/apps/dashboard/src/components/design-components/alert.tsx
@@ -1,2 +1,2 @@
-export { DesignAlert } from "@stackframe/dashboard-ui-components";
-export type { DesignAlertProps } from "@stackframe/dashboard-ui-components";
+export { DesignAlert } from "@hexclave/dashboard-ui-components";
+export type { DesignAlertProps } from "@hexclave/dashboard-ui-components";
diff --git a/apps/dashboard/src/components/design-components/badge.tsx b/apps/dashboard/src/components/design-components/badge.tsx
index 2ff9bdf447..4e9599651c 100644
--- a/apps/dashboard/src/components/design-components/badge.tsx
+++ b/apps/dashboard/src/components/design-components/badge.tsx
@@ -1,2 +1,2 @@
-export { DesignBadge } from "@stackframe/dashboard-ui-components";
-export type { DesignBadgeColor, DesignBadgeSize, DesignBadgeContentMode, DesignBadgeProps } from "@stackframe/dashboard-ui-components";
+export { DesignBadge } from "@hexclave/dashboard-ui-components";
+export type { DesignBadgeColor, DesignBadgeSize, DesignBadgeContentMode, DesignBadgeProps } from "@hexclave/dashboard-ui-components";
diff --git a/apps/dashboard/src/components/design-components/button.tsx b/apps/dashboard/src/components/design-components/button.tsx
index c60667b269..6e8cc7b16b 100644
--- a/apps/dashboard/src/components/design-components/button.tsx
+++ b/apps/dashboard/src/components/design-components/button.tsx
@@ -1,2 +1,2 @@
-export { DesignButton } from "@stackframe/dashboard-ui-components";
-export type { DesignButtonProps, DesignOriginalButtonProps } from "@stackframe/dashboard-ui-components";
+export { DesignButton } from "@hexclave/dashboard-ui-components";
+export type { DesignButtonProps, DesignOriginalButtonProps } from "@hexclave/dashboard-ui-components";
diff --git a/apps/dashboard/src/components/design-components/card.tsx b/apps/dashboard/src/components/design-components/card.tsx
index abec1c5ae9..47a5a57173 100644
--- a/apps/dashboard/src/components/design-components/card.tsx
+++ b/apps/dashboard/src/components/design-components/card.tsx
@@ -1,2 +1,2 @@
-export { DesignCard, DesignCardTint, useInsideDesignCard, useGlassmorphicDefault } from "@stackframe/dashboard-ui-components";
-export type { DesignCardProps, DesignCardTintProps } from "@stackframe/dashboard-ui-components";
+export { DesignCard, DesignCardTint, useInsideDesignCard, useGlassmorphicDefault } from "@hexclave/dashboard-ui-components";
+export type { DesignCardProps, DesignCardTintProps } from "@hexclave/dashboard-ui-components";
diff --git a/apps/dashboard/src/components/design-components/editable-grid.tsx b/apps/dashboard/src/components/design-components/editable-grid.tsx
index 6d7bc8f95b..d3374184ad 100644
--- a/apps/dashboard/src/components/design-components/editable-grid.tsx
+++ b/apps/dashboard/src/components/design-components/editable-grid.tsx
@@ -10,12 +10,12 @@ import {
Spinner,
} from "@/components/ui";
import { cn } from "@/lib/utils";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { ArrowCounterClockwise, Check, FloppyDisk, X } from "@phosphor-icons/react";
import { useRef, useState } from "react";
-import { DesignButton, useDesignEditMode, DesignInput } from "@stackframe/dashboard-ui-components";
+import { DesignButton, useDesignEditMode, DesignInput } from "@hexclave/dashboard-ui-components";
export type DesignEditableGridSize = "sm" | "md";
diff --git a/apps/dashboard/src/components/design-components/index.ts b/apps/dashboard/src/components/design-components/index.ts
index 92bc3c05fa..5725b0be4f 100644
--- a/apps/dashboard/src/components/design-components/index.ts
+++ b/apps/dashboard/src/components/design-components/index.ts
@@ -1,4 +1,4 @@
-export * from "@stackframe/dashboard-ui-components";
+export * from "@hexclave/dashboard-ui-components";
export {
DesignDialog,
DesignDialogClose,
diff --git a/apps/dashboard/src/components/design-components/input.tsx b/apps/dashboard/src/components/design-components/input.tsx
index a349a32c42..55806b3fd5 100644
--- a/apps/dashboard/src/components/design-components/input.tsx
+++ b/apps/dashboard/src/components/design-components/input.tsx
@@ -1,2 +1,2 @@
-export { DesignInput } from "@stackframe/dashboard-ui-components";
-export type { DesignInputProps } from "@stackframe/dashboard-ui-components";
+export { DesignInput } from "@hexclave/dashboard-ui-components";
+export type { DesignInputProps } from "@hexclave/dashboard-ui-components";
diff --git a/apps/dashboard/src/components/design-components/list.tsx b/apps/dashboard/src/components/design-components/list.tsx
index 82d4229bf3..e3185b654e 100644
--- a/apps/dashboard/src/components/design-components/list.tsx
+++ b/apps/dashboard/src/components/design-components/list.tsx
@@ -1,7 +1,7 @@
"use client";
import { cn } from "@/lib/utils";
-import { DesignButton } from "@stackframe/dashboard-ui-components";
+import { DesignButton } from "@hexclave/dashboard-ui-components";
import { DesignMenu, type DesignMenuActionItem } from "./menu";
// ─── Button action types ──────────────────────────────────────────────────
diff --git a/apps/dashboard/src/components/design-components/menu.tsx b/apps/dashboard/src/components/design-components/menu.tsx
index ffb26267a7..2034e2abb5 100644
--- a/apps/dashboard/src/components/design-components/menu.tsx
+++ b/apps/dashboard/src/components/design-components/menu.tsx
@@ -13,7 +13,7 @@ import {
} from "@/components/ui/dropdown-menu";
import { cn } from "@/lib/utils";
import { DotsThree } from "@phosphor-icons/react";
-import { DesignButton } from "@stackframe/dashboard-ui-components";
+import { DesignButton } from "@hexclave/dashboard-ui-components";
type DesignMenuTrigger = "button" | "icon";
type DesignMenuItemVariant = "default" | "destructive";
diff --git a/apps/dashboard/src/components/design-components/table.tsx b/apps/dashboard/src/components/design-components/table.tsx
index 84a17d6589..99beff7307 100644
--- a/apps/dashboard/src/components/design-components/table.tsx
+++ b/apps/dashboard/src/components/design-components/table.tsx
@@ -4,7 +4,7 @@ import { DataTable } from "@/components/ui";
import { cn } from "@/lib/utils";
import { ColumnDef, ColumnFiltersState, SortingState, Table as TableType } from "@tanstack/react-table";
import React from "react";
-import { DesignCard, useGlassmorphicDefault, useInsideDesignCard } from "@stackframe/dashboard-ui-components";
+import { DesignCard, useGlassmorphicDefault, useInsideDesignCard } from "@hexclave/dashboard-ui-components";
const borderReset = "[&_div.rounded-md.border]:border-0 [&_div.rounded-md.border]:shadow-none";
diff --git a/apps/dashboard/src/components/dev-error-notifier.tsx b/apps/dashboard/src/components/dev-error-notifier.tsx
index 3abbf50ce1..11b3d5e4cc 100644
--- a/apps/dashboard/src/components/dev-error-notifier.tsx
+++ b/apps/dashboard/src/components/dev-error-notifier.tsx
@@ -1,6 +1,6 @@
"use client";
-import { isBrowserLike } from "@stackframe/stack-shared/dist/utils/env";
+import { isBrowserLike } from "@hexclave/shared/dist/utils/env";
import { useToast } from "@/components/ui";
import { useEffect } from "react";
diff --git a/apps/dashboard/src/components/editable-grid.tsx b/apps/dashboard/src/components/editable-grid.tsx
index 8c050007c6..049c8877a8 100644
--- a/apps/dashboard/src/components/editable-grid.tsx
+++ b/apps/dashboard/src/components/editable-grid.tsx
@@ -10,7 +10,7 @@ import {
} from "@/components/ui";
import { InlineSaveDiscard } from "@/components/inline-save-discard";
import { cn } from "@/lib/utils";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useState } from "react";
import { EditableInput } from "./editable-input";
diff --git a/apps/dashboard/src/components/editable-input.tsx b/apps/dashboard/src/components/editable-input.tsx
index a383434f60..549488bb64 100644
--- a/apps/dashboard/src/components/editable-input.tsx
+++ b/apps/dashboard/src/components/editable-input.tsx
@@ -1,9 +1,9 @@
-import { DesignButton, DesignInput } from "@stackframe/dashboard-ui-components";
+import { DesignButton, DesignInput } from "@hexclave/dashboard-ui-components";
import { cn } from "@/lib/utils";
import { Check, X } from "@phosphor-icons/react";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useRef, useState } from "react";
diff --git a/apps/dashboard/src/components/email-preview.tsx b/apps/dashboard/src/components/email-preview.tsx
index 571dbcff93..1b32d6d2bf 100644
--- a/apps/dashboard/src/components/email-preview.tsx
+++ b/apps/dashboard/src/components/email-preview.tsx
@@ -1,9 +1,9 @@
import { useAdminApp } from "@/app/(main)/(protected)/projects/[projectId]/use-admin-app";
import { Spinner, Typography } from "@/components/ui";
import { Archive, ArrowBendUpLeft, ArrowBendUpRight, ArrowLeft, CaretDown, DotsThreeVertical, Envelope, List, MagnifyingGlass, Pencil, Star, Trash } from "@phosphor-icons/react";
-import { KnownErrors } from "@stackframe/stack-shared";
-import type { EditableMetadata } from "@stackframe/stack-shared/dist/utils/jsx-editable-transpiler";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { KnownErrors } from "@hexclave/shared";
+import type { EditableMetadata } from "@hexclave/shared/dist/utils/jsx-editable-transpiler";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { Component, Fragment, ReactNode, Suspense, useEffect, useRef, useState } from "react";
import { useDebounce } from 'use-debounce';
import ResizableContainer from './resizable-container';
diff --git a/apps/dashboard/src/components/email-verification-setting.tsx b/apps/dashboard/src/components/email-verification-setting.tsx
index 639543c3ea..67cdce9ae2 100644
--- a/apps/dashboard/src/components/email-verification-setting.tsx
+++ b/apps/dashboard/src/components/email-verification-setting.tsx
@@ -5,8 +5,8 @@ import { SettingSwitch } from "@/components/settings";
import { ActionDialog, Typography } from "@/components/ui";
import { useUpdateConfig } from "@/lib/config-update";
import { EnvelopeSimpleIcon } from "@phosphor-icons/react";
-import type { RestrictedReason } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import type { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useState } from "react";
type AffectedUser = {
diff --git a/apps/dashboard/src/components/entity-kpi-cards.tsx b/apps/dashboard/src/components/entity-kpi-cards.tsx
index d95f75d785..31693dabb8 100644
--- a/apps/dashboard/src/components/entity-kpi-cards.tsx
+++ b/apps/dashboard/src/components/entity-kpi-cards.tsx
@@ -2,7 +2,7 @@
import { Skeleton } from "@/components/ui";
import { useMetricsOrThrow } from "@/lib/stack-app-internals";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import { ErrorBoundary } from "next/dist/client/components/error-boundary";
import { Suspense } from "react";
import { useAdminApp } from "../app/(main)/(protected)/projects/[projectId]/use-admin-app";
diff --git a/apps/dashboard/src/components/export-users-dialog.tsx b/apps/dashboard/src/components/export-users-dialog.tsx
index 0ab0f1180b..61906f3ba9 100644
--- a/apps/dashboard/src/components/export-users-dialog.tsx
+++ b/apps/dashboard/src/components/export-users-dialog.tsx
@@ -2,8 +2,8 @@
import { useAdminApp } from "@/app/(main)/(protected)/projects/[projectId]/use-admin-app";
import { DownloadSimpleIcon } from "@phosphor-icons/react";
-import type { ServerUser } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import type { ServerUser } from "@hexclave/next";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import {
Button,
Checkbox,
diff --git a/apps/dashboard/src/components/feedback-form.tsx b/apps/dashboard/src/components/feedback-form.tsx
index 46821851c0..8293d8bb04 100644
--- a/apps/dashboard/src/components/feedback-form.tsx
+++ b/apps/dashboard/src/components/feedback-form.tsx
@@ -2,9 +2,9 @@ import { Button } from "@/components/ui";
import { SelectField } from "@/components/form-fields";
import { getPublicEnvVar } from "@/lib/env";
import { CheckCircleIcon, EnvelopeIcon, GithubLogoIcon, WarningCircleIcon } from "@phosphor-icons/react";
-import { useUser } from "@stackframe/stack";
-import { emailSchema } from "@stackframe/stack-shared/dist/schema-fields";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { useUser } from "@hexclave/next";
+import { emailSchema } from "@hexclave/shared/dist/schema-fields";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import { useState } from "react";
import { FaDiscord } from "react-icons/fa";
import * as yup from "yup";
diff --git a/apps/dashboard/src/components/form-dialog.tsx b/apps/dashboard/src/components/form-dialog.tsx
index 75f6cde03d..63d2da3587 100644
--- a/apps/dashboard/src/components/form-dialog.tsx
+++ b/apps/dashboard/src/components/form-dialog.tsx
@@ -2,7 +2,7 @@
import { ActionDialog, ActionDialogProps, Form } from "@/components/ui";
import { yupResolver } from "@hookform/resolvers/yup";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import React, { useEffect, useId, useState } from "react";
import { FieldValues, useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/apps/dashboard/src/components/form-fields/day-interval-selector-field.tsx b/apps/dashboard/src/components/form-fields/day-interval-selector-field.tsx
index 316c725cd5..88fb6d39e3 100644
--- a/apps/dashboard/src/components/form-fields/day-interval-selector-field.tsx
+++ b/apps/dashboard/src/components/form-fields/day-interval-selector-field.tsx
@@ -1,4 +1,4 @@
-import { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
+import { DayInterval } from "@hexclave/shared/dist/utils/dates";
import { Control, FieldValues, Path } from "react-hook-form";
import { FieldLabel } from "../form-fields";
import { FormControl, SelectValue, SelectTrigger, SelectItem, SelectContent, FormItem, FormMessage, Select, SelectGroup, FormField } from "@/components/ui";
diff --git a/apps/dashboard/src/components/form-fields/keyed-record-editor-field.tsx b/apps/dashboard/src/components/form-fields/keyed-record-editor-field.tsx
index 902892a0fc..8ea5093035 100644
--- a/apps/dashboard/src/components/form-fields/keyed-record-editor-field.tsx
+++ b/apps/dashboard/src/components/form-fields/keyed-record-editor-field.tsx
@@ -2,7 +2,7 @@
import { Button, Card, CardHeader, CardTitle, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui";
import { PencilSimpleIcon, PlusIcon, TrashIcon } from "@phosphor-icons/react";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { useEffect, useMemo, useState } from "react";
import { Control, FieldValues, Path, UseFormReturn, useWatch } from "react-hook-form";
import * as yup from "yup";
diff --git a/apps/dashboard/src/components/inline-save-discard.tsx b/apps/dashboard/src/components/inline-save-discard.tsx
index 5a3a46ce16..45b9cce217 100644
--- a/apps/dashboard/src/components/inline-save-discard.tsx
+++ b/apps/dashboard/src/components/inline-save-discard.tsx
@@ -1,8 +1,8 @@
"use client";
import { CheckIcon, XIcon } from "@phosphor-icons/react";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { Button, cn } from "./ui";
/**
diff --git a/apps/dashboard/src/components/logo-upload.tsx b/apps/dashboard/src/components/logo-upload.tsx
index 1910841c7a..3c3c7ffaf8 100644
--- a/apps/dashboard/src/components/logo-upload.tsx
+++ b/apps/dashboard/src/components/logo-upload.tsx
@@ -1,8 +1,8 @@
"use client";
import { UploadIcon, XIcon } from '@phosphor-icons/react';
-import { fileToBase64 } from '@stackframe/stack-shared/dist/utils/base64';
-import { runAsynchronouslyWithAlert } from '@stackframe/stack-shared/dist/utils/promises';
+import { fileToBase64 } from '@hexclave/shared/dist/utils/base64';
+import { runAsynchronouslyWithAlert } from '@hexclave/shared/dist/utils/promises';
import { Button, cn, Typography } from '@/components/ui';
import imageCompression from 'browser-image-compression';
import { useState } from 'react';
diff --git a/apps/dashboard/src/components/metadata-editor.tsx b/apps/dashboard/src/components/metadata-editor.tsx
index 742f48699c..7aad727530 100644
--- a/apps/dashboard/src/components/metadata-editor.tsx
+++ b/apps/dashboard/src/components/metadata-editor.tsx
@@ -6,8 +6,8 @@ import { cn, SimpleTooltip } from "@/components/ui";
import { useThemeWatcher } from '@/lib/theme';
import MonacoEditor from '@monaco-editor/react';
import { DatabaseIcon } from "@phosphor-icons/react";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { parseJson, type Json } from "@stackframe/stack-shared/dist/utils/json";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { parseJson, type Json } from "@hexclave/shared/dist/utils/json";
import { useEffect, useMemo, useState } from "react";
type MetadataEditorProps = {
diff --git a/apps/dashboard/src/components/navbar.tsx b/apps/dashboard/src/components/navbar.tsx
index 5e1561c4e3..1453c43cd7 100644
--- a/apps/dashboard/src/components/navbar.tsx
+++ b/apps/dashboard/src/components/navbar.tsx
@@ -2,7 +2,7 @@
import { Typography } from "@/components/ui";
import { getPublicEnvVar } from "@/lib/env";
-import { UserButton } from "@stackframe/stack";
+import { UserButton } from "@hexclave/next";
import { Link } from "./link";
import { Logo } from "./logo";
diff --git a/apps/dashboard/src/components/pacifica/card.tsx b/apps/dashboard/src/components/pacifica/card.tsx
index 3c4fd0fb80..ff71e0c80a 100644
--- a/apps/dashboard/src/components/pacifica/card.tsx
+++ b/apps/dashboard/src/components/pacifica/card.tsx
@@ -1,6 +1,6 @@
-import { componentWrapper, forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { componentWrapper, forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
-import { filterUndefined } from "@stackframe/stack-shared/dist/utils/objects";
+import { filterUndefined } from "@hexclave/shared/dist/utils/objects";
import { cn } from "../../lib/utils";
import { PacificaSurface } from "./surface";
diff --git a/apps/dashboard/src/components/pacifica/surface.tsx b/apps/dashboard/src/components/pacifica/surface.tsx
index 6c3efcc737..16a4cbfd52 100644
--- a/apps/dashboard/src/components/pacifica/surface.tsx
+++ b/apps/dashboard/src/components/pacifica/surface.tsx
@@ -1,4 +1,4 @@
-import { componentWrapper } from "@stackframe/stack-shared/dist/utils/react";
+import { componentWrapper } from "@hexclave/shared/dist/utils/react";
import { cn } from "../../../../../packages/stack-ui/dist/lib/utils";
export const PacificaSurface = componentWrapper<
diff --git a/apps/dashboard/src/components/payments/create-checkout-dialog.tsx b/apps/dashboard/src/components/payments/create-checkout-dialog.tsx
index 3ac9095a0a..2b9d5cf3bc 100644
--- a/apps/dashboard/src/components/payments/create-checkout-dialog.tsx
+++ b/apps/dashboard/src/components/payments/create-checkout-dialog.tsx
@@ -1,7 +1,7 @@
import { useAdminApp } from "@/app/(main)/(protected)/projects/[projectId]/use-admin-app";
-import { ServerUser, Team } from "@stackframe/stack";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { ServerUser, Team } from "@hexclave/next";
+import { KnownErrors } from "@hexclave/shared";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { ActionDialog, InlineCode, Typography, toast } from "@/components/ui";
import { useState } from "react";
import * as yup from "yup";
diff --git a/apps/dashboard/src/components/payments/included-item-editor.tsx b/apps/dashboard/src/components/payments/included-item-editor.tsx
index a766c0cdbe..5400faee36 100644
--- a/apps/dashboard/src/components/payments/included-item-editor.tsx
+++ b/apps/dashboard/src/components/payments/included-item-editor.tsx
@@ -2,8 +2,8 @@
import { InputField, SelectField } from "@/components/form-fields";
import { readableInterval } from "@/lib/dates";
-import { dayIntervalSchema } from "@stackframe/stack-shared/dist/schema-fields";
-import { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
+import { dayIntervalSchema } from "@hexclave/shared/dist/schema-fields";
+import { DayInterval } from "@hexclave/shared/dist/utils/dates";
import { Control, FieldValues, Path } from "react-hook-form";
import * as yup from "yup";
import { DayIntervalSelectorField } from "../form-fields/day-interval-selector-field";
diff --git a/apps/dashboard/src/components/payments/item-dialog.tsx b/apps/dashboard/src/components/payments/item-dialog.tsx
index d921bde744..f14644672a 100644
--- a/apps/dashboard/src/components/payments/item-dialog.tsx
+++ b/apps/dashboard/src/components/payments/item-dialog.tsx
@@ -10,8 +10,8 @@ import {
import { Label, Typography } from "@/components/ui";
import { cn } from "@/lib/utils";
import { PackageIcon } from "@phosphor-icons/react";
-import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { getUserSpecifiedIdErrorMessage, isValidUserSpecifiedId, sanitizeUserSpecifiedId } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useEffect, useState } from "react";
type ItemDialogProps = {
diff --git a/apps/dashboard/src/components/payments/price-editor.tsx b/apps/dashboard/src/components/payments/price-editor.tsx
index c914f14b70..8bd50d142d 100644
--- a/apps/dashboard/src/components/payments/price-editor.tsx
+++ b/apps/dashboard/src/components/payments/price-editor.tsx
@@ -2,8 +2,8 @@
import { InputField } from "@/components/form-fields";
import { readableInterval } from "@/lib/dates";
-import { dayIntervalSchema, userSpecifiedIdSchema } from "@stackframe/stack-shared/dist/schema-fields";
-import { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
+import { dayIntervalSchema, userSpecifiedIdSchema } from "@hexclave/shared/dist/schema-fields";
+import { DayInterval } from "@hexclave/shared/dist/utils/dates";
import { Control, FieldValues, Path } from "react-hook-form";
import * as yup from "yup";
import { DayIntervalSelectorField } from "../form-fields/day-interval-selector-field";
diff --git a/apps/dashboard/src/components/payments/product-dialog.tsx b/apps/dashboard/src/components/payments/product-dialog.tsx
index 466f113b73..32aab7f8a5 100644
--- a/apps/dashboard/src/components/payments/product-dialog.tsx
+++ b/apps/dashboard/src/components/payments/product-dialog.tsx
@@ -7,9 +7,9 @@ import { IncludedItemEditorField } from "@/components/payments/included-item-edi
import { PriceEditorField } from "@/components/payments/price-editor";
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, SimpleTooltip, toast } from "@/components/ui";
import { useUpdateConfig } from "@/lib/config-update";
-import { AdminProject } from "@stackframe/stack";
-import { pricesSchema, productSchema, userSpecifiedIdSchema, yupRecord } from "@stackframe/stack-shared/dist/schema-fields";
-import { has } from "@stackframe/stack-shared/dist/utils/objects";
+import { AdminProject } from "@hexclave/next";
+import { pricesSchema, productSchema, userSpecifiedIdSchema, yupRecord } from "@hexclave/shared/dist/schema-fields";
+import { has } from "@hexclave/shared/dist/utils/objects";
import * as yup from "yup";
type Props = {
diff --git a/apps/dashboard/src/components/payments/stripe-connect-provider.tsx b/apps/dashboard/src/components/payments/stripe-connect-provider.tsx
index 5cf5470861..183ae1b3c0 100644
--- a/apps/dashboard/src/components/payments/stripe-connect-provider.tsx
+++ b/apps/dashboard/src/components/payments/stripe-connect-provider.tsx
@@ -2,8 +2,8 @@
import { useAdminApp } from "@/app/(main)/(protected)/projects/[projectId]/use-admin-app";
import { getPublicEnvVar } from "@/lib/env";
-import { StackAdminApp } from "@stackframe/stack";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { StackAdminApp } from "@hexclave/next";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { loadConnectAndInitialize } from "@stripe/connect-js";
import {
ConnectComponentsProvider,
diff --git a/apps/dashboard/src/components/payments/stripe-elements-provider.tsx b/apps/dashboard/src/components/payments/stripe-elements-provider.tsx
index 16de0ca2d2..ff452860aa 100644
--- a/apps/dashboard/src/components/payments/stripe-elements-provider.tsx
+++ b/apps/dashboard/src/components/payments/stripe-elements-provider.tsx
@@ -1,6 +1,6 @@
"use client";
import { getPublicEnvVar } from "@/lib/env";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { Elements } from "@stripe/react-stripe-js";
import { loadStripe } from "@stripe/stripe-js";
import { useTheme } from "@/lib/theme";
diff --git a/apps/dashboard/src/components/permission-field.tsx b/apps/dashboard/src/components/permission-field.tsx
index f19e9b0ab5..69d9342b90 100644
--- a/apps/dashboard/src/components/permission-field.tsx
+++ b/apps/dashboard/src/components/permission-field.tsx
@@ -1,8 +1,8 @@
import { FieldLabel } from "@/components/form-fields";
-import { AdminTeamPermissionDefinition, ServerTeam, ServerUser } from "@stackframe/stack";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { AdminTeamPermissionDefinition, ServerTeam, ServerUser } from "@hexclave/next";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { Checkbox, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui";
import { useEffect, useState } from "react";
import { Control, FieldValues, Path } from "react-hook-form";
diff --git a/apps/dashboard/src/components/project-card.tsx b/apps/dashboard/src/components/project-card.tsx
index c27e7d0e6e..39ae59824e 100644
--- a/apps/dashboard/src/components/project-card.tsx
+++ b/apps/dashboard/src/components/project-card.tsx
@@ -5,8 +5,8 @@ import { Link } from "@/components/link";
import { ProjectUsersMetric } from "@/components/project-users-metric";
import { useFromNow } from '@/hooks/use-from-now';
import { FolderOpenIcon } from "@phosphor-icons/react";
-import { AdminProject } from '@stackframe/stack';
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { AdminProject } from '@hexclave/next';
+import { urlString } from "@hexclave/shared/dist/utils/urls";
export function ProjectCard(props: {
project: AdminProject,
diff --git a/apps/dashboard/src/components/project-transfer-confirm-view.tsx b/apps/dashboard/src/components/project-transfer-confirm-view.tsx
index 11841e0366..3f0fb47411 100644
--- a/apps/dashboard/src/components/project-transfer-confirm-view.tsx
+++ b/apps/dashboard/src/components/project-transfer-confirm-view.tsx
@@ -7,8 +7,8 @@ import { DesignInput } from "@/components/design-components/input";
import { Logo } from "@/components/logo";
import { Spinner } from "@/components/ui";
import { ArrowsLeftRightIcon } from "@phosphor-icons/react";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
export type ProjectTransferConfirmUiState = "loading" | "success" | { type: "error", message: string };
diff --git a/apps/dashboard/src/components/repeating-input.tsx b/apps/dashboard/src/components/repeating-input.tsx
index 08a217225d..2dc29286ee 100644
--- a/apps/dashboard/src/components/repeating-input.tsx
+++ b/apps/dashboard/src/components/repeating-input.tsx
@@ -8,7 +8,7 @@ import {
} from "@/components/ui";
import { cn } from "@/lib/utils";
import { CaretUpDownIcon } from "@phosphor-icons/react";
-import type { DayInterval } from "@stackframe/stack-shared/dist/utils/dates";
+import type { DayInterval } from "@hexclave/shared/dist/utils/dates";
import { useState } from "react";
const DEFAULT_INTERVAL_UNITS: DayInterval[1][] = ['day', 'week', 'month', 'year'];
diff --git a/apps/dashboard/src/components/router.tsx b/apps/dashboard/src/components/router.tsx
index 315e7d01ea..2f085fa523 100644
--- a/apps/dashboard/src/components/router.tsx
+++ b/apps/dashboard/src/components/router.tsx
@@ -1,7 +1,7 @@
'use client';
import { WarningCircle } from '@phosphor-icons/react';
-import { throwErr } from '@stackframe/stack-shared/dist/utils/errors';
+import { throwErr } from '@hexclave/shared/dist/utils/errors';
// eslint-disable-next-line no-restricted-imports
import { useRouter as useNextRouter } from 'next/navigation';
import React from 'react';
diff --git a/apps/dashboard/src/components/rule-builder/condition-builder.tsx b/apps/dashboard/src/components/rule-builder/condition-builder.tsx
index 24a92e5b1f..b6baea09c8 100644
--- a/apps/dashboard/src/components/rule-builder/condition-builder.tsx
+++ b/apps/dashboard/src/components/rule-builder/condition-builder.tsx
@@ -10,9 +10,9 @@ import {
} from "@/lib/cel-visual-parser";
import { MinusIcon, PlusIcon, TrashIcon, WarningCircleIcon } from "@phosphor-icons/react";
import { CountryCodeInput } from "@/components/country-code-select";
-import { normalizeCountryCode } from "@stackframe/stack-shared/dist/schema-fields";
-import { validateCountryCode } from "@stackframe/stack-shared/dist/utils/country-codes";
-import { type ConditionField, type ConditionOperator, conditionFields, fieldMetadata, getOperatorsForField, isNumericField, validateNumericFieldValue } from "@stackframe/stack-shared/dist/utils/cel-fields";
+import { normalizeCountryCode } from "@hexclave/shared/dist/schema-fields";
+import { validateCountryCode } from "@hexclave/shared/dist/utils/country-codes";
+import { type ConditionField, type ConditionOperator, conditionFields, fieldMetadata, getOperatorsForField, isNumericField, validateNumericFieldValue } from "@hexclave/shared/dist/utils/cel-fields";
import React from "react";
/**
diff --git a/apps/dashboard/src/components/search-bar.tsx b/apps/dashboard/src/components/search-bar.tsx
index cfb3bb1398..6c835924a1 100644
--- a/apps/dashboard/src/components/search-bar.tsx
+++ b/apps/dashboard/src/components/search-bar.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Input } from "@/components/ui";
import { MagnifyingGlassIcon } from "@phosphor-icons/react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
export const SearchBar = forwardRefIfNeeded<
HTMLInputElement,
diff --git a/apps/dashboard/src/components/settings.tsx b/apps/dashboard/src/components/settings.tsx
index 13e2e62f4f..dbdc12a8dd 100644
--- a/apps/dashboard/src/components/settings.tsx
+++ b/apps/dashboard/src/components/settings.tsx
@@ -1,8 +1,8 @@
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, cn, DelayedInput, Form, Label, Select, SelectContent, SelectTrigger, SelectValue, Switch, Typography, useToast } from "@/components/ui";
import { yupResolver } from "@hookform/resolvers/yup";
import { GearIcon } from "@phosphor-icons/react";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React, { useCallback, useEffect, useId, useRef, useState } from "react";
import { FieldValues, useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/apps/dashboard/src/components/smart-form.tsx b/apps/dashboard/src/components/smart-form.tsx
index d221e5b304..074b4572be 100644
--- a/apps/dashboard/src/components/smart-form.tsx
+++ b/apps/dashboard/src/components/smart-form.tsx
@@ -1,8 +1,8 @@
"use client";
import { yupResolver } from "@hookform/resolvers/yup";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { Form } from "@/components/ui";
import React, { useCallback, useEffect, useRef, useState } from "react";
import { useForm } from "react-hook-form";
diff --git a/apps/dashboard/src/components/stack-companion.tsx b/apps/dashboard/src/components/stack-companion.tsx
index c877ba4ae3..de601c1ad9 100644
--- a/apps/dashboard/src/components/stack-companion.tsx
+++ b/apps/dashboard/src/components/stack-companion.tsx
@@ -6,7 +6,7 @@ import { getPublicEnvVar } from '@/lib/env';
import { cn } from '@/lib/utils';
import { checkVersion, VersionCheckResult } from '@/lib/version-check';
import { BookOpenIcon, ClockClockwiseIcon, LightbulbIcon, QuestionIcon, SparkleIcon, XIcon } from '@phosphor-icons/react';
-import { runAsynchronously } from '@stackframe/stack-shared/dist/utils/promises';
+import { runAsynchronously } from '@hexclave/shared/dist/utils/promises';
import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';
import packageJson from '../../package.json';
import { FeedbackForm } from './feedback-form';
diff --git a/apps/dashboard/src/components/stack-companion/ai-chat-widget.tsx b/apps/dashboard/src/components/stack-companion/ai-chat-widget.tsx
index 5feb49cdf1..430115ad2c 100644
--- a/apps/dashboard/src/components/stack-companion/ai-chat-widget.tsx
+++ b/apps/dashboard/src/components/stack-companion/ai-chat-widget.tsx
@@ -24,9 +24,9 @@ import {
type ThreadMessageLike,
} from "@assistant-ui/react";
import { ArrowCounterClockwiseIcon, ArrowLeftIcon, ChatCircleDotsIcon, PlusIcon, SparkleIcon, SpinnerGapIcon, TrashIcon } from "@phosphor-icons/react";
-import { useUser } from "@stackframe/stack";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useUser } from "@hexclave/next";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { usePathname } from "next/navigation";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
diff --git a/apps/dashboard/src/components/stack-companion/changelog-widget.tsx b/apps/dashboard/src/components/stack-companion/changelog-widget.tsx
index 0c3b29598e..0b5dff3d57 100644
--- a/apps/dashboard/src/components/stack-companion/changelog-widget.tsx
+++ b/apps/dashboard/src/components/stack-companion/changelog-widget.tsx
@@ -3,8 +3,8 @@
import { Button } from '@/components/ui';
import { getPublicEnvVar } from '@/lib/env';
import { CalendarIcon, CaretDownIcon, CaretUpIcon, InfoIcon, XIcon } from '@phosphor-icons/react';
-import { captureError } from '@stackframe/stack-shared/dist/utils/errors';
-import { runAsynchronously } from '@stackframe/stack-shared/dist/utils/promises';
+import { captureError } from '@hexclave/shared/dist/utils/errors';
+import { runAsynchronously } from '@hexclave/shared/dist/utils/promises';
import Image from 'next/image';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { createPortal } from 'react-dom';
diff --git a/apps/dashboard/src/components/stack-companion/feature-request-board.tsx b/apps/dashboard/src/components/stack-companion/feature-request-board.tsx
index 89bdaadddf..74c1a27f6a 100644
--- a/apps/dashboard/src/components/stack-companion/feature-request-board.tsx
+++ b/apps/dashboard/src/components/stack-companion/feature-request-board.tsx
@@ -5,10 +5,10 @@ import { getPublicEnvVar } from '@/lib/env';
import { getInternalProjectHeaders } from '@/lib/internal-project-headers';
import { cn } from '@/lib/utils';
import { CaretUpIcon, CircleNotchIcon, LightbulbIcon, PaperPlaneTiltIcon, PlusIcon, XIcon } from '@phosphor-icons/react';
-import { useUser } from '@stackframe/stack';
-import { HexclaveAssertionError } from '@stackframe/stack-shared/dist/utils/errors';
-import { htmlToText } from '@stackframe/stack-shared/dist/utils/html';
-import { runAsynchronously, runAsynchronouslyWithAlert } from '@stackframe/stack-shared/dist/utils/promises';
+import { useUser } from '@hexclave/next';
+import { HexclaveAssertionError } from '@hexclave/shared/dist/utils/errors';
+import { htmlToText } from '@hexclave/shared/dist/utils/html';
+import { runAsynchronously, runAsynchronouslyWithAlert } from '@hexclave/shared/dist/utils/promises';
import { useCallback, useEffect, useState } from 'react';
type FeatureRequestBoardProps = {
diff --git a/apps/dashboard/src/components/theme-toggle.tsx b/apps/dashboard/src/components/theme-toggle.tsx
index 3b7c2c1978..08432210be 100644
--- a/apps/dashboard/src/components/theme-toggle.tsx
+++ b/apps/dashboard/src/components/theme-toggle.tsx
@@ -1,6 +1,6 @@
import { Button } from "@/components/ui";
import { MoonIcon, SunIcon } from "@phosphor-icons/react";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { useTheme } from "@/lib/theme";
const TRANSITION_DURATION_MS = 600;
diff --git a/apps/dashboard/src/components/ui/accordion.tsx b/apps/dashboard/src/components/ui/accordion.tsx
index b5746a9cde..bbb7f39c92 100644
--- a/apps/dashboard/src/components/ui/accordion.tsx
+++ b/apps/dashboard/src/components/ui/accordion.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as AccordionPrimitive from "@radix-ui/react-accordion";
import { ChevronDownIcon } from "@radix-ui/react-icons";
diff --git a/apps/dashboard/src/components/ui/alert.tsx b/apps/dashboard/src/components/ui/alert.tsx
index 38a2fa1595..6a75f58357 100644
--- a/apps/dashboard/src/components/ui/alert.tsx
+++ b/apps/dashboard/src/components/ui/alert.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cva, type VariantProps } from "class-variance-authority";
import React from "react";
diff --git a/apps/dashboard/src/components/ui/avatar.tsx b/apps/dashboard/src/components/ui/avatar.tsx
index 6572457676..ded60d79d8 100644
--- a/apps/dashboard/src/components/ui/avatar.tsx
+++ b/apps/dashboard/src/components/ui/avatar.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as AvatarPrimitive from "@radix-ui/react-avatar";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/badge.tsx b/apps/dashboard/src/components/ui/badge.tsx
index 8ede3222b0..ba387b34ae 100644
--- a/apps/dashboard/src/components/ui/badge.tsx
+++ b/apps/dashboard/src/components/ui/badge.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cva, type VariantProps } from "class-variance-authority";
import React from "react";
diff --git a/apps/dashboard/src/components/ui/brand-icons.tsx b/apps/dashboard/src/components/ui/brand-icons.tsx
index 3c58df5acc..d9c6869fbd 100644
--- a/apps/dashboard/src/components/ui/brand-icons.tsx
+++ b/apps/dashboard/src/components/ui/brand-icons.tsx
@@ -1,4 +1,4 @@
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
export function Google({ iconSize }: { iconSize: number }) {
return (
diff --git a/apps/dashboard/src/components/ui/button.tsx b/apps/dashboard/src/components/ui/button.tsx
index ada6116a31..16256704e3 100644
--- a/apps/dashboard/src/components/ui/button.tsx
+++ b/apps/dashboard/src/components/ui/button.tsx
@@ -1,11 +1,11 @@
import { Slot, Slottable } from "@radix-ui/react-slot";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cva, type VariantProps } from "class-variance-authority";
import React from "react";
import { cn } from "@/lib/utils";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { Spinner } from "./spinner";
const buttonVariants = cva(
diff --git a/apps/dashboard/src/components/ui/card.tsx b/apps/dashboard/src/components/ui/card.tsx
index 109ca94a2f..96288be134 100644
--- a/apps/dashboard/src/components/ui/card.tsx
+++ b/apps/dashboard/src/components/ui/card.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/checkbox.tsx b/apps/dashboard/src/components/ui/checkbox.tsx
index d0a6724a37..5cb3a7d549 100644
--- a/apps/dashboard/src/components/ui/checkbox.tsx
+++ b/apps/dashboard/src/components/ui/checkbox.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
import { CheckIcon } from "@radix-ui/react-icons";
diff --git a/apps/dashboard/src/components/ui/command.tsx b/apps/dashboard/src/components/ui/command.tsx
index 03cf3ae873..56a10346b1 100644
--- a/apps/dashboard/src/components/ui/command.tsx
+++ b/apps/dashboard/src/components/ui/command.tsx
@@ -2,7 +2,7 @@
import { type DialogProps } from "@radix-ui/react-dialog";
import { MagnifyingGlassIcon } from "@radix-ui/react-icons";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { Command as CommandPrimitive } from "cmdk";
import React from "react";
diff --git a/apps/dashboard/src/components/ui/copy-button.tsx b/apps/dashboard/src/components/ui/copy-button.tsx
index d82e0ce699..9f0c5d5114 100644
--- a/apps/dashboard/src/components/ui/copy-button.tsx
+++ b/apps/dashboard/src/components/ui/copy-button.tsx
@@ -2,7 +2,7 @@
import { cn } from "@/lib/utils";
import { CopyIcon, SparkleIcon } from "@phosphor-icons/react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { Button } from "./button";
import { useToast } from "./use-toast";
diff --git a/apps/dashboard/src/components/ui/data-table/toolbar.tsx b/apps/dashboard/src/components/ui/data-table/toolbar.tsx
index 8abb95fd16..8f9cddff9f 100644
--- a/apps/dashboard/src/components/ui/data-table/toolbar.tsx
+++ b/apps/dashboard/src/components/ui/data-table/toolbar.tsx
@@ -2,7 +2,7 @@
import { DownloadSimpleIcon } from "@phosphor-icons/react";
import { Cross2Icon } from "@radix-ui/react-icons";
-import { deepPlainEquals } from "@stackframe/stack-shared/dist/utils/objects";
+import { deepPlainEquals } from "@hexclave/shared/dist/utils/objects";
import { Cell, ColumnFiltersState, SortingState, Table } from "@tanstack/react-table";
import { download, generateCsv, mkConfig } from 'export-to-csv';
import { Button } from "../button";
diff --git a/apps/dashboard/src/components/ui/dialog.tsx b/apps/dashboard/src/components/ui/dialog.tsx
index 8ce902cd10..588511427e 100644
--- a/apps/dashboard/src/components/ui/dialog.tsx
+++ b/apps/dashboard/src/components/ui/dialog.tsx
@@ -2,7 +2,7 @@
import * as DialogPrimitive from "@radix-ui/react-dialog";
import { Cross2Icon } from "@radix-ui/react-icons";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/dropdown-menu.tsx b/apps/dashboard/src/components/ui/dropdown-menu.tsx
index b200fed73d..55441be1fc 100644
--- a/apps/dashboard/src/components/ui/dropdown-menu.tsx
+++ b/apps/dashboard/src/components/ui/dropdown-menu.tsx
@@ -2,12 +2,12 @@
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
import { CheckIcon, ChevronRightIcon, DotFilledIcon } from "@radix-ui/react-icons";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "@/lib/utils";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { Spinner } from "./spinner";
const DropdownMenuContext = React.createContext<{
diff --git a/apps/dashboard/src/components/ui/form.tsx b/apps/dashboard/src/components/ui/form.tsx
index 1c3f293359..565eae669b 100644
--- a/apps/dashboard/src/components/ui/form.tsx
+++ b/apps/dashboard/src/components/ui/form.tsx
@@ -3,7 +3,7 @@
import * as LabelPrimitive from "@radix-ui/react-label";
import { Slot } from "@radix-ui/react-slot";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import {
Controller,
ControllerProps,
@@ -13,7 +13,7 @@ import {
useFormContext,
} from "react-hook-form";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { cn } from "@/lib/utils";
import { SpanLabel } from "./label";
diff --git a/apps/dashboard/src/components/ui/inline-code.tsx b/apps/dashboard/src/components/ui/inline-code.tsx
index 24db103e3e..5f8bac8ab5 100644
--- a/apps/dashboard/src/components/ui/inline-code.tsx
+++ b/apps/dashboard/src/components/ui/inline-code.tsx
@@ -2,10 +2,10 @@
import { cn } from "@/lib/utils";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
-import { hasClickableParent } from "@stackframe/stack-shared/dist/utils/dom";
-import { getNodeText } from "@stackframe/stack-shared/dist/utils/react";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
+import { hasClickableParent } from "@hexclave/shared/dist/utils/dom";
+import { getNodeText } from "@hexclave/shared/dist/utils/react";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { useToast } from "./use-toast";
const InlineCode = forwardRefIfNeeded<
diff --git a/apps/dashboard/src/components/ui/input.tsx b/apps/dashboard/src/components/ui/input.tsx
index 9e65633186..988d325182 100644
--- a/apps/dashboard/src/components/ui/input.tsx
+++ b/apps/dashboard/src/components/ui/input.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/label.tsx b/apps/dashboard/src/components/ui/label.tsx
index ac6c9f652b..072b289886 100644
--- a/apps/dashboard/src/components/ui/label.tsx
+++ b/apps/dashboard/src/components/ui/label.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as LabelPrimitive from "@radix-ui/react-label";
import { cva, type VariantProps } from "class-variance-authority";
diff --git a/apps/dashboard/src/components/ui/popover.tsx b/apps/dashboard/src/components/ui/popover.tsx
index b4af148c83..cc6b3183fc 100644
--- a/apps/dashboard/src/components/ui/popover.tsx
+++ b/apps/dashboard/src/components/ui/popover.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as PopoverPrimitive from "@radix-ui/react-popover";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/radio-group.tsx b/apps/dashboard/src/components/ui/radio-group.tsx
index 3f5b9e6dca..581c4d22f4 100644
--- a/apps/dashboard/src/components/ui/radio-group.tsx
+++ b/apps/dashboard/src/components/ui/radio-group.tsx
@@ -2,7 +2,7 @@
import { CheckIcon } from "@radix-ui/react-icons";
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/scroll-area.tsx b/apps/dashboard/src/components/ui/scroll-area.tsx
index 1220625199..bcd782ba08 100644
--- a/apps/dashboard/src/components/ui/scroll-area.tsx
+++ b/apps/dashboard/src/components/ui/scroll-area.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/select.tsx b/apps/dashboard/src/components/ui/select.tsx
index 864a0c6ccc..802765affc 100644
--- a/apps/dashboard/src/components/ui/select.tsx
+++ b/apps/dashboard/src/components/ui/select.tsx
@@ -7,7 +7,7 @@ import {
ChevronUpIcon,
} from "@radix-ui/react-icons";
import * as SelectPrimitive from "@radix-ui/react-select";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/separator.tsx b/apps/dashboard/src/components/ui/separator.tsx
index 32f98b6227..8aa7bf6261 100644
--- a/apps/dashboard/src/components/ui/separator.tsx
+++ b/apps/dashboard/src/components/ui/separator.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as SeparatorPrimitive from "@radix-ui/react-separator";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/sheet.tsx b/apps/dashboard/src/components/ui/sheet.tsx
index 22485e65ee..0d9a90327a 100644
--- a/apps/dashboard/src/components/ui/sheet.tsx
+++ b/apps/dashboard/src/components/ui/sheet.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as SheetPrimitive from "@radix-ui/react-dialog";
import { Cross2Icon } from "@radix-ui/react-icons";
import { cva, type VariantProps } from "class-variance-authority";
diff --git a/apps/dashboard/src/components/ui/spinner.tsx b/apps/dashboard/src/components/ui/spinner.tsx
index be4c954151..f475fca726 100644
--- a/apps/dashboard/src/components/ui/spinner.tsx
+++ b/apps/dashboard/src/components/ui/spinner.tsx
@@ -1,5 +1,5 @@
import { ReloadIcon } from "@radix-ui/react-icons";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/switch.tsx b/apps/dashboard/src/components/ui/switch.tsx
index 50f3d64af2..de39a92ee6 100644
--- a/apps/dashboard/src/components/ui/switch.tsx
+++ b/apps/dashboard/src/components/ui/switch.tsx
@@ -1,12 +1,12 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as SwitchPrimitives from "@radix-ui/react-switch";
import { cn } from "@/lib/utils";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
import { Spinner } from "./spinner";
type OriginalSwitchProps = {} & React.ComponentProps
diff --git a/apps/dashboard/src/components/ui/table.tsx b/apps/dashboard/src/components/ui/table.tsx
index f78123d2a3..3cadfab59e 100644
--- a/apps/dashboard/src/components/ui/table.tsx
+++ b/apps/dashboard/src/components/ui/table.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/tabs.tsx b/apps/dashboard/src/components/ui/tabs.tsx
index 0bc7df5a5c..3b1593b684 100644
--- a/apps/dashboard/src/components/ui/tabs.tsx
+++ b/apps/dashboard/src/components/ui/tabs.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as TabsPrimitive from "@radix-ui/react-tabs";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/textarea.tsx b/apps/dashboard/src/components/ui/textarea.tsx
index 8e62108200..60af5cd78f 100644
--- a/apps/dashboard/src/components/ui/textarea.tsx
+++ b/apps/dashboard/src/components/ui/textarea.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/toast.tsx b/apps/dashboard/src/components/ui/toast.tsx
index afc61f1a5c..3e129afdb0 100644
--- a/apps/dashboard/src/components/ui/toast.tsx
+++ b/apps/dashboard/src/components/ui/toast.tsx
@@ -1,7 +1,7 @@
'use client';
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { Cross2Icon } from "@radix-ui/react-icons";
import * as ToastPrimitives from "@radix-ui/react-toast";
import { cva, type VariantProps } from "class-variance-authority";
diff --git a/apps/dashboard/src/components/ui/tooltip.tsx b/apps/dashboard/src/components/ui/tooltip.tsx
index c42580bede..d841cf33c3 100644
--- a/apps/dashboard/src/components/ui/tooltip.tsx
+++ b/apps/dashboard/src/components/ui/tooltip.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/ui/typography.tsx b/apps/dashboard/src/components/ui/typography.tsx
index 49b8c283c4..8e666759e0 100644
--- a/apps/dashboard/src/components/ui/typography.tsx
+++ b/apps/dashboard/src/components/ui/typography.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cva, type VariantProps } from "class-variance-authority";
import React from "react";
import { cn } from "@/lib/utils";
diff --git a/apps/dashboard/src/components/user-dialog.tsx b/apps/dashboard/src/components/user-dialog.tsx
index a71b6a48fd..3894ab095e 100644
--- a/apps/dashboard/src/components/user-dialog.tsx
+++ b/apps/dashboard/src/components/user-dialog.tsx
@@ -1,7 +1,7 @@
import { useAdminApp } from "@/app/(main)/(protected)/projects/[projectId]/use-admin-app";
-import { ServerUser } from "@stackframe/stack";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { countryCodeSchema, emailSchema, jsonStringOrEmptySchema, passwordSchema } from "@stackframe/stack-shared/dist/schema-fields";
+import { ServerUser } from "@hexclave/next";
+import { KnownErrors } from "@hexclave/shared";
+import { countryCodeSchema, emailSchema, jsonStringOrEmptySchema, passwordSchema } from "@hexclave/shared/dist/schema-fields";
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Button, Typography, useToast } from "@/components/ui";
import * as yup from "yup";
import { FormDialog } from "./form-dialog";
diff --git a/apps/dashboard/src/components/user-dialogs.tsx b/apps/dashboard/src/components/user-dialogs.tsx
index 4feb37a017..a6539d2c93 100644
--- a/apps/dashboard/src/components/user-dialogs.tsx
+++ b/apps/dashboard/src/components/user-dialogs.tsx
@@ -1,4 +1,4 @@
-import { ServerUser } from '@stackframe/stack';
+import { ServerUser } from '@hexclave/next';
import { ActionDialog, CopyField, Typography } from "@/components/ui";
import { useRouter } from './router';
diff --git a/apps/dashboard/src/components/vibe-coding/chat-adapters.ts b/apps/dashboard/src/components/vibe-coding/chat-adapters.ts
index 19b35348da..5c8ae5bfb7 100644
--- a/apps/dashboard/src/components/vibe-coding/chat-adapters.ts
+++ b/apps/dashboard/src/components/vibe-coding/chat-adapters.ts
@@ -7,9 +7,9 @@ import {
type ExportedMessageRepository,
type ThreadHistoryAdapter,
} from "@assistant-ui/react";
-import { StackAdminApp } from "@stackframe/stack";
-import { ChatContent } from "@stackframe/stack-shared/dist/interface/admin-interface";
-import type { EditableMetadata } from "@stackframe/stack-shared/dist/utils/jsx-editable-transpiler";
+import { StackAdminApp } from "@hexclave/next";
+import { ChatContent } from "@hexclave/shared/dist/interface/admin-interface";
+import type { EditableMetadata } from "@hexclave/shared/dist/utils/jsx-editable-transpiler";
export type ToolCallContent = Extract;
diff --git a/apps/dashboard/src/components/vibe-coding/code-editor.tsx b/apps/dashboard/src/components/vibe-coding/code-editor.tsx
index 2848b377ff..3666360b4d 100644
--- a/apps/dashboard/src/components/vibe-coding/code-editor.tsx
+++ b/apps/dashboard/src/components/vibe-coding/code-editor.tsx
@@ -1,6 +1,6 @@
import Editor, { Monaco } from '@monaco-editor/react';
-import { runAsynchronously } from '@stackframe/stack-shared/dist/utils/promises';
-import { deindent } from '@stackframe/stack-shared/dist/utils/strings';
+import { runAsynchronously } from '@hexclave/shared/dist/utils/promises';
+import { deindent } from '@hexclave/shared/dist/utils/strings';
import { useTheme } from '@/lib/theme';
import { dtsBundles } from './dts';
import { useState, useCallback } from 'react';
diff --git a/apps/dashboard/src/components/vibe-coding/vibe-code-layout.tsx b/apps/dashboard/src/components/vibe-coding/vibe-code-layout.tsx
index 50a44144a8..11d13f4bb1 100644
--- a/apps/dashboard/src/components/vibe-coding/vibe-code-layout.tsx
+++ b/apps/dashboard/src/components/vibe-coding/vibe-code-layout.tsx
@@ -16,7 +16,7 @@ import { Button } from "@/components/ui/button";
import { Spinner } from "@/components/ui/spinner";
import { cn } from "@/lib/utils";
import { ArrowCounterClockwise, ArrowRight, Bug, CaretDown, CaretUp, ChatsCircle, Code, DeviceMobile, DeviceTablet, FloppyDisk, Laptop, PencilSimple } from "@phosphor-icons/react";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useEffect, useState } from "react";
export type ViewportMode = 'desktop' | 'tablet' | 'phone' | 'edit';
diff --git a/apps/dashboard/src/hooks/use-animation-frame.tsx b/apps/dashboard/src/hooks/use-animation-frame.tsx
index 24f3162395..490a0cb426 100644
--- a/apps/dashboard/src/hooks/use-animation-frame.tsx
+++ b/apps/dashboard/src/hooks/use-animation-frame.tsx
@@ -1,4 +1,4 @@
-import { isBrowserLike } from "@stackframe/stack-shared/dist/utils/env";
+import { isBrowserLike } from "@hexclave/shared/dist/utils/env";
import { useLayoutEffect, useRef } from "react";
export function useAnimationFrame(callback: FrameRequestCallback) {
diff --git a/apps/dashboard/src/hooks/use-debounced-action.tsx b/apps/dashboard/src/hooks/use-debounced-action.tsx
index 26438d3207..4ea07704bb 100644
--- a/apps/dashboard/src/hooks/use-debounced-action.tsx
+++ b/apps/dashboard/src/hooks/use-debounced-action.tsx
@@ -1,6 +1,6 @@
"use client";
-import { runAsynchronouslyWithAlert, wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert, wait } from "@hexclave/shared/dist/utils/promises";
import { useEffect, useRef } from "react";
/**
diff --git a/apps/dashboard/src/hooks/use-from-now.tsx b/apps/dashboard/src/hooks/use-from-now.tsx
index f6383c35e3..f1171eb25d 100644
--- a/apps/dashboard/src/hooks/use-from-now.tsx
+++ b/apps/dashboard/src/hooks/use-from-now.tsx
@@ -1,5 +1,5 @@
import { useEffect, useState } from "react";
-import { fromNowDetailed } from "@stackframe/stack-shared/dist/utils/dates";
+import { fromNowDetailed } from "@hexclave/shared/dist/utils/dates";
export function useFromNow(date: Date): string {
const [invalidationCounter, setInvalidationCounter] = useState(0);
diff --git a/apps/dashboard/src/instrumentation.ts b/apps/dashboard/src/instrumentation.ts
index 899d1659bd..b23fad8348 100644
--- a/apps/dashboard/src/instrumentation.ts
+++ b/apps/dashboard/src/instrumentation.ts
@@ -1,7 +1,7 @@
import * as Sentry from "@sentry/nextjs";
-import { getEnvBoolean, getEnvVariable, getNextRuntime, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { sentryBaseConfig } from "@stackframe/stack-shared/dist/utils/sentry";
-import { nicify } from "@stackframe/stack-shared/dist/utils/strings";
+import { getEnvBoolean, getEnvVariable, getNextRuntime, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { sentryBaseConfig } from "@hexclave/shared/dist/utils/sentry";
+import { nicify } from "@hexclave/shared/dist/utils/strings";
import "./polyfills";
async function startRemoteDevelopmentEnvironmentLifecycleIfNeeded(): Promise {
diff --git a/apps/dashboard/src/lib/ai-conversations.ts b/apps/dashboard/src/lib/ai-conversations.ts
index fa92dd4c08..eeb24d6d13 100644
--- a/apps/dashboard/src/lib/ai-conversations.ts
+++ b/apps/dashboard/src/lib/ai-conversations.ts
@@ -1,6 +1,6 @@
import { buildStackAuthHeaders, CurrentUser } from "@/lib/api-headers";
import { getPublicEnvVar } from "@/lib/env";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
export type ConversationSummary = {
id: string,
diff --git a/apps/dashboard/src/lib/apps-frontend.tsx b/apps/dashboard/src/lib/apps-frontend.tsx
index 82f6c86c32..e557a12641 100644
--- a/apps/dashboard/src/lib/apps-frontend.tsx
+++ b/apps/dashboard/src/lib/apps-frontend.tsx
@@ -1,8 +1,8 @@
import { Link } from "@/components/link";
import { ChartLineIcon, ChatCircleDotsIcon, ClipboardTextIcon, CodeIcon, CreditCardIcon, EnvelopeSimpleIcon, FingerprintSimpleIcon, KeyIcon, MailboxIcon, MonitorPlayIcon, RocketIcon, ShieldCheckIcon, SparkleIcon, TelevisionSimpleIcon, TriangleIcon, UserGearIcon, UsersIcon, VaultIcon, WebhooksLogoIcon } from "@phosphor-icons/react";
-import { StackAdminApp } from "@stackframe/stack";
-import { ALL_APPS } from "@stackframe/stack-shared/dist/apps/apps-config";
-import { getRelativePart, isChildUrl } from "@stackframe/stack-shared/dist/utils/urls";
+import { StackAdminApp } from "@hexclave/next";
+import { ALL_APPS } from "@hexclave/shared/dist/apps/apps-config";
+import { getRelativePart, isChildUrl } from "@hexclave/shared/dist/utils/urls";
import Image, { StaticImageData } from "next/image";
import ConvexLogo from "../../public/convex-logo.png";
import NeonLogo from "../../public/neon-logo.png";
@@ -383,7 +383,7 @@ export const ALL_APPS_FRONTEND = {
storeDescription: (
<>
TanStack Start integration adds Hexclave to full-stack React apps built with TanStack Router and Vite.
-
Install the alpha `@stackframe/tanstack-start` package, wire the Stack provider into your root route, and mount the built-in auth handler pages under your app origin.
+
Install the alpha `@hexclave/tanstack-start` package, wire the Stack provider into your root route, and mount the built-in auth handler pages under your app origin.
The dashboard sidebar entry opens the integration docs so your team can jump back to setup instructions from the project.
>
),
diff --git a/apps/dashboard/src/lib/apps-utils.ts b/apps/dashboard/src/lib/apps-utils.ts
index c781417a1a..2018bb78c3 100644
--- a/apps/dashboard/src/lib/apps-utils.ts
+++ b/apps/dashboard/src/lib/apps-utils.ts
@@ -1,7 +1,7 @@
"use client";
import { ALL_APPS_FRONTEND, hasNavigationItems, isSubApp } from "@/lib/apps-frontend";
-import { ALL_APPS, type AppId } from "@stackframe/stack-shared/dist/apps/apps-config";
+import { ALL_APPS, type AppId } from "@hexclave/shared/dist/apps/apps-config";
type InstalledAppConfig = {
enabled?: boolean,
diff --git a/apps/dashboard/src/lib/cel-visual-parser.ts b/apps/dashboard/src/lib/cel-visual-parser.ts
index 0afcf77bdd..97d0f53235 100644
--- a/apps/dashboard/src/lib/cel-visual-parser.ts
+++ b/apps/dashboard/src/lib/cel-visual-parser.ts
@@ -15,11 +15,11 @@
* - riskScores.bot > 80 / riskScores.free_trial_abuse >= 60
*/
-import { normalizeCountryCode } from "@stackframe/stack-shared/dist/schema-fields";
-import { type ConditionField, type ConditionOperator, conditionFields, escapeCelString, fieldMetadata, isNumericField, unescapeCelString, validateNumericFieldValue } from "@stackframe/stack-shared/dist/utils/cel-fields";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { normalizeCountryCode } from "@hexclave/shared/dist/schema-fields";
+import { type ConditionField, type ConditionOperator, conditionFields, escapeCelString, fieldMetadata, isNumericField, unescapeCelString, validateNumericFieldValue } from "@hexclave/shared/dist/utils/cel-fields";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
-export type { ConditionField, ConditionOperator } from "@stackframe/stack-shared/dist/utils/cel-fields";
+export type { ConditionField, ConditionOperator } from "@hexclave/shared/dist/utils/cel-fields";
export type ConditionNode = {
type: 'condition',
diff --git a/apps/dashboard/src/lib/config-update.tsx b/apps/dashboard/src/lib/config-update.tsx
index f48b5e1482..aa1eb279aa 100644
--- a/apps/dashboard/src/lib/config-update.tsx
+++ b/apps/dashboard/src/lib/config-update.tsx
@@ -4,10 +4,10 @@ import { Link } from "@/components/link";
import { ActionDialog } from "@/components/ui/action-dialog";
import { useDashboardInternalUser } from "@/lib/dashboard-user";
import { getPublicEnvVar } from "@/lib/env";
-import type { OAuthConnection, PushedConfigSource, StackAdminApp } from "@stackframe/stack";
-import type { EnvironmentConfigOverrideOverride } from "@stackframe/stack-shared/dist/config/schema";
-import { HexclaveAssertionError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import type { OAuthConnection, PushedConfigSource, StackAdminApp } from "@hexclave/next";
+import type { EnvironmentConfigOverrideOverride } from "@hexclave/shared/dist/config/schema";
+import { HexclaveAssertionError, captureError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import React, { createContext, Suspense, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
import { createGithubFetch, GITHUB_SCOPE_REQUIREMENTS } from "./github-api";
diff --git a/apps/dashboard/src/lib/conversation-types.ts b/apps/dashboard/src/lib/conversation-types.ts
index c7783475a3..40913a0b4f 100644
--- a/apps/dashboard/src/lib/conversation-types.ts
+++ b/apps/dashboard/src/lib/conversation-types.ts
@@ -1 +1 @@
-export * from "@stackframe/stack-shared/dist/interface/conversations";
+export * from "@hexclave/shared/dist/interface/conversations";
diff --git a/apps/dashboard/src/lib/conversations.ts b/apps/dashboard/src/lib/conversations.ts
index a787d160ac..83e0593f67 100644
--- a/apps/dashboard/src/lib/conversations.ts
+++ b/apps/dashboard/src/lib/conversations.ts
@@ -6,7 +6,7 @@ import type {
ConversationPriority,
ConversationStatus,
} from "@/lib/conversation-types";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
type ListConversationsOptions = {
projectId: string,
diff --git a/apps/dashboard/src/lib/dashboard-user.ts b/apps/dashboard/src/lib/dashboard-user.ts
index ccb98848fd..51598fb2df 100644
--- a/apps/dashboard/src/lib/dashboard-user.ts
+++ b/apps/dashboard/src/lib/dashboard-user.ts
@@ -1,8 +1,8 @@
"use client";
import { getPublicEnvVar } from "@/lib/env";
-import { useUser } from "@stackframe/stack";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { useUser } from "@hexclave/next";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
function isRemoteDevelopmentEnvironment(): boolean {
return getPublicEnvVar("NEXT_PUBLIC_STACK_IS_REMOTE_DEVELOPMENT_ENVIRONMENT") === "true";
diff --git a/apps/dashboard/src/lib/dates.tsx b/apps/dashboard/src/lib/dates.tsx
index 8a20eafacc..97baba1161 100644
--- a/apps/dashboard/src/lib/dates.tsx
+++ b/apps/dashboard/src/lib/dates.tsx
@@ -1,4 +1,4 @@
-import { Interval } from "@stackframe/stack-shared/dist/utils/dates";
+import { Interval } from "@hexclave/shared/dist/utils/dates";
export function readableInterval(interval: Interval | "never"): string {
if (interval === "never") {
diff --git a/apps/dashboard/src/lib/github-api.ts b/apps/dashboard/src/lib/github-api.ts
index 226adc76c8..a0f07ab101 100644
--- a/apps/dashboard/src/lib/github-api.ts
+++ b/apps/dashboard/src/lib/github-api.ts
@@ -7,7 +7,7 @@
* dialog.
*/
-import type { OAuthConnection } from "@stackframe/stack";
+import type { OAuthConnection } from "@hexclave/next";
export const GITHUB_SCOPE_REQUIREMENTS = ["repo", "workflow"];
diff --git a/apps/dashboard/src/lib/github-config-push.test.ts b/apps/dashboard/src/lib/github-config-push.test.ts
index a0b5b6b78b..6c172a92f6 100644
--- a/apps/dashboard/src/lib/github-config-push.test.ts
+++ b/apps/dashboard/src/lib/github-config-push.test.ts
@@ -42,7 +42,7 @@ function snapshotGithubCall(call: { path: string, init?: RequestInit }) {
describe("buildUpdatedConfigFileContent", () => {
it("merges a flat dot-notation update into the existing config", () => {
- const current = `import type { StackConfig } from "@stackframe/stack";
+ const current = `import type { StackConfig } from "@hexclave/next";
export const config: StackConfig = {
teams: { allowClientTeamCreation: false },
@@ -50,7 +50,7 @@ export const config: StackConfig = {
`;
const result = buildUpdatedConfigFileContent(current, { "teams.allowClientTeamCreation": true });
expect(result).toMatchInlineSnapshot(`
- "import type { StackConfig } from "@stackframe/stack";
+ "import type { StackConfig } from "@hexclave/next";
export const config: StackConfig = {
"teams": {
@@ -61,7 +61,28 @@ export const config: StackConfig = {
`);
});
- it("preserves the existing @stackframe/* import package when re-rendering", () => {
+ it("preserves the existing @hexclave/* import package when re-rendering", () => {
+ const current = `import type { StackConfig } from "@hexclave/react";
+
+export const config: StackConfig = {};
+`;
+ const result = buildUpdatedConfigFileContent(current, { "auth.allowSignUp": true });
+ expect(result).toMatchInlineSnapshot(`
+ "import type { StackConfig } from "@hexclave/react";
+
+ export const config: StackConfig = {
+ "auth": {
+ "allowSignUp": true
+ }
+ };
+ "
+ `);
+ });
+
+ it("preserves a legacy @stackframe/* import package when re-rendering", () => {
+ // Projects pinned to the last @stackframe/* release (before the Hexclave
+ // rebrand) still have config files importing from the legacy scope. The
+ // dashboard must not silently rewrite their imports — keep what's there.
const current = `import type { StackConfig } from "@stackframe/react";
export const config: StackConfig = {};
@@ -79,11 +100,11 @@ export const config: StackConfig = {};
`);
});
- it("defaults to @stackframe/js when no recognizable import is present", () => {
+ it("defaults to @hexclave/js when no recognizable import is present", () => {
const current = `export const config = {};\n`;
const result = buildUpdatedConfigFileContent(current, { "auth.allowSignUp": true });
expect(result).toMatchInlineSnapshot(`
- "import type { StackConfig } from "@stackframe/js";
+ "import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {
"auth": {
@@ -95,7 +116,7 @@ export const config: StackConfig = {};
});
it("adds new top-level keys to an empty config", () => {
- const current = `import type { StackConfig } from "@stackframe/js";
+ const current = `import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {};
`;
const result = buildUpdatedConfigFileContent(current, {
@@ -103,7 +124,7 @@ export const config: StackConfig = {};
"payments.items.todos.customerType": "user",
});
expect(result).toMatchInlineSnapshot(`
- "import type { StackConfig } from "@stackframe/js";
+ "import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {
"payments": {
@@ -120,7 +141,7 @@ export const config: StackConfig = {};
});
it("replaces an existing nested value via dot notation", () => {
- const current = `import type { StackConfig } from "@stackframe/js";
+ const current = `import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {
payments: { items: { todos: { displayName: "Old" } } },
};
@@ -129,7 +150,7 @@ export const config: StackConfig = {
"payments.items.todos.displayName": "New",
});
expect(result).toMatchInlineSnapshot(`
- "import type { StackConfig } from "@stackframe/js";
+ "import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {
"payments": {
@@ -185,7 +206,7 @@ describe("pushConfigUpdateToGitHub", () => {
};
it("fetches the existing file, merges the update, and PUTs the new content", async () => {
- const { fn, calls } = buildFakeFetch(`import type { StackConfig } from "@stackframe/js";
+ const { fn, calls } = buildFakeFetch(`import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = { teams: { allowClientTeamCreation: false } };
`);
await pushConfigUpdateToGitHub({
@@ -205,7 +226,7 @@ export const config: StackConfig = { teams: { allowClientTeamCreation: false } }
{
"body": {
"branch": "main",
- "content": "import type { StackConfig } from "@stackframe/js";
+ "content": "import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {
"teams": {
@@ -245,7 +266,7 @@ export const config: StackConfig = { teams: { allowClientTeamCreation: false } }
{
"body": {
"branch": "main",
- "content": "import type { StackConfig } from "@stackframe/js";
+ "content": "import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {
"auth": {
@@ -267,7 +288,7 @@ export const config: StackConfig = { teams: { allowClientTeamCreation: false } }
});
it("skips the commit when the new rendered file is identical to the old one", async () => {
- const same = `import type { StackConfig } from "@stackframe/js";
+ const same = `import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {
"teams": {
diff --git a/apps/dashboard/src/lib/github-config-push.ts b/apps/dashboard/src/lib/github-config-push.ts
index e50ffad66d..477168db6d 100644
--- a/apps/dashboard/src/lib/github-config-push.ts
+++ b/apps/dashboard/src/lib/github-config-push.ts
@@ -9,10 +9,10 @@
* wires it up to GitHub's REST API.
*/
-import type { PushedConfigSource } from "@stackframe/stack";
-import type { EnvironmentConfigOverrideOverride } from "@stackframe/stack-shared/dist/config/schema";
-import { isValidConfig, override } from "@stackframe/stack-shared/dist/config/format";
-import { parseStackConfigFileContent, renderConfigFileContent, showOnboardingStackConfigValue } from "@stackframe/stack-shared/dist/stack-config-file";
+import type { PushedConfigSource } from "@hexclave/next";
+import type { EnvironmentConfigOverrideOverride } from "@hexclave/shared/dist/config/schema";
+import { isValidConfig, override } from "@hexclave/shared/dist/config/format";
+import { parseStackConfigFileContent, renderConfigFileContent, showOnboardingStackConfigValue } from "@hexclave/shared/dist/stack-config-file";
import {
commitFile,
@@ -21,14 +21,18 @@ import {
} from "./github-api";
/**
- * Detects the `@stackframe/*` import package used by the existing config file
- * so the re-rendered file keeps the same import line. Falls back to
- * `@stackframe/js` when the file is empty or the import cannot be detected.
+ * Detects the `@hexclave/*` or legacy `@stackframe/*` import package used by
+ * the existing config file so the re-rendered file keeps the same import
+ * line. Falls back to `@hexclave/js` when the file is empty or the import
+ * cannot be detected.
*/
function detectImportPackage(currentFileContent: string): string | undefined {
- // Match `from "@stackframe/"` — single or double quotes.
- const match = currentFileContent.match(/from\s+["']@stackframe\/([a-z0-9-]+)["']/i);
- return match ? `@stackframe/${match[1]}` : undefined;
+ // Match `from "@hexclave/"` or `from "@stackframe/"` — single
+ // or double quotes. Hexclave preferred when both appear.
+ const hexclave = currentFileContent.match(/from\s+["']@hexclave\/([a-z0-9-]+)["']/i);
+ if (hexclave) return `@hexclave/${hexclave[1]}`;
+ const stackframe = currentFileContent.match(/from\s+["']@stackframe\/([a-z0-9-]+)["']/i);
+ return stackframe ? `@stackframe/${stackframe[1]}` : undefined;
}
/**
@@ -37,8 +41,8 @@ function detectImportPackage(currentFileContent: string): string | undefined {
* `updatePushedConfig`), returns the new file contents.
*
* The existing import line is preserved when the source file imports
- * `StackConfig` from a known `@stackframe/*` package; otherwise the renderer
- * uses its own default.
+ * `StackConfig` from a known `@hexclave/*` or legacy `@stackframe/*` package;
+ * otherwise the renderer uses its own default.
*/
export function buildUpdatedConfigFileContent(
currentFileContent: string,
diff --git a/apps/dashboard/src/lib/internal-project-headers.ts b/apps/dashboard/src/lib/internal-project-headers.ts
index 260c6d0936..05306550a9 100644
--- a/apps/dashboard/src/lib/internal-project-headers.ts
+++ b/apps/dashboard/src/lib/internal-project-headers.ts
@@ -1,5 +1,5 @@
import { getPublicEnvVar } from "@/lib/env";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
export function getInternalProjectHeaders(options: {
accessToken: string | null,
diff --git a/apps/dashboard/src/lib/prefetch/hook-prefetcher.tsx b/apps/dashboard/src/lib/prefetch/hook-prefetcher.tsx
index dd7c8a6492..12ad7cc3ab 100644
--- a/apps/dashboard/src/lib/prefetch/hook-prefetcher.tsx
+++ b/apps/dashboard/src/lib/prefetch/hook-prefetcher.tsx
@@ -1,9 +1,9 @@
"use client";
-import { AsyncCache } from "@stackframe/stack-shared/dist/utils/caches";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getGlobal, setGlobal } from "@stackframe/stack-shared/dist/utils/globals";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { AsyncCache } from "@hexclave/shared/dist/utils/caches";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
+import { getGlobal, setGlobal } from "@hexclave/shared/dist/utils/globals";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { ErrorBoundary } from "next/dist/client/components/error-boundary";
import React, { Suspense, memo, useEffect } from "react";
diff --git a/apps/dashboard/src/lib/prefetch/url-prefetcher.tsx b/apps/dashboard/src/lib/prefetch/url-prefetcher.tsx
index 7714ce1beb..741f234684 100644
--- a/apps/dashboard/src/lib/prefetch/url-prefetcher.tsx
+++ b/apps/dashboard/src/lib/prefetch/url-prefetcher.tsx
@@ -2,9 +2,9 @@
import { useAdminApp } from "@/app/(main)/(protected)/projects/[projectId]/use-admin-app";
import { useDashboardInternalUser } from "@/lib/dashboard-user";
-import { stackAppInternalsSymbol } from "@stackframe/stack";
-import { previewTemplateSource } from "@stackframe/stack-shared/dist/helpers/emails";
-import { createCachedRegex } from "@stackframe/stack-shared/dist/utils/regex";
+import { stackAppInternalsSymbol } from "@hexclave/next";
+import { previewTemplateSource } from "@hexclave/shared/dist/helpers/emails";
+import { createCachedRegex } from "@hexclave/shared/dist/utils/regex";
import { memo, useEffect, useMemo, useState } from "react";
import { HookPrefetcher, HookPrefetcherCallback } from "./hook-prefetcher";
diff --git a/apps/dashboard/src/lib/remote-development-environment/api-base-url.ts b/apps/dashboard/src/lib/remote-development-environment/api-base-url.ts
index a86a269189..0ed676f5fb 100644
--- a/apps/dashboard/src/lib/remote-development-environment/api-base-url.ts
+++ b/apps/dashboard/src/lib/remote-development-environment/api-base-url.ts
@@ -1,5 +1,5 @@
import { getPublicEnvVar } from "@/lib/env";
-import { createUrlIfValid } from "@stackframe/stack-shared/dist/utils/urls";
+import { createUrlIfValid } from "@hexclave/shared/dist/utils/urls";
const DEFAULT_REMOTE_DEVELOPMENT_ENVIRONMENT_API_BASE_URLS = [
"https://api.hexclave.com",
diff --git a/apps/dashboard/src/lib/remote-development-environment/config-file.ts b/apps/dashboard/src/lib/remote-development-environment/config-file.ts
index 91acbb429e..3c0c1d2d25 100644
--- a/apps/dashboard/src/lib/remote-development-environment/config-file.ts
+++ b/apps/dashboard/src/lib/remote-development-environment/config-file.ts
@@ -1,9 +1,9 @@
import "server-only";
-import { showOnboardingStackConfigValue } from "@stackframe/stack-shared/dist/config-authoring";
-import { Config, isValidConfig } from "@stackframe/stack-shared/dist/config/format";
-import { detectImportPackageFromDir, renderConfigFileContent } from "@stackframe/stack-shared/dist/config-rendering";
-import { parseStackConfigFileContent } from "@stackframe/stack-shared/dist/stack-config-file";
+import { showOnboardingStackConfigValue } from "@hexclave/shared/dist/config-authoring";
+import { Config, isValidConfig } from "@hexclave/shared/dist/config/format";
+import { detectImportPackageFromDir, renderConfigFileContent } from "@hexclave/shared/dist/config-rendering";
+import { parseStackConfigFileContent } from "@hexclave/shared/dist/stack-config-file";
import { createHash } from "crypto";
import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "fs";
import path from "path";
diff --git a/apps/dashboard/src/lib/remote-development-environment/env.ts b/apps/dashboard/src/lib/remote-development-environment/env.ts
index 72ee8b7edd..02ce947b25 100644
--- a/apps/dashboard/src/lib/remote-development-environment/env.ts
+++ b/apps/dashboard/src/lib/remote-development-environment/env.ts
@@ -1,6 +1,6 @@
import "server-only";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const REMOTE_DEVELOPMENT_ENVIRONMENT_ENABLED_ENV = "NEXT_PUBLIC_STACK_IS_REMOTE_DEVELOPMENT_ENVIRONMENT";
diff --git a/apps/dashboard/src/lib/remote-development-environment/manager.ts b/apps/dashboard/src/lib/remote-development-environment/manager.ts
index c8b0f2a3b2..7760a9307c 100644
--- a/apps/dashboard/src/lib/remote-development-environment/manager.ts
+++ b/apps/dashboard/src/lib/remote-development-environment/manager.ts
@@ -2,13 +2,13 @@ import "server-only";
import { getPublicEnvVar } from "@/lib/env";
import { stackAppInternalsSymbol } from "@/lib/stack-app-internals";
-import { AdminOwnedProject, StackClientApp } from "@stackframe/stack";
-import { Config, override } from "@stackframe/stack-shared/dist/config/format";
-import { DEFAULT_EMAIL_THEME_ID } from "@stackframe/stack-shared/dist/helpers/emails";
-import { ProjectOnboardingStatus } from "@stackframe/stack-shared/dist/schema-fields";
-import { AccessToken } from "@stackframe/stack-shared/dist/sessions";
-import { errorToNiceString } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { AdminOwnedProject, StackClientApp } from "@hexclave/next";
+import { Config, override } from "@hexclave/shared/dist/config/format";
+import { DEFAULT_EMAIL_THEME_ID } from "@hexclave/shared/dist/helpers/emails";
+import { ProjectOnboardingStatus } from "@hexclave/shared/dist/schema-fields";
+import { AccessToken } from "@hexclave/shared/dist/sessions";
+import { errorToNiceString } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { randomUUID } from "crypto";
import { watch, type FSWatcher } from "fs";
import { basename, dirname } from "path";
diff --git a/apps/dashboard/src/lib/remote-development-environment/security.ts b/apps/dashboard/src/lib/remote-development-environment/security.ts
index 381283d611..80684ba532 100644
--- a/apps/dashboard/src/lib/remote-development-environment/security.ts
+++ b/apps/dashboard/src/lib/remote-development-environment/security.ts
@@ -2,7 +2,7 @@ import "server-only";
import { getPublicEnvVar } from "@/lib/env";
import { NextRequest, NextResponse } from "next/server";
-import { createUrlIfValid, isLocalhost } from "@stackframe/stack-shared/dist/utils/urls";
+import { createUrlIfValid, isLocalhost } from "@hexclave/shared/dist/utils/urls";
import { isRemoteDevelopmentEnvironmentEnabled } from "./env";
import { RemoteDevelopmentEnvironmentState, readRemoteDevelopmentEnvironmentState } from "./state";
diff --git a/apps/dashboard/src/lib/remote-development-environment/state.ts b/apps/dashboard/src/lib/remote-development-environment/state.ts
index c0d4a5995f..96428d8ef9 100644
--- a/apps/dashboard/src/lib/remote-development-environment/state.ts
+++ b/apps/dashboard/src/lib/remote-development-environment/state.ts
@@ -2,7 +2,7 @@ import "server-only";
import { chmodSync, existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs";
import { dirname } from "path";
-import { stackDevEnvStatePath } from "@stackframe/stack-shared/dist/utils/dev-env-state-path";
+import { stackDevEnvStatePath } from "@hexclave/shared/dist/utils/dev-env-state-path";
import { assertRemoteDevelopmentEnvironmentEnabled } from "./env";
export type RemoteDevelopmentEnvironmentProject = {
diff --git a/apps/dashboard/src/lib/risk-score-utils.ts b/apps/dashboard/src/lib/risk-score-utils.ts
index 57044ef212..a8e65c9e59 100644
--- a/apps/dashboard/src/lib/risk-score-utils.ts
+++ b/apps/dashboard/src/lib/risk-score-utils.ts
@@ -1,4 +1,4 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const RISK_SCORE_REGEX = /^(100|[1-9]?[0-9])$/;
diff --git a/apps/dashboard/src/lib/stack-app-internals.ts b/apps/dashboard/src/lib/stack-app-internals.ts
index 0ae45add27..0cbd89ba72 100644
--- a/apps/dashboard/src/lib/stack-app-internals.ts
+++ b/apps/dashboard/src/lib/stack-app-internals.ts
@@ -2,8 +2,8 @@ import {
type MetricsResponse,
type MetricsUserCounts,
type UserActivityResponse,
-} from "@stackframe/stack-shared/dist/interface/admin-metrics";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+} from "@hexclave/shared/dist/interface/admin-metrics";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export const stackAppInternalsSymbol = Symbol.for("StackAuth--DO-NOT-USE-OR-YOU-WILL-BE-FIRED--StackAppInternals");
@@ -25,7 +25,7 @@ export type {
MetricsTopRegion,
MetricsUserCounts,
UserActivityResponse,
-} from "@stackframe/stack-shared/dist/interface/admin-metrics";
+} from "@hexclave/shared/dist/interface/admin-metrics";
/**
* Pulls the typed `useMetrics` hook out of the admin app via the internals
diff --git a/apps/dashboard/src/lib/transfer-utils.ts b/apps/dashboard/src/lib/transfer-utils.ts
index 2122dc7130..3c96be68c7 100644
--- a/apps/dashboard/src/lib/transfer-utils.ts
+++ b/apps/dashboard/src/lib/transfer-utils.ts
@@ -1,5 +1,5 @@
import { stackAppInternalsSymbol } from "@/lib/stack-app-internals";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export function buildTransferSignUpUrl(): string {
const currentUrl = new URL(window.location.href);
diff --git a/apps/dashboard/src/lib/utils.tsx b/apps/dashboard/src/lib/utils.tsx
index 7c0dbcff5e..b8c309793c 100644
--- a/apps/dashboard/src/lib/utils.tsx
+++ b/apps/dashboard/src/lib/utils.tsx
@@ -1,5 +1,5 @@
import { getPublicEnvVar } from "@/lib/env";
-import { parseJson } from "@stackframe/stack-shared/dist/utils/json";
+import { parseJson } from "@hexclave/shared/dist/utils/json";
import { clsx, type ClassValue } from "clsx";
import { twMerge } from "tailwind-merge";
diff --git a/apps/dashboard/src/lib/version-check.ts b/apps/dashboard/src/lib/version-check.ts
index d61d1fc355..54527a586d 100644
--- a/apps/dashboard/src/lib/version-check.ts
+++ b/apps/dashboard/src/lib/version-check.ts
@@ -1,5 +1,5 @@
import { getPublicEnvVar } from '@/lib/env';
-import { runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronously, wait } from "@hexclave/shared/dist/utils/promises";
import packageJson from "../../package.json";
export type VersionCheckResult = {
diff --git a/apps/dashboard/src/polyfills.tsx b/apps/dashboard/src/polyfills.tsx
index 4830829f39..da4fc140b8 100644
--- a/apps/dashboard/src/polyfills.tsx
+++ b/apps/dashboard/src/polyfills.tsx
@@ -1,6 +1,6 @@
import * as Sentry from "@sentry/nextjs";
-import { getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { captureError, registerErrorSink } from "@stackframe/stack-shared/dist/utils/errors";
+import { getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { captureError, registerErrorSink } from "@hexclave/shared/dist/utils/errors";
import * as util from "util";
import { getPublicEnvVar } from "./lib/env";
diff --git a/apps/dashboard/src/proxy.tsx b/apps/dashboard/src/proxy.tsx
index 9e6ba6ca3f..c3b6a8935b 100644
--- a/apps/dashboard/src/proxy.tsx
+++ b/apps/dashboard/src/proxy.tsx
@@ -1,8 +1,8 @@
-import { getEnvVariable, getNodeEnvironment } from '@stackframe/stack-shared/dist/utils/env';
+import { getEnvVariable, getNodeEnvironment } from '@hexclave/shared/dist/utils/env';
import './polyfills';
-import { HexclaveAssertionError } from '@stackframe/stack-shared/dist/utils/errors';
-import { wait } from '@stackframe/stack-shared/dist/utils/promises';
+import { HexclaveAssertionError } from '@hexclave/shared/dist/utils/errors';
+import { wait } from '@hexclave/shared/dist/utils/promises';
import type { NextRequest } from 'next/server';
import { NextResponse } from 'next/server';
diff --git a/apps/dashboard/src/stack/client.tsx b/apps/dashboard/src/stack/client.tsx
index 99a80b4fe4..f07b885aea 100644
--- a/apps/dashboard/src/stack/client.tsx
+++ b/apps/dashboard/src/stack/client.tsx
@@ -1,6 +1,6 @@
import { getPublicEnvVar } from "@/lib/env";
-import { StackClientApp } from "@stackframe/stack";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { StackClientApp } from "@hexclave/next";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import "../polyfills";
if (getPublicEnvVar("NEXT_PUBLIC_STACK_PROJECT_ID") !== "internal") {
diff --git a/apps/dashboard/src/stack/server.tsx b/apps/dashboard/src/stack/server.tsx
index 1fe5e88b14..7062d57cbf 100644
--- a/apps/dashboard/src/stack/server.tsx
+++ b/apps/dashboard/src/stack/server.tsx
@@ -1,8 +1,8 @@
import "server-only";
import { isRemoteDevelopmentEnvironmentEnabled } from "@/lib/remote-development-environment/env";
-import { StackServerApp } from "@stackframe/stack";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { StackServerApp } from "@hexclave/next";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { stackClientApp } from "./client";
type InternalServerApp = StackServerApp;
diff --git a/apps/dashboard/tailwind.config.ts b/apps/dashboard/tailwind.config.ts
index 748cd6be4d..bb41a794cb 100644
--- a/apps/dashboard/tailwind.config.ts
+++ b/apps/dashboard/tailwind.config.ts
@@ -4,9 +4,9 @@ const config = {
darkMode: ["class"],
content: [
'./src/**/*.{ts,tsx}',
- "./node_modules/@stackframe/stack-ui/src/**/*.{ts,tsx}",
- "./node_modules/@stackframe/stack-shared/src/**/*.{ts,tsx}",
- "./node_modules/@stackframe/dashboard-ui-components/src/**/*.{ts,tsx}",
+ "./node_modules/@hexclave/ui/src/**/*.{ts,tsx}",
+ "./node_modules/@hexclave/shared/src/**/*.{ts,tsx}",
+ "./node_modules/@hexclave/dashboard-ui-components/src/**/*.{ts,tsx}",
],
prefix: "",
theme: {
diff --git a/apps/dev-launchpad/package.json b/apps/dev-launchpad/package.json
index 56cfb09f58..2d891f47c7 100644
--- a/apps/dev-launchpad/package.json
+++ b/apps/dev-launchpad/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/dev-launchpad",
- "version": "2.8.103",
+ "name": "@hexclave/dev-launchpad",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"scripts": {
diff --git a/apps/e2e/package.json b/apps/e2e/package.json
index 22ea133a09..ca1255f815 100644
--- a/apps/e2e/package.json
+++ b/apps/e2e/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/e2e-tests",
- "version": "2.8.103",
+ "name": "@hexclave/e2e-tests",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"type": "module",
@@ -13,8 +13,8 @@
},
"dependencies": {
"@oslojs/otp": "^1.1.0",
- "@stackframe/js": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/js": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"convex": "^1.27.0",
"dotenv": "^16.4.5",
"js-beautify": "^1.15.4"
diff --git a/apps/e2e/tests/backend/backend-helpers.ts b/apps/e2e/tests/backend/backend-helpers.ts
index e135f223d3..0ac8c4608b 100644
--- a/apps/e2e/tests/backend/backend-helpers.ts
+++ b/apps/e2e/tests/backend/backend-helpers.ts
@@ -1,12 +1,12 @@
-import type { ProjectConfigOverride } from "@stackframe/stack-shared/dist/config/schema";
-import { AdminUserProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { encodeBase64 } from "@stackframe/stack-shared/dist/utils/bytes";
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { publishableClientKeyNotNecessarySentinel } from "@stackframe/stack-shared/dist/utils/oauth";
-import { filterUndefined, omit } from "@stackframe/stack-shared/dist/utils/objects";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { nicify } from "@stackframe/stack-shared/dist/utils/strings";
+import type { ProjectConfigOverride } from "@hexclave/shared/dist/config/schema";
+import { AdminUserProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { encodeBase64 } from "@hexclave/shared/dist/utils/bytes";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { publishableClientKeyNotNecessarySentinel } from "@hexclave/shared/dist/utils/oauth";
+import { filterUndefined, omit } from "@hexclave/shared/dist/utils/objects";
+import { wait } from "@hexclave/shared/dist/utils/promises";
+import { nicify } from "@hexclave/shared/dist/utils/strings";
import * as jose from "jose";
import { createHmac, randomUUID } from "node:crypto";
import { expect } from "vitest";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/ai-query.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/ai-query.test.ts
index 5b66f7e775..2ea964e4f6 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/ai-query.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/ai-query.test.ts
@@ -1,5 +1,5 @@
-import { MAX_IMAGE_BYTES_PER_FILE, MAX_IMAGES_PER_MESSAGE } from "@stackframe/stack-shared/dist/ai/image-limits";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { MAX_IMAGE_BYTES_PER_FILE, MAX_IMAGES_PER_MESSAGE } from "@hexclave/shared/dist/ai/image-limits";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { describe } from "vitest";
import { it } from "../../../../helpers";
import { niceBackendFetch, Project } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/analytics-events-batch.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/analytics-events-batch.test.ts
index 2e4b58f899..6401ddb969 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/analytics-events-batch.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/analytics-events-batch.test.ts
@@ -1,6 +1,6 @@
-import { ITEM_IDS, PLAN_LIMITS, type PlanId } from "@stackframe/stack-shared/dist/plans";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { ITEM_IDS, PLAN_LIMITS, type PlanId } from "@hexclave/shared/dist/plans";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { randomBytes, randomUUID } from "node:crypto";
import { gzipSync } from "node:zlib";
import { it } from "../../../../helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/analytics-events.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/analytics-events.test.ts
index 526e182251..9e5cc5c5c1 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/analytics-events.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/analytics-events.test.ts
@@ -1,4 +1,4 @@
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { it } from "../../../../helpers";
import { Auth, Project, backendContext, bumpEmailAddress, niceBackendFetch } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/analytics-query.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/analytics-query.test.ts
index 59bf43cce2..9e6679620a 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/analytics-query.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/analytics-query.test.ts
@@ -1,7 +1,7 @@
-import { ITEM_IDS, PLAN_LIMITS, PlanId } from "@stackframe/stack-shared/dist/plans";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { ITEM_IDS, PLAN_LIMITS, PlanId } from "@hexclave/shared/dist/plans";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { it } from "../../../../helpers";
import { Project, User, niceBackendFetch, withInternalProject } from "../../../backend-helpers";
import { waitForItemQuantityToReach } from "../../../payment-quota-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/api-keys.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/api-keys.test.ts
index d38ee38d1c..bb94c4efcb 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/api-keys.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/api-keys.test.ts
@@ -1,4 +1,4 @@
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { it } from "../../../../helpers";
import { Auth, Project, ProjectApiKey, Team, backendContext, bumpEmailAddress, niceBackendFetch } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/auth/anonymous/anonymous-upgrade.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/auth/anonymous/anonymous-upgrade.test.ts
index 9fc88f26f9..158a192d40 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/auth/anonymous/anonymous-upgrade.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/auth/anonymous/anonymous-upgrade.test.ts
@@ -1,5 +1,5 @@
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { it } from "../../../../../../helpers";
import { Auth, Project, backendContext, bumpEmailAddress, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/cross-domain-authorize.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/cross-domain-authorize.test.ts
index 1a4f411ef6..c536a832eb 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/cross-domain-authorize.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/cross-domain-authorize.test.ts
@@ -1,5 +1,5 @@
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { publishableClientKeyNotNecessarySentinel } from "@stackframe/stack-shared/dist/utils/oauth";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { publishableClientKeyNotNecessarySentinel } from "@hexclave/shared/dist/utils/oauth";
import { it, localRedirectUrl } from "../../../../../../helpers";
import { Auth, backendContext, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/token.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/token.test.ts
index 517a59d432..5d191c524e 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/token.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/token.test.ts
@@ -1,5 +1,5 @@
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { describe } from "vitest";
import { it, localRedirectUrl } from "../../../../../../helpers";
import { Auth, InternalApiKey, Project, backendContext, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/auth/otp/sign-in.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/auth/otp/sign-in.test.ts
index a1d55c2900..bd9208bf91 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/auth/otp/sign-in.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/auth/otp/sign-in.test.ts
@@ -1,4 +1,4 @@
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { it } from "../../../../../../helpers";
import { Auth, Project, backendContext, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/auth/password/reset.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/auth/password/reset.test.ts
index 0479ebc565..8299898caa 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/auth/password/reset.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/auth/password/reset.test.ts
@@ -1,4 +1,4 @@
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
import { expect } from "vitest";
import { it, localRedirectUrl, localRedirectUrlRegex } from "../../../../../../helpers";
import { Auth, backendContext, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/auth/password/sign-up.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/auth/password/sign-up.test.ts
index 2f3910eae2..b309214424 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/auth/password/sign-up.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/auth/password/sign-up.test.ts
@@ -1,5 +1,5 @@
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { it } from "../../../../../../helpers";
import { Auth, Project, backendContext, bumpEmailAddress, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/auth/sessions/index.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/auth/sessions/index.test.ts
index b0ce297b1d..328084c9eb 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/auth/sessions/index.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/auth/sessions/index.test.ts
@@ -1,5 +1,5 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { it } from "../../../../../../helpers";
import { Auth, backendContext, createMailbox, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/auth/sign-up-rules.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/auth/sign-up-rules.test.ts
index bf727c0783..35c1bcc7d5 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/auth/sign-up-rules.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/auth/sign-up-rules.test.ts
@@ -1,4 +1,4 @@
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
import { describe } from "vitest";
import { it } from "../../../../../helpers";
import { Auth, InternalApiKey, Project, backendContext, niceBackendFetch } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/contact-channels/verify.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/contact-channels/verify.test.ts
index fd146bbd40..c688d853eb 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/contact-channels/verify.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/contact-channels/verify.test.ts
@@ -1,4 +1,4 @@
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { it } from "../../../../../helpers";
import { Auth, ContactChannels, backendContext, niceBackendFetch } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/emails/delivery-info.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/emails/delivery-info.test.ts
index ee06700311..d4aa177364 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/emails/delivery-info.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/emails/delivery-info.test.ts
@@ -1,4 +1,4 @@
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { describe } from "vitest";
import { it } from "../../../../../helpers";
import { withPortPrefix } from "../../../../../helpers/ports";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/emails/email-queue.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/emails/email-queue.test.ts
index 0e9f580b17..cd0d6e3a6b 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/emails/email-queue.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/emails/email-queue.test.ts
@@ -1,6 +1,6 @@
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { deindent, nicify } from "@stackframe/stack-shared/dist/utils/strings";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
+import { deindent, nicify } from "@hexclave/shared/dist/utils/strings";
import beautify from "js-beautify";
import * as net from "net";
import { afterAll, beforeAll, describe } from "vitest";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/emails/outbox-api.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/emails/outbox-api.test.ts
index f590ce6812..794bb4c264 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/emails/outbox-api.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/emails/outbox-api.test.ts
@@ -1,6 +1,6 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { describe } from "vitest";
import { it } from "../../../../../helpers";
import { withPortPrefix } from "../../../../../helpers/ports";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/external-db-sync-advanced.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/external-db-sync-advanced.test.ts
index d5c78ef671..d458a6321b 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/external-db-sync-advanced.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/external-db-sync-advanced.test.ts
@@ -1,5 +1,5 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { Client } from 'pg';
import { afterAll, beforeAll, describe, expect } from 'vitest';
import { test } from '../../../../helpers';
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/external-db-sync-basics.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/external-db-sync-basics.test.ts
index 4f5a26d9e2..312dca325b 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/external-db-sync-basics.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/external-db-sync-basics.test.ts
@@ -1,5 +1,5 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { afterAll, beforeAll, describe, expect } from 'vitest';
import { niceFetch, STACK_BACKEND_BASE_URL, test } from '../../../../helpers';
import { withPortPrefix } from '../../../../helpers/ports';
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/index.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/index.test.ts
index 8a93561095..0b7178ab7c 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/index.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/index.test.ts
@@ -1,4 +1,4 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { describe } from "vitest";
import { it } from "../../../../helpers";
import { InternalApiKey, InternalProjectKeys, Project, backendContext, niceBackendFetch } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/integrations/credential-scanning/revoke.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/integrations/credential-scanning/revoke.test.ts
index 930d9335c6..b70b23e89c 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/integrations/credential-scanning/revoke.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/integrations/credential-scanning/revoke.test.ts
@@ -1,4 +1,4 @@
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
import type { MailboxMessage } from "../../../../../../helpers";
import { it } from "../../../../../../helpers";
import { Auth, InternalApiKey, Project, ProjectApiKey, Team, backendContext, bumpEmailAddress, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/oauth.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/oauth.test.ts
index 4d91b40670..c8d03bc36f 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/oauth.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/oauth.test.ts
@@ -1,5 +1,5 @@
-import { encodeBase64Url } from "@stackframe/stack-shared/dist/utils/bytes";
-import { encodeBasicAuthorizationHeader } from "@stackframe/stack-shared/dist/utils/http";
+import { encodeBase64Url } from "@hexclave/shared/dist/utils/bytes";
+import { encodeBasicAuthorizationHeader } from "@hexclave/shared/dist/utils/http";
import { expect } from "vitest";
import { it, updateCookiesFromResponse } from "../../../../../../helpers";
import { Auth, InternalApiKey, Project, backendContext, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/projects/transfer.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/projects/transfer.test.ts
index ebb7d77f35..aa67f7d741 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/projects/transfer.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/integrations/custom/projects/transfer.test.ts
@@ -1,4 +1,4 @@
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { expect } from "vitest";
import { it } from "../../../../../../../helpers";
import { Auth, Project, niceBackendFetch } from "../../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/oauth.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/oauth.test.ts
index 299e247fae..eee76fc46a 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/oauth.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/oauth.test.ts
@@ -1,5 +1,5 @@
-import { encodeBase64Url } from "@stackframe/stack-shared/dist/utils/bytes";
-import { encodeBasicAuthorizationHeader } from "@stackframe/stack-shared/dist/utils/http";
+import { encodeBase64Url } from "@hexclave/shared/dist/utils/bytes";
+import { encodeBasicAuthorizationHeader } from "@hexclave/shared/dist/utils/http";
import { expect } from "vitest";
import { it, updateCookiesFromResponse } from "../../../../../../helpers";
import { Auth, InternalApiKey, Project, backendContext, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/projects/transfer.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/projects/transfer.test.ts
index 07b280aa7b..72e1ce758c 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/projects/transfer.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/integrations/neon/projects/transfer.test.ts
@@ -1,4 +1,4 @@
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { expect } from "vitest";
import { it } from "../../../../../../../helpers";
import { Auth, Project, niceBackendFetch } from "../../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal-metrics.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal-metrics.test.ts
index b536adc838..d6a270498d 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/internal-metrics.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/internal-metrics.test.ts
@@ -1,5 +1,5 @@
-import { deepPlainEquals } from "@stackframe/stack-shared/dist/utils/objects";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { deepPlainEquals } from "@hexclave/shared/dist/utils/objects";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { randomUUID } from "node:crypto";
import { expect } from "vitest";
import { NiceResponse, it } from "../../../../helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal-user-activity.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal-user-activity.test.ts
index c5894e6b21..464823a67d 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/internal-user-activity.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/internal-user-activity.test.ts
@@ -1,4 +1,4 @@
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { randomUUID } from "node:crypto";
import { it } from "../../../../helpers";
import { Auth, Project, niceBackendFetch } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/config-local-emulator.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/config-local-emulator.test.ts
index f13c3435d3..6fb37364e1 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/internal/config-local-emulator.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/config-local-emulator.test.ts
@@ -115,7 +115,7 @@ describe("local emulator config restrictions", () => {
const fileContent = await fs.readFile(filePath, "utf-8");
expect(fileContent).toMatchInlineSnapshot(`
deindent\`
- import type { StackConfig } from "@stackframe/js";
+ import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {
"teams": {
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/config.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/config.test.ts
index 289b58a923..22c77ad5de 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/internal/config.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/config.test.ts
@@ -1,5 +1,5 @@
-import { DEFAULT_EMAIL_THEME_ID } from "@stackframe/stack-shared/dist/helpers/emails";
-import { pick } from "@stackframe/stack-shared/dist/utils/objects";
+import { DEFAULT_EMAIL_THEME_ID } from "@hexclave/shared/dist/helpers/emails";
+import { pick } from "@hexclave/shared/dist/utils/objects";
import { describe } from "vitest";
import { it } from "../../../../../helpers";
import { Project, niceBackendFetch } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/failed-emails-digest.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/failed-emails-digest.test.ts
index 6f04f8027d..89c824e6ad 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/internal/failed-emails-digest.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/failed-emails-digest.test.ts
@@ -1,5 +1,5 @@
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { wait } from "@hexclave/shared/dist/utils/promises";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { describe, expect } from "vitest";
import { it } from "../../../../../helpers";
import { Auth, backendContext, bumpEmailAddress, InternalProjectKeys, niceBackendFetch, Project } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/local-emulator-project.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/local-emulator-project.test.ts
index 7ffb432de8..85c97634ea 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/internal/local-emulator-project.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/local-emulator-project.test.ts
@@ -74,7 +74,7 @@ describe("local emulator project endpoint", () => {
const fileContent = await fs.readFile(filePath, "utf-8");
expect(fileContent).toMatchInlineSnapshot(`
deindent\`
- import type { StackConfig } from "@stackframe/js";
+ import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = "show-onboarding";
\` + "\\n"
@@ -86,7 +86,7 @@ describe("local emulator project endpoint", () => {
await fs.mkdir(path.dirname(filePath), { recursive: true });
await fs.writeFile(
filePath,
- `import type { StackConfig } from "@stackframe/js";\n\nexport const config: StackConfig = "show-onboarding";\n`,
+ `import type { StackConfig } from "@hexclave/js";\n\nexport const config: StackConfig = "show-onboarding";\n`,
"utf-8",
);
@@ -116,7 +116,7 @@ describe("local emulator project endpoint", () => {
await fs.writeFile(
filePath,
- `import type { StackConfig } from "@stackframe/js";\n\nexport const config: StackConfig = "show-onboarding";\n`,
+ `import type { StackConfig } from "@hexclave/js";\n\nexport const config: StackConfig = "show-onboarding";\n`,
"utf-8",
);
const onboardingAgainResponse = await niceBackendFetch(LOCAL_EMULATOR_PROJECT_ENDPOINT, {
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/managed-email-onboarding.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/managed-email-onboarding.test.ts
index 1ac03ee556..4e5d0c999f 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/internal/managed-email-onboarding.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/managed-email-onboarding.test.ts
@@ -1,4 +1,4 @@
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { describe } from "vitest";
import { it } from "../../../../../helpers";
import { Project, niceBackendFetch } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/sign-up-rules-stats.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/sign-up-rules-stats.test.ts
index 7130662909..5717f12ba5 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/internal/sign-up-rules-stats.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/sign-up-rules-stats.test.ts
@@ -1,4 +1,4 @@
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { describe } from "vitest";
import { it } from "../../../../../helpers";
import { Auth, Project, backendContext, niceBackendFetch } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/internal/wysiwyg-edit.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/internal/wysiwyg-edit.test.ts
index ae2e0b0e03..ae0f35d6bc 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/internal/wysiwyg-edit.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/internal/wysiwyg-edit.test.ts
@@ -1,7 +1,7 @@
import { describe } from "vitest";
import { it } from "../../../../../helpers";
import { Auth, Project, niceBackendFetch } from "../../../../backend-helpers";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
const hasRealAiKey = (() => {
const key = getEnvVariable("STACK_OPENROUTER_API_KEY", "");
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/payments/before-offer-to-product-rename/outdated--create-purchase-url.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/payments/before-offer-to-product-rename/outdated--create-purchase-url.test.ts
index 1579d61295..c646419e04 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/payments/before-offer-to-product-rename/outdated--create-purchase-url.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/payments/before-offer-to-product-rename/outdated--create-purchase-url.test.ts
@@ -1,4 +1,4 @@
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { it } from "../../../../../../helpers";
import { withPortPrefix } from "../../../../../../helpers/ports";
import { Auth, Payments, Project, niceBackendFetch } from "../../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/payments/create-purchase-url.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/payments/create-purchase-url.test.ts
index 691bb765bc..fe2280be2d 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/payments/create-purchase-url.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/payments/create-purchase-url.test.ts
@@ -1,4 +1,4 @@
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { it } from "../../../../../helpers";
import { withPortPrefix } from "../../../../../helpers/ports";
import { Auth, niceBackendFetch, Payments, Project } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/payments/items.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/payments/items.test.ts
index 27e376ec4b..a9f28a5cc9 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/payments/items.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/payments/items.test.ts
@@ -1,4 +1,4 @@
-import { range } from "@stackframe/stack-shared/dist/utils/arrays";
+import { range } from "@hexclave/shared/dist/utils/arrays";
import { describe, expect } from "vitest";
import { it } from "../../../../../helpers";
import { Auth, InternalProjectKeys, Project, User, backendContext, createMailbox, niceBackendFetch } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/payments/products.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/payments/products.test.ts
index cad3f97629..b194c2d257 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/payments/products.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/payments/products.test.ts
@@ -1,5 +1,5 @@
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { wait } from "@hexclave/shared/dist/utils/promises";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { it } from "../../../../../helpers";
import { Auth, niceBackendFetch, Payments, Project, Team } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/payments/switch-plans.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/payments/switch-plans.test.ts
index e48b2879a6..83cc781812 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/payments/switch-plans.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/payments/switch-plans.test.ts
@@ -1,4 +1,4 @@
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { it } from "../../../../../helpers";
import { Auth, Payments, Project, niceBackendFetch } from "../../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/projects.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/projects.test.ts
index ab5a7328ef..eff92f40c3 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/projects.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/projects.test.ts
@@ -1,5 +1,5 @@
-import { isBase64Url } from "@stackframe/stack-shared/dist/utils/bytes";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { isBase64Url } from "@hexclave/shared/dist/utils/bytes";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { it } from "../../../../helpers";
import { Auth, InternalApiKey, InternalProjectKeys, Project, backendContext, niceBackendFetch } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/render-email.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/render-email.test.ts
index 39f5abc152..6947a2b1ba 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/render-email.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/render-email.test.ts
@@ -1,4 +1,4 @@
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
import { it } from "../../../../helpers";
import { niceBackendFetch } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/risk-scores.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/risk-scores.test.ts
index d3d339d7e7..cf8cad24a8 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/risk-scores.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/risk-scores.test.ts
@@ -1,4 +1,4 @@
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
import { readFileSync } from "node:fs";
import path from "node:path";
import { describe } from "vitest";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/session-replays.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/session-replays.test.ts
index 120853a679..351d2f6b4e 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/session-replays.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/session-replays.test.ts
@@ -1,6 +1,6 @@
import { randomUUID } from "node:crypto";
-import { PLAN_LIMITS } from "@stackframe/stack-shared/dist/plans";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { PLAN_LIMITS } from "@hexclave/shared/dist/plans";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { it } from "../../../../helpers";
import { Auth, Project, Team, backendContext, bumpEmailAddress, niceBackendFetch, withInternalProject } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/stripe-webhooks.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/stripe-webhooks.test.ts
index 010902e77c..82de0dbdd8 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/stripe-webhooks.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/stripe-webhooks.test.ts
@@ -1,5 +1,5 @@
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { it } from "../../../../helpers";
import { Auth, bumpEmailAddress, niceBackendFetch, Payments, Project, Team } from "../../../backend-helpers";
import { getOutboxEmails } from "./emails/email-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/team-memberships.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/team-memberships.test.ts
index e4943e53f2..f09a133bdf 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/team-memberships.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/team-memberships.test.ts
@@ -1,4 +1,4 @@
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { STACK_SVIX_SERVER_URL, it, niceFetch } from "../../../../helpers";
import { Auth, InternalApiKey, InternalProjectKeys, Project, Team, Webhook, backendContext, bumpEmailAddress, niceBackendFetch } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/token-refresh-events.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/token-refresh-events.test.ts
index c333c35217..47b1fcb74b 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/token-refresh-events.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/token-refresh-events.test.ts
@@ -1,5 +1,5 @@
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { it } from "../../../../helpers";
import { Auth, InternalApiKey, Project, backendContext, niceBackendFetch } from "../../../backend-helpers";
diff --git a/apps/e2e/tests/backend/endpoints/api/v1/users.test.ts b/apps/e2e/tests/backend/endpoints/api/v1/users.test.ts
index 02574a4060..30841afec9 100644
--- a/apps/e2e/tests/backend/endpoints/api/v1/users.test.ts
+++ b/apps/e2e/tests/backend/endpoints/api/v1/users.test.ts
@@ -1,4 +1,4 @@
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
import { describe } from "vitest";
import { STACK_BACKEND_BASE_URL, it } from "../../../../helpers";
import { localhostUrl } from "../../../../helpers/ports";
diff --git a/apps/e2e/tests/backend/endpoints/health/email-monitor.test.ts b/apps/e2e/tests/backend/endpoints/health/email-monitor.test.ts
index 0e14619bed..88e263eb8a 100644
--- a/apps/e2e/tests/backend/endpoints/health/email-monitor.test.ts
+++ b/apps/e2e/tests/backend/endpoints/health/email-monitor.test.ts
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { it } from "../../../helpers";
import { niceBackendFetch } from "../../backend-helpers";
diff --git a/apps/e2e/tests/backend/helpers/payments.ts b/apps/e2e/tests/backend/helpers/payments.ts
index 59c01a67ff..12e5a603e2 100644
--- a/apps/e2e/tests/backend/helpers/payments.ts
+++ b/apps/e2e/tests/backend/helpers/payments.ts
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { randomUUID } from "node:crypto";
import { expect } from "vitest";
import { Auth, Payments, Project, niceBackendFetch } from "../backend-helpers";
diff --git a/apps/e2e/tests/backend/payment-quota-helpers.ts b/apps/e2e/tests/backend/payment-quota-helpers.ts
index 18e24cfdd4..f2281c32fd 100644
--- a/apps/e2e/tests/backend/payment-quota-helpers.ts
+++ b/apps/e2e/tests/backend/payment-quota-helpers.ts
@@ -1,6 +1,6 @@
-import { ItemId } from "@stackframe/stack-shared/dist/plans";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { ItemId } from "@hexclave/shared/dist/plans";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { niceBackendFetch, withInternalProject } from "./backend-helpers";
// Helpers for reading and waiting on payment-item quantities held by an
diff --git a/apps/e2e/tests/general/cli.test.ts b/apps/e2e/tests/general/cli.test.ts
index 78f634787d..1e34adf1c5 100644
--- a/apps/e2e/tests/general/cli.test.ts
+++ b/apps/e2e/tests/general/cli.test.ts
@@ -2,8 +2,8 @@ import { execFile } from "child_process";
import * as fs from "fs";
import * as os from "os";
import * as path from "path";
-import { StackAdminApp } from "@stackframe/js";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { StackAdminApp } from "@hexclave/js";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { describe, beforeAll, afterAll } from "vitest";
import { it, niceFetch, STACK_BACKEND_BASE_URL, STACK_INTERNAL_PROJECT_CLIENT_KEY, STACK_INTERNAL_PROJECT_SERVER_KEY, STACK_INTERNAL_PROJECT_ADMIN_KEY } from "../helpers";
@@ -49,7 +49,7 @@ describe("Stack CLI", () => {
beforeAll(async () => {
// Check CLI is built
if (!fs.existsSync(CLI_BIN)) {
- throw new Error("CLI not built. Run `pnpm --filter @stackframe/stack-cli run build` first.");
+ throw new Error("CLI not built. Run `pnpm --filter @hexclave/cli run build` first.");
}
// Create temp dir for config file
@@ -462,7 +462,7 @@ describe("Stack CLI", () => {
expect(exitCode).toBe(0);
expect(stdout).toContain("Config written to");
const content = fs.readFileSync(configTsPath, "utf-8");
- expect(content).toContain('import type { StackConfig } from "@stackframe/js";');
+ expect(content).toContain('import type { StackConfig } from "@hexclave/js";');
expect(content).toContain("export const config: StackConfig");
});
@@ -557,7 +557,7 @@ describe("Stack CLI", () => {
expect(stdout).toContain("Config file written to");
const content = fs.readFileSync(path.join(initDir, "stack.config.ts"), "utf-8");
- expect(content).toContain('import type { StackConfig } from "@stackframe/js";');
+ expect(content).toContain('import type { StackConfig } from "@hexclave/js";');
expect(content).toContain("export const config: StackConfig");
expect(JSON.parse(extractConfigObjectString(content))).toMatchObject({
apps: {
@@ -745,7 +745,7 @@ describe("Stack CLI — Doctor", () => {
beforeAll(() => {
if (!fs.existsSync(CLI_BIN)) {
- throw new Error("CLI not built. Run `pnpm --filter @stackframe/stack-cli run build` first.");
+ throw new Error("CLI not built. Run `pnpm --filter @hexclave/cli run build` first.");
}
doctorTmpRoot = fs.mkdtempSync(path.join(os.tmpdir(), "stack-cli-doctor-test-"));
});
@@ -799,13 +799,13 @@ describe("Stack CLI — Doctor", () => {
function nextHappyFiles(): Record {
return {
"package.json": pkg({
- dependencies: { next: "14.0.0", "@stackframe/stack": "1.0.0" },
+ dependencies: { next: "14.0.0", "@hexclave/next": "1.0.0" },
}),
"stack/client.ts": "export const stackClientApp = {};\n",
"stack/server.ts": "export const stackServerApp = {};\n",
"app/handler/[...stack]/page.tsx": "export default function Page() { return null; }\n",
"app/layout.tsx":
- `import { StackProvider } from "@stackframe/stack";\n` +
+ `import { StackProvider } from "@hexclave/next";\n` +
`export default function RootLayout({ children }) {\n` +
` return {children};\n` +
`}\n`,
@@ -900,13 +900,13 @@ describe("Stack CLI — Doctor", () => {
it("Next.js applies src/ prefix when src/app exists", async ({ expect }) => {
const dir = makeProject("next-src", {
"package.json": pkg({
- dependencies: { next: "14.0.0", "@stackframe/stack": "1.0.0" },
+ dependencies: { next: "14.0.0", "@hexclave/next": "1.0.0" },
}),
"src/stack/client.ts": "export const stackClientApp = {};\n",
"src/stack/server.ts": "export const stackServerApp = {};\n",
"src/app/handler/[...stack]/page.tsx": "export default function P() { return null; }\n",
"src/app/layout.tsx":
- `import { StackProvider } from "@stackframe/stack";\n` +
+ `import { StackProvider } from "@hexclave/next";\n` +
`export default function L({ children }) { return {children}; }\n`,
".env.local":
`NEXT_PUBLIC_STACK_PROJECT_ID=p\n` +
@@ -924,7 +924,7 @@ describe("Stack CLI — Doctor", () => {
it("React happy path passes all checks", async ({ expect }) => {
const dir = makeProject("react-happy", {
"package.json": pkg({
- dependencies: { react: "18.0.0", "@stackframe/react": "1.0.0" },
+ dependencies: { react: "18.0.0", "@hexclave/react": "1.0.0" },
}),
"stack/client.ts": "export const stackClientApp = {};\n",
".env.local":
@@ -941,7 +941,7 @@ describe("Stack CLI — Doctor", () => {
it("JS catch-all happy path passes all checks", async ({ expect }) => {
const dir = makeProject("js-happy", {
"package.json": pkg({
- dependencies: { svelte: "4.0.0", "@stackframe/js": "1.0.0" },
+ dependencies: { svelte: "4.0.0", "@hexclave/js": "1.0.0" },
}),
"stack/server.ts": "export const stackServerApp = {};\n",
".env":
@@ -959,7 +959,7 @@ describe("Stack CLI — Doctor", () => {
it("JS catch-all accepts PUBLIC_* env aliases", async ({ expect }) => {
const dir = makeProject("js-public", {
"package.json": pkg({
- dependencies: { svelte: "4.0.0", "@stackframe/js": "1.0.0" },
+ dependencies: { svelte: "4.0.0", "@hexclave/js": "1.0.0" },
}),
"stack/client.ts": "export const stackClientApp = {};\n",
".env":
@@ -974,7 +974,7 @@ describe("Stack CLI — Doctor", () => {
expect(parsed.failed).toBe(0);
});
- it("fails when @stackframe/stack is not installed", async ({ expect }) => {
+ it("fails when @hexclave/next is not installed", async ({ expect }) => {
const files = nextHappyFiles();
files["package.json"] = pkg({ dependencies: { next: "14.0.0" } });
const dir = makeProject("no-stack-pkg", files);
@@ -1011,7 +1011,7 @@ describe("Stack CLI — Doctor", () => {
it("warns when layout imports StackProvider but does not render it", async ({ expect }) => {
const files = nextHappyFiles();
files["app/layout.tsx"] =
- `import { StackProvider } from "@stackframe/stack";\n` +
+ `import { StackProvider } from "@hexclave/next";\n` +
`export default function L({ children }) { return {children}; }\n`;
const dir = makeProject("layout-no-jsx", files);
const { stdout, exitCode } = await runDoctor(["doctor", "--output-dir", dir, "--json"]);
diff --git a/apps/e2e/tests/helpers.ts b/apps/e2e/tests/helpers.ts
index 3214239e52..4bd92bdeb9 100644
--- a/apps/e2e/tests/helpers.ts
+++ b/apps/e2e/tests/helpers.ts
@@ -1,9 +1,9 @@
-import { generateSecureRandomString } from "@stackframe/stack-shared/dist/utils/crypto";
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { filterUndefined, omit } from "@stackframe/stack-shared/dist/utils/objects";
-import { ignoreUnhandledRejection, wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { Nicifiable } from "@stackframe/stack-shared/dist/utils/strings";
+import { generateSecureRandomString } from "@hexclave/shared/dist/utils/crypto";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { filterUndefined, omit } from "@hexclave/shared/dist/utils/objects";
+import { ignoreUnhandledRejection, wait } from "@hexclave/shared/dist/utils/promises";
+import { Nicifiable } from "@hexclave/shared/dist/utils/strings";
import { AsyncLocalStorage } from "node:async_hooks";
// eslint-disable-next-line no-restricted-imports
import { afterEach, beforeEach, onTestFailed, test as vitestTest } from "vitest";
diff --git a/apps/e2e/tests/js/app.test.ts b/apps/e2e/tests/js/app.test.ts
index e14d675e35..d0030161a2 100644
--- a/apps/e2e/tests/js/app.test.ts
+++ b/apps/e2e/tests/js/app.test.ts
@@ -1,4 +1,4 @@
-import { isUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { isUuid } from "@hexclave/shared/dist/utils/uuids";
import { it } from "../helpers";
import { createApp, scaffoldProject } from "./js-helpers";
diff --git a/apps/e2e/tests/js/auth-like.test.ts b/apps/e2e/tests/js/auth-like.test.ts
index 21116ed194..ca4a8dcb10 100644
--- a/apps/e2e/tests/js/auth-like.test.ts
+++ b/apps/e2e/tests/js/auth-like.test.ts
@@ -65,7 +65,7 @@ it("clientApp.version should return a valid version string", async ({ expect })
const { clientApp } = await createApp({});
expect(clientApp.version).toBeDefined();
expect(typeof clientApp.version).toBe("string");
- expect(clientApp.version).toMatch(/^js @stackframe\/js@\d+\.\d+\.\d+/);
+ expect(clientApp.version).toMatch(/^js @hexclave\/js@\d+\.\d+\.\d+/);
});
it("serverApp.version should return the same version as clientApp", async ({ expect }) => {
diff --git a/apps/e2e/tests/js/config.test.ts b/apps/e2e/tests/js/config.test.ts
index 512a91e3af..a1f02346a6 100644
--- a/apps/e2e/tests/js/config.test.ts
+++ b/apps/e2e/tests/js/config.test.ts
@@ -1,4 +1,4 @@
-import { pick } from "@stackframe/stack-shared/dist/utils/objects";
+import { pick } from "@hexclave/shared/dist/utils/objects";
import { describe } from "vitest";
import { it } from "../helpers";
import { createApp } from "./js-helpers";
diff --git a/apps/e2e/tests/js/connected-accounts.test.ts b/apps/e2e/tests/js/connected-accounts.test.ts
index c006e6d2b1..c670bf6284 100644
--- a/apps/e2e/tests/js/connected-accounts.test.ts
+++ b/apps/e2e/tests/js/connected-accounts.test.ts
@@ -1,4 +1,4 @@
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { describe } from "vitest";
import { it } from "../helpers";
import { createApp } from "./js-helpers";
diff --git a/apps/e2e/tests/js/cookies.test.ts b/apps/e2e/tests/js/cookies.test.ts
index b29c183f09..2c3d8ad5ce 100644
--- a/apps/e2e/tests/js/cookies.test.ts
+++ b/apps/e2e/tests/js/cookies.test.ts
@@ -1,5 +1,5 @@
-import { StackClientApp } from "@stackframe/js";
-import { encodeBase32 } from "@stackframe/stack-shared/dist/utils/bytes";
+import { StackClientApp } from "@hexclave/js";
+import { encodeBase32 } from "@hexclave/shared/dist/utils/bytes";
import { TextEncoder } from "util";
import { vi } from "vitest";
import { SDK_BASE_URL } from "../helpers";
diff --git a/apps/e2e/tests/js/cross-domain-auth.test.ts b/apps/e2e/tests/js/cross-domain-auth.test.ts
index b457e36e12..74928f8142 100644
--- a/apps/e2e/tests/js/cross-domain-auth.test.ts
+++ b/apps/e2e/tests/js/cross-domain-auth.test.ts
@@ -1,4 +1,4 @@
-import { StackClientApp } from "@stackframe/js";
+import { StackClientApp } from "@hexclave/js";
import { afterEach, vi } from "vitest";
import { it, localRedirectUrl } from "../helpers";
diff --git a/apps/e2e/tests/js/data-vault.test.ts b/apps/e2e/tests/js/data-vault.test.ts
index cdf3a2d09e..c1b6e58aa7 100644
--- a/apps/e2e/tests/js/data-vault.test.ts
+++ b/apps/e2e/tests/js/data-vault.test.ts
@@ -1,4 +1,4 @@
-import { StackServerApp } from '@stackframe/js';
+import { StackServerApp } from '@hexclave/js';
import { beforeAll, describe, expect } from 'vitest';
import { it } from '../helpers';
import { createApp } from './js-helpers';
diff --git a/apps/e2e/tests/js/email.test.ts b/apps/e2e/tests/js/email.test.ts
index 1201ca2f44..8c50442a9d 100644
--- a/apps/e2e/tests/js/email.test.ts
+++ b/apps/e2e/tests/js/email.test.ts
@@ -1,6 +1,6 @@
-import { KnownErrors } from "@stackframe/stack-shared";
-import { DEFAULT_EMAIL_THEME_ID, DEFAULT_TEMPLATE_IDS } from "@stackframe/stack-shared/dist/helpers/emails";
-import { wait } from "@stackframe/stack-shared/dist/utils/promises";
+import { KnownErrors } from "@hexclave/shared";
+import { DEFAULT_EMAIL_THEME_ID, DEFAULT_TEMPLATE_IDS } from "@hexclave/shared/dist/helpers/emails";
+import { wait } from "@hexclave/shared/dist/utils/promises";
import { it } from "../helpers";
import { withPortPrefix } from "../helpers/ports";
import { createApp } from "./js-helpers";
diff --git a/apps/e2e/tests/js/inheritance.test.ts b/apps/e2e/tests/js/inheritance.test.ts
index d91f1f8774..00ea2eaab2 100644
--- a/apps/e2e/tests/js/inheritance.test.ts
+++ b/apps/e2e/tests/js/inheritance.test.ts
@@ -1,6 +1,6 @@
-import { StackAdminApp, StackClientApp, StackServerApp } from "@stackframe/js";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { isUuid } from "@stackframe/stack-shared/dist/utils/uuids";
+import { StackAdminApp, StackClientApp, StackServerApp } from "@hexclave/js";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { isUuid } from "@hexclave/shared/dist/utils/uuids";
import { SDK_BASE_URL, it } from "../helpers";
import { scaffoldProject } from "./js-helpers";
diff --git a/apps/e2e/tests/js/js-helpers.ts b/apps/e2e/tests/js/js-helpers.ts
index ddb873d477..33e3840bef 100644
--- a/apps/e2e/tests/js/js-helpers.ts
+++ b/apps/e2e/tests/js/js-helpers.ts
@@ -1,7 +1,7 @@
-import type { StackClientAppConstructorOptions, StackServerAppConstructorOptions } from '@stackframe/js';
-import { AdminProjectCreateOptions, StackAdminApp, StackClientApp, StackServerApp } from '@stackframe/js';
-import { throwErr } from '@stackframe/stack-shared/dist/utils/errors';
-import { Result } from '@stackframe/stack-shared/dist/utils/results';
+import type { StackClientAppConstructorOptions, StackServerAppConstructorOptions } from '@hexclave/js';
+import { AdminProjectCreateOptions, StackAdminApp, StackClientApp, StackServerApp } from '@hexclave/js';
+import { throwErr } from '@hexclave/shared/dist/utils/errors';
+import { Result } from '@hexclave/shared/dist/utils/results';
import { SDK_BASE_URL, STACK_INTERNAL_PROJECT_ADMIN_KEY, STACK_INTERNAL_PROJECT_CLIENT_KEY, STACK_INTERNAL_PROJECT_SERVER_KEY } from '../helpers';
const testExtraRequestHeaders = {
diff --git a/apps/e2e/tests/js/oauth-providers.test.ts b/apps/e2e/tests/js/oauth-providers.test.ts
index 882f369a0b..69b8382835 100644
--- a/apps/e2e/tests/js/oauth-providers.test.ts
+++ b/apps/e2e/tests/js/oauth-providers.test.ts
@@ -1,4 +1,4 @@
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { describe } from "vitest";
import { it } from "../helpers";
import { createApp } from "./js-helpers";
diff --git a/apps/e2e/tests/snapshot-serializer.ts b/apps/e2e/tests/snapshot-serializer.ts
index f7d52b104d..d1f6a1da42 100644
--- a/apps/e2e/tests/snapshot-serializer.ts
+++ b/apps/e2e/tests/snapshot-serializer.ts
@@ -1,7 +1,7 @@
-import { isApiKey, parseProjectApiKey } from "@stackframe/stack-shared/dist/utils/api-keys";
-import { typedIncludes } from "@stackframe/stack-shared/dist/utils/arrays";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { nicify } from "@stackframe/stack-shared/dist/utils/strings";
+import { isApiKey, parseProjectApiKey } from "@hexclave/shared/dist/utils/api-keys";
+import { typedIncludes } from "@hexclave/shared/dist/utils/arrays";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { nicify } from "@hexclave/shared/dist/utils/strings";
import { SnapshotSerializer } from "vitest";
import { getPortPrefix } from "./helpers/ports";
diff --git a/apps/hosted-components/package.json b/apps/hosted-components/package.json
index 13da5502ac..4ead06e3bd 100644
--- a/apps/hosted-components/package.json
+++ b/apps/hosted-components/package.json
@@ -1,7 +1,7 @@
{
- "name": "@stackframe/hosted-components",
+ "name": "@hexclave/hosted-components",
"private": true,
- "version": "2.8.103",
+ "version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite dev --port ${NEXT_PUBLIC_HEXCLAVE_PORT_PREFIX:-81}09",
@@ -12,8 +12,8 @@
"clean": "rimraf .output && rimraf node_modules"
},
"dependencies": {
- "@stackframe/react": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/react": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"@tanstack/react-router": "^1.121.3",
"@tanstack/react-start": "^1.121.3",
"@tanstack/react-start-client": "^1.121.3",
diff --git a/apps/hosted-components/src/routes/__root.tsx b/apps/hosted-components/src/routes/__root.tsx
index f4e5e179ef..88eddc2094 100644
--- a/apps/hosted-components/src/routes/__root.tsx
+++ b/apps/hosted-components/src/routes/__root.tsx
@@ -1,5 +1,5 @@
///
-import { StackClientApp, StackProvider, StackTheme } from '@stackframe/react';
+import { StackClientApp, StackProvider, StackTheme } from '@hexclave/react';
import {
HeadContent,
Outlet,
diff --git a/apps/hosted-components/src/routes/handler/$.tsx b/apps/hosted-components/src/routes/handler/$.tsx
index 87df4aa166..d63c6cc296 100644
--- a/apps/hosted-components/src/routes/handler/$.tsx
+++ b/apps/hosted-components/src/routes/handler/$.tsx
@@ -1,5 +1,5 @@
import { createFileRoute } from '@tanstack/react-router';
-import { StackHandler } from '@stackframe/react';
+import { StackHandler } from '@hexclave/react';
import { useState, useEffect } from 'react';
export const Route = createFileRoute('/handler/$')({
diff --git a/apps/hosted-components/src/routes/index.tsx b/apps/hosted-components/src/routes/index.tsx
index bc5920af93..b85c62646b 100644
--- a/apps/hosted-components/src/routes/index.tsx
+++ b/apps/hosted-components/src/routes/index.tsx
@@ -1,4 +1,4 @@
-import { UserButton, useUser } from "@stackframe/react";
+import { UserButton, useUser } from "@hexclave/react";
import { createFileRoute } from '@tanstack/react-router';
export const Route = createFileRoute('/')({
diff --git a/apps/hosted-components/vite.config.ts b/apps/hosted-components/vite.config.ts
index 80ba906f51..9036054807 100644
--- a/apps/hosted-components/vite.config.ts
+++ b/apps/hosted-components/vite.config.ts
@@ -78,11 +78,11 @@ export default defineConfig({
dedupe: ['react', 'react-dom'],
},
optimizeDeps: {
- exclude: ['@stackframe/react', '@stackframe/stack-shared'],
+ exclude: ['@hexclave/react', '@hexclave/shared'],
},
plugins: [
- waitForWorkspacePackages(['@stackframe/react', '@stackframe/stack-shared']),
- watchNodeModules(['@stackframe/react', '@stackframe/stack-shared']),
+ waitForWorkspacePackages(['@hexclave/react', '@hexclave/shared']),
+ watchNodeModules(['@hexclave/react', '@hexclave/shared']),
tsConfigPaths(),
tanstackStart(),
nitro(),
diff --git a/apps/internal-tool/package.json b/apps/internal-tool/package.json
index e4ba9ed569..52dec73e14 100644
--- a/apps/internal-tool/package.json
+++ b/apps/internal-tool/package.json
@@ -1,7 +1,7 @@
{
- "name": "@stackframe/internal-tool",
+ "name": "@hexclave/internal-tool",
"private": true,
- "version": "2.8.103",
+ "version": "1.0.0",
"type": "module",
"scripts": {
"dev": "node scripts/pre-dev.mjs && next dev --turbopack --port ${NEXT_PUBLIC_HEXCLAVE_PORT_PREFIX:-81}41",
@@ -17,8 +17,8 @@
"spacetime:publish:prod": "node scripts/spacetime-publish.mjs prod"
},
"dependencies": {
- "@stackframe/stack": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/next": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"next": "16.1.5",
diff --git a/apps/internal-tool/spacetimedb/package.json b/apps/internal-tool/spacetimedb/package.json
index 5b11f15b53..e1fe7d99ce 100644
--- a/apps/internal-tool/spacetimedb/package.json
+++ b/apps/internal-tool/spacetimedb/package.json
@@ -1,7 +1,7 @@
{
- "name": "@stackframe/internal-tool-module",
+ "name": "@hexclave/internal-tool-module",
"private": true,
- "version": "2.8.80",
+ "version": "1.0.0",
"type": "module",
"dependencies": {
"spacetimedb": "^2.1.0"
diff --git a/apps/internal-tool/src/app/app-client.tsx b/apps/internal-tool/src/app/app-client.tsx
index d360c260ad..0fc5af86cb 100644
--- a/apps/internal-tool/src/app/app-client.tsx
+++ b/apps/internal-tool/src/app/app-client.tsx
@@ -1,4 +1,4 @@
-import { useUser } from "@stackframe/stack";
+import { useUser } from "@hexclave/next";
import { clsx } from "clsx";
import { useState } from "react";
import { AddManualQa } from "../components/AddManualQa";
diff --git a/apps/internal-tool/src/app/handler/[...stack]/page.tsx b/apps/internal-tool/src/app/handler/[...stack]/page.tsx
index 59ae576f3e..8eee14ab95 100644
--- a/apps/internal-tool/src/app/handler/[...stack]/page.tsx
+++ b/apps/internal-tool/src/app/handler/[...stack]/page.tsx
@@ -1,6 +1,6 @@
"use client";
-import { StackHandler } from "@stackframe/stack";
+import { StackHandler } from "@hexclave/next";
import { useEffect, useState } from "react";
export default function Handler() {
diff --git a/apps/internal-tool/src/app/layout.tsx b/apps/internal-tool/src/app/layout.tsx
index 163d7a0f37..53cfcc12cd 100644
--- a/apps/internal-tool/src/app/layout.tsx
+++ b/apps/internal-tool/src/app/layout.tsx
@@ -1,7 +1,7 @@
"use client";
import { Suspense } from "react";
-import { StackProvider, StackTheme } from "@stackframe/stack";
+import { StackProvider, StackTheme } from "@hexclave/next";
import { stackClientApp } from "../stack";
import Loading from "./loading";
import "./globals.css";
diff --git a/apps/internal-tool/src/stack.ts b/apps/internal-tool/src/stack.ts
index c3c3bb3cfd..b38e7de66b 100644
--- a/apps/internal-tool/src/stack.ts
+++ b/apps/internal-tool/src/stack.ts
@@ -1,4 +1,4 @@
-import { StackClientApp } from "@stackframe/stack";
+import { StackClientApp } from "@hexclave/next";
const IS_DEV = process.env.NODE_ENV === "development";
const PLACEHOLDER = "REPLACE_ME";
diff --git a/apps/mcp/package.json b/apps/mcp/package.json
index e582d910f7..644ff8deef 100644
--- a/apps/mcp/package.json
+++ b/apps/mcp/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/mcp",
- "version": "2.8.103",
+ "name": "@hexclave/mcp",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"type": "module",
@@ -13,7 +13,7 @@
"lint": "eslint ."
},
"dependencies": {
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"@vercel/mcp-adapter": "^1.0.0",
"next": "16.1.7",
"posthog-node": "^4.1.0",
diff --git a/apps/mcp/src/analytics.ts b/apps/mcp/src/analytics.ts
index 17fa3d4743..0c88d737d8 100644
--- a/apps/mcp/src/analytics.ts
+++ b/apps/mcp/src/analytics.ts
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { PostHog } from "posthog-node";
export default async function withPostHog(callback: (posthog: PostHog) => Promise) {
diff --git a/apps/mcp/src/mcp-handler.ts b/apps/mcp/src/mcp-handler.ts
index f41cb36022..2a27f92cef 100644
--- a/apps/mcp/src/mcp-handler.ts
+++ b/apps/mcp/src/mcp-handler.ts
@@ -1,4 +1,4 @@
-import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
+import { getEnvVariable } from "@hexclave/shared/dist/utils/env";
import { createMcpHandler } from "@vercel/mcp-adapter";
import { z } from "zod";
diff --git a/apps/mock-oauth-server/package.json b/apps/mock-oauth-server/package.json
index f97d7b50d3..29fb420ab4 100644
--- a/apps/mock-oauth-server/package.json
+++ b/apps/mock-oauth-server/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/mock-oauth-server",
- "version": "2.8.103",
+ "name": "@hexclave/mock-oauth-server",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"main": "index.js",
diff --git a/apps/skills/package.json b/apps/skills/package.json
index 63ff7e2e10..b95dac9017 100644
--- a/apps/skills/package.json
+++ b/apps/skills/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/skills",
- "version": "2.8.103",
+ "name": "@hexclave/skills",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"type": "module",
diff --git a/docker/backend/Dockerfile b/docker/backend/Dockerfile
index d94da602cb..f1ce3a017f 100644
--- a/docker/backend/Dockerfile
+++ b/docker/backend/Dockerfile
@@ -32,7 +32,7 @@ COPY . .
RUN tsx ./scripts/generate-sdks.ts
# Only prune backend (no dashboard)
-RUN turbo prune --scope=@stackframe/backend --docker
+RUN turbo prune --scope=@hexclave/backend --docker
# Build stage
@@ -55,7 +55,7 @@ COPY docs ./docs
ENV NEXT_CONFIG_OUTPUT=standalone
# Build backend only
-RUN pnpm turbo run docker-build --filter=@stackframe/backend...
+RUN pnpm turbo run docker-build --filter=@hexclave/backend...
# Final image
diff --git a/docker/local-emulator/Dockerfile b/docker/local-emulator/Dockerfile
index c2274666b5..16ed7dba51 100644
--- a/docker/local-emulator/Dockerfile
+++ b/docker/local-emulator/Dockerfile
@@ -30,7 +30,7 @@ COPY . .
RUN tsx ./scripts/generate-sdks.ts
# https://turbo.build/repo/docs/guides/tools/docker
-RUN turbo prune --scope=@stackframe/backend --scope=@stackframe/dashboard --docker
+RUN turbo prune --scope=@hexclave/backend --scope=@hexclave/dashboard --docker
FROM node-base AS builder
@@ -56,7 +56,7 @@ ENV NEXT_CONFIG_OUTPUT=standalone
ENV NEXT_PUBLIC_STACK_STRIPE_PUBLISHABLE_KEY=pk_test_mock_publishable_key_for_local_emulator
# Build the backend NextJS app
-RUN pnpm turbo run docker-build --filter=@stackframe/backend... --filter=@stackframe/dashboard...
+RUN pnpm turbo run docker-build --filter=@hexclave/backend... --filter=@hexclave/dashboard...
# Build the self-host seed script.
# tsdown -> rolldown is multi-threaded Rust; under qemu-user (cross-arch
diff --git a/docker/server/Dockerfile b/docker/server/Dockerfile
index c682c21e52..ea69f85dbf 100644
--- a/docker/server/Dockerfile
+++ b/docker/server/Dockerfile
@@ -26,7 +26,7 @@ COPY . .
RUN tsx ./scripts/generate-sdks.ts
# https://turbo.build/repo/docs/guides/tools/docker
-RUN turbo prune --scope=@stackframe/backend --scope=@stackframe/dashboard --docker
+RUN turbo prune --scope=@hexclave/backend --scope=@hexclave/dashboard --docker
@@ -53,7 +53,7 @@ COPY docs ./docs
ENV NEXT_CONFIG_OUTPUT=standalone
# Build the backend NextJS app
-RUN pnpm turbo run docker-build --filter=@stackframe/backend... --filter=@stackframe/dashboard...
+RUN pnpm turbo run docker-build --filter=@hexclave/backend... --filter=@hexclave/dashboard...
# Build the self-host seed script
RUN cd apps/backend && pnpm build-self-host-migration-script
diff --git a/docs-mintlify/README.md b/docs-mintlify/README.md
index 86701ae16f..dd23a603af 100644
--- a/docs-mintlify/README.md
+++ b/docs-mintlify/README.md
@@ -12,7 +12,7 @@ How to run the Mintlify docs preview locally from this repository.
When you change API route OpenAPI metadata, regenerate and **commit** the four specs from the repo root:
```bash
- pnpm run --filter @stackframe/backend codegen-docs
+ pnpm run --filter @hexclave/backend codegen-docs
git add docs-mintlify/openapi/
```
diff --git a/docs-mintlify/docs.json b/docs-mintlify/docs.json
index d6286ca529..8283bb652d 100644
--- a/docs-mintlify/docs.json
+++ b/docs-mintlify/docs.json
@@ -219,7 +219,7 @@
"footer": {
"socials": {
"x": "https://x.com/stack_auth",
- "github": "https://github.com/hexclave/stack",
+ "github": "https://github.com/hexclave/hexclave",
"discord": "https://discord.hexclave.com"
}
},
diff --git a/docs-mintlify/package.json b/docs-mintlify/package.json
index 8bb9e3cfbe..881c056c54 100644
--- a/docs-mintlify/package.json
+++ b/docs-mintlify/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/docs-mintlify",
- "version": "2.8.103",
+ "name": "@hexclave/docs-mintlify",
+ "version": "1.0.0",
"private": true,
"scripts": {
"dev": "mint dev --port ${NEXT_PUBLIC_HEXCLAVE_PORT_PREFIX:-81}04 --no-open",
diff --git a/docs/package.json b/docs/package.json
index 9e79a3b2ab..452a401fe9 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/stack-docs",
- "version": "2.8.103",
+ "name": "@hexclave/docs",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/stack-auth",
"description": "",
"main": "index.js",
@@ -27,8 +27,8 @@
"@radix-ui/react-scroll-area": "^1.2.9",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-tabs": "^1.1.12",
- "@stackframe/stack": "workspace:^",
- "@stackframe/stack-shared": "workspace:^",
+ "@hexclave/next": "workspace:^",
+ "@hexclave/shared": "workspace:^",
"ai": "^6.0.0",
"class-variance-authority": "^0.7.1",
"fumadocs-core": "15.3.3",
diff --git a/examples/cjs-test/app/handler/[...stack]/page.jsx b/examples/cjs-test/app/handler/[...stack]/page.jsx
index 837d63b22b..7f06bac4c0 100644
--- a/examples/cjs-test/app/handler/[...stack]/page.jsx
+++ b/examples/cjs-test/app/handler/[...stack]/page.jsx
@@ -1,4 +1,4 @@
-const { StackHandler } = require("@stackframe/stack");
+const { StackHandler } = require("@hexclave/next");
const { stackServerApp } = require("../../../stack");
function Handler(props) {
diff --git a/examples/cjs-test/app/layout.tsx b/examples/cjs-test/app/layout.tsx
index 9eba888845..6db1edb31b 100644
--- a/examples/cjs-test/app/layout.tsx
+++ b/examples/cjs-test/app/layout.tsx
@@ -1,4 +1,4 @@
-const { StackProvider, StackTheme } = require("@stackframe/stack");
+const { StackProvider, StackTheme } = require("@hexclave/next");
const { stackServerApp } = require("../stack");
require("./globals.css");
diff --git a/examples/cjs-test/app/page.jsx b/examples/cjs-test/app/page.jsx
index f5a3b221c9..e64f3ea2a1 100644
--- a/examples/cjs-test/app/page.jsx
+++ b/examples/cjs-test/app/page.jsx
@@ -1,5 +1,5 @@
const { default: Image } = require("next/image");
-const Stack = require('@stackframe/stack');
+const Stack = require('@hexclave/next');
function Home() {
return (
diff --git a/examples/cjs-test/package.json b/examples/cjs-test/package.json
index 032b746e14..99168e22c8 100644
--- a/examples/cjs-test/package.json
+++ b/examples/cjs-test/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/example-cjs-test",
- "version": "2.8.103",
+ "name": "@hexclave/example-cjs-test",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"scripts": {
@@ -12,7 +12,7 @@
"clean": "rimraf .next && rimraf node_modules"
},
"dependencies": {
- "@stackframe/stack": "workspace:*",
+ "@hexclave/next": "workspace:*",
"next": "^14.2.35",
"react": "^18",
"react-dom": "^18"
diff --git a/examples/cjs-test/stack.tsx b/examples/cjs-test/stack.tsx
index adc8d0e627..eb7a6f695f 100644
--- a/examples/cjs-test/stack.tsx
+++ b/examples/cjs-test/stack.tsx
@@ -1,6 +1,6 @@
require("server-only");
-const { StackServerApp } = require("@stackframe/stack");
+const { StackServerApp } = require("@hexclave/next");
export const stackServerApp = new StackServerApp({
tokenStore: "nextjs-cookie",
diff --git a/examples/convex/app/action/page.tsx b/examples/convex/app/action/page.tsx
index e6091606ca..5b10f31909 100644
--- a/examples/convex/app/action/page.tsx
+++ b/examples/convex/app/action/page.tsx
@@ -3,8 +3,8 @@
import { useAction } from "convex/react";
import { useState } from "react";
import { api } from "@/convex/_generated/api";
-import { useUser } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useUser } from "@hexclave/next";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
export default function Page() {
const myAction = useAction(api.myActions.myAction);
diff --git a/examples/convex/app/handler/[...stack]/page.tsx b/examples/convex/app/handler/[...stack]/page.tsx
index 16de8f93d9..072bd5caa3 100644
--- a/examples/convex/app/handler/[...stack]/page.tsx
+++ b/examples/convex/app/handler/[...stack]/page.tsx
@@ -1,4 +1,4 @@
-import { StackHandler } from "@stackframe/stack";
+import { StackHandler } from "@hexclave/next";
import { stackServerApp } from "../../../stack/server";
export default function Handler(props: unknown) {
diff --git a/examples/convex/app/layout.tsx b/examples/convex/app/layout.tsx
index ce0c99b7ac..48c3756cd1 100644
--- a/examples/convex/app/layout.tsx
+++ b/examples/convex/app/layout.tsx
@@ -1,5 +1,5 @@
import type { Metadata } from "next";
-import { StackProvider, StackTheme } from "@stackframe/stack";
+import { StackProvider, StackTheme } from "@hexclave/next";
import { stackServerApp } from "../stack/server";
import { Geist, Geist_Mono } from "next/font/google";
import "./globals.css";
diff --git a/examples/convex/app/page.tsx b/examples/convex/app/page.tsx
index d66209cca5..1c2a1e343b 100644
--- a/examples/convex/app/page.tsx
+++ b/examples/convex/app/page.tsx
@@ -1,6 +1,6 @@
"use client";
-import { UserButton, useUser } from "@stackframe/stack";
+import { UserButton, useUser } from "@hexclave/next";
import { useMutation, useQuery } from "convex/react";
import Link from "next/link";
import { api } from "../convex/_generated/api";
diff --git a/examples/convex/convex/auth.config.ts b/examples/convex/convex/auth.config.ts
index 87ff56d79b..282ef81ca0 100644
--- a/examples/convex/convex/auth.config.ts
+++ b/examples/convex/convex/auth.config.ts
@@ -1,4 +1,4 @@
-import { getConvexProvidersConfig } from "@stackframe/stack/convex-auth.config";
+import { getConvexProvidersConfig } from "@hexclave/next/convex-auth.config";
export default {
providers: getConvexProvidersConfig({
diff --git a/examples/convex/convex/convex.config.ts b/examples/convex/convex/convex.config.ts
index f4c29d5261..a44941764d 100644
--- a/examples/convex/convex/convex.config.ts
+++ b/examples/convex/convex/convex.config.ts
@@ -1,4 +1,4 @@
-import stackAuthComponent from "@stackframe/stack/convex.config";
+import stackAuthComponent from "@hexclave/next/convex.config";
import { defineApp } from "convex/server";
const app = defineApp();
diff --git a/examples/convex/package.json b/examples/convex/package.json
index 5ce8d2e49c..84d9756b16 100644
--- a/examples/convex/package.json
+++ b/examples/convex/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/convex-example",
- "version": "2.8.103",
+ "name": "@hexclave/convex-example",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"scripts": {
@@ -18,8 +18,8 @@
"clean": "rimraf .next && rimraf node_modules"
},
"dependencies": {
- "@stackframe/stack": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/next": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"convex": "^1.27.0",
"next": "15.5.10",
"react": "^19.0.1",
diff --git a/examples/convex/stack/client.tsx b/examples/convex/stack/client.tsx
index 6ad014e2a9..69b14aea58 100644
--- a/examples/convex/stack/client.tsx
+++ b/examples/convex/stack/client.tsx
@@ -1,4 +1,4 @@
-import { StackClientApp } from "@stackframe/stack";
+import { StackClientApp } from "@hexclave/next";
export const stackClientApp = new StackClientApp({
tokenStore: "nextjs-cookie",
diff --git a/examples/convex/stack/server.tsx b/examples/convex/stack/server.tsx
index e39c38df45..3d1940d036 100644
--- a/examples/convex/stack/server.tsx
+++ b/examples/convex/stack/server.tsx
@@ -1,4 +1,4 @@
-import { StackServerApp } from "@stackframe/stack";
+import { StackServerApp } from "@hexclave/next";
import { stackClientApp } from "./client";
export const stackServerApp = new StackServerApp({
diff --git a/examples/convex/tailwind.config.js b/examples/convex/tailwind.config.js
index 86a375e52c..82e7c56ab2 100644
--- a/examples/convex/tailwind.config.js
+++ b/examples/convex/tailwind.config.js
@@ -2,7 +2,7 @@
module.exports = {
content: [
"./src/**/*.{js,ts,jsx,tsx,mdx}",
- "./node_modules/@stackframe/stack-ui/src/**/*.{ts,tsx}",
+ "./node_modules/@hexclave/ui/src/**/*.{ts,tsx}",
],
theme: {
extend: {},
diff --git a/examples/demo/package.json b/examples/demo/package.json
index 79540db5e6..113f662d52 100644
--- a/examples/demo/package.json
+++ b/examples/demo/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/example-demo-app",
- "version": "2.8.103",
+ "name": "@hexclave/example-demo-app",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"description": "",
"private": true,
@@ -16,11 +16,11 @@
"dependencies": {
"@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0",
- "@stackframe/js": "workspace:*",
- "@stackframe/react": "workspace:*",
- "@stackframe/stack": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
- "@stackframe/stack-ui": "workspace:*",
+ "@hexclave/js": "workspace:*",
+ "@hexclave/react": "workspace:*",
+ "@hexclave/next": "workspace:*",
+ "@hexclave/shared": "workspace:*",
+ "@hexclave/ui": "workspace:*",
"next": "15.5.10",
"next-themes": "^0.4.3",
"react": "19.0.1",
diff --git a/examples/demo/src/app/anonymous-test/page.tsx b/examples/demo/src/app/anonymous-test/page.tsx
index 073d34e1e0..2072ab37af 100644
--- a/examples/demo/src/app/anonymous-test/page.tsx
+++ b/examples/demo/src/app/anonymous-test/page.tsx
@@ -1,8 +1,8 @@
'use client';
-import { useStackApp, useUser } from '@stackframe/stack';
-import { runAsynchronouslyWithAlert } from '@stackframe/stack-shared/dist/utils/promises';
-import { Button, Card, CardContent, CardHeader, Typography } from '@stackframe/stack-ui';
+import { useStackApp, useUser } from '@hexclave/next';
+import { runAsynchronouslyWithAlert } from '@hexclave/shared/dist/utils/promises';
+import { Button, Card, CardContent, CardHeader, Typography } from '@hexclave/ui';
import { useState } from 'react';
export default function AnonymousTestPage() {
diff --git a/examples/demo/src/app/apikey-demo/api/route.ts b/examples/demo/src/app/apikey-demo/api/route.ts
index ce23ca7dfb..0660114768 100644
--- a/examples/demo/src/app/apikey-demo/api/route.ts
+++ b/examples/demo/src/app/apikey-demo/api/route.ts
@@ -1,4 +1,4 @@
-import { ServerTeam, ServerUser } from "@stackframe/stack";
+import { ServerTeam, ServerUser } from "@hexclave/next";
import { NextResponse } from "next/server";
import { stackServerApp } from "src/stack";
export async function POST(request: Request) {
diff --git a/examples/demo/src/app/apikey-demo/page.tsx b/examples/demo/src/app/apikey-demo/page.tsx
index edbb9ddb95..fe86ae8588 100644
--- a/examples/demo/src/app/apikey-demo/page.tsx
+++ b/examples/demo/src/app/apikey-demo/page.tsx
@@ -1,7 +1,7 @@
"use client";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Card, Input, Typography } from "@stackframe/stack-ui";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Card, Input, Typography } from "@hexclave/ui";
import { useState } from "react";
export default function ApiKeyDemo() {
diff --git a/examples/demo/src/app/cli-auth-demo/page.tsx b/examples/demo/src/app/cli-auth-demo/page.tsx
index ddcf303f27..cd7ddc3725 100644
--- a/examples/demo/src/app/cli-auth-demo/page.tsx
+++ b/examples/demo/src/app/cli-auth-demo/page.tsx
@@ -19,9 +19,9 @@
* =============================================================================
*/
-import { StackClientApp, useStackApp, useUser, stackAppInternalsSymbol } from '@stackframe/stack';
-import { runAsynchronouslyWithAlert } from '@stackframe/stack-shared/dist/utils/promises';
-import { Button, Card, CardContent, CardHeader, Typography } from '@stackframe/stack-ui';
+import { StackClientApp, useStackApp, useUser, stackAppInternalsSymbol } from '@hexclave/next';
+import { runAsynchronouslyWithAlert } from '@hexclave/shared/dist/utils/promises';
+import { Button, Card, CardContent, CardHeader, Typography } from '@hexclave/ui';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
type Phase = 'idle' | 'setting-up' | 'polling' | 'success' | 'error';
diff --git a/examples/demo/src/app/connected-accounts/page.tsx b/examples/demo/src/app/connected-accounts/page.tsx
index c643403f59..3422b71758 100644
--- a/examples/demo/src/app/connected-accounts/page.tsx
+++ b/examples/demo/src/app/connected-accounts/page.tsx
@@ -1,7 +1,7 @@
'use client';
-import { OAuthConnection, useUser } from "@stackframe/stack";
-import { Button, Card, CardContent, CardDescription, CardHeader, CardTitle, Typography } from "@stackframe/stack-ui";
+import { OAuthConnection, useUser } from "@hexclave/next";
+import { Button, Card, CardContent, CardDescription, CardHeader, CardTitle, Typography } from "@hexclave/ui";
import { useState } from "react";
function ConnectedAccountCard({ account }: { account: OAuthConnection }) {
diff --git a/examples/demo/src/app/cross-domain-handoff/page.tsx b/examples/demo/src/app/cross-domain-handoff/page.tsx
index 2b95bf086b..7ae94bd946 100644
--- a/examples/demo/src/app/cross-domain-handoff/page.tsx
+++ b/examples/demo/src/app/cross-domain-handoff/page.tsx
@@ -1,8 +1,8 @@
'use client';
-import { useStackApp, useUser } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Card, CardContent, CardHeader, Typography } from "@stackframe/stack-ui";
+import { useStackApp, useUser } from "@hexclave/next";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Card, CardContent, CardHeader, Typography } from "@hexclave/ui";
import Link from "next/link";
export default function CrossDomainHandoffPage() {
diff --git a/examples/demo/src/app/dev-tool-test-js/page.tsx b/examples/demo/src/app/dev-tool-test-js/page.tsx
index 26282fc248..a3e8b9c259 100644
--- a/examples/demo/src/app/dev-tool-test-js/page.tsx
+++ b/examples/demo/src/app/dev-tool-test-js/page.tsx
@@ -1,10 +1,10 @@
"use client";
-import { StackClientApp } from "@stackframe/js";
+import { StackClientApp } from "@hexclave/js";
import { useEffect, useState } from "react";
export default function DevToolTestJsPage() {
- const [status, setStatus] = useState("Initializing StackClientApp from @stackframe/js…");
+ const [status, setStatus] = useState("Initializing StackClientApp from @hexclave/js…");
useEffect(() => {
const app = new StackClientApp({
@@ -19,9 +19,9 @@ export default function DevToolTestJsPage() {
return (
-
Dev Tool Test (@stackframe/js)
+
Dev Tool Test (@hexclave/js)
- This page creates a StackClientApp from @stackframe/js.
+ This page creates a StackClientApp from @hexclave/js.
The dev tool auto-mounts in the constructor (js platform path).
{status}
diff --git a/examples/demo/src/app/dev-tool-test-react/page.tsx b/examples/demo/src/app/dev-tool-test-react/page.tsx
index 3f9ad199d5..b7de2036d9 100644
--- a/examples/demo/src/app/dev-tool-test-react/page.tsx
+++ b/examples/demo/src/app/dev-tool-test-react/page.tsx
@@ -1,6 +1,6 @@
"use client";
-import { StackClientApp, StackProvider, useUser } from "@stackframe/react";
+import { StackClientApp, StackProvider, useUser } from "@hexclave/react";
import { Suspense } from "react";
const app = new StackClientApp({
@@ -23,9 +23,9 @@ export default function DevToolTestReactPage() {
return (
-
Dev Tool Test (@stackframe/react)
+
Dev Tool Test (@hexclave/react)
- This page creates its own StackProvider from @stackframe/react.
+ This page creates its own StackProvider from @hexclave/react.
The dev tool mounts via the DevToolMount component (react-like platform path).
Loading user…}>
diff --git a/examples/demo/src/app/dev-tool-test/page.tsx b/examples/demo/src/app/dev-tool-test/page.tsx
index acae1b399e..fbf55ddf08 100644
--- a/examples/demo/src/app/dev-tool-test/page.tsx
+++ b/examples/demo/src/app/dev-tool-test/page.tsx
@@ -1,6 +1,6 @@
"use client";
-import { useUser } from "@stackframe/stack";
+import { useUser } from "@hexclave/next";
export default function DevToolTestPage() {
const user = useUser();
diff --git a/examples/demo/src/app/emulator-status/page.tsx b/examples/demo/src/app/emulator-status/page.tsx
index 61c57e22bb..dd04530496 100644
--- a/examples/demo/src/app/emulator-status/page.tsx
+++ b/examples/demo/src/app/emulator-status/page.tsx
@@ -1,7 +1,7 @@
'use client';
-import { runAsynchronously } from '@stackframe/stack-shared/dist/utils/promises';
-import { Card, CardContent, CardHeader, Typography } from '@stackframe/stack-ui';
+import { runAsynchronously } from '@hexclave/shared/dist/utils/promises';
+import { Card, CardContent, CardHeader, Typography } from '@hexclave/ui';
import { useCallback, useEffect, useState } from 'react';
type ServiceResult = {
diff --git a/examples/demo/src/app/facebook-business-example/page.tsx b/examples/demo/src/app/facebook-business-example/page.tsx
index 324b4f5995..e665ca4878 100644
--- a/examples/demo/src/app/facebook-business-example/page.tsx
+++ b/examples/demo/src/app/facebook-business-example/page.tsx
@@ -1,6 +1,6 @@
'use client';
-import { useUser } from "@stackframe/stack";
+import { useUser } from "@hexclave/next";
export default function Page() {
const user = useUser({ or: 'redirect' });
diff --git a/examples/demo/src/app/fallback-test/client.tsx b/examples/demo/src/app/fallback-test/client.tsx
index 4245e15ab5..46ea24e942 100644
--- a/examples/demo/src/app/fallback-test/client.tsx
+++ b/examples/demo/src/app/fallback-test/client.tsx
@@ -1,7 +1,7 @@
"use client";
-import { useStackApp, useUser } from "@stackframe/stack";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { useStackApp, useUser } from "@hexclave/next";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import Link from "next/link";
import { usePathname } from "next/navigation";
import { useCallback, useEffect, useRef, useState } from "react";
diff --git a/examples/demo/src/app/fullpage-demos/flex-col/page.tsx b/examples/demo/src/app/fullpage-demos/flex-col/page.tsx
index dccddcb2d0..d3890beafe 100644
--- a/examples/demo/src/app/fullpage-demos/flex-col/page.tsx
+++ b/examples/demo/src/app/fullpage-demos/flex-col/page.tsx
@@ -1,4 +1,4 @@
-import { SignIn } from "@stackframe/stack";
+import { SignIn } from "@hexclave/next";
export default function SimpleDivFullPageDemo() {
return (
diff --git a/examples/demo/src/app/fullpage-demos/simple-div/page.tsx b/examples/demo/src/app/fullpage-demos/simple-div/page.tsx
index 8308d0b29b..9ae35afd44 100644
--- a/examples/demo/src/app/fullpage-demos/simple-div/page.tsx
+++ b/examples/demo/src/app/fullpage-demos/simple-div/page.tsx
@@ -1,4 +1,4 @@
-import { SignIn } from "@stackframe/stack";
+import { SignIn } from "@hexclave/next";
export default function SimpleDivFullPageDemo() {
return (
diff --git a/examples/demo/src/app/gmail/page.tsx b/examples/demo/src/app/gmail/page.tsx
index 496acf6543..db301f9cad 100644
--- a/examples/demo/src/app/gmail/page.tsx
+++ b/examples/demo/src/app/gmail/page.tsx
@@ -1,5 +1,5 @@
"use client";
-import { useUser } from "@stackframe/stack";
+import { useUser } from "@hexclave/next";
import { useEffect, useState } from "react";
export default function Test() {
diff --git a/examples/demo/src/app/handler/[...stack]/page.tsx b/examples/demo/src/app/handler/[...stack]/page.tsx
index 808a7c7f69..a67f560d75 100644
--- a/examples/demo/src/app/handler/[...stack]/page.tsx
+++ b/examples/demo/src/app/handler/[...stack]/page.tsx
@@ -1,4 +1,4 @@
-import { StackHandler } from "@stackframe/stack";
+import { StackHandler } from "@hexclave/next";
import { stackServerApp } from "src/stack";
export default function Handler(props) {
diff --git a/examples/demo/src/app/layout.tsx b/examples/demo/src/app/layout.tsx
index 95bfbf9fa2..6754a0ef4e 100644
--- a/examples/demo/src/app/layout.tsx
+++ b/examples/demo/src/app/layout.tsx
@@ -1,4 +1,4 @@
-import { StackProvider, StackTheme } from "@stackframe/stack";
+import { StackProvider, StackTheme } from "@hexclave/next";
import { Metadata } from "next";
import React from "react";
import Header from "src/components/header";
diff --git a/examples/demo/src/app/not-found.tsx b/examples/demo/src/app/not-found.tsx
index f254ea4d04..b8453c4706 100644
--- a/examples/demo/src/app/not-found.tsx
+++ b/examples/demo/src/app/not-found.tsx
@@ -1,4 +1,4 @@
-import { MessageCard } from "@stackframe/stack";
+import { MessageCard } from "@hexclave/next";
export default function NotFound() {
return (
diff --git a/examples/demo/src/app/page-client.tsx b/examples/demo/src/app/page-client.tsx
index 7c147ca94a..8c1466d4fd 100644
--- a/examples/demo/src/app/page-client.tsx
+++ b/examples/demo/src/app/page-client.tsx
@@ -1,7 +1,7 @@
'use client';
-import { UserAvatar, useStackApp, useUser } from '@stackframe/stack';
-import { Button, buttonVariants, Card, CardContent, CardFooter, CardHeader, Typography } from '@stackframe/stack-ui';
+import { UserAvatar, useStackApp, useUser } from '@hexclave/next';
+import { Button, buttonVariants, Card, CardContent, CardFooter, CardHeader, Typography } from '@hexclave/ui';
import Image from 'next/image';
import Link from 'next/link';
diff --git a/examples/demo/src/app/payments-demo/api/config-check/route.ts b/examples/demo/src/app/payments-demo/api/config-check/route.ts
index fb24b4c2d0..ff9993212d 100644
--- a/examples/demo/src/app/payments-demo/api/config-check/route.ts
+++ b/examples/demo/src/app/payments-demo/api/config-check/route.ts
@@ -1,5 +1,5 @@
-import { branchConfigSchema, getConfigOverrideErrors } from "@stackframe/stack-shared/dist/config/schema";
-import { ITEM_IDS, PLAN_LIMITS } from "@stackframe/stack-shared/dist/plans";
+import { branchConfigSchema, getConfigOverrideErrors } from "@hexclave/shared/dist/config/schema";
+import { ITEM_IDS, PLAN_LIMITS } from "@hexclave/shared/dist/plans";
import { NextResponse } from "next/server";
import { stackServerApp } from "src/stack";
diff --git a/examples/demo/src/app/payments-demo/page.tsx b/examples/demo/src/app/payments-demo/page.tsx
index b8fbaa6003..cbe75be5a7 100644
--- a/examples/demo/src/app/payments-demo/page.tsx
+++ b/examples/demo/src/app/payments-demo/page.tsx
@@ -1,9 +1,9 @@
"use client";
-import { useStackApp, useUser } from "@stackframe/stack";
-import { ITEM_IDS, PLAN_LIMITS, resolvePlanId } from "@stackframe/stack-shared/dist/plans";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Card, CardContent, CardFooter, CardHeader, Input, Typography } from "@stackframe/stack-ui";
+import { useStackApp, useUser } from "@hexclave/next";
+import { ITEM_IDS, PLAN_LIMITS, resolvePlanId } from "@hexclave/shared/dist/plans";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Card, CardContent, CardFooter, CardHeader, Input, Typography } from "@hexclave/ui";
import Link from "next/link";
import { useMemo, useState } from "react";
diff --git a/examples/demo/src/app/settings/page.tsx b/examples/demo/src/app/settings/page.tsx
index 78e378e3b9..6df55e2ee0 100644
--- a/examples/demo/src/app/settings/page.tsx
+++ b/examples/demo/src/app/settings/page.tsx
@@ -1,4 +1,4 @@
-import { AccountSettings } from "@stackframe/stack";
+import { AccountSettings } from "@hexclave/next";
export default function SettingsPage() {
return ;
diff --git a/examples/demo/src/app/spotify-example/page.tsx b/examples/demo/src/app/spotify-example/page.tsx
index 249204b5e6..8dc0740dab 100644
--- a/examples/demo/src/app/spotify-example/page.tsx
+++ b/examples/demo/src/app/spotify-example/page.tsx
@@ -1,7 +1,7 @@
'use client';
-import { useUser } from "@stackframe/stack";
-import { Button } from "@stackframe/stack-ui";
+import { useUser } from "@hexclave/next";
+import { Button } from "@hexclave/ui";
import { useEffect, useState } from "react";
export default function Page() {
diff --git a/examples/demo/src/app/test/page.tsx b/examples/demo/src/app/test/page.tsx
index 527b9efb50..2c523ca397 100644
--- a/examples/demo/src/app/test/page.tsx
+++ b/examples/demo/src/app/test/page.tsx
@@ -1,5 +1,5 @@
"use client";
-import { useUser } from "@stackframe/stack";
+import { useUser } from "@hexclave/next";
export default function Test() {
const provider = 'x';
diff --git a/examples/demo/src/app/token-staleness/page.tsx b/examples/demo/src/app/token-staleness/page.tsx
index dba232a47a..64d8d0c6a5 100644
--- a/examples/demo/src/app/token-staleness/page.tsx
+++ b/examples/demo/src/app/token-staleness/page.tsx
@@ -1,8 +1,8 @@
'use client';
-import { useStackApp, useUser } from '@stackframe/stack';
-import { runAsynchronouslyWithAlert } from '@stackframe/stack-shared/dist/utils/promises';
-import { Button, Card, CardContent, CardHeader, Input, Typography } from '@stackframe/stack-ui';
+import { useStackApp, useUser } from '@hexclave/next';
+import { runAsynchronouslyWithAlert } from '@hexclave/shared/dist/utils/promises';
+import { Button, Card, CardContent, CardHeader, Input, Typography } from '@hexclave/ui';
import { useMemo, useState } from 'react';
// Helper to decode JWT payload (without verification)
diff --git a/examples/demo/src/app/tokens-demo/page.tsx b/examples/demo/src/app/tokens-demo/page.tsx
index 621459b844..3f45dbf3fd 100644
--- a/examples/demo/src/app/tokens-demo/page.tsx
+++ b/examples/demo/src/app/tokens-demo/page.tsx
@@ -1,8 +1,8 @@
"use client";
-import { useStackApp, useUser } from "@stackframe/stack";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Card, Switch, Typography } from "@stackframe/stack-ui";
+import { useStackApp, useUser } from "@hexclave/next";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Card, Switch, Typography } from "@hexclave/ui";
import { useState } from "react";
// Decode JWT without verification (for display purposes only)
diff --git a/examples/demo/src/app/turnstile-signup/page-client.tsx b/examples/demo/src/app/turnstile-signup/page-client.tsx
index 4d46a291c1..d96a2192c6 100644
--- a/examples/demo/src/app/turnstile-signup/page-client.tsx
+++ b/examples/demo/src/app/turnstile-signup/page-client.tsx
@@ -1,11 +1,11 @@
'use client';
-import { KnownErrors } from "@stackframe/stack-shared";
-import { stackAppInternalsSymbol, useStackApp, useUser } from "@stackframe/stack";
-import { turnstileDevelopmentKeys } from "@stackframe/stack-shared/dist/utils/turnstile";
-import { publishableClientKeyNotNecessarySentinel } from "@stackframe/stack-shared/dist/utils/oauth";
-import { executeTurnstileInvisible, showTurnstileVisibleChallenge, BotChallengeUserCancelledError, withBotChallengeFlow } from "@stackframe/stack-shared/dist/utils/turnstile-flow";
-import { Button, Card, CardContent, CardFooter, CardHeader, Input, Label, PasswordInput, Typography } from "@stackframe/stack-ui";
+import { KnownErrors } from "@hexclave/shared";
+import { stackAppInternalsSymbol, useStackApp, useUser } from "@hexclave/next";
+import { turnstileDevelopmentKeys } from "@hexclave/shared/dist/utils/turnstile";
+import { publishableClientKeyNotNecessarySentinel } from "@hexclave/shared/dist/utils/oauth";
+import { executeTurnstileInvisible, showTurnstileVisibleChallenge, BotChallengeUserCancelledError, withBotChallengeFlow } from "@hexclave/shared/dist/utils/turnstile-flow";
+import { Button, Card, CardContent, CardFooter, CardHeader, Input, Label, PasswordInput, Typography } from "@hexclave/ui";
import Link from "next/link";
import { useEffect, useState } from "react";
diff --git a/examples/demo/src/components/header.tsx b/examples/demo/src/components/header.tsx
index d53f3d70e7..ede8c59cb6 100644
--- a/examples/demo/src/components/header.tsx
+++ b/examples/demo/src/components/header.tsx
@@ -1,6 +1,6 @@
'use client';
-import { UserButton } from "@stackframe/stack";
+import { UserButton } from "@hexclave/next";
import { useTheme } from "next-themes";
import Image from "next/image";
import Link from "next/link";
diff --git a/examples/demo/src/components/provider.tsx b/examples/demo/src/components/provider.tsx
index 1bee13f4c2..a758dc2885 100644
--- a/examples/demo/src/components/provider.tsx
+++ b/examples/demo/src/components/provider.tsx
@@ -1,7 +1,7 @@
'use client';
import React from "react";
-import { StackTheme } from "@stackframe/stack";
+import { StackTheme } from "@hexclave/next";
import { ThemeProvider } from "next-themes";
export default function Provider({ children }) {
diff --git a/examples/demo/src/components/turnstile-visible-widget.tsx b/examples/demo/src/components/turnstile-visible-widget.tsx
index e1e667662f..5be85fbbb9 100644
--- a/examples/demo/src/components/turnstile-visible-widget.tsx
+++ b/examples/demo/src/components/turnstile-visible-widget.tsx
@@ -1,8 +1,8 @@
'use client';
-import type { TurnstileAction } from "@stackframe/stack-shared/dist/utils/turnstile";
-import { getTurnstileApi, loadTurnstileScript } from "@stackframe/stack-shared/dist/utils/turnstile-browser";
-import type { TurnstileWidgetId } from "@stackframe/stack-shared/dist/utils/turnstile-browser";
+import type { TurnstileAction } from "@hexclave/shared/dist/utils/turnstile";
+import { getTurnstileApi, loadTurnstileScript } from "@hexclave/shared/dist/utils/turnstile-browser";
+import type { TurnstileWidgetId } from "@hexclave/shared/dist/utils/turnstile-browser";
import { useEffect, useRef } from "react";
export function TurnstileVisibleWidget(props: {
diff --git a/examples/demo/src/stack.tsx b/examples/demo/src/stack.tsx
index ac3cb4e41f..4837fe7bdf 100644
--- a/examples/demo/src/stack.tsx
+++ b/examples/demo/src/stack.tsx
@@ -1,6 +1,6 @@
import "server-only";
-import { StackServerApp } from "@stackframe/stack";
+import { StackServerApp } from "@hexclave/next";
export const stackServerApp = new StackServerApp({
tokenStore: "nextjs-cookie",
diff --git a/examples/demo/tailwind.config.js b/examples/demo/tailwind.config.js
index 1141cd6819..d4eb46628e 100644
--- a/examples/demo/tailwind.config.js
+++ b/examples/demo/tailwind.config.js
@@ -3,7 +3,7 @@ module.exports = {
darkMode: ["selector", 'html:has(head > [data-stack-theme="dark"])'],
content: [
"./src/**/*.{js,ts,jsx,tsx,mdx}",
- "./node_modules/@stackframe/stack-ui/src/**/*.{ts,tsx}",
+ "./node_modules/@hexclave/ui/src/**/*.{ts,tsx}",
],
theme: {
extend: {},
diff --git a/examples/docs-examples/package.json b/examples/docs-examples/package.json
index cbfa2c8a79..538a118b8d 100644
--- a/examples/docs-examples/package.json
+++ b/examples/docs-examples/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/docs-examples",
- "version": "2.8.103",
+ "name": "@hexclave/docs-examples",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"description": "",
"private": true,
@@ -15,9 +15,9 @@
"dependencies": {
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
- "@stackframe/stack": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
- "@stackframe/stack-ui": "workspace:*",
+ "@hexclave/next": "workspace:*",
+ "@hexclave/shared": "workspace:*",
+ "@hexclave/ui": "workspace:*",
"next": "^14.2.35",
"next-themes": "^0.2.1",
"react": "^18.2",
diff --git a/examples/docs-examples/src/app/components/account-settings/page.tsx b/examples/docs-examples/src/app/components/account-settings/page.tsx
index bd2aa5264f..17f33e54d9 100644
--- a/examples/docs-examples/src/app/components/account-settings/page.tsx
+++ b/examples/docs-examples/src/app/components/account-settings/page.tsx
@@ -1,4 +1,4 @@
-import { AccountSettings } from '@stackframe/stack';
+import { AccountSettings } from '@hexclave/next';
export default function MyAccountPage() {
return (
diff --git a/examples/docs-examples/src/app/components/credential-sign-in/page.tsx b/examples/docs-examples/src/app/components/credential-sign-in/page.tsx
index 37d02c74cd..277e2028e5 100644
--- a/examples/docs-examples/src/app/components/credential-sign-in/page.tsx
+++ b/examples/docs-examples/src/app/components/credential-sign-in/page.tsx
@@ -1,4 +1,4 @@
-import { CredentialSignIn } from '@stackframe/stack';
+import { CredentialSignIn } from '@hexclave/next';
export default function Page() {
return (
diff --git a/examples/docs-examples/src/app/components/credential-sign-up/page.tsx b/examples/docs-examples/src/app/components/credential-sign-up/page.tsx
index 8ced6e2dc3..8197e2f76b 100644
--- a/examples/docs-examples/src/app/components/credential-sign-up/page.tsx
+++ b/examples/docs-examples/src/app/components/credential-sign-up/page.tsx
@@ -1,4 +1,4 @@
-import { CredentialSignUp } from '@stackframe/stack';
+import { CredentialSignUp } from '@hexclave/next';
export default function Page() {
return (
diff --git a/examples/docs-examples/src/app/components/oauth-button-group/page.tsx b/examples/docs-examples/src/app/components/oauth-button-group/page.tsx
index d922eb62ba..c26d6a9803 100644
--- a/examples/docs-examples/src/app/components/oauth-button-group/page.tsx
+++ b/examples/docs-examples/src/app/components/oauth-button-group/page.tsx
@@ -1,4 +1,4 @@
-import { OAuthButtonGroup } from '@stackframe/stack';
+import { OAuthButtonGroup } from '@hexclave/next';
export default function Page() {
return (
diff --git a/examples/docs-examples/src/app/components/oauth-button/page.tsx b/examples/docs-examples/src/app/components/oauth-button/page.tsx
index 2d19dae437..326bf9ca14 100644
--- a/examples/docs-examples/src/app/components/oauth-button/page.tsx
+++ b/examples/docs-examples/src/app/components/oauth-button/page.tsx
@@ -1,4 +1,4 @@
-import { OAuthButton } from '@stackframe/stack';
+import { OAuthButton } from '@hexclave/next';
export default function Page() {
return (
diff --git a/examples/docs-examples/src/app/components/selected-team-switcher/page.tsx b/examples/docs-examples/src/app/components/selected-team-switcher/page.tsx
index 846f547886..081d4a7d3b 100644
--- a/examples/docs-examples/src/app/components/selected-team-switcher/page.tsx
+++ b/examples/docs-examples/src/app/components/selected-team-switcher/page.tsx
@@ -1,4 +1,4 @@
-import { SelectedTeamSwitcher } from '@stackframe/stack';
+import { SelectedTeamSwitcher } from '@hexclave/next';
export default function Page() {
return (
diff --git a/examples/docs-examples/src/app/components/sign-in/page.tsx b/examples/docs-examples/src/app/components/sign-in/page.tsx
index 73bbb8ee2a..ca9e783a8f 100644
--- a/examples/docs-examples/src/app/components/sign-in/page.tsx
+++ b/examples/docs-examples/src/app/components/sign-in/page.tsx
@@ -1,4 +1,4 @@
-import { SignIn } from '@stackframe/stack';
+import { SignIn } from '@hexclave/next';
export default function Page() {
return (
diff --git a/examples/docs-examples/src/app/components/user-button/page.tsx b/examples/docs-examples/src/app/components/user-button/page.tsx
index 8bcddb2a8a..f587c6d012 100644
--- a/examples/docs-examples/src/app/components/user-button/page.tsx
+++ b/examples/docs-examples/src/app/components/user-button/page.tsx
@@ -1,5 +1,5 @@
'use client';
-import { UserButton } from '@stackframe/stack';
+import { UserButton } from '@hexclave/next';
export default function Page() {
return (
diff --git a/examples/docs-examples/src/app/drive/page.tsx b/examples/docs-examples/src/app/drive/page.tsx
index aa8922a42c..c865a93473 100644
--- a/examples/docs-examples/src/app/drive/page.tsx
+++ b/examples/docs-examples/src/app/drive/page.tsx
@@ -1,6 +1,6 @@
'use client';
-import { useUser } from "@stackframe/stack";
+import { useUser } from "@hexclave/next";
import { useEffect, useState } from 'react';
export default function Page() {
diff --git a/examples/docs-examples/src/app/handler/[...stack]/page.tsx b/examples/docs-examples/src/app/handler/[...stack]/page.tsx
index 36f56f03a0..1376da02df 100644
--- a/examples/docs-examples/src/app/handler/[...stack]/page.tsx
+++ b/examples/docs-examples/src/app/handler/[...stack]/page.tsx
@@ -1,4 +1,4 @@
-import { StackHandler } from "@stackframe/stack";
+import { StackHandler } from "@hexclave/next";
import { stackServerApp } from "src/stack";
export default function Handler(props) {
diff --git a/examples/docs-examples/src/app/layout.tsx b/examples/docs-examples/src/app/layout.tsx
index 66c43a4c3e..e90ed30429 100644
--- a/examples/docs-examples/src/app/layout.tsx
+++ b/examples/docs-examples/src/app/layout.tsx
@@ -1,4 +1,4 @@
-import { StackProvider } from "@stackframe/stack";
+import { StackProvider } from "@hexclave/next";
import { Metadata } from "next";
import { Inter } from 'next/font/google';
import Provider from "src/components/provider";
diff --git a/examples/docs-examples/src/app/page-client.tsx b/examples/docs-examples/src/app/page-client.tsx
index b9ac1a4170..95724df282 100644
--- a/examples/docs-examples/src/app/page-client.tsx
+++ b/examples/docs-examples/src/app/page-client.tsx
@@ -1,7 +1,7 @@
'use client';
-import { useStackApp, useUser } from '@stackframe/stack';
-import { Button } from '@stackframe/stack-ui';
+import { useStackApp, useUser } from '@hexclave/next';
+import { Button } from '@hexclave/ui';
export default function PageClient() {
const user = useUser();
diff --git a/examples/docs-examples/src/app/signin/page.tsx b/examples/docs-examples/src/app/signin/page.tsx
index 5608256a29..1d3a8ca029 100644
--- a/examples/docs-examples/src/app/signin/page.tsx
+++ b/examples/docs-examples/src/app/signin/page.tsx
@@ -1,7 +1,7 @@
'use client';
-// import { SignIn } from "@stackframe/stack";
+// import { SignIn } from "@hexclave/next";
// export default function DefaultSignIn() {
// return ;
@@ -10,7 +10,7 @@
// --------------------------------------------
-// import { useStackApp } from "@stackframe/stack";
+// import { useStackApp } from "@hexclave/next";
// export default function CustomOAuthSignIn() {
// const app = useStackApp();
@@ -28,7 +28,7 @@
// --------------------------------------------
-// import { useStackApp } from "@stackframe/stack";
+// import { useStackApp } from "@hexclave/next";
// import { useState } from "react";
// export default function CustomCredentialSignIn() {
@@ -63,7 +63,7 @@
// --------------------------------------------
-import { useStackApp } from "@stackframe/stack";
+import { useStackApp } from "@hexclave/next";
import { useState } from "react";
export default function CustomCredentialSignIn() {
diff --git a/examples/docs-examples/src/app/signup/page.tsx b/examples/docs-examples/src/app/signup/page.tsx
index a22d483ba0..0e236f3d93 100644
--- a/examples/docs-examples/src/app/signup/page.tsx
+++ b/examples/docs-examples/src/app/signup/page.tsx
@@ -1,7 +1,7 @@
'use client';
-// import { SignUp } from "@stackframe/stack";
+// import { SignUp } from "@hexclave/next";
// export default function DefaultSignUp() {
// return ;
@@ -10,7 +10,7 @@
// --------------------------------------------
-import { useStackApp } from "@stackframe/stack";
+import { useStackApp } from "@hexclave/next";
import { useState } from "react";
export default function CustomCredentialSignUp() {
diff --git a/examples/docs-examples/src/app/team/[teamId]/page.tsx b/examples/docs-examples/src/app/team/[teamId]/page.tsx
index 40cbb1df5a..cb1a93f439 100644
--- a/examples/docs-examples/src/app/team/[teamId]/page.tsx
+++ b/examples/docs-examples/src/app/team/[teamId]/page.tsx
@@ -1,6 +1,6 @@
"use client";
-import { SelectedTeamSwitcher, useUser } from "@stackframe/stack";
+import { SelectedTeamSwitcher, useUser } from "@hexclave/next";
export default function TeamPage({ params }: { params: { teamId: string } }) {
const user = useUser({ or: 'redirect' });
diff --git a/examples/docs-examples/src/app/team/page.tsx b/examples/docs-examples/src/app/team/page.tsx
index 9bd313b9c9..3f22e606db 100644
--- a/examples/docs-examples/src/app/team/page.tsx
+++ b/examples/docs-examples/src/app/team/page.tsx
@@ -1,7 +1,7 @@
"use client";
import { useRouter } from "next/navigation";
-import { useUser } from "@stackframe/stack";
+import { useUser } from "@hexclave/next";
export default function TeamsPage() {
const user = useUser({ or: 'redirect' });
diff --git a/examples/docs-examples/src/components/provider.tsx b/examples/docs-examples/src/components/provider.tsx
index 986e3730de..b55ddc8d9b 100644
--- a/examples/docs-examples/src/components/provider.tsx
+++ b/examples/docs-examples/src/components/provider.tsx
@@ -1,5 +1,5 @@
'use client';
-import { StackTheme } from "@stackframe/stack";
+import { StackTheme } from "@hexclave/next";
export default function Provider({ children }) {
return (
diff --git a/examples/docs-examples/src/stack.tsx b/examples/docs-examples/src/stack.tsx
index dda30b13e6..d3003b01f1 100644
--- a/examples/docs-examples/src/stack.tsx
+++ b/examples/docs-examples/src/stack.tsx
@@ -1,6 +1,6 @@
import "server-only";
-import { StackServerApp } from "@stackframe/stack";
+import { StackServerApp } from "@hexclave/next";
export const stackServerApp = new StackServerApp({
tokenStore: "nextjs-cookie",
diff --git a/examples/docs-examples/tailwind.config.js b/examples/docs-examples/tailwind.config.js
index 86a375e52c..82e7c56ab2 100644
--- a/examples/docs-examples/tailwind.config.js
+++ b/examples/docs-examples/tailwind.config.js
@@ -2,7 +2,7 @@
module.exports = {
content: [
"./src/**/*.{js,ts,jsx,tsx,mdx}",
- "./node_modules/@stackframe/stack-ui/src/**/*.{ts,tsx}",
+ "./node_modules/@hexclave/ui/src/**/*.{ts,tsx}",
],
theme: {
extend: {},
diff --git a/examples/e-commerce/package.json b/examples/e-commerce/package.json
index 518c43c81d..4af3b09f9c 100644
--- a/examples/e-commerce/package.json
+++ b/examples/e-commerce/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/e-commerce-demo",
- "version": "2.8.103",
+ "name": "@hexclave/e-commerce-demo",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"scripts": {
@@ -12,7 +12,7 @@
"clean": "rimraf .next && rimraf node_modules"
},
"dependencies": {
- "@stackframe/stack": "workspace:*",
+ "@hexclave/next": "workspace:*",
"next": "14.2.35",
"react": "^18",
"react-dom": "^18"
diff --git a/examples/e-commerce/src/app/handler/[...stack]/page.tsx b/examples/e-commerce/src/app/handler/[...stack]/page.tsx
index 28063916fa..6b356fcc8a 100644
--- a/examples/e-commerce/src/app/handler/[...stack]/page.tsx
+++ b/examples/e-commerce/src/app/handler/[...stack]/page.tsx
@@ -1,4 +1,4 @@
-import { StackHandler } from "@stackframe/stack";
+import { StackHandler } from "@hexclave/next";
import { stackServerApp } from "../../../stack";
export default function Handler(props: any) {
diff --git a/examples/e-commerce/src/app/layout.tsx b/examples/e-commerce/src/app/layout.tsx
index 2754c00879..d829b44180 100644
--- a/examples/e-commerce/src/app/layout.tsx
+++ b/examples/e-commerce/src/app/layout.tsx
@@ -1,5 +1,5 @@
import type { Metadata } from "next";
-import { StackProvider, StackTheme } from "@stackframe/stack";
+import { StackProvider, StackTheme } from "@hexclave/next";
import { Inter } from "next/font/google";
import { stackServerApp } from "../stack";
import "./globals.css";
diff --git a/examples/e-commerce/src/app/page.tsx b/examples/e-commerce/src/app/page.tsx
index 4e58cc9bbd..48314ea144 100644
--- a/examples/e-commerce/src/app/page.tsx
+++ b/examples/e-commerce/src/app/page.tsx
@@ -1,4 +1,4 @@
-import { ServerUser } from "@stackframe/stack";
+import { ServerUser } from "@hexclave/next";
import { Shop } from "@/shop";
import { stackServerApp } from "@/stack";
diff --git a/examples/e-commerce/src/stack.tsx b/examples/e-commerce/src/stack.tsx
index bc26c68b01..e92b9947ce 100644
--- a/examples/e-commerce/src/stack.tsx
+++ b/examples/e-commerce/src/stack.tsx
@@ -1,6 +1,6 @@
import "server-only";
-import { StackServerApp } from "@stackframe/stack";
+import { StackServerApp } from "@hexclave/next";
export const stackServerApp = new StackServerApp({
tokenStore: "nextjs-cookie",
diff --git a/examples/js-example/package.json b/examples/js-example/package.json
index eb6f1fe488..bcb861dce4 100644
--- a/examples/js-example/package.json
+++ b/examples/js-example/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/js-example",
- "version": "2.8.103",
+ "name": "@hexclave/js-example",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"description": "",
@@ -13,7 +13,7 @@
"author": "",
"license": "ISC",
"dependencies": {
- "@stackframe/js": "workspace:*",
+ "@hexclave/js": "workspace:*",
"dotenv-cli": "^7.4.1",
"typescript": "5.9.3",
"vite": "^6.1.0"
diff --git a/examples/js-example/stack.ts b/examples/js-example/stack.ts
index d8a263d9b2..0ec0d9ade9 100644
--- a/examples/js-example/stack.ts
+++ b/examples/js-example/stack.ts
@@ -1,6 +1,6 @@
///
-import { StackClientApp } from "@stackframe/js";
+import { StackClientApp } from "@hexclave/js";
export const stackClientApp = new StackClientApp({
baseUrl: import.meta.env.VITE_STACK_API_URL,
diff --git a/examples/lovable-react-18-example/package.json b/examples/lovable-react-18-example/package.json
index 0277d210cf..7ea08810ef 100644
--- a/examples/lovable-react-18-example/package.json
+++ b/examples/lovable-react-18-example/package.json
@@ -1,7 +1,7 @@
{
- "name": "@stackframe/lovable-react-18-example",
+ "name": "@hexclave/lovable-react-18-example",
"private": true,
- "version": "2.8.103",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"type": "module",
"scripts": {
@@ -62,7 +62,7 @@
"tailwindcss-animate": "^1.0.7",
"vaul": "^0.9.9",
"zod": "^3.25.76",
- "@stackframe/react": "workspace:*"
+ "@hexclave/react": "workspace:*"
},
"devDependencies": {
"@eslint/js": "^9.32.0",
diff --git a/examples/lovable-react-18-example/src/App.tsx b/examples/lovable-react-18-example/src/App.tsx
index 2667688d29..ec3d594c0f 100644
--- a/examples/lovable-react-18-example/src/App.tsx
+++ b/examples/lovable-react-18-example/src/App.tsx
@@ -1,7 +1,7 @@
import { Toaster as Sonner } from "@/components/ui/sonner";
import { Toaster } from "@/components/ui/toaster";
import { TooltipProvider } from "@/components/ui/tooltip";
-import { StackHandler, StackProvider, StackTheme } from "@stackframe/react";
+import { StackHandler, StackProvider, StackTheme } from "@hexclave/react";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { BrowserRouter, Route, Routes, useLocation } from "react-router-dom";
import Index from "./pages/Index";
diff --git a/examples/lovable-react-18-example/src/pages/Index.tsx b/examples/lovable-react-18-example/src/pages/Index.tsx
index b83e3776fb..65aaf0234c 100644
--- a/examples/lovable-react-18-example/src/pages/Index.tsx
+++ b/examples/lovable-react-18-example/src/pages/Index.tsx
@@ -1,6 +1,6 @@
import { Button } from "@/components/ui/button";
import { Card } from "@/components/ui/card";
-import { UserButton } from "@stackframe/react";
+import { UserButton } from "@hexclave/react";
import { ArrowRight, Rocket, Shield, Sparkles, Zap } from "lucide-react";
const Index = () => {
diff --git a/examples/lovable-react-18-example/src/stack/client.ts b/examples/lovable-react-18-example/src/stack/client.ts
index 071ef68912..b906b438d3 100644
--- a/examples/lovable-react-18-example/src/stack/client.ts
+++ b/examples/lovable-react-18-example/src/stack/client.ts
@@ -1,4 +1,4 @@
-import { StackClientApp } from "@stackframe/react";
+import { StackClientApp } from "@hexclave/react";
import { useNavigate } from "react-router-dom";
export const stackClientApp = new StackClientApp({
diff --git a/examples/middleware/package.json b/examples/middleware/package.json
index 1abede2aa6..23a7a6b97f 100644
--- a/examples/middleware/package.json
+++ b/examples/middleware/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/example-middleware-demo",
- "version": "2.8.103",
+ "name": "@hexclave/example-middleware-demo",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"scripts": {
@@ -12,7 +12,7 @@
"clean": "rimraf .next && rimraf node_modules"
},
"dependencies": {
- "@stackframe/stack": "workspace:*",
+ "@hexclave/next": "workspace:*",
"next": "^14.2.35",
"react": "^18",
"react-dom": "^18"
diff --git a/examples/middleware/src/app/handler/[...stack]/page.tsx b/examples/middleware/src/app/handler/[...stack]/page.tsx
index dddec3f609..adc0760b9e 100644
--- a/examples/middleware/src/app/handler/[...stack]/page.tsx
+++ b/examples/middleware/src/app/handler/[...stack]/page.tsx
@@ -1,4 +1,4 @@
-import { StackHandler } from "@stackframe/stack";
+import { StackHandler } from "@hexclave/next";
import { stackServerApp } from "../../../stack";
export default function Handler(props: any) {
diff --git a/examples/middleware/src/app/layout.tsx b/examples/middleware/src/app/layout.tsx
index 99c296ce52..8f0ec35ee4 100644
--- a/examples/middleware/src/app/layout.tsx
+++ b/examples/middleware/src/app/layout.tsx
@@ -1,5 +1,5 @@
import type { Metadata } from "next";
-import { StackProvider, StackTheme } from "@stackframe/stack";
+import { StackProvider, StackTheme } from "@hexclave/next";
import { stackServerApp } from "../stack";
import { Inter } from "next/font/google";
diff --git a/examples/middleware/src/stack.tsx b/examples/middleware/src/stack.tsx
index 8b73c2b702..6639b457a9 100644
--- a/examples/middleware/src/stack.tsx
+++ b/examples/middleware/src/stack.tsx
@@ -1,6 +1,6 @@
import "server-only";
-import { StackServerApp } from "@stackframe/stack";
+import { StackServerApp } from "@hexclave/next";
export const stackServerApp = new StackServerApp({
tokenStore: "nextjs-cookie",
diff --git a/examples/react-example/package.json b/examples/react-example/package.json
index 4239b31dd5..efad1f5bda 100644
--- a/examples/react-example/package.json
+++ b/examples/react-example/package.json
@@ -1,7 +1,7 @@
{
"name": "react-example",
"private": true,
- "version": "2.8.103",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"type": "module",
"scripts": {
@@ -12,7 +12,7 @@
"preview": "vite preview"
},
"dependencies": {
- "@stackframe/react": "workspace:*",
+ "@hexclave/react": "workspace:*",
"react": "^19.0.1",
"react-dom": "^19.0.1",
"react-router-dom": "^7.2.0"
diff --git a/examples/react-example/src/App.tsx b/examples/react-example/src/App.tsx
index 5a4826dc73..f229b2ef02 100644
--- a/examples/react-example/src/App.tsx
+++ b/examples/react-example/src/App.tsx
@@ -1,4 +1,4 @@
-import { StackHandler, StackProvider, StackTheme } from "@stackframe/react";
+import { StackHandler, StackProvider, StackTheme } from "@hexclave/react";
import { Suspense } from "react";
import { BrowserRouter, Route, Routes, useLocation } from "react-router-dom";
import { stackClientApp } from "./stack";
diff --git a/examples/react-example/src/stack.ts b/examples/react-example/src/stack.ts
index d83f842d67..ae5c82384c 100644
--- a/examples/react-example/src/stack.ts
+++ b/examples/react-example/src/stack.ts
@@ -1,6 +1,6 @@
///
-import { StackClientApp } from "@stackframe/react";
+import { StackClientApp } from "@hexclave/react";
import { useNavigate } from "react-router-dom";
export const stackClientApp = new StackClientApp({
diff --git a/examples/supabase/app/handler/[...stack]/page.tsx b/examples/supabase/app/handler/[...stack]/page.tsx
index 28063916fa..6b356fcc8a 100644
--- a/examples/supabase/app/handler/[...stack]/page.tsx
+++ b/examples/supabase/app/handler/[...stack]/page.tsx
@@ -1,4 +1,4 @@
-import { StackHandler } from "@stackframe/stack";
+import { StackHandler } from "@hexclave/next";
import { stackServerApp } from "../../../stack";
export default function Handler(props: any) {
diff --git a/examples/supabase/app/layout.tsx b/examples/supabase/app/layout.tsx
index 92e05551fb..b81caaf4b1 100644
--- a/examples/supabase/app/layout.tsx
+++ b/examples/supabase/app/layout.tsx
@@ -1,4 +1,4 @@
-import { StackProvider, StackTheme } from "@stackframe/stack";
+import { StackProvider, StackTheme } from "@hexclave/next";
import { stackServerApp } from "../stack";
export default function RootLayout({ children }: { children: React.ReactNode }) {
diff --git a/examples/supabase/app/page.tsx b/examples/supabase/app/page.tsx
index bfeecef7f2..f866b314db 100644
--- a/examples/supabase/app/page.tsx
+++ b/examples/supabase/app/page.tsx
@@ -1,7 +1,7 @@
'use client';
import { createSupabaseClient } from "@/utils/supabase-client";
-import { useStackApp, useUser } from "@stackframe/stack";
+import { useStackApp, useUser } from "@hexclave/next";
import { useEffect, useState } from "react";
export default function Page() {
diff --git a/examples/supabase/package.json b/examples/supabase/package.json
index 9e0e1c18ea..b090275ad2 100644
--- a/examples/supabase/package.json
+++ b/examples/supabase/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/example-supabase",
- "version": "2.8.103",
+ "name": "@hexclave/example-supabase",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"private": true,
"scripts": {
@@ -10,7 +10,7 @@
"start": "next start --port ${NEXT_PUBLIC_HEXCLAVE_PORT_PREFIX:-81}15"
},
"dependencies": {
- "@stackframe/stack": "workspace:*",
+ "@hexclave/next": "workspace:*",
"@supabase/ssr": "latest",
"@supabase/supabase-js": "latest",
"jose": "^5.2.2",
diff --git a/examples/supabase/stack.tsx b/examples/supabase/stack.tsx
index bc26c68b01..e92b9947ce 100644
--- a/examples/supabase/stack.tsx
+++ b/examples/supabase/stack.tsx
@@ -1,6 +1,6 @@
import "server-only";
-import { StackServerApp } from "@stackframe/stack";
+import { StackServerApp } from "@hexclave/next";
export const stackServerApp = new StackServerApp({
tokenStore: "nextjs-cookie",
diff --git a/examples/tanstack-start-demo/package.json b/examples/tanstack-start-demo/package.json
index 884536cbd8..f2a917e7d9 100644
--- a/examples/tanstack-start-demo/package.json
+++ b/examples/tanstack-start-demo/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/example-tanstack-start-demo",
- "version": "2.8.103",
+ "name": "@hexclave/example-tanstack-start-demo",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"description": "TanStack Start demo app for Hexclave",
"private": true,
@@ -14,9 +14,9 @@
"lint": "eslint --ext .ts,.tsx ."
},
"dependencies": {
- "@stackframe/stack-shared": "workspace:*",
- "@stackframe/stack-ui": "workspace:*",
- "@stackframe/tanstack-start": "workspace:*",
+ "@hexclave/shared": "workspace:*",
+ "@hexclave/ui": "workspace:*",
+ "@hexclave/tanstack-start": "workspace:*",
"@tanstack/react-router": "^1.168.23",
"@tanstack/react-start": "^1.167.42",
"nitro": "^3.0.0",
diff --git a/examples/tanstack-start-demo/src/components/auth-demo-card.tsx b/examples/tanstack-start-demo/src/components/auth-demo-card.tsx
index 03684adcd2..a276c617d3 100644
--- a/examples/tanstack-start-demo/src/components/auth-demo-card.tsx
+++ b/examples/tanstack-start-demo/src/components/auth-demo-card.tsx
@@ -1,6 +1,6 @@
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { UserAvatar, useStackApp } from "@stackframe/tanstack-start";
-import type { CurrentUser } from "@stackframe/tanstack-start";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { UserAvatar, useStackApp } from "@hexclave/tanstack-start";
+import type { CurrentUser } from "@hexclave/tanstack-start";
type AuthDemoCardProps = {
title: string,
diff --git a/examples/tanstack-start-demo/src/components/header.tsx b/examples/tanstack-start-demo/src/components/header.tsx
index a5d2caf0d7..14d082f616 100644
--- a/examples/tanstack-start-demo/src/components/header.tsx
+++ b/examples/tanstack-start-demo/src/components/header.tsx
@@ -1,5 +1,5 @@
import { Link } from "@tanstack/react-router";
-import { UserButton } from "@stackframe/tanstack-start";
+import { UserButton } from "@hexclave/tanstack-start";
export function Header() {
return (
diff --git a/examples/tanstack-start-demo/src/routes/__root.tsx b/examples/tanstack-start-demo/src/routes/__root.tsx
index ff5b2e563d..7103cc0fbd 100644
--- a/examples/tanstack-start-demo/src/routes/__root.tsx
+++ b/examples/tanstack-start-demo/src/routes/__root.tsx
@@ -1,7 +1,7 @@
///
import "../styles.css";
-import { StackProvider, StackTheme } from "@stackframe/tanstack-start";
+import { StackProvider, StackTheme } from "@hexclave/tanstack-start";
import { createRootRoute, HeadContent, Outlet, Scripts } from "@tanstack/react-router";
import type { ReactNode } from "react";
import { Suspense, useMemo } from "react";
diff --git a/examples/tanstack-start-demo/src/routes/client.tsx b/examples/tanstack-start-demo/src/routes/client.tsx
index 9bd373fdc8..b304d14519 100644
--- a/examples/tanstack-start-demo/src/routes/client.tsx
+++ b/examples/tanstack-start-demo/src/routes/client.tsx
@@ -1,4 +1,4 @@
-import { useUser } from "@stackframe/tanstack-start";
+import { useUser } from "@hexclave/tanstack-start";
import { createFileRoute } from "@tanstack/react-router";
import { AuthDemoCard } from "~/components/auth-demo-card";
@@ -7,7 +7,7 @@ export const Route = createFileRoute("/client")({
component: ClientAuthDemoPage,
});
-const clientSnippet = `import { useUser } from "@stackframe/tanstack-start";
+const clientSnippet = `import { useUser } from "@hexclave/tanstack-start";
import { createFileRoute } from "@tanstack/react-router";
export const Route = createFileRoute("/client")({
diff --git a/examples/tanstack-start-demo/src/routes/handler/$.tsx b/examples/tanstack-start-demo/src/routes/handler/$.tsx
index e3b97ca859..093f6ee4b3 100644
--- a/examples/tanstack-start-demo/src/routes/handler/$.tsx
+++ b/examples/tanstack-start-demo/src/routes/handler/$.tsx
@@ -1,4 +1,4 @@
-import { StackHandler } from "@stackframe/tanstack-start";
+import { StackHandler } from "@hexclave/tanstack-start";
import { createFileRoute, useLocation } from "@tanstack/react-router";
export const Route = createFileRoute("/handler/$")({
diff --git a/examples/tanstack-start-demo/src/routes/index.tsx b/examples/tanstack-start-demo/src/routes/index.tsx
index 6ed20d5161..55284e1491 100644
--- a/examples/tanstack-start-demo/src/routes/index.tsx
+++ b/examples/tanstack-start-demo/src/routes/index.tsx
@@ -1,5 +1,5 @@
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { UserAvatar, useStackApp, useUser } from "@stackframe/tanstack-start";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { UserAvatar, useStackApp, useUser } from "@hexclave/tanstack-start";
import { Link, createFileRoute } from "@tanstack/react-router";
export const Route = createFileRoute("/")({
@@ -17,7 +17,7 @@ function HomePage() {
TanStack Start alpha
Welcome to the Stack demo app.
- This example uses @stackframe/tanstack-start with file-based routes and Hexclave handler pages.
+ This example uses @hexclave/tanstack-start with file-based routes and Hexclave handler pages.
diff --git a/examples/tanstack-start-demo/src/routes/protected.tsx b/examples/tanstack-start-demo/src/routes/protected.tsx
index 6443e4c8d0..a112236e53 100644
--- a/examples/tanstack-start-demo/src/routes/protected.tsx
+++ b/examples/tanstack-start-demo/src/routes/protected.tsx
@@ -1,4 +1,4 @@
-import { useUser } from "@stackframe/tanstack-start";
+import { useUser } from "@hexclave/tanstack-start";
import { createFileRoute } from "@tanstack/react-router";
export const Route = createFileRoute("/protected")({
diff --git a/examples/tanstack-start-demo/src/routes/ssr.tsx b/examples/tanstack-start-demo/src/routes/ssr.tsx
index ca9a60f690..310d59c1a0 100644
--- a/examples/tanstack-start-demo/src/routes/ssr.tsx
+++ b/examples/tanstack-start-demo/src/routes/ssr.tsx
@@ -1,4 +1,4 @@
-import { useUser } from "@stackframe/tanstack-start";
+import { useUser } from "@hexclave/tanstack-start";
import { createFileRoute } from "@tanstack/react-router";
import { AuthDemoCard } from "~/components/auth-demo-card";
@@ -6,7 +6,7 @@ export const Route = createFileRoute("/ssr")({
component: SsrAuthDemoPage,
});
-const ssrSnippet = `import { useUser } from "@stackframe/tanstack-start";
+const ssrSnippet = `import { useUser } from "@hexclave/tanstack-start";
import { createFileRoute } from "@tanstack/react-router";
export const Route = createFileRoute("/ssr")({
diff --git a/examples/tanstack-start-demo/src/stack.ts b/examples/tanstack-start-demo/src/stack.ts
index cfb45c8f38..7ab733a805 100644
--- a/examples/tanstack-start-demo/src/stack.ts
+++ b/examples/tanstack-start-demo/src/stack.ts
@@ -1,4 +1,4 @@
-import { StackClientApp } from "@stackframe/tanstack-start";
+import { StackClientApp } from "@hexclave/tanstack-start";
function getPortPrefix(): string {
return import.meta.env.NEXT_PUBLIC_HEXCLAVE_PORT_PREFIX ?? "81";
diff --git a/examples/tanstack-start-demo/vite.config.ts b/examples/tanstack-start-demo/vite.config.ts
index c570add641..3b32df39fa 100644
--- a/examples/tanstack-start-demo/vite.config.ts
+++ b/examples/tanstack-start-demo/vite.config.ts
@@ -73,15 +73,15 @@ export default defineConfig(({ mode }) => {
dedupe: ["react", "react-dom"],
},
ssr: {
- noExternal: [/^@stackframe\//, /^@radix-ui\//],
+ noExternal: [/^@hexclave\//, /^@radix-ui\//],
},
optimizeDeps: {
- include: ["@stackframe/stack-shared", "@stackframe/stack-shared/config"],
+ include: ["@hexclave/shared", "@hexclave/shared/config"],
},
plugins: [
...(isVitest ? [] : [
- waitForWorkspacePackages(["@stackframe/tanstack-start", "@stackframe/stack-shared", "@stackframe/stack-ui"]),
- watchNodeModules(["@stackframe/tanstack-start", "@stackframe/stack-shared", "@stackframe/stack-ui"]),
+ waitForWorkspacePackages(["@hexclave/tanstack-start", "@hexclave/shared", "@hexclave/ui"]),
+ watchNodeModules(["@hexclave/tanstack-start", "@hexclave/shared", "@hexclave/ui"]),
]),
tsConfigPaths(),
...(isVitest ? [] : [
diff --git a/package.json b/package.json
index 821c89ca93..0896fc92d8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/monorepo",
- "version": "0.0.0",
+ "name": "@hexclave/monorepo",
+ "version": "1.0.0",
"private": true,
"repository": "https://github.com/hexclave/hexclave",
"scripts": {
@@ -12,18 +12,18 @@
"typecheck": "pnpm pre && turbo typecheck --",
"build:dev": "pnpm pre && NODE_ENV=development pnpm run build",
"build": "pnpm pre && turbo build",
- "cli": "pnpm pre && pnpm run --filter=@stackframe/stack-cli build && pnpm run cli:no-build",
+ "cli": "pnpm pre && pnpm run --filter=@hexclave/cli build && pnpm run cli:no-build",
"cli:no-build": "pnpm pre && echo && echo && echo '[CLI output starts below]' && echo && echo && STACK_API_URL=http://localhost:${NEXT_PUBLIC_HEXCLAVE_PORT_PREFIX:-81}02 STACK_DASHBOARD_URL=http://localhost:${NEXT_PUBLIC_HEXCLAVE_PORT_PREFIX:-81}01 STACK_CLI_PUBLISHABLE_CLIENT_KEY=this-publishable-client-key-is-for-local-development-only node packages/stack-cli/dist/index.js",
- "build:backend": "pnpm pre && turbo run build --filter=@stackframe/backend...",
- "build:dashboard": "pnpm pre && turbo run build --filter=@stackframe/dashboard...",
- "build:demo": "pnpm pre && turbo run build --filter=demo-app...",
- "build:docs": "pnpm run build:packages && pnpm run codegen && pnpm run build:backend && pnpm run --filter=@stackframe/stack-docs generate-openapi-docs && turbo run build --filter=@stackframe/stack-docs",
+ "build:backend": "pnpm pre && turbo run build --filter=@hexclave/backend...",
+ "build:dashboard": "pnpm pre && turbo run build --filter=@hexclave/dashboard...",
+ "build:demo": "pnpm pre && turbo run build --filter=@hexclave/example-demo-app...",
+ "build:docs": "pnpm run build:packages && pnpm run codegen && pnpm run build:backend && turbo run build --filter=@hexclave/docs-mintlify",
"build:packages": "pnpm pre && turbo run build --filter=./packages/*",
"clean": "pnpm pre-no-codegen && turbo run clean && rimraf --glob **/.next && rimraf --glob **/.turbo && rimraf .turbo && rimraf --glob **/node_modules && rimraf node_modules",
"uff-cutie": "pnpm clean && pnpm i && (pnpm build || true) && pnpm codegen",
"fml": "pnpm uff-cutie && pnpm restart-deps",
"codegen": "pnpm pre && turbo run codegen && pnpm run generate-sdks && pnpm run generate-setup-prompt-docs",
- "codegen:backend": "pnpm pre && turbo run codegen --filter=@stackframe/backend...",
+ "codegen:backend": "pnpm pre && turbo run codegen --filter=@hexclave/backend...",
"deps-compose": "docker compose -p stack-dependencies-${NEXT_PUBLIC_HEXCLAVE_PORT_PREFIX:-81} -f docker/dependencies/docker.compose.yaml",
"emulator:generate-env": "node ./docker/local-emulator/generate-env-development.mjs",
"emulator:check-env": "node ./docker/local-emulator/generate-env-development.mjs --check",
@@ -42,32 +42,31 @@
"restart-deps": "pnpm pre && pnpm run stop-deps && pnpm run start-deps",
"restart-deps:no-delay": "pnpm pre && pnpm run stop-deps && pnpm run start-deps:no-delay",
"restart-deps:with-tests": "pnpm run restart-deps && pnpm test run auto-migrations/migration-tests",
- "psql": "pnpm pre && pnpm run --filter=@stackframe/backend psql",
- "clickhouse": "pnpm pre && pnpm run --filter=@stackframe/backend clickhouse",
+ "psql": "pnpm pre && pnpm run --filter=@hexclave/backend psql",
+ "clickhouse": "pnpm pre && pnpm run --filter=@hexclave/backend clickhouse",
"explain-query": "pnpm pre && echo 'Paste your query (end with Ctrl-D):' && query=$(cat) && echo 'Connecting to Postgres...' && printf \"EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON)\n$query\" | pnpm run --silent psql -qAt | sed -n '/\\[/,$p' > explained-query.untracked.json && echo 'Explained query saved to explained-query.untracked.json. To analyze it, open it in the query analyzer at https://tatiyants.com/pev/#/plans/new'",
- "db:migration-gen": "pnpm pre && pnpm run --filter=@stackframe/backend db:migration-gen",
- "db:reset": "pnpm pre && pnpm run --filter=@stackframe/backend db:reset",
- "db:seed": "pnpm pre && pnpm run --filter=@stackframe/backend db:seed",
- "db:init": "pnpm pre && pnpm run --filter=@stackframe/backend db:init",
- "db:migrate": "pnpm pre && pnpm run --filter=@stackframe/backend db:migrate",
- "db:backfill-internal-free-plans": "pnpm pre && pnpm run --filter=@stackframe/backend db:backfill-internal-free-plans",
- "db:regen-internal-subscriptions-to-latest": "pnpm pre && pnpm run --filter=@stackframe/backend db:regen-internal-subscriptions-to-latest",
- "fern": "pnpm pre && pnpm run --filter=@stackframe/docs fern",
+ "db:migration-gen": "pnpm pre && pnpm run --filter=@hexclave/backend db:migration-gen",
+ "db:reset": "pnpm pre && pnpm run --filter=@hexclave/backend db:reset",
+ "db:seed": "pnpm pre && pnpm run --filter=@hexclave/backend db:seed",
+ "db:init": "pnpm pre && pnpm run --filter=@hexclave/backend db:init",
+ "db:migrate": "pnpm pre && pnpm run --filter=@hexclave/backend db:migrate",
+ "db:backfill-internal-free-plans": "pnpm pre && pnpm run --filter=@hexclave/backend db:backfill-internal-free-plans",
+ "db:regen-internal-subscriptions-to-latest": "pnpm pre && pnpm run --filter=@hexclave/backend db:regen-internal-subscriptions-to-latest",
"dev:full": "pnpm pre && concurrently -k \"pnpm run generate-sdks:watch\" \"pnpm run generate-setup-prompt-docs:watch\" \"turbo run dev --concurrency 99999\"",
- "dev": "pnpm pre && concurrently -k \"pnpm run generate-sdks:watch\" \"pnpm run generate-openapi-docs:watch\" \"pnpm run generate-setup-prompt-docs:watch\" \"turbo run dev --concurrency 99999 --filter=./apps/* --filter=@stackframe/docs-mintlify --filter=@stackframe/stack-docs --filter=./packages/* --filter=./examples/demo --filter=./examples/tanstack-start-demo \"",
- "dev:tui": "pnpm pre && (trap 'kill 0' EXIT; pnpm run generate-sdks:watch & pnpm run generate-openapi-docs:watch & pnpm run generate-setup-prompt-docs:watch & turbo run dev --ui tui --concurrency 99999 --filter=./apps/* --filter=@stackframe/stack-docs --filter=./packages/* --filter=./examples/demo --filter=./examples/tanstack-start-demo)",
+ "dev": "pnpm pre && concurrently -k \"pnpm run generate-sdks:watch\" \"pnpm run generate-openapi-docs:watch\" \"pnpm run generate-setup-prompt-docs:watch\" \"turbo run dev --concurrency 99999 --filter=./apps/* --filter=@hexclave/docs-mintlify --filter=./packages/* --filter=./examples/demo --filter=./examples/tanstack-start-demo \"",
+ "dev:tui": "pnpm pre && (trap 'kill 0' EXIT; pnpm run generate-sdks:watch & pnpm run generate-openapi-docs:watch & pnpm run generate-setup-prompt-docs:watch & turbo run dev --ui tui --concurrency 99999 --filter=./apps/* --filter=@hexclave/docs-mintlify --filter=./packages/* --filter=./examples/demo --filter=./examples/tanstack-start-demo)",
"dev:inspect": "pnpm pre && STACK_BACKEND_DEV_EXTRA_ARGS=\"--inspect\" pnpm run dev",
"dev:profile": "pnpm pre && STACK_BACKEND_DEV_EXTRA_ARGS=\"--experimental-cpu-prof\" pnpm run dev",
- "dev:basic": "pnpm pre && concurrently -k \"pnpm run generate-sdks:watch\" \"turbo run dev --concurrency 99999 --filter=@stackframe/backend --filter=@stackframe/mcp --filter=@stackframe/dashboard --filter=@stackframe/mock-oauth-server\"",
- "dev:docs": "pnpm pre && concurrently -k \"pnpm run generate-openapi-docs:watch\" \"pnpm run generate-setup-prompt-docs:watch\" \"turbo run dev --concurrency 99999 --filter=@stackframe/stack-docs\"",
+ "dev:basic": "pnpm pre && concurrently -k \"pnpm run generate-sdks:watch\" \"turbo run dev --concurrency 99999 --filter=@hexclave/backend --filter=@hexclave/mcp --filter=@hexclave/dashboard --filter=@hexclave/mock-oauth-server\"",
+ "dev:docs": "pnpm pre && concurrently -k \"pnpm run generate-setup-prompt-docs:watch\" \"turbo run dev --concurrency 99999 --filter=@hexclave/docs-mintlify\"",
"dev:named": "pnpm pre && concurrently -k \"pnpm run dev\" \"node -e \\\"process.title='node (stack-named-dev-server)'; process.stdin.resume();\\\"\"",
"kill-dev:named": "(pgrep -f 'stack-named-dev-server' | xargs -r -n1 pkill -P); echo 'Killed named dev server (if found). Sleeping to give some time for it to shut down...' && sleep 10",
"kms": "PREFIX=${NEXT_PUBLIC_HEXCLAVE_PORT_PREFIX:-81}; for p in 00 01 02 03 04 06 14 42; do pids=$(lsof -i :$PREFIX$p 2>/dev/null | grep LISTEN | awk '$1 != \"OrbStack\" {print $2}' | sort -u); [ -n \"$pids\" ] && echo $pids | xargs kill -9 2>/dev/null; done; echo Done.",
"start": "pnpm pre && turbo run start --concurrency 99999",
- "start:backend": "pnpm pre && turbo run start --concurrency 99999 --filter=@stackframe/backend",
- "start:mcp": "pnpm pre && turbo run start --concurrency 99999 --filter=@stackframe/mcp",
- "start:dashboard": "pnpm pre && turbo run start --concurrency 99999 --filter=@stackframe/dashboard",
- "start:mock-oauth-server": "pnpm pre && turbo run start --concurrency 99999 --filter=@stackframe/mock-oauth-server",
+ "start:backend": "pnpm pre && turbo run start --concurrency 99999 --filter=@hexclave/backend",
+ "start:mcp": "pnpm pre && turbo run start --concurrency 99999 --filter=@hexclave/mcp",
+ "start:dashboard": "pnpm pre && turbo run start --concurrency 99999 --filter=@hexclave/dashboard",
+ "start:mock-oauth-server": "pnpm pre && turbo run start --concurrency 99999 --filter=@hexclave/mock-oauth-server",
"lint": "pnpm pre && turbo run lint --continue -- --max-warnings=0",
"release": "pnpm pre && release",
"dotenv": "dotenv",
@@ -81,7 +80,7 @@
"generate-sdks": "pnpm exec tsx ./scripts/generate-sdks.ts",
"generate-setup-prompt-docs": "pnpm exec tsx ./scripts/generate-setup-prompt-docs.ts",
"generate-sdks:watch": "chokidar --silent -c 'pnpm run generate-sdks' './packages/template' --ignore './packages/template/package.json' --ignore '**/node_modules/**' --ignore '**/dist/**' --ignore '**/.turbo/**' --throttle 2000",
- "generate-openapi-docs:watch": "pnpm exec tsx ./scripts/wait-for-dev-package-imports.ts && pnpm run --filter=@stackframe/backend codegen-docs && chokidar --silent -c 'pnpm run --filter=@stackframe/backend codegen-docs' './apps/backend/src/app/api/latest/**/route.{js,jsx,ts,tsx}' './apps/backend/src/lib/openapi.ts' './packages/stack-shared/src/interface/webhooks.ts' --throttle 2000",
+ "generate-openapi-docs:watch": "pnpm exec tsx ./scripts/wait-for-dev-package-imports.ts && pnpm run --filter=@hexclave/backend codegen-docs && chokidar --silent -c 'pnpm run --filter=@hexclave/backend codegen-docs' './apps/backend/src/app/api/latest/**/route.{js,jsx,ts,tsx}' './apps/backend/src/lib/openapi.ts' './packages/stack-shared/src/interface/webhooks.ts' --throttle 2000",
"generate-setup-prompt-docs:watch": "pnpm run generate-setup-prompt-docs && chokidar --silent -c 'pnpm run generate-setup-prompt-docs' './packages/stack-shared/src/ai/prompts.ts' './scripts/generate-setup-prompt-docs.ts' --throttle 2000"
},
"devDependencies": {
diff --git a/packages/dashboard-ui-components/package.json b/packages/dashboard-ui-components/package.json
index ae667310bc..782a52ca0f 100644
--- a/packages/dashboard-ui-components/package.json
+++ b/packages/dashboard-ui-components/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/dashboard-ui-components",
- "version": "2.8.103",
+ "name": "@hexclave/dashboard-ui-components",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -55,8 +55,8 @@
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.3",
"@react-hook/resize-observer": "^2.0.2",
- "@stackframe/stack-shared": "workspace:*",
- "@stackframe/stack-ui": "workspace:*",
+ "@hexclave/shared": "workspace:*",
+ "@hexclave/ui": "workspace:*",
"@tanstack/react-table": "^8.21.3",
"@tanstack/react-virtual": "^3.13.0",
"class-variance-authority": "^0.7.0"
diff --git a/packages/dashboard-ui-components/src/components/alert.tsx b/packages/dashboard-ui-components/src/components/alert.tsx
index c6c0b461df..90e1bee176 100644
--- a/packages/dashboard-ui-components/src/components/alert.tsx
+++ b/packages/dashboard-ui-components/src/components/alert.tsx
@@ -1,7 +1,7 @@
"use client";
import { CheckCircle, Info, WarningCircle, XCircle } from "@phosphor-icons/react";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
type DesignAlertVariant = "default" | "success" | "error" | "warning" | "info";
diff --git a/packages/dashboard-ui-components/src/components/analytics-chart/analytics-chart-pie.tsx b/packages/dashboard-ui-components/src/components/analytics-chart/analytics-chart-pie.tsx
index 179690b1ec..3f0705eca3 100644
--- a/packages/dashboard-ui-components/src/components/analytics-chart/analytics-chart-pie.tsx
+++ b/packages/dashboard-ui-components/src/components/analytics-chart/analytics-chart-pie.tsx
@@ -1,5 +1,5 @@
import { MagnifyingGlassMinusIcon } from "@phosphor-icons/react";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import { type DesignChartConfig, DesignChartContainer } from "../chart-container";
import { type CSSProperties, type Ref, useMemo } from "react";
import { Cell, Pie, PieChart } from "recharts";
diff --git a/packages/dashboard-ui-components/src/components/analytics-chart/analytics-chart.tsx b/packages/dashboard-ui-components/src/components/analytics-chart/analytics-chart.tsx
index 21aabec778..4121b7fed6 100644
--- a/packages/dashboard-ui-components/src/components/analytics-chart/analytics-chart.tsx
+++ b/packages/dashboard-ui-components/src/components/analytics-chart/analytics-chart.tsx
@@ -1,6 +1,6 @@
"use client";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import { DesignButton } from "../button";
import {
type DesignChartConfig,
@@ -92,9 +92,9 @@ export type Margin = {
* `Point`, …) don't exist at runtime anyway, so just drop the type
* annotations in sandbox code.
*
- * **In a regular TypeScript app** (anywhere importing `@stackframe/dashboard-ui-components`
+ * **In a regular TypeScript app** (anywhere importing `@hexclave/dashboard-ui-components`
* directly): `import { AnalyticsChart, ANALYTICS_CHART_DEFAULT_STATE } from
- * "@stackframe/dashboard-ui-components"` and use the bare name. Drop the
+ * "@hexclave/dashboard-ui-components"` and use the bare name. Drop the
* `DashboardUI.` prefix from the examples below when doing so.
*
* ## Data shape in 30 seconds
diff --git a/packages/dashboard-ui-components/src/components/analytics-chart/default-analytics-chart-tooltip.tsx b/packages/dashboard-ui-components/src/components/analytics-chart/default-analytics-chart-tooltip.tsx
index 7e106ead7f..3d226a8cc6 100644
--- a/packages/dashboard-ui-components/src/components/analytics-chart/default-analytics-chart-tooltip.tsx
+++ b/packages/dashboard-ui-components/src/components/analytics-chart/default-analytics-chart-tooltip.tsx
@@ -1,4 +1,4 @@
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import {
ArrowDownIcon,
ArrowUpIcon,
diff --git a/packages/dashboard-ui-components/src/components/badge.tsx b/packages/dashboard-ui-components/src/components/badge.tsx
index 73bd6d3bac..8e52ddb683 100644
--- a/packages/dashboard-ui-components/src/components/badge.tsx
+++ b/packages/dashboard-ui-components/src/components/badge.tsx
@@ -1,6 +1,6 @@
"use client";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
export type DesignBadgeColor = "blue" | "cyan" | "purple" | "green" | "orange" | "red";
export type DesignBadgeSize = "sm" | "md";
diff --git a/packages/dashboard-ui-components/src/components/button.tsx b/packages/dashboard-ui-components/src/components/button.tsx
index e60483eaa8..e208015603 100644
--- a/packages/dashboard-ui-components/src/components/button.tsx
+++ b/packages/dashboard-ui-components/src/components/button.tsx
@@ -1,11 +1,11 @@
import { Slot, Slottable } from "@radix-ui/react-slot";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cva, type VariantProps } from "class-variance-authority";
import React from "react";
-import { cn, Spinner } from "@stackframe/stack-ui";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { cn, Spinner } from "@hexclave/ui";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
const designButtonVariants = cva(
"stack-scope inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
diff --git a/packages/dashboard-ui-components/src/components/card.tsx b/packages/dashboard-ui-components/src/components/card.tsx
index d7af23494a..68f4f3b04c 100644
--- a/packages/dashboard-ui-components/src/components/card.tsx
+++ b/packages/dashboard-ui-components/src/components/card.tsx
@@ -1,7 +1,7 @@
"use client";
-import { Card } from "@stackframe/stack-ui";
-import { cn } from "@stackframe/stack-ui";
+import { Card } from "@hexclave/ui";
+import { cn } from "@hexclave/ui";
import React from "react";
// ─── Card nesting context ────────────────────────────────────────────────────
diff --git a/packages/dashboard-ui-components/src/components/chart-card.tsx b/packages/dashboard-ui-components/src/components/chart-card.tsx
index 71355d7f7b..b8e5693906 100644
--- a/packages/dashboard-ui-components/src/components/chart-card.tsx
+++ b/packages/dashboard-ui-components/src/components/chart-card.tsx
@@ -1,6 +1,6 @@
"use client";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import React from "react";
type DesignChartCardGradient = "blue" | "cyan" | "purple" | "green" | "orange" | "default";
diff --git a/packages/dashboard-ui-components/src/components/chart-container.tsx b/packages/dashboard-ui-components/src/components/chart-container.tsx
index cba5a1b067..18314cc6ed 100644
--- a/packages/dashboard-ui-components/src/components/chart-container.tsx
+++ b/packages/dashboard-ui-components/src/components/chart-container.tsx
@@ -2,7 +2,7 @@
import * as React from "react";
import * as RechartsPrimitive from "recharts";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
const THEMES = { light: "", dark: ".dark" } as const;
diff --git a/packages/dashboard-ui-components/src/components/chart-legend.tsx b/packages/dashboard-ui-components/src/components/chart-legend.tsx
index 48785acd7b..6b0783008f 100644
--- a/packages/dashboard-ui-components/src/components/chart-legend.tsx
+++ b/packages/dashboard-ui-components/src/components/chart-legend.tsx
@@ -2,7 +2,7 @@
import * as React from "react";
import * as RechartsPrimitive from "recharts";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import { useDesignChart, getPayloadConfigFromPayload } from "./chart-container";
export const DesignChartLegendContent = React.forwardRef<
diff --git a/packages/dashboard-ui-components/src/components/chart-tooltip.tsx b/packages/dashboard-ui-components/src/components/chart-tooltip.tsx
index c93e174ebd..5baf9799bc 100644
--- a/packages/dashboard-ui-components/src/components/chart-tooltip.tsx
+++ b/packages/dashboard-ui-components/src/components/chart-tooltip.tsx
@@ -2,7 +2,7 @@
import * as React from "react";
import * as RechartsPrimitive from "recharts";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import { useDesignChart, getPayloadConfigFromPayload } from "./chart-container";
export const DesignChartTooltip = RechartsPrimitive.Tooltip;
diff --git a/packages/dashboard-ui-components/src/components/data-grid/data-grid-toolbar.tsx b/packages/dashboard-ui-components/src/components/data-grid/data-grid-toolbar.tsx
index f0ba55ed98..ba6ac468c2 100644
--- a/packages/dashboard-ui-components/src/components/data-grid/data-grid-toolbar.tsx
+++ b/packages/dashboard-ui-components/src/components/data-grid/data-grid-toolbar.tsx
@@ -1,6 +1,6 @@
"use client";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import {
Check,
DownloadSimple,
diff --git a/packages/dashboard-ui-components/src/components/data-grid/data-grid.tsx b/packages/dashboard-ui-components/src/components/data-grid/data-grid.tsx
index 6dc55f9de6..8a8647e9bc 100644
--- a/packages/dashboard-ui-components/src/components/data-grid/data-grid.tsx
+++ b/packages/dashboard-ui-components/src/components/data-grid/data-grid.tsx
@@ -9,8 +9,8 @@ import {
MinusSquare,
Square,
} from "@phosphor-icons/react";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { cn } from "@stackframe/stack-ui";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { cn } from "@hexclave/ui";
import {
type ColumnDef,
type ColumnOrderState,
diff --git a/packages/dashboard-ui-components/src/components/data-grid/state.ts b/packages/dashboard-ui-components/src/components/data-grid/state.ts
index 66b3c43dd9..bdd8e9068f 100644
--- a/packages/dashboard-ui-components/src/components/data-grid/state.ts
+++ b/packages/dashboard-ui-components/src/components/data-grid/state.ts
@@ -1,4 +1,4 @@
-import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { stringCompare } from "@hexclave/shared/dist/utils/strings";
import { clampColumnWidth, DEFAULT_COL_WIDTH } from "./data-grid-sizing";
import type {
DataGridColumnDef,
diff --git a/packages/dashboard-ui-components/src/components/dialog.tsx b/packages/dashboard-ui-components/src/components/dialog.tsx
index b7dc51782f..1ad16d2731 100644
--- a/packages/dashboard-ui-components/src/components/dialog.tsx
+++ b/packages/dashboard-ui-components/src/components/dialog.tsx
@@ -11,7 +11,7 @@ import {
DialogTitle,
DialogTrigger,
cn,
-} from "@stackframe/stack-ui";
+} from "@hexclave/ui";
import React from "react";
export type DesignDialogSize =
diff --git a/packages/dashboard-ui-components/src/components/empty-state.tsx b/packages/dashboard-ui-components/src/components/empty-state.tsx
index 94b9a6c109..48cf5c01eb 100644
--- a/packages/dashboard-ui-components/src/components/empty-state.tsx
+++ b/packages/dashboard-ui-components/src/components/empty-state.tsx
@@ -1,6 +1,6 @@
"use client";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import React from "react";
export type DesignEmptyStateProps = {
diff --git a/packages/dashboard-ui-components/src/components/input.tsx b/packages/dashboard-ui-components/src/components/input.tsx
index 3b61bc5297..68d0bdf0f6 100644
--- a/packages/dashboard-ui-components/src/components/input.tsx
+++ b/packages/dashboard-ui-components/src/components/input.tsx
@@ -1,9 +1,9 @@
"use client";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
export type DesignInputProps = {
prefixItem?: React.ReactNode,
diff --git a/packages/dashboard-ui-components/src/components/metric-card.tsx b/packages/dashboard-ui-components/src/components/metric-card.tsx
index ffb3da7765..cb5cf66c7b 100644
--- a/packages/dashboard-ui-components/src/components/metric-card.tsx
+++ b/packages/dashboard-ui-components/src/components/metric-card.tsx
@@ -1,6 +1,6 @@
"use client";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import React from "react";
type DesignMetricCardGradient = "blue" | "cyan" | "purple" | "green" | "orange" | "default";
diff --git a/packages/dashboard-ui-components/src/components/pill-toggle.tsx b/packages/dashboard-ui-components/src/components/pill-toggle.tsx
index 0abae2b2e7..8c4792e44d 100644
--- a/packages/dashboard-ui-components/src/components/pill-toggle.tsx
+++ b/packages/dashboard-ui-components/src/components/pill-toggle.tsx
@@ -1,9 +1,9 @@
"use client";
import { useState } from "react";
-import { cn, Spinner, Tooltip, TooltipContent, TooltipTrigger } from "@stackframe/stack-ui";
+import { cn, Spinner, Tooltip, TooltipContent, TooltipTrigger } from "@hexclave/ui";
import { TooltipPortal } from "@radix-ui/react-tooltip";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useGlassmorphicDefault } from "./card";
type DesignPillToggleSize = "sm" | "md" | "lg";
diff --git a/packages/dashboard-ui-components/src/components/progress-bar.tsx b/packages/dashboard-ui-components/src/components/progress-bar.tsx
index 6413677442..309d99c92c 100644
--- a/packages/dashboard-ui-components/src/components/progress-bar.tsx
+++ b/packages/dashboard-ui-components/src/components/progress-bar.tsx
@@ -1,6 +1,6 @@
"use client";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
type DesignProgressBarGradient = "blue" | "cyan" | "purple" | "green" | "orange" | "default";
diff --git a/packages/dashboard-ui-components/src/components/separator.tsx b/packages/dashboard-ui-components/src/components/separator.tsx
index 0c04595d17..82412b8ec4 100644
--- a/packages/dashboard-ui-components/src/components/separator.tsx
+++ b/packages/dashboard-ui-components/src/components/separator.tsx
@@ -1,6 +1,6 @@
"use client";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
export type DesignSeparatorProps = {
orientation?: "horizontal" | "vertical",
diff --git a/packages/dashboard-ui-components/src/components/skeleton.tsx b/packages/dashboard-ui-components/src/components/skeleton.tsx
index 470a4dc939..6f182ac9a9 100644
--- a/packages/dashboard-ui-components/src/components/skeleton.tsx
+++ b/packages/dashboard-ui-components/src/components/skeleton.tsx
@@ -1,6 +1,6 @@
"use client";
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import type React from "react";
export type DesignSkeletonProps = React.HTMLAttributes;
diff --git a/packages/dashboard-ui-components/src/components/table.tsx b/packages/dashboard-ui-components/src/components/table.tsx
index 7fe6186ef9..f1122373cb 100644
--- a/packages/dashboard-ui-components/src/components/table.tsx
+++ b/packages/dashboard-ui-components/src/components/table.tsx
@@ -1,7 +1,7 @@
"use client";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
-import { cn } from "@stackframe/stack-ui";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
+import { cn } from "@hexclave/ui";
import React from "react";
/**
diff --git a/packages/dashboard-ui-components/src/components/tabs.tsx b/packages/dashboard-ui-components/src/components/tabs.tsx
index 15cced2410..e942bb01d7 100644
--- a/packages/dashboard-ui-components/src/components/tabs.tsx
+++ b/packages/dashboard-ui-components/src/components/tabs.tsx
@@ -1,8 +1,8 @@
"use client";
import { useState, type ReactNode } from "react";
-import { cn, Spinner } from "@stackframe/stack-ui";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { cn, Spinner } from "@hexclave/ui";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { useGlassmorphicDefault } from "./card";
type DesignTabsSize = "sm" | "md";
diff --git a/packages/init-stack/package.json b/packages/init-stack/package.json
index de2aa5b2e0..2c9caafe23 100644
--- a/packages/init-stack/package.json
+++ b/packages/init-stack/package.json
@@ -1,6 +1,7 @@
{
"name": "@stackframe/init-stack",
- "version": "2.8.103",
+ "private": true,
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"description": "The setup wizard for Hexclave. https://hexclave.com",
"main": "dist/index.mjs",
@@ -42,7 +43,7 @@
"author": "",
"license": "MIT",
"dependencies": {
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"commander": "^13.1.0",
"inquirer": "^9.2.19",
"open": "^10.1.0",
diff --git a/packages/js/package.json b/packages/js/package.json
index a53589cbc1..69b915c92c 100644
--- a/packages/js/package.json
+++ b/packages/js/package.json
@@ -1,7 +1,7 @@
{
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template (FOR package.json FILES, PLEASE EDIT package-template.json)",
- "name": "@stackframe/js",
- "version": "2.8.103",
+ "name": "@hexclave/js",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"sideEffects": false,
"main": "./dist/index.js",
@@ -52,7 +52,7 @@
"dependencies": {
"@hookform/resolvers": "^5.2.2",
"@simplewebauthn/browser": "^13.2.2",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"@tanstack/react-table": "^8.21.3",
"color": "^5.0.3",
"cookie": "^1.1.1",
diff --git a/packages/react/package.json b/packages/react/package.json
index 075d4e8518..fa96fc5b3a 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,7 +1,7 @@
{
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template (FOR package.json FILES, PLEASE EDIT package-template.json)",
- "name": "@stackframe/react",
- "version": "2.8.103",
+ "name": "@hexclave/react",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"sideEffects": false,
"main": "./dist/index.js",
@@ -64,8 +64,8 @@
"@stripe/react-stripe-js": "^3.8.1",
"@stripe/stripe-js": "^7.7.0",
"@simplewebauthn/browser": "^13.2.2",
- "@stackframe/stack-shared": "workspace:*",
- "@stackframe/stack-ui": "workspace:*",
+ "@hexclave/shared": "workspace:*",
+ "@hexclave/ui": "workspace:*",
"@tanstack/react-table": "^8.21.3",
"browser-image-compression": "^2.0.2",
"color": "^5.0.3",
diff --git a/packages/stack-cli/package.json b/packages/stack-cli/package.json
index ec8ca68771..b615a9b800 100644
--- a/packages/stack-cli/package.json
+++ b/packages/stack-cli/package.json
@@ -1,11 +1,12 @@
{
- "name": "@stackframe/stack-cli",
- "version": "2.8.103",
+ "name": "@hexclave/cli",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"description": "The CLI for Hexclave. https://hexclave.com",
"main": "dist/index.js",
"type": "module",
"bin": {
+ "hexclave": "./dist/index.js",
"stack": "./dist/index.js"
},
"scripts": {
@@ -30,8 +31,8 @@
"@anthropic-ai/claude-agent-sdk": "^0.2.73",
"@inquirer/prompts": "^7.0.0",
"@sentry/node": "^10.42.0",
- "@stackframe/js": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/js": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"commander": "^13.1.0",
"extract-zip": "^2.0.1",
"jiti": "^2.4.2"
diff --git a/packages/stack-cli/scripts/copy-runtime-assets.mjs b/packages/stack-cli/scripts/copy-runtime-assets.mjs
index 61d2fec56c..e8371ff23b 100644
--- a/packages/stack-cli/scripts/copy-runtime-assets.mjs
+++ b/packages/stack-cli/scripts/copy-runtime-assets.mjs
@@ -42,11 +42,11 @@ function copyEmulatorAssets() {
function copyDashboardAssets() {
assertExists(
join(dashboardStandaloneSrc, "apps/dashboard/server.js"),
- "Dashboard standalone build is missing. Run `pnpm exec turbo run build:rde-standalone --filter=@stackframe/dashboard` before building @stackframe/stack-cli.",
+ "Dashboard standalone build is missing. Run `pnpm exec turbo run build:rde-standalone --filter=@hexclave/dashboard` before building @hexclave/cli.",
);
assertExists(
dashboardStaticSrc,
- "Dashboard static assets are missing. Run `pnpm exec turbo run build:rde-standalone --filter=@stackframe/dashboard` before building @stackframe/stack-cli.",
+ "Dashboard static assets are missing. Run `pnpm exec turbo run build:rde-standalone --filter=@hexclave/dashboard` before building @hexclave/cli.",
);
rmSync(dashboardDist, { recursive: true, force: true });
diff --git a/packages/stack-cli/src/commands/config-file.ts b/packages/stack-cli/src/commands/config-file.ts
index 3f679ab33a..5c3ed737a0 100644
--- a/packages/stack-cli/src/commands/config-file.ts
+++ b/packages/stack-cli/src/commands/config-file.ts
@@ -5,9 +5,9 @@ import { isProjectAuthWithRefreshToken, isProjectAuthWithSecretServerKey, resolv
import { getAdminProject } from "../lib/app.js";
import { CliError } from "../lib/errors.js";
import { resolveConfigFilePathOption } from "../lib/config-file-path.js";
-import type { EnvironmentConfigOverrideOverride } from "@stackframe/stack-shared/dist/config/schema";
-import { detectImportPackageFromDir, renderConfigFileContent } from "@stackframe/stack-shared/dist/config-rendering";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import type { EnvironmentConfigOverrideOverride } from "@hexclave/shared/dist/config/schema";
+import { detectImportPackageFromDir, renderConfigFileContent } from "@hexclave/shared/dist/config-rendering";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
const SHOW_ONBOARDING_STACK_CONFIG_VALUE = "show-onboarding";
@@ -277,7 +277,7 @@ export function registerConfigCommand(program: Command) {
const config = parseConfigOverride(configModule.config);
if (config == null) {
- const examplePkg = detectImportPackageFromDir(path.dirname(filePath)) ?? "@stackframe/js";
+ const examplePkg = detectImportPackageFromDir(path.dirname(filePath)) ?? "@hexclave/js";
throw new CliError(`Config file must export a plain \`config\` object or "show-onboarding". Example: import type { StackConfig } from "${examplePkg}"; export const config: StackConfig = { ... };`);
}
diff --git a/packages/stack-cli/src/commands/doctor.ts b/packages/stack-cli/src/commands/doctor.ts
index 9ca2c08225..ced0c6c715 100644
--- a/packages/stack-cli/src/commands/doctor.ts
+++ b/packages/stack-cli/src/commands/doctor.ts
@@ -191,7 +191,7 @@ function resolveFramework(
return { kind: "ok", value: "js" };
}
- return { kind: "unsupported", reason: "package.json has no dependencies declared — install one of @stackframe/stack, @stackframe/react, or @stackframe/js to begin." };
+ return { kind: "unsupported", reason: "package.json has no dependencies declared — install one of @hexclave/next, @hexclave/react, or @hexclave/js to begin." };
}
function getChecks(framework: Framework): CheckSpec[] {
@@ -209,7 +209,7 @@ function getChecks(framework: Framework): CheckSpec[] {
}
const NEXT_CHECKS: CheckSpec[] = [
- packageInstalledCheck("next.package", "@stackframe/stack"),
+ packageInstalledCheck("next.package", "@hexclave/next"),
fileExistsCheck("next.client-app", "Stack client app instance", [
"stack/client.ts", "stack/client.tsx",
]),
@@ -230,7 +230,7 @@ const NEXT_CHECKS: CheckSpec[] = [
];
const REACT_CHECKS: CheckSpec[] = [
- packageInstalledCheck("react.package", "@stackframe/react"),
+ packageInstalledCheck("react.package", "@hexclave/react"),
fileExistsCheck("react.client-app", "Stack client app instance", [
"stack/client.ts", "stack/client.tsx", "stack/client.js", "stack/client.jsx",
]),
@@ -242,7 +242,7 @@ const REACT_CHECKS: CheckSpec[] = [
];
const JS_CHECKS: CheckSpec[] = [
- packageInstalledCheck("js.package", "@stackframe/js"),
+ packageInstalledCheck("js.package", "@hexclave/js"),
fileExistsCheck("js.app", "Stack app instance", [
"stack/client.ts", "stack/client.tsx", "stack/client.js", "stack/client.jsx",
"stack/server.ts", "stack/server.tsx", "stack/server.js", "stack/server.jsx",
@@ -349,7 +349,7 @@ function layoutWrapsStackProviderCheck(): CheckSpec {
id,
label,
status: "warn",
- detail: `${rel} imports StackProvider from @stackframe/stack but does not render it.`,
+ detail: `${rel} imports StackProvider from @hexclave/next but does not render it.`,
hint: "Wrap {children} with ....",
};
}
@@ -358,16 +358,16 @@ function layoutWrapsStackProviderCheck(): CheckSpec {
id,
label,
status: "fail",
- detail: `${rel} renders but is missing the import from @stackframe/stack.`,
- hint: `Add: import { StackProvider } from "@stackframe/stack";`,
+ detail: `${rel} renders but is missing the import from @hexclave/next.`,
+ hint: `Add: import { StackProvider } from "@hexclave/next";`,
};
}
return {
id,
label,
status: "fail",
- detail: `${rel} does not import StackProvider from @stackframe/stack.`,
- hint: `Add: import { StackProvider } from "@stackframe/stack"; and wrap {children} with ....`,
+ detail: `${rel} does not import StackProvider from @hexclave/next.`,
+ hint: `Add: import { StackProvider } from "@hexclave/next"; and wrap {children} with ....`,
};
},
};
diff --git a/packages/stack-cli/src/commands/fix.ts b/packages/stack-cli/src/commands/fix.ts
index 6cf79c5ac8..e4ec7c6d68 100644
--- a/packages/stack-cli/src/commands/fix.ts
+++ b/packages/stack-cli/src/commands/fix.ts
@@ -112,13 +112,13 @@ function buildFixPrompt(errorText: string): string {
const startDelim = `<<>>`;
const endDelim = `<<>>`;
return [
- "You are fixing a Hexclave (https://hexclave.com, package `@stackframe/*`) integration error in the user's project.",
+ "You are fixing a Hexclave (https://hexclave.com, package `@hexclave/*`) integration error in the user's project.",
"",
"YOUR JOB: actually apply the fix to the files on disk using the Edit/Write tools. Do not just diagnose and stop. Do not just describe what to do. Make the edits.",
"",
"Workflow (do all of these — do not skip steps):",
"1. Read the files needed to understand the error: package.json, stack.config.ts if present, .env / .env.local, the file(s) referenced in the stack trace, app/layout.* or pages/_app.*, and any handler route (e.g. app/handler/[...stack]/page.tsx).",
- "2. Diagnose the Hexclave root cause (e.g. missing StackProvider wrapping, missing env vars, wrong handler route path, incorrect stack.config.ts, wrong import from @stackframe/*, missing API keys, missing `stackServerApp` instance, etc.).",
+ "2. Diagnose the Hexclave root cause (e.g. missing HexclaveProvider wrapping, missing env vars, wrong handler route path, incorrect stack.config.ts, wrong import from @hexclave/* (or legacy @stackframe/*), missing API keys, missing `stackServerApp` instance, etc.).",
"3. Apply the minimal fix using Edit/Write. Actually modify the files. If env vars are missing, instruct the user clearly (do not invent secret values).",
"4. After editing, verify your change by re-reading the affected file(s).",
"",
diff --git a/packages/stack-cli/src/commands/init.ts b/packages/stack-cli/src/commands/init.ts
index bc8a8f04e3..f01c272c83 100644
--- a/packages/stack-cli/src/commands/init.ts
+++ b/packages/stack-cli/src/commands/init.ts
@@ -2,8 +2,8 @@ import { Command } from "commander";
import { select, input, checkbox, confirm } from "@inquirer/prompts";
import * as fs from "fs";
import * as path from "path";
-import { StackClientApp } from "@stackframe/js";
-import { ALL_APPS } from "@stackframe/stack-shared/dist/apps/apps-config";
+import { StackClientApp } from "@hexclave/js";
+import { ALL_APPS } from "@hexclave/shared/dist/apps/apps-config";
import { resolveLoginConfig, resolveSessionAuth, DEFAULT_PUBLISHABLE_CLIENT_KEY } from "../lib/auth.js";
import { getInternalUser } from "../lib/app.js";
import { writeConfigValue } from "../lib/config.js";
@@ -14,8 +14,8 @@ import { createProjectInteractively } from "../lib/create-project.js";
import { runClaudeAgent } from "../lib/claude-agent.js";
import { resolveConfigFilePathOption } from "../lib/config-file-path.js";
import { isEmulatorImageInstalled } from "./emulator.js";
-import { detectImportPackageFromDir, renderConfigFileContent } from "@stackframe/stack-shared/dist/config-rendering";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { detectImportPackageFromDir, renderConfigFileContent } from "@hexclave/shared/dist/config-rendering";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
const VALID_INIT_MODES = ["create", "create-cloud", "link-config", "link-cloud"] as const;
type InitMode = typeof VALID_INIT_MODES[number];
@@ -171,7 +171,7 @@ function printNextSteps(args: { mode: string, projectId?: string, dashboardUrl:
if (args.mode === "create") {
console.log(" • You're wired up to the local emulator. Start it in another terminal:");
- console.log(" npx @stackframe/stack-cli emulator start");
+ console.log(" npx @hexclave/cli emulator start");
console.log(" Local dashboard: http://localhost:26700");
} else if (args.projectId) {
console.log(" • Manage this project in the dashboard:");
diff --git a/packages/stack-cli/src/commands/login.ts b/packages/stack-cli/src/commands/login.ts
index 371e1ed4fb..e2ec0be216 100644
--- a/packages/stack-cli/src/commands/login.ts
+++ b/packages/stack-cli/src/commands/login.ts
@@ -1,4 +1,4 @@
-import { StackClientApp } from "@stackframe/js";
+import { StackClientApp } from "@hexclave/js";
import { Command } from "commander";
import { DEFAULT_PUBLISHABLE_CLIENT_KEY, resolveLoginConfig } from "../lib/auth.js";
import { readConfigValue, removeConfigValue, writeConfigValue } from "../lib/config.js";
diff --git a/packages/stack-cli/src/index.ts b/packages/stack-cli/src/index.ts
index 3a2ede8abc..de472e43de 100644
--- a/packages/stack-cli/src/index.ts
+++ b/packages/stack-cli/src/index.ts
@@ -2,7 +2,7 @@ import { initSentry } from "./lib/sentry.js";
initSentry();
import * as Sentry from "@sentry/node";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
import { Command } from "commander";
import { readFileSync } from "fs";
import { fileURLToPath } from "url";
diff --git a/packages/stack-cli/src/lib/app.ts b/packages/stack-cli/src/lib/app.ts
index 499aac59a5..6f42704072 100644
--- a/packages/stack-cli/src/lib/app.ts
+++ b/packages/stack-cli/src/lib/app.ts
@@ -1,5 +1,5 @@
-import { StackClientApp } from "@stackframe/js";
-import type { CurrentInternalUser, AdminOwnedProject } from "@stackframe/js";
+import { StackClientApp } from "@hexclave/js";
+import type { CurrentInternalUser, AdminOwnedProject } from "@hexclave/js";
import { AuthError } from "./errors.js";
import type { SessionAuth, ProjectAuthWithRefreshToken } from "./auth.js";
diff --git a/packages/stack-cli/src/lib/auth.ts b/packages/stack-cli/src/lib/auth.ts
index 3ff15aeba3..377e40c385 100644
--- a/packages/stack-cli/src/lib/auth.ts
+++ b/packages/stack-cli/src/lib/auth.ts
@@ -1,4 +1,4 @@
-import { LOCAL_EMULATOR_ADMIN_EMAIL, LOCAL_EMULATOR_ADMIN_PASSWORD } from "@stackframe/stack-shared/dist/local-emulator";
+import { LOCAL_EMULATOR_ADMIN_EMAIL, LOCAL_EMULATOR_ADMIN_PASSWORD } from "@hexclave/shared/dist/local-emulator";
import { readConfigValue } from "./config.js";
import { emulatorBackendPort, emulatorDashboardPort, internalPckPath, pollInternalPck } from "./emulator-paths.js";
import { AuthError, CliError } from "./errors.js";
diff --git a/packages/stack-cli/src/lib/create-project.ts b/packages/stack-cli/src/lib/create-project.ts
index 05e610be24..89cb960e5f 100644
--- a/packages/stack-cli/src/lib/create-project.ts
+++ b/packages/stack-cli/src/lib/create-project.ts
@@ -1,5 +1,5 @@
import { input } from "@inquirer/prompts";
-import type { CurrentInternalUser } from "@stackframe/js";
+import type { CurrentInternalUser } from "@hexclave/js";
import { DEFAULT_DASHBOARD_URL } from "./auth.js";
import { CliError } from "./errors.js";
import { isNonInteractiveEnv } from "./interactive.js";
diff --git a/packages/stack-cli/src/lib/dev-env-state.ts b/packages/stack-cli/src/lib/dev-env-state.ts
index 0e9d032483..7df5f6adfa 100644
--- a/packages/stack-cli/src/lib/dev-env-state.ts
+++ b/packages/stack-cli/src/lib/dev-env-state.ts
@@ -1,7 +1,7 @@
import { randomBytes } from "crypto";
import { chmodSync, existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs";
import { dirname } from "path";
-import { stackDevEnvStatePath } from "@stackframe/stack-shared/dist/utils/dev-env-state-path";
+import { stackDevEnvStatePath } from "@hexclave/shared/dist/utils/dev-env-state-path";
export type DevEnvState = {
version: 1,
diff --git a/packages/stack-cli/src/lib/init-prompt.ts b/packages/stack-cli/src/lib/init-prompt.ts
index f4f5801dc0..613963ad5d 100644
--- a/packages/stack-cli/src/lib/init-prompt.ts
+++ b/packages/stack-cli/src/lib/init-prompt.ts
@@ -1 +1 @@
-export { createInitPrompt } from "@stackframe/stack-shared/dist/helpers/init-prompt";
+export { createInitPrompt } from "@hexclave/shared/dist/helpers/init-prompt";
diff --git a/packages/stack-cli/src/lib/sentry.ts b/packages/stack-cli/src/lib/sentry.ts
index 31f4ab96d6..8b558c5e62 100644
--- a/packages/stack-cli/src/lib/sentry.ts
+++ b/packages/stack-cli/src/lib/sentry.ts
@@ -1,9 +1,9 @@
import * as Sentry from "@sentry/node";
-import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
-import { registerErrorSink } from "@stackframe/stack-shared/dist/utils/errors";
-import { ignoreUnhandledRejection } from "@stackframe/stack-shared/dist/utils/promises";
-import { sentryBaseConfig } from "@stackframe/stack-shared/dist/utils/sentry";
-import { nicify } from "@stackframe/stack-shared/dist/utils/strings";
+import { getEnvVariable, getNodeEnvironment } from "@hexclave/shared/dist/utils/env";
+import { registerErrorSink } from "@hexclave/shared/dist/utils/errors";
+import { ignoreUnhandledRejection } from "@hexclave/shared/dist/utils/promises";
+import { sentryBaseConfig } from "@hexclave/shared/dist/utils/sentry";
+import { nicify } from "@hexclave/shared/dist/utils/strings";
import { readFileSync } from "fs";
import { homedir } from "os";
import { dirname, join } from "path";
diff --git a/packages/stack-sc/package.json b/packages/stack-sc/package.json
index 22c691e2f3..7953d83a15 100644
--- a/packages/stack-sc/package.json
+++ b/packages/stack-sc/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/stack-sc",
- "version": "2.8.103",
+ "name": "@hexclave/sc",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"exports": {
"./force-react-server": {
diff --git a/packages/stack-shared/package.json b/packages/stack-shared/package.json
index 04ee6ff0fa..6ac0eedf84 100644
--- a/packages/stack-shared/package.json
+++ b/packages/stack-shared/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/stack-shared",
- "version": "2.8.103",
+ "name": "@hexclave/shared",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"scripts": {
"build": "rimraf dist && tsdown",
diff --git a/packages/stack-shared/src/config-rendering.ts b/packages/stack-shared/src/config-rendering.ts
index 87e8136e29..2a482ef1c8 100644
--- a/packages/stack-shared/src/config-rendering.ts
+++ b/packages/stack-shared/src/config-rendering.ts
@@ -5,9 +5,15 @@ export { parseStackConfigFileContent, renderConfigFileContent };
/**
* Packages that export the `StackConfig` type, in priority order.
- * The first match found in a project's dependencies wins.
+ * The first match found in a project's dependencies wins. Hexclave-branded
+ * packages come first (canonical); the legacy `@stackframe/*` names remain
+ * so projects pinned to the last legacy release still render a config file
+ * that compiles against their installed SDK.
*/
-const STACKFRAME_CONFIG_PACKAGES = [
+const CONFIG_IMPORT_PACKAGES = [
+ "@hexclave/next",
+ "@hexclave/react",
+ "@hexclave/js",
"@stackframe/stack",
"@stackframe/react",
"@stackframe/js",
@@ -15,12 +21,12 @@ const STACKFRAME_CONFIG_PACKAGES = [
] as const;
/**
- * Given a list of dependency names (from package.json), returns the
- * `@stackframe/*` package that should be used for the `StackConfig` import,
- * or `undefined` if none of the known packages are installed.
+ * Given a list of dependency names (from package.json), returns the SDK
+ * package that should be used for the `StackConfig` import, or `undefined`
+ * if none of the known packages are installed.
*/
-export function detectStackframeImportPackage(dependencies: string[]): string | undefined {
- for (const pkg of STACKFRAME_CONFIG_PACKAGES) {
+export function detectConfigImportPackage(dependencies: string[]): string | undefined {
+ for (const pkg of CONFIG_IMPORT_PACKAGES) {
if (dependencies.includes(pkg)) {
return pkg;
}
@@ -30,7 +36,7 @@ export function detectStackframeImportPackage(dependencies: string[]): string |
/**
* Walks up from `dir` to find the nearest `package.json` and returns the
- * best `@stackframe/*` package to use for the `StackConfig` type import.
+ * best SDK package to use for the `StackConfig` type import.
*/
export function detectImportPackageFromDir(dir: string): string | undefined {
let current = dir;
@@ -43,7 +49,7 @@ export function detectImportPackageFromDir(dir: string): string | undefined {
...Object.keys(pkg.dependencies ?? {}),
...Object.keys(pkg.devDependencies ?? {}),
];
- return detectStackframeImportPackage(deps);
+ return detectConfigImportPackage(deps);
} catch {
return undefined;
}
@@ -73,7 +79,7 @@ import.meta.vitest?.test("renderConfigFileContent normalizes config exports", ({
import.meta.vitest?.test("parseStackConfigFileContent parses static config exports", ({ expect }) => {
expect(parseStackConfigFileContent(`
- import type { StackConfig } from "@stackframe/js";
+ import type { StackConfig } from "@hexclave/js";
export const config: StackConfig = {
auth: { allowSignUp: true },
payments: { testMode: false },
@@ -112,20 +118,24 @@ import.meta.vitest?.test("renderConfigFileContent rejects invalid config exports
});
import.meta.vitest?.test("renderConfigFileContent uses custom import package", ({ expect }) => {
- const content = renderConfigFileContent({}, "@stackframe/stack");
- expect(content).toContain('import type { StackConfig } from "@stackframe/stack";');
+ const content = renderConfigFileContent({}, "@hexclave/next");
+ expect(content).toContain('import type { StackConfig } from "@hexclave/next";');
});
-import.meta.vitest?.test("renderConfigFileContent defaults to @stackframe/js", ({ expect }) => {
+import.meta.vitest?.test("renderConfigFileContent defaults to @hexclave/js", ({ expect }) => {
const content = renderConfigFileContent({});
- expect(content).toContain('import type { StackConfig } from "@stackframe/js";');
+ expect(content).toContain('import type { StackConfig } from "@hexclave/js";');
});
-import.meta.vitest?.test("detectStackframeImportPackage picks first matching package by priority", ({ expect }) => {
- expect(detectStackframeImportPackage(["@stackframe/stack", "@stackframe/js"])).toBe("@stackframe/stack");
- expect(detectStackframeImportPackage(["@stackframe/react", "@stackframe/js"])).toBe("@stackframe/react");
- expect(detectStackframeImportPackage(["@stackframe/js"])).toBe("@stackframe/js");
- expect(detectStackframeImportPackage(["@stackframe/template"])).toBe("@stackframe/template");
- expect(detectStackframeImportPackage(["lodash", "express"])).toBeUndefined();
- expect(detectStackframeImportPackage([])).toBeUndefined();
+import.meta.vitest?.test("detectConfigImportPackage picks first matching package by priority", ({ expect }) => {
+ expect(detectConfigImportPackage(["@hexclave/next", "@hexclave/js"])).toBe("@hexclave/next");
+ expect(detectConfigImportPackage(["@hexclave/react", "@hexclave/js"])).toBe("@hexclave/react");
+ expect(detectConfigImportPackage(["@hexclave/js"])).toBe("@hexclave/js");
+ // Hexclave names take priority over legacy stackframe names when both appear.
+ expect(detectConfigImportPackage(["@stackframe/stack", "@hexclave/next"])).toBe("@hexclave/next");
+ // Legacy fallback still works for projects pinned to the last @stackframe/* release.
+ expect(detectConfigImportPackage(["@stackframe/stack"])).toBe("@stackframe/stack");
+ expect(detectConfigImportPackage(["@stackframe/template"])).toBe("@stackframe/template");
+ expect(detectConfigImportPackage(["lodash", "express"])).toBeUndefined();
+ expect(detectConfigImportPackage([])).toBeUndefined();
});
diff --git a/packages/stack-shared/src/interface/page-component-versions.ts b/packages/stack-shared/src/interface/page-component-versions.ts
index d1106b78cc..5f73292316 100644
--- a/packages/stack-shared/src/interface/page-component-versions.ts
+++ b/packages/stack-shared/src/interface/page-component-versions.ts
@@ -41,7 +41,7 @@ const stackAuthReminders = deindent`
- Take extra care to always have great error handling and loading states whenever necessary (including in button onClick handlers; Hexclave's code examples often use a special onClick class which handles loading states, but your own button may not). Hexclave's SDK tends to return errors that need to be handled explicitly in its return types.
- Language, framework, and library-specific details:
- JavaScript & TypeScript:
- - Hexclave has different SDK packages for different frameworks and languages. As of the time of writing these reminders, they are: @stackframe/js (JavaScript/TypeScript), @stackframe/stack (Next.js), @stackframe/react (React), @stackframe/tanstack-start (TanStack Start). You can find all of these on npm. They are all versioned together, meaning that vX.Y.Z of one SDK was released at the same time as vX.Y.Z of another SDK. For the most part, they are the same, although each has platform-specific features and differences.
+ - Hexclave has different SDK packages for different frameworks and languages. As of the time of writing these reminders, they are: @hexclave/js (JavaScript/TypeScript), @hexclave/next (Next.js), @hexclave/react (React), @hexclave/tanstack-start (TanStack Start). You can find all of these on npm. They are all versioned together, meaning that vX.Y.Z of one SDK was released at the same time as vX.Y.Z of another SDK. For the most part, they are the same, although each has platform-specific features and differences.
- The \`Result\` type is \`{ status: "ok", data: T } | { status: "error", error: E }\`.
- \`KnownErrors[KNOWN_ERROR_CODE]\` refers to a specific known error type. Each KnownError may have its own properties, but they all inherit from \`Error & { statusCode: number, humanReadableMessage: string, details?: Json }\`.
- React & Next.js:
diff --git a/packages/stack-shared/src/stack-config-file.ts b/packages/stack-shared/src/stack-config-file.ts
index 39837c3f8c..d494577f9e 100644
--- a/packages/stack-shared/src/stack-config-file.ts
+++ b/packages/stack-shared/src/stack-config-file.ts
@@ -4,7 +4,7 @@ import { isValidConfig, normalize } from "./config/format";
export const showOnboardingStackConfigValue = "show-onboarding";
-const DEFAULT_CONFIG_IMPORT_PACKAGE = "@stackframe/js";
+const DEFAULT_CONFIG_IMPORT_PACKAGE = "@hexclave/js";
/**
* Renders a config object into the source text of a `stack.config.ts` file.
diff --git a/packages/stack-ui/package.json b/packages/stack-ui/package.json
index 67ebf0f14e..8ccd7161df 100644
--- a/packages/stack-ui/package.json
+++ b/packages/stack-ui/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/stack-ui",
- "version": "2.8.103",
+ "name": "@hexclave/ui",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -77,7 +77,7 @@
"@radix-ui/react-toggle": "^1.1.0",
"@radix-ui/react-toggle-group": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.3",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"@tanstack/react-table": "^8.20.5",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
diff --git a/packages/stack-ui/src/components/brand-icons.tsx b/packages/stack-ui/src/components/brand-icons.tsx
index 4b07713bde..d40bc2005f 100644
--- a/packages/stack-ui/src/components/brand-icons.tsx
+++ b/packages/stack-ui/src/components/brand-icons.tsx
@@ -1,4 +1,4 @@
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
export function Google({ iconSize }: { iconSize: number }) {
return (
diff --git a/packages/stack-ui/src/components/copy-button.tsx b/packages/stack-ui/src/components/copy-button.tsx
index a5b2086206..33fd33006f 100644
--- a/packages/stack-ui/src/components/copy-button.tsx
+++ b/packages/stack-ui/src/components/copy-button.tsx
@@ -1,6 +1,6 @@
"use client";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { Copy } from "lucide-react";
import React from "react";
import { Button, cn, useToast } from "..";
diff --git a/packages/stack-ui/src/components/data-table/data-table.tsx b/packages/stack-ui/src/components/data-table/data-table.tsx
index abf3727d07..f177cf193e 100644
--- a/packages/stack-ui/src/components/data-table/data-table.tsx
+++ b/packages/stack-ui/src/components/data-table/data-table.tsx
@@ -1,6 +1,6 @@
"use client";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import {
Table,
TableBody,
diff --git a/packages/stack-ui/src/components/data-table/toolbar.tsx b/packages/stack-ui/src/components/data-table/toolbar.tsx
index 7465d28578..bee97b70f7 100644
--- a/packages/stack-ui/src/components/data-table/toolbar.tsx
+++ b/packages/stack-ui/src/components/data-table/toolbar.tsx
@@ -1,7 +1,7 @@
"use client";
import { Cross2Icon } from "@radix-ui/react-icons";
-import { deepPlainEquals } from "@stackframe/stack-shared/dist/utils/objects";
+import { deepPlainEquals } from "@hexclave/shared/dist/utils/objects";
import { Button } from "../ui/button";
import { Cell, ColumnFiltersState, SortingState, Table } from "@tanstack/react-table";
import { download, generateCsv, mkConfig } from 'export-to-csv';
diff --git a/packages/stack-ui/src/components/ui/accordion.tsx b/packages/stack-ui/src/components/ui/accordion.tsx
index 3d62f265e7..a7a1464324 100644
--- a/packages/stack-ui/src/components/ui/accordion.tsx
+++ b/packages/stack-ui/src/components/ui/accordion.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as AccordionPrimitive from "@radix-ui/react-accordion";
import { ChevronDownIcon } from "@radix-ui/react-icons";
diff --git a/packages/stack-ui/src/components/ui/alert.tsx b/packages/stack-ui/src/components/ui/alert.tsx
index 0fb406466f..08e173b8e1 100644
--- a/packages/stack-ui/src/components/ui/alert.tsx
+++ b/packages/stack-ui/src/components/ui/alert.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/avatar.tsx b/packages/stack-ui/src/components/ui/avatar.tsx
index 076031d7f9..089ea8b1f5 100644
--- a/packages/stack-ui/src/components/ui/avatar.tsx
+++ b/packages/stack-ui/src/components/ui/avatar.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as AvatarPrimitive from "@radix-ui/react-avatar";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/badge.tsx b/packages/stack-ui/src/components/ui/badge.tsx
index 3a8c6261e6..0b9b46e407 100644
--- a/packages/stack-ui/src/components/ui/badge.tsx
+++ b/packages/stack-ui/src/components/ui/badge.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cva, type VariantProps } from "class-variance-authority";
import React from "react";
diff --git a/packages/stack-ui/src/components/ui/breadcrumb.tsx b/packages/stack-ui/src/components/ui/breadcrumb.tsx
index 09e8b36d3b..72e567d4ae 100644
--- a/packages/stack-ui/src/components/ui/breadcrumb.tsx
+++ b/packages/stack-ui/src/components/ui/breadcrumb.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { ChevronRightIcon, DotsHorizontalIcon } from "@radix-ui/react-icons";
import { Slot } from "@radix-ui/react-slot";
diff --git a/packages/stack-ui/src/components/ui/button.tsx b/packages/stack-ui/src/components/ui/button.tsx
index 0c9092457e..6292431a50 100644
--- a/packages/stack-ui/src/components/ui/button.tsx
+++ b/packages/stack-ui/src/components/ui/button.tsx
@@ -1,10 +1,10 @@
import { Slot, Slottable } from "@radix-ui/react-slot";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cva, type VariantProps } from "class-variance-authority";
import React from "react";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { cn } from "../../lib/utils";
import { Spinner } from "./spinner";
diff --git a/packages/stack-ui/src/components/ui/card.tsx b/packages/stack-ui/src/components/ui/card.tsx
index 913b8de6d1..386f3acf90 100644
--- a/packages/stack-ui/src/components/ui/card.tsx
+++ b/packages/stack-ui/src/components/ui/card.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/checkbox.tsx b/packages/stack-ui/src/components/ui/checkbox.tsx
index 4f1a67734b..640933db3e 100644
--- a/packages/stack-ui/src/components/ui/checkbox.tsx
+++ b/packages/stack-ui/src/components/ui/checkbox.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
import { CheckIcon } from "@radix-ui/react-icons";
diff --git a/packages/stack-ui/src/components/ui/command.tsx b/packages/stack-ui/src/components/ui/command.tsx
index 8508a7e714..ad86f88a78 100644
--- a/packages/stack-ui/src/components/ui/command.tsx
+++ b/packages/stack-ui/src/components/ui/command.tsx
@@ -2,7 +2,7 @@
import { type DialogProps } from "@radix-ui/react-dialog";
import { MagnifyingGlassIcon } from "@radix-ui/react-icons";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { Command as CommandPrimitive } from "cmdk";
import React from "react";
diff --git a/packages/stack-ui/src/components/ui/context-menu.tsx b/packages/stack-ui/src/components/ui/context-menu.tsx
index b214d0c6c4..72286d4b97 100644
--- a/packages/stack-ui/src/components/ui/context-menu.tsx
+++ b/packages/stack-ui/src/components/ui/context-menu.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
import {
CheckIcon,
diff --git a/packages/stack-ui/src/components/ui/dialog.tsx b/packages/stack-ui/src/components/ui/dialog.tsx
index 179d04328c..b4ec59cb67 100644
--- a/packages/stack-ui/src/components/ui/dialog.tsx
+++ b/packages/stack-ui/src/components/ui/dialog.tsx
@@ -2,7 +2,7 @@
import * as DialogPrimitive from "@radix-ui/react-dialog";
import { Cross2Icon } from "@radix-ui/react-icons";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/dropdown-menu.tsx b/packages/stack-ui/src/components/ui/dropdown-menu.tsx
index 3b74fc1302..a74ffdabc9 100644
--- a/packages/stack-ui/src/components/ui/dropdown-menu.tsx
+++ b/packages/stack-ui/src/components/ui/dropdown-menu.tsx
@@ -2,12 +2,12 @@
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
import { CheckIcon, ChevronRightIcon, DotFilledIcon } from "@radix-ui/react-icons";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import { cn } from "../../lib/utils";
import { Spinner } from "./spinner";
diff --git a/packages/stack-ui/src/components/ui/form.tsx b/packages/stack-ui/src/components/ui/form.tsx
index d844224038..ecbf4bf5bb 100644
--- a/packages/stack-ui/src/components/ui/form.tsx
+++ b/packages/stack-ui/src/components/ui/form.tsx
@@ -3,7 +3,7 @@
import * as LabelPrimitive from "@radix-ui/react-label";
import { Slot } from "@radix-ui/react-slot";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import {
Controller,
ControllerProps,
@@ -13,7 +13,7 @@ import {
useFormContext,
} from "react-hook-form";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
import { cn } from "../../lib/utils";
import { SpanLabel } from "./label";
diff --git a/packages/stack-ui/src/components/ui/hover-card.tsx b/packages/stack-ui/src/components/ui/hover-card.tsx
index 310537bb98..4f401f55fc 100644
--- a/packages/stack-ui/src/components/ui/hover-card.tsx
+++ b/packages/stack-ui/src/components/ui/hover-card.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/inline-code.tsx b/packages/stack-ui/src/components/ui/inline-code.tsx
index 7ff808d613..ba9e3cc3ec 100644
--- a/packages/stack-ui/src/components/ui/inline-code.tsx
+++ b/packages/stack-ui/src/components/ui/inline-code.tsx
@@ -2,10 +2,10 @@
import { cn } from "../../lib/utils";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
-import { hasClickableParent } from "@stackframe/stack-shared/dist/utils/dom";
-import { getNodeText } from "@stackframe/stack-shared/dist/utils/react";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
+import { hasClickableParent } from "@hexclave/shared/dist/utils/dom";
+import { getNodeText } from "@hexclave/shared/dist/utils/react";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import { useToast } from "./use-toast";
const InlineCode = forwardRefIfNeeded<
diff --git a/packages/stack-ui/src/components/ui/input-otp.tsx b/packages/stack-ui/src/components/ui/input-otp.tsx
index 31517ae579..e4a54d5dff 100644
--- a/packages/stack-ui/src/components/ui/input-otp.tsx
+++ b/packages/stack-ui/src/components/ui/input-otp.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { DashIcon } from "@radix-ui/react-icons";
import { OTPInput, OTPInputContext } from "input-otp";
diff --git a/packages/stack-ui/src/components/ui/input.tsx b/packages/stack-ui/src/components/ui/input.tsx
index ad1c84b107..11e3567429 100644
--- a/packages/stack-ui/src/components/ui/input.tsx
+++ b/packages/stack-ui/src/components/ui/input.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/label.tsx b/packages/stack-ui/src/components/ui/label.tsx
index 7ada3f4b19..f781ab1d89 100644
--- a/packages/stack-ui/src/components/ui/label.tsx
+++ b/packages/stack-ui/src/components/ui/label.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as LabelPrimitive from "@radix-ui/react-label";
import { cva, type VariantProps } from "class-variance-authority";
diff --git a/packages/stack-ui/src/components/ui/menubar.tsx b/packages/stack-ui/src/components/ui/menubar.tsx
index 03e4efd41c..271d3b0472 100644
--- a/packages/stack-ui/src/components/ui/menubar.tsx
+++ b/packages/stack-ui/src/components/ui/menubar.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import {
CheckIcon,
ChevronRightIcon,
diff --git a/packages/stack-ui/src/components/ui/navigation-menu.tsx b/packages/stack-ui/src/components/ui/navigation-menu.tsx
index 07e59a4e90..cf10820e5d 100644
--- a/packages/stack-ui/src/components/ui/navigation-menu.tsx
+++ b/packages/stack-ui/src/components/ui/navigation-menu.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { ChevronDownIcon } from "@radix-ui/react-icons";
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
import { cva } from "class-variance-authority";
diff --git a/packages/stack-ui/src/components/ui/password-input.tsx b/packages/stack-ui/src/components/ui/password-input.tsx
index 85d7b26d60..c5b868e575 100644
--- a/packages/stack-ui/src/components/ui/password-input.tsx
+++ b/packages/stack-ui/src/components/ui/password-input.tsx
@@ -5,7 +5,7 @@ import { EyeIcon, EyeOffIcon } from "lucide-react";
import { Button } from "./button";
import { Input, InputProps } from "./input";
import { cn } from "../../lib/utils";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
const PasswordInput = forwardRefIfNeeded(
({ className, ...props }, ref) => {
diff --git a/packages/stack-ui/src/components/ui/popover.tsx b/packages/stack-ui/src/components/ui/popover.tsx
index d7fdcc0a28..6bbfd10c45 100644
--- a/packages/stack-ui/src/components/ui/popover.tsx
+++ b/packages/stack-ui/src/components/ui/popover.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as PopoverPrimitive from "@radix-ui/react-popover";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/progress.tsx b/packages/stack-ui/src/components/ui/progress.tsx
index 5478a482e5..eed6d344b5 100644
--- a/packages/stack-ui/src/components/ui/progress.tsx
+++ b/packages/stack-ui/src/components/ui/progress.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as ProgressPrimitive from "@radix-ui/react-progress";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/radio-group.tsx b/packages/stack-ui/src/components/ui/radio-group.tsx
index e7d652486d..efcaa748b6 100644
--- a/packages/stack-ui/src/components/ui/radio-group.tsx
+++ b/packages/stack-ui/src/components/ui/radio-group.tsx
@@ -2,7 +2,7 @@
import { CheckIcon } from "@radix-ui/react-icons";
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/scroll-area.tsx b/packages/stack-ui/src/components/ui/scroll-area.tsx
index b435997d57..4cad47e9f3 100644
--- a/packages/stack-ui/src/components/ui/scroll-area.tsx
+++ b/packages/stack-ui/src/components/ui/scroll-area.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/select.tsx b/packages/stack-ui/src/components/ui/select.tsx
index 12254ab9f3..bef7087caf 100644
--- a/packages/stack-ui/src/components/ui/select.tsx
+++ b/packages/stack-ui/src/components/ui/select.tsx
@@ -7,7 +7,7 @@ import {
ChevronUpIcon,
} from "@radix-ui/react-icons";
import * as SelectPrimitive from "@radix-ui/react-select";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/separator.tsx b/packages/stack-ui/src/components/ui/separator.tsx
index 8be1fe215a..464c355627 100644
--- a/packages/stack-ui/src/components/ui/separator.tsx
+++ b/packages/stack-ui/src/components/ui/separator.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as SeparatorPrimitive from "@radix-ui/react-separator";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/sheet.tsx b/packages/stack-ui/src/components/ui/sheet.tsx
index d1b48e5429..b2b6cf84c2 100644
--- a/packages/stack-ui/src/components/ui/sheet.tsx
+++ b/packages/stack-ui/src/components/ui/sheet.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as SheetPrimitive from "@radix-ui/react-dialog";
import { Cross2Icon } from "@radix-ui/react-icons";
import { cva, type VariantProps } from "class-variance-authority";
diff --git a/packages/stack-ui/src/components/ui/slider.tsx b/packages/stack-ui/src/components/ui/slider.tsx
index 2ec537717c..fbf8d42185 100644
--- a/packages/stack-ui/src/components/ui/slider.tsx
+++ b/packages/stack-ui/src/components/ui/slider.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as SliderPrimitive from "@radix-ui/react-slider";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/spinner.tsx b/packages/stack-ui/src/components/ui/spinner.tsx
index ef90315d59..8d83c71c57 100644
--- a/packages/stack-ui/src/components/ui/spinner.tsx
+++ b/packages/stack-ui/src/components/ui/spinner.tsx
@@ -1,5 +1,5 @@
import { ReloadIcon } from "@radix-ui/react-icons";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/switch.tsx b/packages/stack-ui/src/components/ui/switch.tsx
index 2c5d8ca39f..5a0582e3d3 100644
--- a/packages/stack-ui/src/components/ui/switch.tsx
+++ b/packages/stack-ui/src/components/ui/switch.tsx
@@ -1,12 +1,12 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as SwitchPrimitives from "@radix-ui/react-switch";
import { cn } from "../../lib/utils";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { useAsyncCallback } from "@stackframe/stack-shared/dist/hooks/use-async-callback";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { useAsyncCallback } from "@hexclave/shared/dist/hooks/use-async-callback";
import { Spinner } from "./spinner";
type OriginalSwitchProps = {} & React.ComponentProps
diff --git a/packages/stack-ui/src/components/ui/table.tsx b/packages/stack-ui/src/components/ui/table.tsx
index 458329ea98..957be7f604 100644
--- a/packages/stack-ui/src/components/ui/table.tsx
+++ b/packages/stack-ui/src/components/ui/table.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/tabs.tsx b/packages/stack-ui/src/components/ui/tabs.tsx
index 44577dd600..cd5e2d6e15 100644
--- a/packages/stack-ui/src/components/ui/tabs.tsx
+++ b/packages/stack-ui/src/components/ui/tabs.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as TabsPrimitive from "@radix-ui/react-tabs";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/textarea.tsx b/packages/stack-ui/src/components/ui/textarea.tsx
index 492f177ff0..da6e1ec91c 100644
--- a/packages/stack-ui/src/components/ui/textarea.tsx
+++ b/packages/stack-ui/src/components/ui/textarea.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import React from "react";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/toast.tsx b/packages/stack-ui/src/components/ui/toast.tsx
index b13cd55f6f..4cec113030 100644
--- a/packages/stack-ui/src/components/ui/toast.tsx
+++ b/packages/stack-ui/src/components/ui/toast.tsx
@@ -1,7 +1,7 @@
'use client';
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { Cross2Icon } from "@radix-ui/react-icons";
import * as ToastPrimitives from "@radix-ui/react-toast";
import { cva, type VariantProps } from "class-variance-authority";
diff --git a/packages/stack-ui/src/components/ui/toggle-group.tsx b/packages/stack-ui/src/components/ui/toggle-group.tsx
index a47fa0c12e..f60c3a4264 100644
--- a/packages/stack-ui/src/components/ui/toggle-group.tsx
+++ b/packages/stack-ui/src/components/ui/toggle-group.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
import { VariantProps } from "class-variance-authority";
diff --git a/packages/stack-ui/src/components/ui/toggle.tsx b/packages/stack-ui/src/components/ui/toggle.tsx
index a6f049db50..e8bb99b11b 100644
--- a/packages/stack-ui/src/components/ui/toggle.tsx
+++ b/packages/stack-ui/src/components/ui/toggle.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as TogglePrimitive from "@radix-ui/react-toggle";
import { cva, type VariantProps } from "class-variance-authority";
diff --git a/packages/stack-ui/src/components/ui/tooltip.tsx b/packages/stack-ui/src/components/ui/tooltip.tsx
index 46bbed592c..4697e50ce2 100644
--- a/packages/stack-ui/src/components/ui/tooltip.tsx
+++ b/packages/stack-ui/src/components/ui/tooltip.tsx
@@ -1,7 +1,7 @@
"use client";
import React from "react";
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import { cn } from "../../lib/utils";
diff --git a/packages/stack-ui/src/components/ui/typography.tsx b/packages/stack-ui/src/components/ui/typography.tsx
index b454e6231b..da47f1a6c2 100644
--- a/packages/stack-ui/src/components/ui/typography.tsx
+++ b/packages/stack-ui/src/components/ui/typography.tsx
@@ -1,4 +1,4 @@
-import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
+import { forwardRefIfNeeded } from "@hexclave/shared/dist/utils/react";
import { cva, type VariantProps } from "class-variance-authority";
import React from "react";
import { cn } from "../../lib/utils";
diff --git a/packages/stack/package.json b/packages/stack/package.json
index 11af86ee25..939dab00c5 100644
--- a/packages/stack/package.json
+++ b/packages/stack/package.json
@@ -1,7 +1,7 @@
{
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template (FOR package.json FILES, PLEASE EDIT package-template.json)",
- "name": "@stackframe/stack",
- "version": "2.8.103",
+ "name": "@hexclave/next",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"sideEffects": false,
"main": "./dist/index.js",
@@ -64,9 +64,9 @@
"@stripe/react-stripe-js": "^3.8.1",
"@stripe/stripe-js": "^7.7.0",
"@simplewebauthn/browser": "^13.2.2",
- "@stackframe/stack-sc": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
- "@stackframe/stack-ui": "workspace:*",
+ "@hexclave/sc": "workspace:*",
+ "@hexclave/shared": "workspace:*",
+ "@hexclave/ui": "workspace:*",
"@tanstack/react-table": "^8.21.3",
"browser-image-compression": "^2.0.2",
"color": "^5.0.3",
diff --git a/packages/tanstack-start/package.json b/packages/tanstack-start/package.json
index cb1da29b1a..286269c10c 100644
--- a/packages/tanstack-start/package.json
+++ b/packages/tanstack-start/package.json
@@ -1,7 +1,7 @@
{
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template (FOR package.json FILES, PLEASE EDIT package-template.json)",
- "name": "@stackframe/tanstack-start",
- "version": "2.8.103",
+ "name": "@hexclave/tanstack-start",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"sideEffects": false,
"main": "./dist/index.js",
@@ -75,8 +75,8 @@
"@stripe/react-stripe-js": "^3.8.1",
"@stripe/stripe-js": "^7.7.0",
"@simplewebauthn/browser": "^13.2.2",
- "@stackframe/stack-shared": "workspace:*",
- "@stackframe/stack-ui": "workspace:*",
+ "@hexclave/shared": "workspace:*",
+ "@hexclave/ui": "workspace:*",
"@tanstack/react-table": "^8.21.3",
"browser-image-compression": "^2.0.2",
"color": "^5.0.3",
diff --git a/packages/template/package-template.json b/packages/template/package-template.json
index 91432204d0..99484b0f66 100644
--- a/packages/template/package-template.json
+++ b/packages/template/package-template.json
@@ -2,18 +2,18 @@
"//": "IF_PLATFORM template",
"name": "@stackframe/template",
"//": "ELSE_IF_PLATFORM js",
- "name": "@stackframe/js",
+ "name": "@hexclave/js",
"//": "ELSE_IF_PLATFORM next",
- "name": "@stackframe/stack",
+ "name": "@hexclave/next",
"//": "ELSE_IF_PLATFORM tanstack-start",
- "name": "@stackframe/tanstack-start",
+ "name": "@hexclave/tanstack-start",
"//": "ELSE_IF_PLATFORM react",
- "name": "@stackframe/react",
+ "name": "@hexclave/react",
"//": "END_PLATFORM",
"//": "NEXT_LINE_PLATFORM template",
"private": true,
- "version": "2.8.103",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"sideEffects": false,
"main": "./dist/index.js",
@@ -112,10 +112,10 @@
"@stripe/stripe-js": "^7.7.0",
"@simplewebauthn/browser": "^13.2.2",
"//": "NEXT_LINE_PLATFORM next",
- "@stackframe/stack-sc": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
+ "@hexclave/sc": "workspace:*",
+ "@hexclave/shared": "workspace:*",
"//": "NEXT_LINE_PLATFORM react-like",
- "@stackframe/stack-ui": "workspace:*",
+ "@hexclave/ui": "workspace:*",
"@tanstack/react-table": "^8.21.3",
"//": "NEXT_LINE_PLATFORM react-like",
"browser-image-compression": "^2.0.2",
diff --git a/packages/template/package.json b/packages/template/package.json
index 5b4fa48b93..d2a63ce4cd 100644
--- a/packages/template/package.json
+++ b/packages/template/package.json
@@ -2,7 +2,7 @@
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template (FOR package.json FILES, PLEASE EDIT package-template.json)",
"name": "@stackframe/template",
"private": true,
- "version": "2.8.103",
+ "version": "1.0.0",
"repository": "https://github.com/hexclave/hexclave",
"sideEffects": false,
"main": "./dist/index.js",
@@ -80,9 +80,9 @@
"@stripe/react-stripe-js": "^3.8.1",
"@stripe/stripe-js": "^7.7.0",
"@simplewebauthn/browser": "^13.2.2",
- "@stackframe/stack-sc": "workspace:*",
- "@stackframe/stack-shared": "workspace:*",
- "@stackframe/stack-ui": "workspace:*",
+ "@hexclave/sc": "workspace:*",
+ "@hexclave/shared": "workspace:*",
+ "@hexclave/ui": "workspace:*",
"@tanstack/react-table": "^8.21.3",
"browser-image-compression": "^2.0.2",
"color": "^5.0.3",
diff --git a/packages/template/scripts/merge-quetzal-translations.ts b/packages/template/scripts/merge-quetzal-translations.ts
index 582ec30a68..d327441b88 100644
--- a/packages/template/scripts/merge-quetzal-translations.ts
+++ b/packages/template/scripts/merge-quetzal-translations.ts
@@ -1,5 +1,5 @@
-import { writeFileSyncIfChanged } from "@stackframe/stack-shared/dist/utils/fs";
-import { deindent, stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
+import { writeFileSyncIfChanged } from "@hexclave/shared/dist/utils/fs";
+import { deindent, stringCompare } from "@hexclave/shared/dist/utils/strings";
import * as fs from "fs";
import * as path from "path";
@@ -39,7 +39,7 @@ async function main() {
// THIS FILE IS AUTO-GENERATED BY THE \`merge-quetzal-translations.ts\` SCRIPT.
// DO NOT EDIT IT BY HAND.
- import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
+ import { typedEntries } from "@hexclave/shared/dist/utils/objects";
export const quetzalKeys = new Map(typedEntries(${JSON.stringify(sortKeys(newKeys), null, 2)} as const));
diff --git a/packages/template/scripts/process-css.ts b/packages/template/scripts/process-css.ts
index 71c27da6d5..d4a9e6dc8f 100644
--- a/packages/template/scripts/process-css.ts
+++ b/packages/template/scripts/process-css.ts
@@ -1,6 +1,6 @@
-import { HexclaveAssertionError } from '@stackframe/stack-shared/dist/utils/errors';
-import { writeFileSyncIfChanged } from '@stackframe/stack-shared/dist/utils/fs';
-import { replaceAll } from '@stackframe/stack-shared/dist/utils/strings';
+import { HexclaveAssertionError } from '@hexclave/shared/dist/utils/errors';
+import { writeFileSyncIfChanged } from '@hexclave/shared/dist/utils/fs';
+import { replaceAll } from '@hexclave/shared/dist/utils/strings';
import autoprefixer from 'autoprefixer';
import * as fs from 'fs';
import * as path from 'path';
diff --git a/packages/template/src/components-page/account-settings.tsx b/packages/template/src/components-page/account-settings.tsx
index 84c09cb542..2675398897 100644
--- a/packages/template/src/components-page/account-settings.tsx
+++ b/packages/template/src/components-page/account-settings.tsx
@@ -1,7 +1,7 @@
'use client';
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Skeleton, Typography } from '@stackframe/stack-ui';
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Skeleton, Typography } from '@hexclave/ui';
import { Contact, ShieldCheck, Bell, Monitor, Key, Settings, CirclePlus, CreditCard } from 'lucide-react';
import React, { Suspense, useCallback, useEffect, useMemo, useRef, useState } from "react";
import { useStackApp, useUser } from '..';
diff --git a/packages/template/src/components-page/account-settings/active-sessions/active-sessions-page.tsx b/packages/template/src/components-page/account-settings/active-sessions/active-sessions-page.tsx
index 6195a09d7c..66c90dea5c 100644
--- a/packages/template/src/components-page/account-settings/active-sessions/active-sessions-page.tsx
+++ b/packages/template/src/components-page/account-settings/active-sessions/active-sessions-page.tsx
@@ -1,7 +1,7 @@
-import { fromNow } from "@stackframe/stack-shared/dist/utils/dates";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { ActionCell, Badge, Button, Skeleton, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Typography } from "@stackframe/stack-ui";
+import { fromNow } from "@hexclave/shared/dist/utils/dates";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { ActionCell, Badge, Button, Skeleton, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Typography } from "@hexclave/ui";
import { useEffect, useState } from "react";
import { useUser } from "../../../lib/hooks";
import { ActiveSession } from "../../../lib/stack-app/users";
diff --git a/packages/template/src/components-page/account-settings/api-keys/api-keys-page.tsx b/packages/template/src/components-page/account-settings/api-keys/api-keys-page.tsx
index 1b600f0842..5ba21ac9fe 100644
--- a/packages/template/src/components-page/account-settings/api-keys/api-keys-page.tsx
+++ b/packages/template/src/components-page/account-settings/api-keys/api-keys-page.tsx
@@ -1,4 +1,4 @@
-import { Button } from "@stackframe/stack-ui";
+import { Button } from "@hexclave/ui";
import { useState } from "react";
import { CreateApiKeyDialog, ShowApiKeyDialog } from "../../../components/api-key-dialogs";
import { ApiKeyTable } from "../../../components/api-key-table";
diff --git a/packages/template/src/components-page/account-settings/editable-text.tsx b/packages/template/src/components-page/account-settings/editable-text.tsx
index e7ff525b61..c576b75bad 100644
--- a/packages/template/src/components-page/account-settings/editable-text.tsx
+++ b/packages/template/src/components-page/account-settings/editable-text.tsx
@@ -1,4 +1,4 @@
-import { Button, Input, Typography } from "@stackframe/stack-ui";
+import { Button, Input, Typography } from "@hexclave/ui";
import { Edit } from "lucide-react";
import { useState } from "react";
import { useTranslation } from "../../lib/translations";
diff --git a/packages/template/src/components-page/account-settings/email-and-auth/emails-section.tsx b/packages/template/src/components-page/account-settings/email-and-auth/emails-section.tsx
index 341e5d6d28..b582d06dc3 100644
--- a/packages/template/src/components-page/account-settings/email-and-auth/emails-section.tsx
+++ b/packages/template/src/components-page/account-settings/email-and-auth/emails-section.tsx
@@ -1,8 +1,8 @@
import { yupResolver } from "@hookform/resolvers/yup";
-import { KnownErrors } from "@stackframe/stack-shared/dist/known-errors";
-import { strictEmailSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { ActionCell, Badge, Button, Input, Table, TableBody, TableCell, TableRow, Typography } from "@stackframe/stack-ui";
+import { KnownErrors } from "@hexclave/shared/dist/known-errors";
+import { strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { ActionCell, Badge, Button, Input, Table, TableBody, TableCell, TableRow, Typography } from "@hexclave/ui";
import { useEffect, useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components-page/account-settings/email-and-auth/mfa-section.tsx b/packages/template/src/components-page/account-settings/email-and-auth/mfa-section.tsx
index a8e3bebfeb..d325ad9d15 100644
--- a/packages/template/src/components-page/account-settings/email-and-auth/mfa-section.tsx
+++ b/packages/template/src/components-page/account-settings/email-and-auth/mfa-section.tsx
@@ -1,9 +1,9 @@
import { createTOTPKeyURI, verifyTOTP } from "@oslojs/otp";
-import { useAsyncCallback } from '@stackframe/stack-shared/dist/hooks/use-async-callback';
-import { generateRandomValues } from '@stackframe/stack-shared/dist/utils/crypto';
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input, Typography } from "@stackframe/stack-ui";
+import { useAsyncCallback } from '@hexclave/shared/dist/hooks/use-async-callback';
+import { generateRandomValues } from '@hexclave/shared/dist/utils/crypto';
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input, Typography } from "@hexclave/ui";
import * as QRCode from 'qrcode';
import { useEffect, useState } from "react";
import { CurrentUser, Project } from '../../..';
diff --git a/packages/template/src/components-page/account-settings/email-and-auth/otp-section.tsx b/packages/template/src/components-page/account-settings/email-and-auth/otp-section.tsx
index ee277f6b91..eb3e78ea3a 100644
--- a/packages/template/src/components-page/account-settings/email-and-auth/otp-section.tsx
+++ b/packages/template/src/components-page/account-settings/email-and-auth/otp-section.tsx
@@ -1,4 +1,4 @@
-import { Button, Typography } from "@stackframe/stack-ui";
+import { Button, Typography } from "@hexclave/ui";
import { useState } from "react";
import { useStackApp, useUser } from "../../../lib/hooks";
import { useTranslation } from "../../../lib/translations";
diff --git a/packages/template/src/components-page/account-settings/email-and-auth/passkey-section.tsx b/packages/template/src/components-page/account-settings/email-and-auth/passkey-section.tsx
index 52487fd667..f9ba316d27 100644
--- a/packages/template/src/components-page/account-settings/email-and-auth/passkey-section.tsx
+++ b/packages/template/src/components-page/account-settings/email-and-auth/passkey-section.tsx
@@ -1,4 +1,4 @@
-import { Button, Typography } from "@stackframe/stack-ui";
+import { Button, Typography } from "@hexclave/ui";
import { useState } from "react";
import { useStackApp } from "../../..";
import { useUser } from "../../../lib/hooks";
diff --git a/packages/template/src/components-page/account-settings/email-and-auth/password-section.tsx b/packages/template/src/components-page/account-settings/email-and-auth/password-section.tsx
index a10e6d3188..4c0333c986 100644
--- a/packages/template/src/components-page/account-settings/email-and-auth/password-section.tsx
+++ b/packages/template/src/components-page/account-settings/email-and-auth/password-section.tsx
@@ -1,8 +1,8 @@
import { yupResolver } from "@hookform/resolvers/yup";
-import { getPasswordError } from '@stackframe/stack-shared/dist/helpers/password';
-import { passwordSchema as schemaFieldsPasswordSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input, Label, PasswordInput, Typography } from "@stackframe/stack-ui";
+import { getPasswordError } from '@hexclave/shared/dist/helpers/password';
+import { passwordSchema as schemaFieldsPasswordSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input, Label, PasswordInput, Typography } from "@hexclave/ui";
import { useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components-page/account-settings/notifications/notifications-page.tsx b/packages/template/src/components-page/account-settings/notifications/notifications-page.tsx
index 5b39b7dcd1..8aa4470da0 100644
--- a/packages/template/src/components-page/account-settings/notifications/notifications-page.tsx
+++ b/packages/template/src/components-page/account-settings/notifications/notifications-page.tsx
@@ -1,8 +1,8 @@
import { useUser } from "../../../lib/hooks";
import { useTranslation } from "../../../lib/translations";
import { PageLayout } from "../page-layout";
-import { Switch } from "@stackframe/stack-ui";
-import { Separator, Typography } from "@stackframe/stack-ui";
+import { Switch } from "@hexclave/ui";
+import { Separator, Typography } from "@hexclave/ui";
export function NotificationsPage() {
diff --git a/packages/template/src/components-page/account-settings/payments/payments-panel.tsx b/packages/template/src/components-page/account-settings/payments/payments-panel.tsx
index c35eca3754..e0d053a8e3 100644
--- a/packages/template/src/components-page/account-settings/payments/payments-panel.tsx
+++ b/packages/template/src/components-page/account-settings/payments/payments-panel.tsx
@@ -1,8 +1,8 @@
'use client';
-import { KnownErrors } from "@stackframe/stack-shared";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { ActionDialog, Button, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Separator, Skeleton, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, toast, Typography } from "@stackframe/stack-ui";
+import { KnownErrors } from "@hexclave/shared";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { ActionDialog, Button, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Separator, Skeleton, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, toast, Typography } from "@hexclave/ui";
import { CardElement, Elements, useElements, useStripe } from "@stripe/react-stripe-js";
import { loadStripe } from "@stripe/stripe-js";
import { useMemo, useState } from "react";
@@ -10,7 +10,7 @@ import { useStackApp } from "../../..";
import { envVars } from "../../../lib/env";
import { useTranslation } from "../../../lib/translations";
import { Section } from "../section";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { Result } from "@hexclave/shared/dist/utils/results";
import type { CustomerInvoiceStatus, CustomerInvoicesList, CustomerInvoicesListOptions } from "../../../lib/stack-app/customers";
type PaymentMethodSummary = {
diff --git a/packages/template/src/components-page/account-settings/section.tsx b/packages/template/src/components-page/account-settings/section.tsx
index 7c353936e6..dcface3429 100644
--- a/packages/template/src/components-page/account-settings/section.tsx
+++ b/packages/template/src/components-page/account-settings/section.tsx
@@ -1,4 +1,4 @@
-import { Separator, Typography } from "@stackframe/stack-ui";
+import { Separator, Typography } from "@hexclave/ui";
export function Section(props: { title: string, description?: string, children: React.ReactNode }) {
return (
diff --git a/packages/template/src/components-page/account-settings/settings/delete-account-section.tsx b/packages/template/src/components-page/account-settings/settings/delete-account-section.tsx
index ec98d833dc..1e8cfb5258 100644
--- a/packages/template/src/components-page/account-settings/settings/delete-account-section.tsx
+++ b/packages/template/src/components-page/account-settings/settings/delete-account-section.tsx
@@ -1,4 +1,4 @@
-import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Button, Typography } from "@stackframe/stack-ui";
+import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Button, Typography } from "@hexclave/ui";
import { useState } from "react";
import { useStackApp, useUser } from "../../../lib/hooks";
import { useTranslation } from "../../../lib/translations";
diff --git a/packages/template/src/components-page/account-settings/settings/sign-out-section.tsx b/packages/template/src/components-page/account-settings/settings/sign-out-section.tsx
index 504cbcd5ac..4df04afb1d 100644
--- a/packages/template/src/components-page/account-settings/settings/sign-out-section.tsx
+++ b/packages/template/src/components-page/account-settings/settings/sign-out-section.tsx
@@ -1,4 +1,4 @@
-import { Button } from "@stackframe/stack-ui";
+import { Button } from "@hexclave/ui";
import { useUser } from "../../../lib/hooks";
import { useTranslation } from "../../../lib/translations";
import { Section } from "../section";
diff --git a/packages/template/src/components-page/account-settings/teams/leave-team-section.tsx b/packages/template/src/components-page/account-settings/teams/leave-team-section.tsx
index 99448f79a8..1c361b6d7e 100644
--- a/packages/template/src/components-page/account-settings/teams/leave-team-section.tsx
+++ b/packages/template/src/components-page/account-settings/teams/leave-team-section.tsx
@@ -1,4 +1,4 @@
-import { Button, Typography } from "@stackframe/stack-ui";
+import { Button, Typography } from "@hexclave/ui";
import { useState } from "react";
import { Team } from "../../..";
import { useUser } from "../../../lib/hooks";
diff --git a/packages/template/src/components-page/account-settings/teams/team-api-keys-section.tsx b/packages/template/src/components-page/account-settings/teams/team-api-keys-section.tsx
index 9fc47fdc85..b38f372f48 100644
--- a/packages/template/src/components-page/account-settings/teams/team-api-keys-section.tsx
+++ b/packages/template/src/components-page/account-settings/teams/team-api-keys-section.tsx
@@ -1,5 +1,5 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { Button } from "@stackframe/stack-ui";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { Button } from "@hexclave/ui";
import { useState } from "react";
import { CreateApiKeyDialog, ShowApiKeyDialog } from "../../../components/api-key-dialogs";
import { ApiKeyTable } from "../../../components/api-key-table";
diff --git a/packages/template/src/components-page/account-settings/teams/team-creation-page.tsx b/packages/template/src/components-page/account-settings/teams/team-creation-page.tsx
index 06d02559b9..223a63fbb1 100644
--- a/packages/template/src/components-page/account-settings/teams/team-creation-page.tsx
+++ b/packages/template/src/components-page/account-settings/teams/team-creation-page.tsx
@@ -1,7 +1,7 @@
import { yupResolver } from "@hookform/resolvers/yup";
-import { yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input } from "@stackframe/stack-ui";
+import { yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input } from "@hexclave/ui";
import { useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components-page/account-settings/teams/team-member-invitation-section.tsx b/packages/template/src/components-page/account-settings/teams/team-member-invitation-section.tsx
index 804569fb46..94b5629913 100644
--- a/packages/template/src/components-page/account-settings/teams/team-member-invitation-section.tsx
+++ b/packages/template/src/components-page/account-settings/teams/team-member-invitation-section.tsx
@@ -1,7 +1,7 @@
import { yupResolver } from "@hookform/resolvers/yup";
-import { strictEmailSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Typography } from "@stackframe/stack-ui";
+import { strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Typography } from "@hexclave/ui";
import { Trash } from "lucide-react";
import { useEffect, useState } from "react";
import { useForm } from "react-hook-form";
diff --git a/packages/template/src/components-page/account-settings/teams/team-member-list-section.tsx b/packages/template/src/components-page/account-settings/teams/team-member-list-section.tsx
index 5d000b339c..29e262f3e6 100644
--- a/packages/template/src/components-page/account-settings/teams/team-member-list-section.tsx
+++ b/packages/template/src/components-page/account-settings/teams/team-member-list-section.tsx
@@ -1,4 +1,4 @@
-import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Typography } from "@stackframe/stack-ui";
+import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Typography } from "@hexclave/ui";
import { Team } from "../../..";
import { UserAvatar } from "../../../components/elements/user-avatar";
import { useUser } from "../../../lib/hooks";
diff --git a/packages/template/src/components-page/auth-page.tsx b/packages/template/src/components-page/auth-page.tsx
index 2254e7bb3c..3dae34da93 100644
--- a/packages/template/src/components-page/auth-page.tsx
+++ b/packages/template/src/components-page/auth-page.tsx
@@ -1,7 +1,7 @@
'use client';
-import { runAsynchronously } from '@stackframe/stack-shared/dist/utils/promises';
-import { Skeleton, Tabs, TabsContent, TabsList, TabsTrigger, Typography, cn } from '@stackframe/stack-ui';
+import { runAsynchronously } from '@hexclave/shared/dist/utils/promises';
+import { Skeleton, Tabs, TabsContent, TabsList, TabsTrigger, Typography, cn } from '@hexclave/ui';
import { Suspense } from 'react';
import { useStackApp, useUser } from '..';
import { CredentialSignIn } from '../components/credential-sign-in';
diff --git a/packages/template/src/components-page/cli-auth-confirm.test.tsx b/packages/template/src/components-page/cli-auth-confirm.test.tsx
index ab1c5a8b2d..58ecd48e12 100644
--- a/packages/template/src/components-page/cli-auth-confirm.test.tsx
+++ b/packages/template/src/components-page/cli-auth-confirm.test.tsx
@@ -1,6 +1,6 @@
// @vitest-environment jsdom
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
import React, { act } from "react";
import { createRoot, type Root } from "react-dom/client";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
diff --git a/packages/template/src/components-page/cli-auth-confirm.tsx b/packages/template/src/components-page/cli-auth-confirm.tsx
index 02fe724f9d..588d7526ab 100644
--- a/packages/template/src/components-page/cli-auth-confirm.tsx
+++ b/packages/template/src/components-page/cli-auth-confirm.tsx
@@ -1,7 +1,7 @@
'use client';
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Typography } from "@stackframe/stack-ui";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Typography } from "@hexclave/ui";
import { useCallback, useEffect, useRef, useState } from "react";
import { MessageCard } from "../components/message-cards/message-card";
import { useTranslation } from "../lib/translations";
diff --git a/packages/template/src/components-page/email-verification.tsx b/packages/template/src/components-page/email-verification.tsx
index ca59ba50e4..22438e2932 100644
--- a/packages/template/src/components-page/email-verification.tsx
+++ b/packages/template/src/components-page/email-verification.tsx
@@ -1,7 +1,7 @@
'use client';
-import { KnownErrors } from "@stackframe/stack-shared";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import React from "react";
import { useStackApp, useUser } from "..";
import { MessageCard } from "../components/message-cards/message-card";
diff --git a/packages/template/src/components-page/error-page.tsx b/packages/template/src/components-page/error-page.tsx
index 697bfb5905..979140521b 100644
--- a/packages/template/src/components-page/error-page.tsx
+++ b/packages/template/src/components-page/error-page.tsx
@@ -1,7 +1,7 @@
'use client';
-import { KnownError, KnownErrors } from "@stackframe/stack-shared";
-import { Typography } from "@stackframe/stack-ui";
+import { KnownError, KnownErrors } from "@hexclave/shared";
+import { Typography } from "@hexclave/ui";
import { useStackApp } from "..";
import { KnownErrorMessageCard } from "../components/message-cards/known-error-message-card";
import { MessageCard } from "../components/message-cards/message-card";
diff --git a/packages/template/src/components-page/forgot-password.tsx b/packages/template/src/components-page/forgot-password.tsx
index 4cd3bd9774..7b7f8dda74 100644
--- a/packages/template/src/components-page/forgot-password.tsx
+++ b/packages/template/src/components-page/forgot-password.tsx
@@ -1,9 +1,9 @@
'use client';
import { yupResolver } from "@hookform/resolvers/yup";
-import { strictEmailSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input, Label, Typography, cn } from "@stackframe/stack-ui";
+import { strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input, Label, Typography, cn } from "@hexclave/ui";
import { useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components-page/magic-link-callback.tsx b/packages/template/src/components-page/magic-link-callback.tsx
index 704b98579d..dbda77aa70 100644
--- a/packages/template/src/components-page/magic-link-callback.tsx
+++ b/packages/template/src/components-page/magic-link-callback.tsx
@@ -1,8 +1,8 @@
'use client';
-import { KnownErrors } from "@stackframe/stack-shared";
-import { cacheFunction } from "@stackframe/stack-shared/dist/utils/caches";
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { KnownErrors } from "@hexclave/shared";
+import { cacheFunction } from "@hexclave/shared/dist/utils/caches";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import React from "react";
import { StackClientApp, useStackApp, useUser } from "..";
import { MessageCard } from "../components/message-cards/message-card";
diff --git a/packages/template/src/components-page/mfa.tsx b/packages/template/src/components-page/mfa.tsx
index 6955687b31..da24719a45 100644
--- a/packages/template/src/components-page/mfa.tsx
+++ b/packages/template/src/components-page/mfa.tsx
@@ -1,6 +1,6 @@
"use client";
-import { KnownErrors } from "@stackframe/stack-shared";
+import { KnownErrors } from "@hexclave/shared";
import {
Button,
InputOTP,
@@ -9,7 +9,7 @@ import {
Spinner,
Typography,
cn,
-} from "@stackframe/stack-ui";
+} from "@hexclave/ui";
import { CheckIcon } from "lucide-react";
import { useEffect, useMemo, useRef, useState } from "react";
import { useStackApp } from "..";
diff --git a/packages/template/src/components-page/oauth-callback.tsx b/packages/template/src/components-page/oauth-callback.tsx
index 8310b033f6..2eaa0e027c 100644
--- a/packages/template/src/components-page/oauth-callback.tsx
+++ b/packages/template/src/components-page/oauth-callback.tsx
@@ -1,9 +1,9 @@
'use client';
-import { KnownError } from "@stackframe/stack-shared";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { Spinner, cn } from "@stackframe/stack-ui";
+import { KnownError } from "@hexclave/shared";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { Spinner, cn } from "@hexclave/ui";
import { useEffect, useRef, useState } from "react";
import { useStackApp } from "..";
import { MaybeFullPage } from "../components/elements/maybe-full-page";
diff --git a/packages/template/src/components-page/onboarding.tsx b/packages/template/src/components-page/onboarding.tsx
index 422786e259..ddda5e95b6 100644
--- a/packages/template/src/components-page/onboarding.tsx
+++ b/packages/template/src/components-page/onboarding.tsx
@@ -1,9 +1,9 @@
'use client';
import { yupResolver } from "@hookform/resolvers/yup";
-import { strictEmailSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input, Typography } from "@stackframe/stack-ui";
+import { strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input, Typography } from "@hexclave/ui";
import { useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components-page/password-reset.tsx b/packages/template/src/components-page/password-reset.tsx
index bce3e62e0a..07f11622a1 100644
--- a/packages/template/src/components-page/password-reset.tsx
+++ b/packages/template/src/components-page/password-reset.tsx
@@ -1,13 +1,13 @@
'use client';
import { yupResolver } from "@hookform/resolvers/yup";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { getPasswordError } from "@stackframe/stack-shared/dist/helpers/password";
-import { passwordSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { cacheFunction } from "@stackframe/stack-shared/dist/utils/caches";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { use } from "@stackframe/stack-shared/dist/utils/react";
-import { Button, Label, PasswordInput, Typography, cn } from "@stackframe/stack-ui";
+import { KnownErrors } from "@hexclave/shared";
+import { getPasswordError } from "@hexclave/shared/dist/helpers/password";
+import { passwordSchema, yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { cacheFunction } from "@hexclave/shared/dist/utils/caches";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { use } from "@hexclave/shared/dist/utils/react";
+import { Button, Label, PasswordInput, Typography, cn } from "@hexclave/ui";
import { useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components-page/section.tsx b/packages/template/src/components-page/section.tsx
index 38a332be63..45cdaa648a 100644
--- a/packages/template/src/components-page/section.tsx
+++ b/packages/template/src/components-page/section.tsx
@@ -1,4 +1,4 @@
-import { Separator, Typography } from "@stackframe/stack-ui";
+import { Separator, Typography } from "@hexclave/ui";
function Section(props: { title: string, description?: string, children: React.ReactNode }) {
diff --git a/packages/template/src/components-page/sign-out.tsx b/packages/template/src/components-page/sign-out.tsx
index b368ce52b4..a5c71fd2a0 100644
--- a/packages/template/src/components-page/sign-out.tsx
+++ b/packages/template/src/components-page/sign-out.tsx
@@ -1,7 +1,7 @@
'use client';
-import { cacheFunction } from "@stackframe/stack-shared/dist/utils/caches";
-import { use } from "@stackframe/stack-shared/dist/utils/react";
+import { cacheFunction } from "@hexclave/shared/dist/utils/caches";
+import { use } from "@hexclave/shared/dist/utils/react";
import { CurrentUser, useUser } from "..";
import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card";
diff --git a/packages/template/src/components-page/stack-handler-client.tsx b/packages/template/src/components-page/stack-handler-client.tsx
index 63925b1690..c55e0afb2b 100644
--- a/packages/template/src/components-page/stack-handler-client.tsx
+++ b/packages/template/src/components-page/stack-handler-client.tsx
@@ -1,9 +1,9 @@
"use client";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { FilterUndefined, filterUndefined } from "@stackframe/stack-shared/dist/utils/objects";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { getRelativePart } from "@stackframe/stack-shared/dist/utils/urls";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { FilterUndefined, filterUndefined } from "@hexclave/shared/dist/utils/objects";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { getRelativePart } from "@hexclave/shared/dist/utils/urls";
import { notFound, redirect, RedirectType, usePathname, useSearchParams } from 'next/navigation'; // THIS_LINE_PLATFORM next
import { useEffect, useMemo } from 'react';
/* IF_PLATFORM react
diff --git a/packages/template/src/components-page/team-creation.tsx b/packages/template/src/components-page/team-creation.tsx
index 6e81944138..55fb69553f 100644
--- a/packages/template/src/components-page/team-creation.tsx
+++ b/packages/template/src/components-page/team-creation.tsx
@@ -1,9 +1,9 @@
'use client';
import { yupResolver } from "@hookform/resolvers/yup";
-import { yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input, Label, Typography } from "@stackframe/stack-ui";
+import { yupObject, yupString } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input, Label, Typography } from "@hexclave/ui";
import { useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components-page/team-invitation.tsx b/packages/template/src/components-page/team-invitation.tsx
index 183098fc5b..073e69a2b2 100644
--- a/packages/template/src/components-page/team-invitation.tsx
+++ b/packages/template/src/components-page/team-invitation.tsx
@@ -1,10 +1,10 @@
'use client';
-import { KnownErrors } from "@stackframe/stack-shared";
-import { cacheFunction } from "@stackframe/stack-shared/dist/utils/caches";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { use } from "@stackframe/stack-shared/dist/utils/react";
-import { Typography } from "@stackframe/stack-ui";
+import { KnownErrors } from "@hexclave/shared";
+import { cacheFunction } from "@hexclave/shared/dist/utils/caches";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { use } from "@hexclave/shared/dist/utils/react";
+import { Typography } from "@hexclave/ui";
import React from "react";
import { MessageCard, StackClientApp, useStackApp, useUser } from "..";
import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card";
diff --git a/packages/template/src/components/api-key-dialogs.tsx b/packages/template/src/components/api-key-dialogs.tsx
index 393f7c2b2a..82c6a21eee 100644
--- a/packages/template/src/components/api-key-dialogs.tsx
+++ b/packages/template/src/components/api-key-dialogs.tsx
@@ -1,10 +1,10 @@
'use client';
import { yupResolver } from "@hookform/resolvers/yup";
-import { yupObject, yupString } from '@stackframe/stack-shared/dist/schema-fields';
-import { captureError } from '@stackframe/stack-shared/dist/utils/errors';
-import { runAsynchronously } from '@stackframe/stack-shared/dist/utils/promises';
-import { ActionDialog, Button, CopyField, Input, Label, Typography } from '@stackframe/stack-ui';
+import { yupObject, yupString } from '@hexclave/shared/dist/schema-fields';
+import { captureError } from '@hexclave/shared/dist/utils/errors';
+import { runAsynchronously } from '@hexclave/shared/dist/utils/promises';
+import { ActionDialog, Button, CopyField, Input, Label, Typography } from '@hexclave/ui';
import { useState } from "react";
import { useForm } from 'react-hook-form';
import * as yup from "yup";
diff --git a/packages/template/src/components/api-key-table.tsx b/packages/template/src/components/api-key-table.tsx
index d1b93a252f..338d2843df 100644
--- a/packages/template/src/components/api-key-table.tsx
+++ b/packages/template/src/components/api-key-table.tsx
@@ -1,5 +1,5 @@
'use client';
-import { ActionCell, ActionDialog, BadgeCell, DataTable, DataTableColumnHeader, DataTableFacetedFilter, DateCell, SearchToolbarItem, TextCell, standardFilterFn } from "@stackframe/stack-ui";
+import { ActionCell, ActionDialog, BadgeCell, DataTable, DataTableColumnHeader, DataTableFacetedFilter, DateCell, SearchToolbarItem, TextCell, standardFilterFn } from "@hexclave/ui";
import { ColumnDef, Row, Table } from "@tanstack/react-table";
import { useMemo, useState } from "react";
import { ApiKey } from "../lib/stack-app/api-keys";
diff --git a/packages/template/src/components/credential-sign-in.tsx b/packages/template/src/components/credential-sign-in.tsx
index 4cd4ec76e7..f15061e044 100644
--- a/packages/template/src/components/credential-sign-in.tsx
+++ b/packages/template/src/components/credential-sign-in.tsx
@@ -1,9 +1,9 @@
'use client';
import { yupResolver } from "@hookform/resolvers/yup";
-import { passwordSchema, strictEmailSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input, Label, PasswordInput } from "@stackframe/stack-ui";
+import { passwordSchema, strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input, Label, PasswordInput } from "@hexclave/ui";
import { useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components/credential-sign-up.tsx b/packages/template/src/components/credential-sign-up.tsx
index d63e2e8302..790beee3d2 100644
--- a/packages/template/src/components/credential-sign-up.tsx
+++ b/packages/template/src/components/credential-sign-up.tsx
@@ -1,10 +1,10 @@
'use client';
import { yupResolver } from "@hookform/resolvers/yup";
-import { getPasswordError } from "@stackframe/stack-shared/dist/helpers/password";
-import { passwordSchema, strictEmailSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronously, runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input, Label, PasswordInput } from "@stackframe/stack-ui";
+import { getPasswordError } from "@hexclave/shared/dist/helpers/password";
+import { passwordSchema, strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronously, runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input, Label, PasswordInput } from "@hexclave/ui";
import React, { useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components/elements/separator-with-text.tsx b/packages/template/src/components/elements/separator-with-text.tsx
index 511587d542..69938b93ca 100644
--- a/packages/template/src/components/elements/separator-with-text.tsx
+++ b/packages/template/src/components/elements/separator-with-text.tsx
@@ -1,6 +1,6 @@
'use client';
-import { Separator } from "@stackframe/stack-ui";
+import { Separator } from "@hexclave/ui";
export function SeparatorWithText({ text }: { text: string }) {
return (
diff --git a/packages/template/src/components/elements/sidebar-layout.tsx b/packages/template/src/components/elements/sidebar-layout.tsx
index e21b0959c6..4921b71d04 100644
--- a/packages/template/src/components/elements/sidebar-layout.tsx
+++ b/packages/template/src/components/elements/sidebar-layout.tsx
@@ -1,7 +1,7 @@
'use client';
-import { useHash } from '@stackframe/stack-shared/dist/hooks/use-hash';
-import { Button, Typography, cn } from '@stackframe/stack-ui';
+import { useHash } from '@hexclave/shared/dist/hooks/use-hash';
+import { Button, Typography, cn } from '@hexclave/ui';
import { XIcon } from 'lucide-react';
import React, { ReactNode } from 'react';
import { useStackApp } from '../..';
diff --git a/packages/template/src/components/elements/user-avatar.tsx b/packages/template/src/components/elements/user-avatar.tsx
index 53cb849925..8ec51fa9d8 100644
--- a/packages/template/src/components/elements/user-avatar.tsx
+++ b/packages/template/src/components/elements/user-avatar.tsx
@@ -1,4 +1,4 @@
-import { Avatar, AvatarFallback, AvatarImage } from "@stackframe/stack-ui";
+import { Avatar, AvatarFallback, AvatarImage } from "@hexclave/ui";
import { UserRound } from "lucide-react";
const defaultSize = 34;
diff --git a/packages/template/src/components/link.tsx b/packages/template/src/components/link.tsx
index c93bdb5a6b..12d52cf3bb 100644
--- a/packages/template/src/components/link.tsx
+++ b/packages/template/src/components/link.tsx
@@ -1,6 +1,6 @@
'use client';
-import { cn } from "@stackframe/stack-ui";
+import { cn } from "@hexclave/ui";
import NextLink from 'next/link'; // THIS_LINE_PLATFORM next
type LinkProps = {
diff --git a/packages/template/src/components/magic-link-sign-in.tsx b/packages/template/src/components/magic-link-sign-in.tsx
index b24c38d797..fe09466653 100644
--- a/packages/template/src/components/magic-link-sign-in.tsx
+++ b/packages/template/src/components/magic-link-sign-in.tsx
@@ -1,10 +1,10 @@
'use client';
import { yupResolver } from "@hookform/resolvers/yup";
-import { KnownErrors } from "@stackframe/stack-shared";
-import { strictEmailSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { Button, Input, InputOTP, InputOTPGroup, InputOTPSlot, Label, Typography } from "@stackframe/stack-ui";
+import { KnownErrors } from "@hexclave/shared";
+import { strictEmailSchema, yupObject } from "@hexclave/shared/dist/schema-fields";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { Button, Input, InputOTP, InputOTPGroup, InputOTPSlot, Label, Typography } from "@hexclave/ui";
import { useEffect, useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
diff --git a/packages/template/src/components/message-cards/known-error-message-card.tsx b/packages/template/src/components/message-cards/known-error-message-card.tsx
index 851edc2997..0cd26a32c0 100644
--- a/packages/template/src/components/message-cards/known-error-message-card.tsx
+++ b/packages/template/src/components/message-cards/known-error-message-card.tsx
@@ -1,7 +1,7 @@
"use client";
-import { KnownError } from "@stackframe/stack-shared";
-import { Typography } from "@stackframe/stack-ui";
+import { KnownError } from "@hexclave/shared";
+import { Typography } from "@hexclave/ui";
import { useStackApp } from "../..";
import { MessageCard } from "./message-card";
diff --git a/packages/template/src/components/message-cards/message-card.tsx b/packages/template/src/components/message-cards/message-card.tsx
index 7f7c87146c..eeb5ef333c 100644
--- a/packages/template/src/components/message-cards/message-card.tsx
+++ b/packages/template/src/components/message-cards/message-card.tsx
@@ -2,7 +2,7 @@
import React from "react";
import { MaybeFullPage } from "../elements/maybe-full-page";
-import { Button, Typography } from "@stackframe/stack-ui";
+import { Button, Typography } from "@hexclave/ui";
export function MessageCard(
{ fullPage=false, ...props }:
diff --git a/packages/template/src/components/message-cards/predefined-message-card.tsx b/packages/template/src/components/message-cards/predefined-message-card.tsx
index b9ddaedfec..5ae687d3af 100644
--- a/packages/template/src/components/message-cards/predefined-message-card.tsx
+++ b/packages/template/src/components/message-cards/predefined-message-card.tsx
@@ -1,6 +1,6 @@
"use client";
-import { Typography } from "@stackframe/stack-ui";
+import { Typography } from "@hexclave/ui";
import { useStackApp } from "../..";
import { useTranslation } from "../../lib/translations";
import { MessageCard } from "./message-card";
diff --git a/packages/template/src/components/oauth-button.tsx b/packages/template/src/components/oauth-button.tsx
index 9d14c70d18..f193842a93 100644
--- a/packages/template/src/components/oauth-button.tsx
+++ b/packages/template/src/components/oauth-button.tsx
@@ -1,6 +1,6 @@
'use client';
-import { BrandIcons, Button, SimpleTooltip } from '@stackframe/stack-ui';
+import { BrandIcons, Button, SimpleTooltip } from '@hexclave/ui';
import Color, { ColorInstance } from 'color';
import { useEffect, useId, useState } from 'react';
import { useStackApp } from '../lib/hooks';
diff --git a/packages/template/src/components/passkey-button.tsx b/packages/template/src/components/passkey-button.tsx
index 506cb46c29..445282ca38 100644
--- a/packages/template/src/components/passkey-button.tsx
+++ b/packages/template/src/components/passkey-button.tsx
@@ -1,6 +1,6 @@
'use client';
-import { Button } from '@stackframe/stack-ui';
+import { Button } from '@hexclave/ui';
import { KeyRound } from 'lucide-react';
import { useId } from 'react';
import { useStackApp } from '..';
diff --git a/packages/template/src/components/profile-image-editor.tsx b/packages/template/src/components/profile-image-editor.tsx
index 533e20455e..a5b72b6472 100644
--- a/packages/template/src/components/profile-image-editor.tsx
+++ b/packages/template/src/components/profile-image-editor.tsx
@@ -1,6 +1,6 @@
-import { fileToBase64 } from '@stackframe/stack-shared/dist/utils/base64';
-import { runAsynchronouslyWithAlert } from '@stackframe/stack-shared/dist/utils/promises';
-import { Button, Slider, Typography } from '@stackframe/stack-ui';
+import { fileToBase64 } from '@hexclave/shared/dist/utils/base64';
+import { runAsynchronouslyWithAlert } from '@hexclave/shared/dist/utils/promises';
+import { Button, Slider, Typography } from '@hexclave/ui';
import imageCompression from 'browser-image-compression';
import { Upload } from 'lucide-react';
import { ComponentProps, useCallback, useState } from 'react';
diff --git a/packages/template/src/components/selected-team-switcher.tsx b/packages/template/src/components/selected-team-switcher.tsx
index b11e38d5b7..082cdddb8a 100644
--- a/packages/template/src/components/selected-team-switcher.tsx
+++ b/packages/template/src/components/selected-team-switcher.tsx
@@ -1,8 +1,8 @@
'use client';
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import {
Skeleton,
-} from "@stackframe/stack-ui";
+} from "@hexclave/ui";
import { Suspense, useEffect } from "react";
import { Team, useStackApp, useUser } from "..";
import { TeamSwitcher } from "./team-switcher";
diff --git a/packages/template/src/components/team-icon.tsx b/packages/template/src/components/team-icon.tsx
index 72c0792a60..cd03fc6dd9 100644
--- a/packages/template/src/components/team-icon.tsx
+++ b/packages/template/src/components/team-icon.tsx
@@ -1,4 +1,4 @@
-import { Avatar, AvatarImage, Typography } from "@stackframe/stack-ui";
+import { Avatar, AvatarImage, Typography } from "@hexclave/ui";
import { User2 } from "lucide-react";
import { Team } from "..";
diff --git a/packages/template/src/components/team-switcher.tsx b/packages/template/src/components/team-switcher.tsx
index 5dd6f51162..c10c84dd9f 100644
--- a/packages/template/src/components/team-switcher.tsx
+++ b/packages/template/src/components/team-switcher.tsx
@@ -1,6 +1,6 @@
'use client';
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
import {
Button,
Select,
@@ -14,7 +14,7 @@ import {
Skeleton,
Typography,
cn,
-} from "@stackframe/stack-ui";
+} from "@hexclave/ui";
import { PlusCircle, Settings } from "lucide-react";
import { Suspense, useMemo } from "react";
import { Team, useStackApp, useUser } from "..";
diff --git a/packages/template/src/components/user-button.tsx b/packages/template/src/components/user-button.tsx
index f65417f86d..37fa6f239e 100644
--- a/packages/template/src/components/user-button.tsx
+++ b/packages/template/src/components/user-button.tsx
@@ -1,7 +1,7 @@
'use client';
-import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
-import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Skeleton, Typography } from "@stackframe/stack-ui";
+import { runAsynchronouslyWithAlert } from "@hexclave/shared/dist/utils/promises";
+import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Skeleton, Typography } from "@hexclave/ui";
import { CircleUser, LogIn, LogOut, SunMoon, UserPlus } from "lucide-react";
import React, { Suspense } from "react";
import { CurrentUser, useStackApp, useUser } from "..";
diff --git a/packages/template/src/dev-tool/dev-tool-core.ts b/packages/template/src/dev-tool/dev-tool-core.ts
index 2e40566dc6..bce9bd9135 100644
--- a/packages/template/src/dev-tool/dev-tool-core.ts
+++ b/packages/template/src/dev-tool/dev-tool-core.ts
@@ -1,8 +1,8 @@
// IF_PLATFORM js-like
-import type { RequestLogEntry } from "@stackframe/stack-shared/dist/interface/client-interface";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { isLocalhost } from "@stackframe/stack-shared/dist/utils/urls";
+import type { RequestLogEntry } from "@hexclave/shared/dist/interface/client-interface";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { isLocalhost } from "@hexclave/shared/dist/utils/urls";
import type { StackClientApp } from "../lib/stack-app";
import { getBaseUrl } from "../lib/stack-app/apps/implementations/common";
import type { HandlerUrlOptions, HandlerUrls, HandlerUrlTarget } from "../lib/stack-app/common";
diff --git a/packages/template/src/dev-tool/index.ts b/packages/template/src/dev-tool/index.ts
index 3a5a372356..b166fb7715 100644
--- a/packages/template/src/dev-tool/index.ts
+++ b/packages/template/src/dev-tool/index.ts
@@ -1,9 +1,9 @@
// IF_PLATFORM js-like
import type { StackClientApp } from "../lib/stack-app";
-import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { isLocalhost } from "@stackframe/stack-shared/dist/utils/urls";
+import { captureError } from "@hexclave/shared/dist/utils/errors";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { isLocalhost } from "@hexclave/shared/dist/utils/urls";
import type { createDevTool as CreateDevToolFn } from "./dev-tool-core";
// Hexclave rebrand: UI-only local pref — straight rename (one-time reset is harmless)
diff --git a/packages/template/src/generated/quetzal-translations.ts b/packages/template/src/generated/quetzal-translations.ts
index e03156fa97..69f3f32854 100644
--- a/packages/template/src/generated/quetzal-translations.ts
+++ b/packages/template/src/generated/quetzal-translations.ts
@@ -1,7 +1,7 @@
// THIS FILE IS AUTO-GENERATED BY THE `merge-quetzal-translations.ts` SCRIPT.
// DO NOT EDIT IT BY HAND.
-import { typedEntries } from "@stackframe/stack-shared/dist/utils/objects";
+import { typedEntries } from "@hexclave/shared/dist/utils/objects";
export const quetzalKeys = new Map(typedEntries({
diff --git a/packages/template/src/index.ts b/packages/template/src/index.ts
index 61340d1db0..5a0b5160c9 100644
--- a/packages/template/src/index.ts
+++ b/packages/template/src/index.ts
@@ -1,18 +1,12 @@
-// Side-effect import — fires once-per-process @stackframe/* deprecation warning at SDK load time.
-// In packages published as @hexclave/*, scripts/rewrite-packages-to-hexclave.ts rewrites the
-// build-time sentinel inside dist/ (`js @stackframe/@` → `js @hexclave/@`),
-// so the @stackframe/-prefixed check in deprecation-warning.ts short-circuits there.
-import "./internal/deprecation-warning";
-
export * from './lib/stack-app';
export { getConvexProvidersConfig } from "./integrations/convex";
// Hexclave aliases — same symbols under the new brand name (see RENAME-TO-HEXCLAVE.md, Tier 1)
-export type { StackConfig as HexclaveConfig } from "@stackframe/stack-shared/config";
-export { defineStackConfig as defineHexclaveConfig } from "@stackframe/stack-shared/config";
+export type { StackConfig as HexclaveConfig } from "@hexclave/shared/config";
+export { defineStackConfig as defineHexclaveConfig } from "@hexclave/shared/config";
/** @deprecated Use `HexclaveConfig` instead — same symbol, new brand name. */
-export type { StackConfig } from "@stackframe/stack-shared/config";
+export type { StackConfig } from "@hexclave/shared/config";
/** @deprecated Use `defineHexclaveConfig` instead — same symbol, new brand name. */
-export { defineStackConfig } from "@stackframe/stack-shared/config";
+export { defineStackConfig } from "@hexclave/shared/config";
// IF_PLATFORM react-like
export type { AnalyticsOptions, AnalyticsReplayOptions } from "./lib/stack-app/apps/implementations/session-replay";
diff --git a/packages/template/src/integrations/convex.ts b/packages/template/src/integrations/convex.ts
index 464709a401..3aeed25f50 100644
--- a/packages/template/src/integrations/convex.ts
+++ b/packages/template/src/integrations/convex.ts
@@ -1,4 +1,4 @@
-import { urlString } from "@stackframe/stack-shared/dist/utils/urls";
+import { urlString } from "@hexclave/shared/dist/utils/urls";
import { defaultBaseUrl } from "../lib/stack-app/apps/implementations/common";
export function getConvexProvidersConfig(options: {
diff --git a/packages/template/src/integrations/convex/component/README.md b/packages/template/src/integrations/convex/component/README.md
index ce5338edb9..23d484b87e 100644
--- a/packages/template/src/integrations/convex/component/README.md
+++ b/packages/template/src/integrations/convex/component/README.md
@@ -17,9 +17,9 @@ npx @hexclave/cli@latest init
Next, update or create a file in `convex/auth.config.ts`:
```ts
-import { getConvexProvidersConfig } from "@stackframe/js/convex-auth.config"; // Vanilla JS
-// or: import { getConvexProvidersConfig } from "@stackframe/react/convex-auth.config"; // React
-// or: import { getConvexProvidersConfig } from "@stackframe/stack/convex-auth.config"; // Next.js
+import { getConvexProvidersConfig } from "@hexclave/js/convex-auth.config"; // Vanilla JS
+// or: import { getConvexProvidersConfig } from "@hexclave/react/convex-auth.config"; // React
+// or: import { getConvexProvidersConfig } from "@hexclave/next/convex-auth.config"; // Next.js
export default {
providers: getConvexProvidersConfig({
@@ -32,9 +32,9 @@ Next, update or create a file in `convex/convex.config.ts`:
```ts
import { defineApp } from "convex/server";
-import stackAuthComponent from "@stackframe/js/convex.config"; // Vanilla JS
-// or: import stackAuthComponent from "@stackframe/react/convex.config"; // React
-// or: import stackAuthComponent from "@stackframe/stack/convex.config"; // Next.js
+import stackAuthComponent from "@hexclave/js/convex.config"; // Vanilla JS
+// or: import stackAuthComponent from "@hexclave/react/convex.config"; // React
+// or: import stackAuthComponent from "@hexclave/next/convex.config"; // Next.js
const app = defineApp();
diff --git a/packages/template/src/internal/deprecation-warning.ts b/packages/template/src/internal/deprecation-warning.ts
deleted file mode 100644
index 78ff1b43c8..0000000000
--- a/packages/template/src/internal/deprecation-warning.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-// PR 2 — Hexclave rebrand. When the SDK is loaded from a legacy `@stackframe/*`
-// package, emit a once-per-process console.warn pointing to the `@hexclave/*`
-// equivalent. The published `@hexclave/*` packages reuse the exact same built
-// artifacts, so we detect the package brand at runtime from `clientVersion`
-// (which the tsdown plugin stamps from package.json at build time).
-//
-// Repeated SDK imports within one process are de-duplicated via a Symbol on
-// globalThis — multiple bundlers / dynamic imports won't spam the console.
-
-import { clientVersion } from "../lib/stack-app/apps/implementations/common";
-
-const WARNED_SYMBOL = Symbol.for("Hexclave--stackframe-package-deprecation-warned");
-
-function shouldWarn(): boolean {
- // clientVersion is "js @" once the build-time sentinel
- // is rewritten. In a built `@stackframe/*` artifact this looks like
- // "js @stackframe/stack@2.8.92"; in `@hexclave/*` artifacts it looks like
- // "js @hexclave/next@1.0.0". Anything else (template build, source mode) is
- // a no-op.
- return /^js @stackframe\//.test(clientVersion);
-}
-
-function warnOnce() {
- const g = globalThis as Record;
- if (g[WARNED_SYMBOL]) return;
- g[WARNED_SYMBOL] = true;
- // Best-effort advisory. Wrapped in try/catch because some sandboxed
- // runtimes (older Workers, embedded JS hosts) stub or omit `console`;
- // a throw here would break the consuming bundle on SDK import.
- try {
- if (typeof console !== "undefined" && typeof console.warn === "function") {
- // eslint-disable-next-line no-console
- console.warn(
- `[Hexclave] You are using the legacy ${extractPackageName()} package. ` +
- `Please migrate to the @hexclave/* equivalent — the API surface is identical ` +
- `and the @stackframe/* packages are deprecated. See https://docs.hexclave.com/migration.`,
- );
- }
- } catch {
- // swallow: the warning is best-effort, never load-bearing.
- }
-}
-
-function extractPackageName(): string {
- // "js @stackframe/stack@2.8.92" → "@stackframe/stack"
- const match = clientVersion.match(/^js (@stackframe\/[^@]+)@/);
- return match ? match[1] : "@stackframe/*";
-}
-
-if (shouldWarn()) {
- warnOnce();
-}
diff --git a/packages/template/src/lib/auth.test.ts b/packages/template/src/lib/auth.test.ts
index b6959222fe..cab61a7263 100644
--- a/packages/template/src/lib/auth.test.ts
+++ b/packages/template/src/lib/auth.test.ts
@@ -1,6 +1,6 @@
// @vitest-environment jsdom
-import { HexclaveClientInterface } from "@stackframe/stack-shared";
+import { HexclaveClientInterface } from "@hexclave/shared";
import { describe, expect, it, vi } from "vitest";
import { getNewOAuthProviderOrScopeUrl } from "./auth";
diff --git a/packages/template/src/lib/auth.ts b/packages/template/src/lib/auth.ts
index f063b8f589..59e992b45e 100644
--- a/packages/template/src/lib/auth.ts
+++ b/packages/template/src/lib/auth.ts
@@ -1,8 +1,8 @@
-import { KnownError, HexclaveClientInterface } from "@stackframe/stack-shared";
-import { InternalSession } from "@stackframe/stack-shared/dist/sessions";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
+import { KnownError, HexclaveClientInterface } from "@hexclave/shared";
+import { InternalSession } from "@hexclave/shared/dist/sessions";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { Result } from "@hexclave/shared/dist/utils/results";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
import { constructRedirectUrl } from "../utils/url";
import { consumeVerifierAndStateCookie, saveVerifierAndState } from "./cookie";
export async function getNewOAuthProviderOrScopeUrl(
diff --git a/packages/template/src/lib/cookie.ts b/packages/template/src/lib/cookie.ts
index c1103a6f07..1ba427a898 100644
--- a/packages/template/src/lib/cookie.ts
+++ b/packages/template/src/lib/cookie.ts
@@ -1,7 +1,7 @@
-import { cookies as rscCookies, headers as rscHeaders } from '@stackframe/stack-sc/force-react-server'; // THIS_LINE_PLATFORM next
-import { isBrowserLike } from '@stackframe/stack-shared/dist/utils/env';
-import { HexclaveAssertionError } from '@stackframe/stack-shared/dist/utils/errors';
-import * as tanstackStartServerContext from "@stackframe/tanstack-start/tanstack-start-server-context"; // THIS_LINE_PLATFORM tanstack-start
+import { cookies as rscCookies, headers as rscHeaders } from '@hexclave/sc/force-react-server'; // THIS_LINE_PLATFORM next
+import { isBrowserLike } from '@hexclave/shared/dist/utils/env';
+import { HexclaveAssertionError } from '@hexclave/shared/dist/utils/errors';
+import * as tanstackStartServerContext from "@hexclave/tanstack-start/tanstack-start-server-context"; // THIS_LINE_PLATFORM tanstack-start
import Cookies from "js-cookie";
import { calculatePKCECodeChallenge, generateRandomCodeVerifier, generateRandomState } from "oauth4webapi";
diff --git a/packages/template/src/lib/stack-app/api-keys/index.ts b/packages/template/src/lib/stack-app/api-keys/index.ts
index 338bb3e843..0dc5e3bc0b 100644
--- a/packages/template/src/lib/stack-app/api-keys/index.ts
+++ b/packages/template/src/lib/stack-app/api-keys/index.ts
@@ -1,6 +1,6 @@
-import { TeamApiKeysCrud, UserApiKeysCrud, teamApiKeysCreateInputSchema, userApiKeysCreateInputSchema } from "@stackframe/stack-shared/dist/interface/crud/project-api-keys";
-import { filterUndefined } from "@stackframe/stack-shared/dist/utils/objects";
-import { IfAndOnlyIf, PrettifyType } from "@stackframe/stack-shared/dist/utils/types";
+import { TeamApiKeysCrud, UserApiKeysCrud, teamApiKeysCreateInputSchema, userApiKeysCreateInputSchema } from "@hexclave/shared/dist/interface/crud/project-api-keys";
+import { filterUndefined } from "@hexclave/shared/dist/utils/objects";
+import { IfAndOnlyIf, PrettifyType } from "@hexclave/shared/dist/utils/types";
import type * as yup from "yup";
export type ApiKeyType = "user" | "team";
diff --git a/packages/template/src/lib/stack-app/apps/implementations/admin-app-impl.ts b/packages/template/src/lib/stack-app/apps/implementations/admin-app-impl.ts
index 380b26d14d..e2e7309a9d 100644
--- a/packages/template/src/lib/stack-app/apps/implementations/admin-app-impl.ts
+++ b/packages/template/src/lib/stack-app/apps/implementations/admin-app-impl.ts
@@ -1,19 +1,19 @@
-import { KnownErrors, HexclaveAdminInterface } from "@stackframe/stack-shared";
-import { getProductionModeErrors } from "@stackframe/stack-shared/dist/helpers/production-mode";
-import { InternalApiKeyCreateCrudResponse } from "@stackframe/stack-shared/dist/interface/admin-interface";
-import type { MetricsResponse, MetricsUserCounts, UserActivityResponse } from "@stackframe/stack-shared/dist/interface/admin-metrics";
-import { AnalyticsQueryOptions, AnalyticsQueryResponse } from "@stackframe/stack-shared/dist/interface/crud/analytics";
-import { EmailTemplateCrud } from "@stackframe/stack-shared/dist/interface/crud/email-templates";
-import { InternalApiKeysCrud } from "@stackframe/stack-shared/dist/interface/crud/internal-api-keys";
-import { ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import type { AdminGetSessionReplayChunkEventsResponse } from "@stackframe/stack-shared/dist/interface/crud/session-replays";
-import type { Transaction, TransactionType } from "@stackframe/stack-shared/dist/interface/crud/transactions";
-import type { RestrictedReason } from "@stackframe/stack-shared/dist/schema-fields";
-import type { MoneyAmount } from "@stackframe/stack-shared/dist/utils/currency-constants";
-import { HexclaveAssertionError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import type { Json } from "@stackframe/stack-shared/dist/utils/json";
-import { pick, typedEntries, typedValues } from "@stackframe/stack-shared/dist/utils/objects";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { KnownErrors, HexclaveAdminInterface } from "@hexclave/shared";
+import { getProductionModeErrors } from "@hexclave/shared/dist/helpers/production-mode";
+import { InternalApiKeyCreateCrudResponse } from "@hexclave/shared/dist/interface/admin-interface";
+import type { MetricsResponse, MetricsUserCounts, UserActivityResponse } from "@hexclave/shared/dist/interface/admin-metrics";
+import { AnalyticsQueryOptions, AnalyticsQueryResponse } from "@hexclave/shared/dist/interface/crud/analytics";
+import { EmailTemplateCrud } from "@hexclave/shared/dist/interface/crud/email-templates";
+import { InternalApiKeysCrud } from "@hexclave/shared/dist/interface/crud/internal-api-keys";
+import { ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import type { AdminGetSessionReplayChunkEventsResponse } from "@hexclave/shared/dist/interface/crud/session-replays";
+import type { Transaction, TransactionType } from "@hexclave/shared/dist/interface/crud/transactions";
+import type { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
+import type { MoneyAmount } from "@hexclave/shared/dist/utils/currency-constants";
+import { HexclaveAssertionError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import type { Json } from "@hexclave/shared/dist/utils/json";
+import { pick, typedEntries, typedValues } from "@hexclave/shared/dist/utils/objects";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { useMemo } from "react"; // THIS_LINE_PLATFORM react-like
import { AdminEmailOutbox, AdminSentEmail } from "../..";
import { EmailConfig, stackAppInternalsSymbol } from "../../common";
@@ -26,8 +26,8 @@ import { ManagedEmailProviderListItem, ManagedEmailProviderSetupResult, ManagedE
import { clientVersion, createCache, getDefaultExtraRequestHeaders, getDefaultProjectId, getDefaultPublishableClientKey, getDefaultSecretServerKey, getDefaultSuperSecretAdminKey, resolveApiUrls, resolveConstructorOptions } from "./common";
import { _StackServerAppImplIncomplete } from "./server-app-impl";
-import { CompleteConfig, EnvironmentConfigOverrideOverride } from "@stackframe/stack-shared/dist/config/schema";
-import { branchConfigSourceSchema } from "@stackframe/stack-shared/dist/schema-fields";
+import { CompleteConfig, EnvironmentConfigOverrideOverride } from "@hexclave/shared/dist/config/schema";
+import { branchConfigSourceSchema } from "@hexclave/shared/dist/schema-fields";
import * as yup from "yup";
import { PushedConfigSource } from "../../projects";
import { useAsyncCache } from "./common"; // THIS_LINE_PLATFORM react-like
diff --git a/packages/template/src/lib/stack-app/apps/implementations/client-app-impl.ts b/packages/template/src/lib/stack-app/apps/implementations/client-app-impl.ts
index c189669036..27047feea0 100644
--- a/packages/template/src/lib/stack-app/apps/implementations/client-app-impl.ts
+++ b/packages/template/src/lib/stack-app/apps/implementations/client-app-impl.ts
@@ -1,43 +1,43 @@
import { WebAuthnError, startAuthentication, startRegistration } from "@simplewebauthn/browser";
-import { KnownErrors, HexclaveClientInterface } from "@stackframe/stack-shared";
-import type { RequestListener } from "@stackframe/stack-shared/dist/interface/client-interface";
-import { ContactChannelsCrud } from "@stackframe/stack-shared/dist/interface/crud/contact-channels";
-import { CurrentUserCrud } from "@stackframe/stack-shared/dist/interface/crud/current-user";
-import type { CustomerInvoicesListResponse } from "@stackframe/stack-shared/dist/interface/crud/invoices";
-import { ItemCrud } from "@stackframe/stack-shared/dist/interface/crud/items";
-import { NotificationPreferenceCrud } from "@stackframe/stack-shared/dist/interface/crud/notification-preferences";
-import { OAuthProviderCrud } from "@stackframe/stack-shared/dist/interface/crud/oauth-providers";
-import type { CustomerProductsListResponse } from "@stackframe/stack-shared/dist/interface/crud/products";
-import { TeamApiKeysCrud, UserApiKeysCrud, teamApiKeysCreateOutputSchema, userApiKeysCreateOutputSchema } from "@stackframe/stack-shared/dist/interface/crud/project-api-keys";
-import { ProjectPermissionsCrud } from "@stackframe/stack-shared/dist/interface/crud/project-permissions";
-import { ClientProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { SessionsCrud } from "@stackframe/stack-shared/dist/interface/crud/sessions";
-import { TeamInvitationCrud } from "@stackframe/stack-shared/dist/interface/crud/team-invitation";
-import { TeamMemberProfilesCrud } from "@stackframe/stack-shared/dist/interface/crud/team-member-profiles";
-import { TeamPermissionsCrud } from "@stackframe/stack-shared/dist/interface/crud/team-permissions";
-import { TeamsCrud } from "@stackframe/stack-shared/dist/interface/crud/teams";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import type { RestrictedReason } from "@stackframe/stack-shared/dist/schema-fields";
-import { InternalSession } from "@stackframe/stack-shared/dist/sessions";
-import { decodeBase32, decodeBase64, encodeBase32, encodeBase64 } from "@stackframe/stack-shared/dist/utils/bytes";
-import { scrambleDuringCompileTime } from "@stackframe/stack-shared/dist/utils/compile-time";
-import { isBrowserLike } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, captureError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { parseJson } from "@stackframe/stack-shared/dist/utils/json";
-import { DependenciesMap } from "@stackframe/stack-shared/dist/utils/maps";
-import { ProviderType } from "@stackframe/stack-shared/dist/utils/oauth";
-import { deepPlainEquals, omit } from "@stackframe/stack-shared/dist/utils/objects";
-import { neverResolve, runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/promises";
-import { suspend, suspendIfSsr, use } from "@stackframe/stack-shared/dist/utils/react";
-import { getTrustedParentDomain, validateRedirectUrl } from "@stackframe/stack-shared/dist/utils/redirect-urls";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
-import { Store, storeLock } from "@stackframe/stack-shared/dist/utils/stores";
-import { deindent, mergeScopeStrings } from "@stackframe/stack-shared/dist/utils/strings";
-import type { TurnstileAction } from "@stackframe/stack-shared/dist/utils/turnstile";
-import { BotChallengeExecutionFailedError, BotChallengeUserCancelledError, withBotChallengeFlow } from "@stackframe/stack-shared/dist/utils/turnstile-flow";
-import { createUrlIfValid, isRelative } from "@stackframe/stack-shared/dist/utils/urls";
-import { generateUuid } from "@stackframe/stack-shared/dist/utils/uuids";
-import * as tanstackStartServerContext from "@stackframe/tanstack-start/tanstack-start-server-context"; // THIS_LINE_PLATFORM tanstack-start
+import { KnownErrors, HexclaveClientInterface } from "@hexclave/shared";
+import type { RequestListener } from "@hexclave/shared/dist/interface/client-interface";
+import { ContactChannelsCrud } from "@hexclave/shared/dist/interface/crud/contact-channels";
+import { CurrentUserCrud } from "@hexclave/shared/dist/interface/crud/current-user";
+import type { CustomerInvoicesListResponse } from "@hexclave/shared/dist/interface/crud/invoices";
+import { ItemCrud } from "@hexclave/shared/dist/interface/crud/items";
+import { NotificationPreferenceCrud } from "@hexclave/shared/dist/interface/crud/notification-preferences";
+import { OAuthProviderCrud } from "@hexclave/shared/dist/interface/crud/oauth-providers";
+import type { CustomerProductsListResponse } from "@hexclave/shared/dist/interface/crud/products";
+import { TeamApiKeysCrud, UserApiKeysCrud, teamApiKeysCreateOutputSchema, userApiKeysCreateOutputSchema } from "@hexclave/shared/dist/interface/crud/project-api-keys";
+import { ProjectPermissionsCrud } from "@hexclave/shared/dist/interface/crud/project-permissions";
+import { ClientProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { SessionsCrud } from "@hexclave/shared/dist/interface/crud/sessions";
+import { TeamInvitationCrud } from "@hexclave/shared/dist/interface/crud/team-invitation";
+import { TeamMemberProfilesCrud } from "@hexclave/shared/dist/interface/crud/team-member-profiles";
+import { TeamPermissionsCrud } from "@hexclave/shared/dist/interface/crud/team-permissions";
+import { TeamsCrud } from "@hexclave/shared/dist/interface/crud/teams";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import type { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
+import { InternalSession } from "@hexclave/shared/dist/sessions";
+import { decodeBase32, decodeBase64, encodeBase32, encodeBase64 } from "@hexclave/shared/dist/utils/bytes";
+import { scrambleDuringCompileTime } from "@hexclave/shared/dist/utils/compile-time";
+import { isBrowserLike } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, captureError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { parseJson } from "@hexclave/shared/dist/utils/json";
+import { DependenciesMap } from "@hexclave/shared/dist/utils/maps";
+import { ProviderType } from "@hexclave/shared/dist/utils/oauth";
+import { deepPlainEquals, omit } from "@hexclave/shared/dist/utils/objects";
+import { neverResolve, runAsynchronously, wait } from "@hexclave/shared/dist/utils/promises";
+import { suspend, suspendIfSsr, use } from "@hexclave/shared/dist/utils/react";
+import { getTrustedParentDomain, validateRedirectUrl } from "@hexclave/shared/dist/utils/redirect-urls";
+import { Result } from "@hexclave/shared/dist/utils/results";
+import { Store, storeLock } from "@hexclave/shared/dist/utils/stores";
+import { deindent, mergeScopeStrings } from "@hexclave/shared/dist/utils/strings";
+import type { TurnstileAction } from "@hexclave/shared/dist/utils/turnstile";
+import { BotChallengeExecutionFailedError, BotChallengeUserCancelledError, withBotChallengeFlow } from "@hexclave/shared/dist/utils/turnstile-flow";
+import { createUrlIfValid, isRelative } from "@hexclave/shared/dist/utils/urls";
+import { generateUuid } from "@hexclave/shared/dist/utils/uuids";
+import * as tanstackStartServerContext from "@hexclave/tanstack-start/tanstack-start-server-context"; // THIS_LINE_PLATFORM tanstack-start
import * as TanStackRouter from "@tanstack/react-router"; // THIS_LINE_PLATFORM tanstack-start
import * as cookie from "cookie";
import * as NextNavigationUnscrambled from "next/navigation"; // import the entire module to get around some static compiler warnings emitted by Next.js in some cases | THIS_LINE_PLATFORM next
@@ -76,8 +76,8 @@ import { mountDevTool } from "../../../../dev-tool";
let isReactServer = false;
// IF_PLATFORM next
-import * as sc from "@stackframe/stack-sc";
-import { cookies } from "@stackframe/stack-sc";
+import * as sc from "@hexclave/sc";
+import { cookies } from "@hexclave/sc";
isReactServer = sc.isReactServer;
// NextNavigation.useRouter does not exist in react-server environments and some bundlers try to be helpful and throw a warning. Ignore the warning.
diff --git a/packages/template/src/lib/stack-app/apps/implementations/common.ts b/packages/template/src/lib/stack-app/apps/implementations/common.ts
index 6c76b44908..10fa2582fb 100644
--- a/packages/template/src/lib/stack-app/apps/implementations/common.ts
+++ b/packages/template/src/lib/stack-app/apps/implementations/common.ts
@@ -1,15 +1,15 @@
-import { InternalSession } from "@stackframe/stack-shared/dist/sessions";
-import { AsyncCache } from "@stackframe/stack-shared/dist/utils/caches";
-import { isBrowserLike } from "@stackframe/stack-shared/dist/utils/env";
-import { HexclaveAssertionError, captureError, concatStacktraces, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { createGlobal, getGlobal } from "@stackframe/stack-shared/dist/utils/globals";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { filterUndefined, omit } from "@stackframe/stack-shared/dist/utils/objects";
-import { ReactPromise } from "@stackframe/stack-shared/dist/utils/promises";
-import { suspendIfSsr, use } from "@stackframe/stack-shared/dist/utils/react";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
-import { Store } from "@stackframe/stack-shared/dist/utils/stores";
-import { getDefaultApiUrls } from "@stackframe/stack-shared/dist/utils/urls";
+import { InternalSession } from "@hexclave/shared/dist/sessions";
+import { AsyncCache } from "@hexclave/shared/dist/utils/caches";
+import { isBrowserLike } from "@hexclave/shared/dist/utils/env";
+import { HexclaveAssertionError, captureError, concatStacktraces, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { createGlobal, getGlobal } from "@hexclave/shared/dist/utils/globals";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { filterUndefined, omit } from "@hexclave/shared/dist/utils/objects";
+import { ReactPromise } from "@hexclave/shared/dist/utils/promises";
+import { suspendIfSsr, use } from "@hexclave/shared/dist/utils/react";
+import { Result } from "@hexclave/shared/dist/utils/results";
+import { Store } from "@hexclave/shared/dist/utils/stores";
+import { getDefaultApiUrls } from "@hexclave/shared/dist/utils/urls";
import React, { useCallback } from "react"; // THIS_LINE_PLATFORM react-like
import { envVars } from "../../../env";
import { HandlerUrlOptions, ResolvedHandlerUrls, stackAppInternalsSymbol } from "../../common";
diff --git a/packages/template/src/lib/stack-app/apps/implementations/event-tracker.test.ts b/packages/template/src/lib/stack-app/apps/implementations/event-tracker.test.ts
index e7cca3f0c6..1ed0a0d6d1 100644
--- a/packages/template/src/lib/stack-app/apps/implementations/event-tracker.test.ts
+++ b/packages/template/src/lib/stack-app/apps/implementations/event-tracker.test.ts
@@ -1,6 +1,6 @@
// @vitest-environment jsdom
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { afterEach, describe, expect, it, vi } from "vitest";
import { EventTracker } from "./event-tracker";
diff --git a/packages/template/src/lib/stack-app/apps/implementations/event-tracker.ts b/packages/template/src/lib/stack-app/apps/implementations/event-tracker.ts
index 1e2b0a1115..79ac75c436 100644
--- a/packages/template/src/lib/stack-app/apps/implementations/event-tracker.ts
+++ b/packages/template/src/lib/stack-app/apps/implementations/event-tracker.ts
@@ -1,6 +1,6 @@
-import { isBrowserLike } from "@stackframe/stack-shared/dist/utils/env";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { isBrowserLike } from "@hexclave/shared/dist/utils/env";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { generateUuid } from "./session-replay";
const FLUSH_INTERVAL_MS = 10_000;
diff --git a/packages/template/src/lib/stack-app/apps/implementations/index.ts b/packages/template/src/lib/stack-app/apps/implementations/index.ts
index d72d5ae500..f7c79f582e 100644
--- a/packages/template/src/lib/stack-app/apps/implementations/index.ts
+++ b/packages/template/src/lib/stack-app/apps/implementations/index.ts
@@ -1,5 +1,5 @@
-import { scrambleDuringCompileTime } from "@stackframe/stack-shared/dist/utils/compile-time";
+import { scrambleDuringCompileTime } from "@hexclave/shared/dist/utils/compile-time";
import { _StackAdminAppImplIncomplete } from "./admin-app-impl";
import { _StackClientAppImplIncomplete } from "./client-app-impl";
import { _StackServerAppImplIncomplete } from "./server-app-impl";
diff --git a/packages/template/src/lib/stack-app/apps/implementations/redirect-page-urls.ts b/packages/template/src/lib/stack-app/apps/implementations/redirect-page-urls.ts
index 900fc5bcb5..6328ff2b13 100644
--- a/packages/template/src/lib/stack-app/apps/implementations/redirect-page-urls.ts
+++ b/packages/template/src/lib/stack-app/apps/implementations/redirect-page-urls.ts
@@ -1,5 +1,5 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getRelativePart } from "@stackframe/stack-shared/dist/utils/urls";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { getRelativePart } from "@hexclave/shared/dist/utils/urls";
import { HandlerUrls } from "../../common";
export const crossDomainAuthQueryParams = {
diff --git a/packages/template/src/lib/stack-app/apps/implementations/server-app-impl.ts b/packages/template/src/lib/stack-app/apps/implementations/server-app-impl.ts
index a63ae38e8c..d47413d7e5 100644
--- a/packages/template/src/lib/stack-app/apps/implementations/server-app-impl.ts
+++ b/packages/template/src/lib/stack-app/apps/implementations/server-app-impl.ts
@@ -1,24 +1,24 @@
import { WebAuthnError, startRegistration } from "@simplewebauthn/browser";
-import { KnownErrors, HexclaveServerInterface } from "@stackframe/stack-shared";
-import { ContactChannelsCrud } from "@stackframe/stack-shared/dist/interface/crud/contact-channels";
-import { ItemCrud } from "@stackframe/stack-shared/dist/interface/crud/items";
-import { NotificationPreferenceCrud } from "@stackframe/stack-shared/dist/interface/crud/notification-preferences";
-import { OAuthProviderCrud } from "@stackframe/stack-shared/dist/interface/crud/oauth-providers";
-import type { CustomerProductsListResponse } from "@stackframe/stack-shared/dist/interface/crud/products";
-import { TeamApiKeysCrud, UserApiKeysCrud, teamApiKeysCreateOutputSchema, userApiKeysCreateOutputSchema } from "@stackframe/stack-shared/dist/interface/crud/project-api-keys";
-import { ProjectPermissionDefinitionsCrud, ProjectPermissionsCrud } from "@stackframe/stack-shared/dist/interface/crud/project-permissions";
-import { TeamInvitationCrud } from "@stackframe/stack-shared/dist/interface/crud/team-invitation";
-import { TeamMemberProfilesCrud } from "@stackframe/stack-shared/dist/interface/crud/team-member-profiles";
-import { TeamPermissionDefinitionsCrud, TeamPermissionsCrud } from "@stackframe/stack-shared/dist/interface/crud/team-permissions";
-import { TeamsCrud } from "@stackframe/stack-shared/dist/interface/crud/teams";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import { InternalSession } from "@stackframe/stack-shared/dist/sessions";
-import type { AsyncCache } from "@stackframe/stack-shared/dist/utils/caches";
-import { HexclaveAssertionError, captureError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
-import { ProviderType } from "@stackframe/stack-shared/dist/utils/oauth";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { suspend } from "@stackframe/stack-shared/dist/utils/react";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { KnownErrors, HexclaveServerInterface } from "@hexclave/shared";
+import { ContactChannelsCrud } from "@hexclave/shared/dist/interface/crud/contact-channels";
+import { ItemCrud } from "@hexclave/shared/dist/interface/crud/items";
+import { NotificationPreferenceCrud } from "@hexclave/shared/dist/interface/crud/notification-preferences";
+import { OAuthProviderCrud } from "@hexclave/shared/dist/interface/crud/oauth-providers";
+import type { CustomerProductsListResponse } from "@hexclave/shared/dist/interface/crud/products";
+import { TeamApiKeysCrud, UserApiKeysCrud, teamApiKeysCreateOutputSchema, userApiKeysCreateOutputSchema } from "@hexclave/shared/dist/interface/crud/project-api-keys";
+import { ProjectPermissionDefinitionsCrud, ProjectPermissionsCrud } from "@hexclave/shared/dist/interface/crud/project-permissions";
+import { TeamInvitationCrud } from "@hexclave/shared/dist/interface/crud/team-invitation";
+import { TeamMemberProfilesCrud } from "@hexclave/shared/dist/interface/crud/team-member-profiles";
+import { TeamPermissionDefinitionsCrud, TeamPermissionsCrud } from "@hexclave/shared/dist/interface/crud/team-permissions";
+import { TeamsCrud } from "@hexclave/shared/dist/interface/crud/teams";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import { InternalSession } from "@hexclave/shared/dist/sessions";
+import type { AsyncCache } from "@hexclave/shared/dist/utils/caches";
+import { HexclaveAssertionError, captureError, throwErr } from "@hexclave/shared/dist/utils/errors";
+import { ProviderType } from "@hexclave/shared/dist/utils/oauth";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { suspend } from "@hexclave/shared/dist/utils/react";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { useMemo } from "react"; // THIS_LINE_PLATFORM react-like
import * as yup from "yup";
import { constructRedirectUrl } from "../../../../utils/url";
diff --git a/packages/template/src/lib/stack-app/apps/implementations/session-replay.ts b/packages/template/src/lib/stack-app/apps/implementations/session-replay.ts
index f12927c142..17a721fd34 100644
--- a/packages/template/src/lib/stack-app/apps/implementations/session-replay.ts
+++ b/packages/template/src/lib/stack-app/apps/implementations/session-replay.ts
@@ -1,6 +1,6 @@
-import { isBrowserLike } from "@stackframe/stack-shared/dist/utils/env";
-import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { isBrowserLike } from "@hexclave/shared/dist/utils/env";
+import { runAsynchronously } from "@hexclave/shared/dist/utils/promises";
+import { Result } from "@hexclave/shared/dist/utils/results";
export type AnalyticsReplayOptions = {
/**
diff --git a/packages/template/src/lib/stack-app/apps/interfaces/admin-app.ts b/packages/template/src/lib/stack-app/apps/interfaces/admin-app.ts
index b04e440791..f3d547fa8e 100644
--- a/packages/template/src/lib/stack-app/apps/interfaces/admin-app.ts
+++ b/packages/template/src/lib/stack-app/apps/interfaces/admin-app.ts
@@ -1,9 +1,9 @@
-import { AnalyticsQueryOptions, AnalyticsQueryResponse } from "@stackframe/stack-shared/dist/interface/crud/analytics";
-import type { AdminGetSessionReplayChunkEventsResponse, AdminGetSessionReplayAllEventsResponse } from "@stackframe/stack-shared/dist/interface/crud/session-replays";
-import type { Transaction, TransactionType } from "@stackframe/stack-shared/dist/interface/crud/transactions";
-import { InternalSession } from "@stackframe/stack-shared/dist/sessions";
-import type { MoneyAmount } from "@stackframe/stack-shared/dist/utils/currency-constants";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { AnalyticsQueryOptions, AnalyticsQueryResponse } from "@hexclave/shared/dist/interface/crud/analytics";
+import type { AdminGetSessionReplayChunkEventsResponse, AdminGetSessionReplayAllEventsResponse } from "@hexclave/shared/dist/interface/crud/session-replays";
+import type { Transaction, TransactionType } from "@hexclave/shared/dist/interface/crud/transactions";
+import { InternalSession } from "@hexclave/shared/dist/sessions";
+import type { MoneyAmount } from "@hexclave/shared/dist/utils/currency-constants";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { AsyncStoreProperty, EmailConfig } from "../../common";
import { AdminEmailOutbox, AdminSentEmail } from "../../email";
import { InternalApiKey, InternalApiKeyCreateOptions, InternalApiKeyFirstView } from "../../internal-api-keys";
diff --git a/packages/template/src/lib/stack-app/apps/interfaces/client-app.ts b/packages/template/src/lib/stack-app/apps/interfaces/client-app.ts
index aa053e6706..4461488e2b 100644
--- a/packages/template/src/lib/stack-app/apps/interfaces/client-app.ts
+++ b/packages/template/src/lib/stack-app/apps/interfaces/client-app.ts
@@ -1,8 +1,8 @@
-import { KnownErrors } from "@stackframe/stack-shared";
-import { CurrentUserCrud } from "@stackframe/stack-shared/dist/interface/crud/current-user";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { KnownErrors } from "@hexclave/shared";
+import { CurrentUserCrud } from "@hexclave/shared/dist/interface/crud/current-user";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { AsyncStoreProperty, AuthLike, GetCurrentPartialUserOptions, GetCurrentUserOptions, HandlerUrlOptions, HandlerUrls, OAuthScopesOnSignIn, RedirectMethod, RedirectToOptions, ResolvedHandlerUrls, stackAppInternalsSymbol, TokenStoreInit } from "../../common";
-import type { RequestListener } from "@stackframe/stack-shared/dist/interface/client-interface";
+import type { RequestListener } from "@hexclave/shared/dist/interface/client-interface";
import { CustomerInvoicesList, CustomerInvoicesRequestOptions, CustomerProductsList, CustomerProductsRequestOptions, Item } from "../../customers";
import { Project } from "../../projects";
import { ProjectCurrentUser, SyncedPartialUser, TokenPartialUser } from "../../users";
diff --git a/packages/template/src/lib/stack-app/apps/interfaces/server-app.ts b/packages/template/src/lib/stack-app/apps/interfaces/server-app.ts
index 6a71a20a62..d2afb6cedf 100644
--- a/packages/template/src/lib/stack-app/apps/interfaces/server-app.ts
+++ b/packages/template/src/lib/stack-app/apps/interfaces/server-app.ts
@@ -1,5 +1,5 @@
-import { KnownErrors } from "@stackframe/stack-shared";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { KnownErrors } from "@hexclave/shared";
+import { Result } from "@hexclave/shared/dist/utils/results";
import type { GenericQueryCtx } from "convex/server";
import { AsyncStoreProperty, GetCurrentPartialUserOptions, GetCurrentUserOptions } from "../../common";
import { CustomerProductsList, CustomerProductsRequestOptions, InlineProduct, ServerItem } from "../../customers";
diff --git a/packages/template/src/lib/stack-app/common.ts b/packages/template/src/lib/stack-app/common.ts
index a2f66cbe9d..03fb3325c2 100644
--- a/packages/template/src/lib/stack-app/common.ts
+++ b/packages/template/src/lib/stack-app/common.ts
@@ -1,4 +1,4 @@
-import { ProviderType } from "@stackframe/stack-shared/dist/utils/oauth";
+import { ProviderType } from "@hexclave/shared/dist/utils/oauth";
import type { GenericQueryCtx, UserIdentity } from "convex/server";
export type {
DefaultHandlerUrlTarget,
@@ -8,7 +8,7 @@ export type {
HandlerUrlTarget,
HandlerUrls,
ResolvedHandlerUrls,
-} from "@stackframe/stack-shared/dist/interface/handler-urls";
+} from "@hexclave/shared/dist/interface/handler-urls";
export type RedirectToOptions = {
replace?: boolean,
diff --git a/packages/template/src/lib/stack-app/connected-accounts/index.ts b/packages/template/src/lib/stack-app/connected-accounts/index.ts
index a0ea9d2634..2810508af5 100644
--- a/packages/template/src/lib/stack-app/connected-accounts/index.ts
+++ b/packages/template/src/lib/stack-app/connected-accounts/index.ts
@@ -1,5 +1,5 @@
-import { KnownErrors } from "@stackframe/stack-shared";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { KnownErrors } from "@hexclave/shared";
+import { Result } from "@hexclave/shared/dist/utils/results";
export type Connection = {
/**
diff --git a/packages/template/src/lib/stack-app/contact-channels/index.ts b/packages/template/src/lib/stack-app/contact-channels/index.ts
index 43d4941259..ae300dbeb8 100644
--- a/packages/template/src/lib/stack-app/contact-channels/index.ts
+++ b/packages/template/src/lib/stack-app/contact-channels/index.ts
@@ -1,4 +1,4 @@
-import { ContactChannelsCrud } from "@stackframe/stack-shared/dist/interface/crud/contact-channels";
+import { ContactChannelsCrud } from "@hexclave/shared/dist/interface/crud/contact-channels";
export type ContactChannel = {
diff --git a/packages/template/src/lib/stack-app/customers/index.ts b/packages/template/src/lib/stack-app/customers/index.ts
index 071c7562c9..1a4c4f0d21 100644
--- a/packages/template/src/lib/stack-app/customers/index.ts
+++ b/packages/template/src/lib/stack-app/customers/index.ts
@@ -1,4 +1,4 @@
-import { inlineProductSchema } from "@stackframe/stack-shared/dist/schema-fields";
+import { inlineProductSchema } from "@hexclave/shared/dist/schema-fields";
import * as yup from "yup";
import { AsyncStoreProperty } from "../common";
diff --git a/packages/template/src/lib/stack-app/email-templates/index.ts b/packages/template/src/lib/stack-app/email-templates/index.ts
index 2031fd5cc9..076cb34aa3 100644
--- a/packages/template/src/lib/stack-app/email-templates/index.ts
+++ b/packages/template/src/lib/stack-app/email-templates/index.ts
@@ -1,4 +1,4 @@
-import { EmailTemplateCrud, EmailTemplateType } from "@stackframe/stack-shared/dist/interface/crud/email-templates";
+import { EmailTemplateCrud, EmailTemplateType } from "@hexclave/shared/dist/interface/crud/email-templates";
export type AdminEmailTemplate = {
diff --git a/packages/template/src/lib/stack-app/email/index.ts b/packages/template/src/lib/stack-app/email/index.ts
index 1783bca690..de20ead1ad 100644
--- a/packages/template/src/lib/stack-app/email/index.ts
+++ b/packages/template/src/lib/stack-app/email/index.ts
@@ -1,5 +1,5 @@
-import type { Json } from "@stackframe/stack-shared/dist/utils/json";
-import { XOR } from "@stackframe/stack-shared/dist/utils/types";
+import type { Json } from "@hexclave/shared/dist/utils/json";
+import { XOR } from "@hexclave/shared/dist/utils/types";
export type AdminSentEmail = {
id: string,
diff --git a/packages/template/src/lib/stack-app/internal-api-keys/index.ts b/packages/template/src/lib/stack-app/internal-api-keys/index.ts
index 6867c758ad..82f29414b6 100644
--- a/packages/template/src/lib/stack-app/internal-api-keys/index.ts
+++ b/packages/template/src/lib/stack-app/internal-api-keys/index.ts
@@ -1,6 +1,6 @@
-import { InternalApiKeyCreateCrudRequest } from "@stackframe/stack-shared/dist/interface/admin-interface";
-import { InternalApiKeysCrud } from "@stackframe/stack-shared/dist/interface/crud/internal-api-keys";
+import { InternalApiKeyCreateCrudRequest } from "@hexclave/shared/dist/interface/admin-interface";
+import { InternalApiKeysCrud } from "@hexclave/shared/dist/interface/crud/internal-api-keys";
export type InternalApiKeyBase = {
id: string,
diff --git a/packages/template/src/lib/stack-app/permissions/index.ts b/packages/template/src/lib/stack-app/permissions/index.ts
index 4b9810f46d..459770a92d 100644
--- a/packages/template/src/lib/stack-app/permissions/index.ts
+++ b/packages/template/src/lib/stack-app/permissions/index.ts
@@ -1,5 +1,5 @@
-import { ProjectPermissionDefinitionsCrud } from "@stackframe/stack-shared/dist/interface/crud/project-permissions";
-import { TeamPermissionDefinitionsCrud } from "@stackframe/stack-shared/dist/interface/crud/team-permissions";
+import { ProjectPermissionDefinitionsCrud } from "@hexclave/shared/dist/interface/crud/project-permissions";
+import { TeamPermissionDefinitionsCrud } from "@hexclave/shared/dist/interface/crud/team-permissions";
export type TeamPermission = {
diff --git a/packages/template/src/lib/stack-app/projects/index.ts b/packages/template/src/lib/stack-app/projects/index.ts
index e630808c57..e4cff96b86 100644
--- a/packages/template/src/lib/stack-app/projects/index.ts
+++ b/packages/template/src/lib/stack-app/projects/index.ts
@@ -1,8 +1,8 @@
-import { ProductionModeError } from "@stackframe/stack-shared/dist/helpers/production-mode";
-import { AdminUserProjectsCrud, ProjectsCrud } from "@stackframe/stack-shared/dist/interface/crud/projects";
-import { ProjectOnboardingStatus } from "@stackframe/stack-shared/dist/schema-fields";
+import { ProductionModeError } from "@hexclave/shared/dist/helpers/production-mode";
+import { AdminUserProjectsCrud, ProjectsCrud } from "@hexclave/shared/dist/interface/crud/projects";
+import { ProjectOnboardingStatus } from "@hexclave/shared/dist/schema-fields";
-import { CompleteConfig, EnvironmentConfigNormalizedOverride, EnvironmentConfigOverrideOverride } from "@stackframe/stack-shared/dist/config/schema";
+import { CompleteConfig, EnvironmentConfigNormalizedOverride, EnvironmentConfigOverrideOverride } from "@hexclave/shared/dist/config/schema";
import { StackAdminApp } from "../apps/interfaces/admin-app";
import { AdminProjectConfig, AdminProjectConfigUpdateOptions, ProjectConfig } from "../project-configs";
diff --git a/packages/template/src/lib/stack-app/teams/index.ts b/packages/template/src/lib/stack-app/teams/index.ts
index 2a35174ef6..e3e40a19cd 100644
--- a/packages/template/src/lib/stack-app/teams/index.ts
+++ b/packages/template/src/lib/stack-app/teams/index.ts
@@ -1,5 +1,5 @@
-import { TeamsCrud } from "@stackframe/stack-shared/dist/interface/crud/teams";
-import { ReadonlyJson } from "@stackframe/stack-shared/dist/utils/json";
+import { TeamsCrud } from "@hexclave/shared/dist/interface/crud/teams";
+import { ReadonlyJson } from "@hexclave/shared/dist/utils/json";
import { ApiKeyCreationOptions, TeamApiKey, TeamApiKeyFirstView } from "../api-keys";
import { AsyncStoreProperty } from "../common";
diff --git a/packages/template/src/lib/stack-app/url-targets.ts b/packages/template/src/lib/stack-app/url-targets.ts
index 210f50716d..3f363c26b7 100644
--- a/packages/template/src/lib/stack-app/url-targets.ts
+++ b/packages/template/src/lib/stack-app/url-targets.ts
@@ -1,6 +1,6 @@
-import { getCustomPagePrompts, type CustomPagePrompt } from "@stackframe/stack-shared/dist/interface/handler-urls";
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
-import { getHostedHandlerUrlFromConfig } from "@stackframe/stack-shared/dist/utils/redirect-urls";
+import { getCustomPagePrompts, type CustomPagePrompt } from "@hexclave/shared/dist/interface/handler-urls";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
+import { getHostedHandlerUrlFromConfig } from "@hexclave/shared/dist/utils/redirect-urls";
import { envVars } from "../env";
import { DefaultHandlerUrlTarget, HandlerPageUrls, HandlerUrlOptions, HandlerUrlTarget, HandlerUrls, ResolvedHandlerUrls } from "./common";
diff --git a/packages/template/src/lib/stack-app/users/index.ts b/packages/template/src/lib/stack-app/users/index.ts
index 5701d99e04..53b67558b9 100644
--- a/packages/template/src/lib/stack-app/users/index.ts
+++ b/packages/template/src/lib/stack-app/users/index.ts
@@ -1,13 +1,13 @@
-import { KnownErrors } from "@stackframe/stack-shared";
-import { CurrentUserCrud } from "@stackframe/stack-shared/dist/interface/crud/current-user";
-import { UsersCrud } from "@stackframe/stack-shared/dist/interface/crud/users";
-import type { RestrictedReason } from "@stackframe/stack-shared/dist/schema-fields";
-import { InternalSession } from "@stackframe/stack-shared/dist/sessions";
-import { encodeBase64 } from "@stackframe/stack-shared/dist/utils/bytes";
-import { GeoInfo } from "@stackframe/stack-shared/dist/utils/geo";
-import { ReadonlyJson } from "@stackframe/stack-shared/dist/utils/json";
-import { ProviderType } from "@stackframe/stack-shared/dist/utils/oauth";
-import { Result } from "@stackframe/stack-shared/dist/utils/results";
+import { KnownErrors } from "@hexclave/shared";
+import { CurrentUserCrud } from "@hexclave/shared/dist/interface/crud/current-user";
+import { UsersCrud } from "@hexclave/shared/dist/interface/crud/users";
+import type { RestrictedReason } from "@hexclave/shared/dist/schema-fields";
+import { InternalSession } from "@hexclave/shared/dist/sessions";
+import { encodeBase64 } from "@hexclave/shared/dist/utils/bytes";
+import { GeoInfo } from "@hexclave/shared/dist/utils/geo";
+import { ReadonlyJson } from "@hexclave/shared/dist/utils/json";
+import { ProviderType } from "@hexclave/shared/dist/utils/oauth";
+import { Result } from "@hexclave/shared/dist/utils/results";
import { ApiKeyCreationOptions, UserApiKey, UserApiKeyFirstView } from "../api-keys";
import { AsyncStoreProperty, AuthLike } from "../common";
import { DeprecatedOAuthConnection, OAuthConnection } from "../connected-accounts";
diff --git a/packages/template/src/providers/stack-provider-client.tsx b/packages/template/src/providers/stack-provider-client.tsx
index a4615ea96c..bf65e12119 100644
--- a/packages/template/src/providers/stack-provider-client.tsx
+++ b/packages/template/src/providers/stack-provider-client.tsx
@@ -1,7 +1,7 @@
"use client";
-import { CurrentUserCrud } from "@stackframe/stack-shared/dist/interface/crud/current-user";
-import { globalVar } from "@stackframe/stack-shared/dist/utils/globals";
+import { CurrentUserCrud } from "@hexclave/shared/dist/interface/crud/current-user";
+import { globalVar } from "@hexclave/shared/dist/utils/globals";
import React, { useEffect } from "react";
import { useStackApp } from "../lib/hooks";
import { StackClientApp, StackClientAppJson, stackAppInternalsSymbol } from "../lib/stack-app";
diff --git a/packages/template/src/providers/theme-provider.tsx b/packages/template/src/providers/theme-provider.tsx
index b302385462..2e40ce0543 100644
--- a/packages/template/src/providers/theme-provider.tsx
+++ b/packages/template/src/providers/theme-provider.tsx
@@ -1,7 +1,7 @@
'use client';
-import { deindent } from "@stackframe/stack-shared/dist/utils/strings";
-import { TooltipProvider } from "@stackframe/stack-ui";
+import { deindent } from "@hexclave/shared/dist/utils/strings";
+import { TooltipProvider } from "@hexclave/ui";
import Color from "color";
import React from "react";
import { globalCSS } from "../generated/global-css";
diff --git a/packages/template/src/providers/translation-provider.tsx b/packages/template/src/providers/translation-provider.tsx
index ca1a791432..a2cc980b27 100644
--- a/packages/template/src/providers/translation-provider.tsx
+++ b/packages/template/src/providers/translation-provider.tsx
@@ -1,4 +1,4 @@
-import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
+import { throwErr } from "@hexclave/shared/dist/utils/errors";
import { quetzalKeys, quetzalLocales } from "../generated/quetzal-translations";
import { TranslationProviderClient } from "./translation-provider-client";
diff --git a/packages/template/src/tanstack-start-server-context.d.ts b/packages/template/src/tanstack-start-server-context.d.ts
index e183d95ef6..99d68d27de 100644
--- a/packages/template/src/tanstack-start-server-context.d.ts
+++ b/packages/template/src/tanstack-start-server-context.d.ts
@@ -1,4 +1,4 @@
-declare module "@stackframe/tanstack-start/tanstack-start-server-context" {
+declare module "@hexclave/tanstack-start/tanstack-start-server-context" {
type TanStackStartServerContext = typeof import("@tanstack/react-start/server");
export const deleteCookie: TanStackStartServerContext["deleteCookie"] | undefined;
diff --git a/packages/template/src/utils/url.ts b/packages/template/src/utils/url.ts
index 70e59482e2..6b5d9f75bb 100644
--- a/packages/template/src/utils/url.ts
+++ b/packages/template/src/utils/url.ts
@@ -1,4 +1,4 @@
-import { HexclaveAssertionError } from "@stackframe/stack-shared/dist/utils/errors";
+import { HexclaveAssertionError } from "@hexclave/shared/dist/utils/errors";
export function constructRedirectUrl(redirectUrl: URL | string | undefined, callbackUrlName: string) {
diff --git a/packages/template/tailwind.config.js b/packages/template/tailwind.config.js
index c6f107732c..34705932f1 100644
--- a/packages/template/tailwind.config.js
+++ b/packages/template/tailwind.config.js
@@ -3,7 +3,7 @@ module.exports = {
darkMode: ["selector", 'html:has(head > [data-stack-theme="dark"])'],
content: [
"./src/**/*.{ts,tsx}",
- "./node_modules/@stackframe/stack-ui/src/**/*.{ts,tsx}",
+ "./node_modules/@hexclave/ui/src/**/*.{ts,tsx}",
],
prefix: "",
theme: {
diff --git a/packages/template/vitest.config.ts b/packages/template/vitest.config.ts
index 39f0ccca27..04733ce9da 100644
--- a/packages/template/vitest.config.ts
+++ b/packages/template/vitest.config.ts
@@ -49,7 +49,7 @@ export default mergeConfig(
defineConfig({
resolve: {
alias: {
- "@stackframe/tanstack-start/tanstack-start-server-context": tanstackStartServerContextStub, // THIS_LINE_PLATFORM template
+ "@hexclave/tanstack-start/tanstack-start-server-context": tanstackStartServerContextStub, // THIS_LINE_PLATFORM template
},
},
plugins: [replaceCompileTimeClientVersion()],
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 970a64a2f3..f5d4384d3c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -126,6 +126,12 @@ importers:
'@clickhouse/client':
specifier: ^1.14.0
version: 1.16.0
+ '@hexclave/next':
+ specifier: workspace:*
+ version: link:../../packages/stack
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../../packages/stack-shared
'@node-oauth/oauth2-server':
specifier: ^5.1.0
version: 5.1.0
@@ -195,12 +201,6 @@ importers:
'@simplewebauthn/server':
specifier: ^13.3.0
version: 13.3.0
- '@stackframe/stack':
- specifier: workspace:*
- version: link:../../packages/stack
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../../packages/stack-shared
'@upstash/qstash':
specifier: ^2.8.2
version: 2.8.2
@@ -382,6 +382,15 @@ importers:
'@dnd-kit/utilities':
specifier: ^3.2.2
version: 3.2.2(react@19.2.3)
+ '@hexclave/dashboard-ui-components':
+ specifier: workspace:*
+ version: link:../../packages/dashboard-ui-components
+ '@hexclave/next':
+ specifier: workspace:*
+ version: link:../../packages/stack
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../../packages/stack-shared
'@hookform/resolvers':
specifier: ^3.3.4
version: 3.6.0(react-hook-form@7.53.1(react@19.2.3))
@@ -484,15 +493,6 @@ importers:
'@sentry/nextjs':
specifier: ^10.11.0
version: 10.11.0(@opentelemetry/context-async-hooks@2.6.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.6.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.6.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@16.1.7(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(webpack@5.92.0(esbuild@0.24.2))
- '@stackframe/dashboard-ui-components':
- specifier: workspace:*
- version: link:../../packages/dashboard-ui-components
- '@stackframe/stack':
- specifier: workspace:*
- version: link:../../packages/stack
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../../packages/stack-shared
'@stripe/connect-js':
specifier: ^3.3.27
version: 3.3.27
@@ -686,15 +686,15 @@ importers:
apps/e2e:
dependencies:
- '@oslojs/otp':
- specifier: ^1.1.0
- version: 1.1.0
- '@stackframe/js':
+ '@hexclave/js':
specifier: workspace:*
version: link:../../packages/js
- '@stackframe/stack-shared':
+ '@hexclave/shared':
specifier: workspace:*
version: link:../../packages/stack-shared
+ '@oslojs/otp':
+ specifier: ^1.1.0
+ version: 1.1.0
convex:
specifier: ^1.27.0
version: 1.27.0(react@19.2.3)
@@ -720,10 +720,10 @@ importers:
apps/hosted-components:
dependencies:
- '@stackframe/react':
+ '@hexclave/react':
specifier: workspace:*
version: link:../../packages/react
- '@stackframe/stack-shared':
+ '@hexclave/shared':
specifier: workspace:*
version: link:../../packages/stack-shared
'@tanstack/react-router':
@@ -781,10 +781,10 @@ importers:
apps/internal-tool:
dependencies:
- '@stackframe/stack':
+ '@hexclave/next':
specifier: workspace:*
version: link:../../packages/stack
- '@stackframe/stack-shared':
+ '@hexclave/shared':
specifier: workspace:*
version: link:../../packages/stack-shared
clsx:
@@ -842,7 +842,7 @@ importers:
apps/mcp:
dependencies:
- '@stackframe/stack-shared':
+ '@hexclave/shared':
specifier: workspace:*
version: link:../../packages/stack-shared
'@vercel/mcp-adapter':
@@ -933,157 +933,6 @@ importers:
specifier: 5.9.3
version: 5.9.3
- docs:
- dependencies:
- 2027-track:
- specifier: ^0.1.9
- version: 0.1.9
- '@ai-sdk/react':
- specifier: ^3.0.0
- version: 3.0.83(react@18.3.1)(zod@3.25.76)
- '@modelcontextprotocol/sdk':
- specifier: ^1.17.2
- version: 1.17.2
- '@phosphor-icons/react':
- specifier: ^2.1.10
- version: 2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-collapsible':
- specifier: ^1.1.11
- version: 1.1.11(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-popover':
- specifier: ^1.1.14
- version: 1.1.14(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence':
- specifier: ^1.1.4
- version: 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-scroll-area':
- specifier: ^1.2.9
- version: 1.2.9(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot':
- specifier: ^1.2.3
- version: 1.2.3(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-tabs':
- specifier: ^1.1.12
- version: 1.1.12(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@stackframe/stack':
- specifier: workspace:^
- version: link:../packages/stack
- '@stackframe/stack-shared':
- specifier: workspace:^
- version: link:../packages/stack-shared
- ai:
- specifier: ^6.0.0
- version: 6.0.81(zod@3.25.76)
- class-variance-authority:
- specifier: ^0.7.1
- version: 0.7.1
- fumadocs-core:
- specifier: 15.3.3
- version: 15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- fumadocs-mdx:
- specifier: 11.6.4
- version: 11.6.4(@fumadocs/mdx-remote@1.4.0(@types/react@18.3.12)(fumadocs-core@15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1))(fumadocs-core@15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
- fumadocs-openapi:
- specifier: ^8.1.12
- version: 8.1.12(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@4.1.9)
- fumadocs-typescript:
- specifier: ^4.0.5
- version: 4.0.5(typescript@5.9.3)
- fumadocs-ui:
- specifier: 15.3.3
- version: 15.3.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@4.1.9)
- jose:
- specifier: ^6.1.3
- version: 6.1.3
- js-yaml:
- specifier: ^4.1.0
- version: 4.1.0
- lucide-react:
- specifier: ^0.511.0
- version: 0.511.0(react@18.3.1)
- mermaid:
- specifier: ^11.6.0
- version: 11.6.0
- minimatch:
- specifier: ^10.0.1
- version: 10.0.1
- next:
- specifier: 15.5.10
- version: 15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- next-themes:
- specifier: ^0.4.6
- version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- posthog-js:
- specifier: ^1.336.1
- version: 1.336.1
- posthog-node:
- specifier: ^4.1.0
- version: 4.1.0
- react:
- specifier: ^18.3.1
- version: 18.3.1
- react-dom:
- specifier: ^18.3.1
- version: 18.3.1(react@18.3.1)
- react-medium-image-zoom:
- specifier: ^5.4.0
- version: 5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react-remove-scroll:
- specifier: ^2.7.0
- version: 2.7.1(@types/react@18.3.12)(react@18.3.1)
- remark:
- specifier: ^15.0.1
- version: 15.0.1
- remark-gfm:
- specifier: ^4.0.1
- version: 4.0.1
- remark-mdx:
- specifier: ^3.1.0
- version: 3.1.0
- shiki:
- specifier: ^3.4.2
- version: 3.6.0
- tailwind-merge:
- specifier: ^3.3.0
- version: 3.3.1
- zod:
- specifier: ^3.23.8
- version: 3.25.76
- devDependencies:
- '@tailwindcss/postcss':
- specifier: ^4.1.7
- version: 4.1.9
- '@types/mdx':
- specifier: ^2.0.13
- version: 2.0.13
- '@types/node':
- specifier: 22.15.18
- version: 22.15.18
- '@types/react':
- specifier: ^18.2.0
- version: 18.3.12
- '@types/react-dom':
- specifier: ^18.2.0
- version: 18.3.1
- eslint:
- specifier: ^8.57.0
- version: 8.57.1
- eslint-config-next:
- specifier: 15.3.2
- version: 15.3.2(eslint@8.57.1)(typescript@5.9.3)
- glob:
- specifier: ^11.0.0
- version: 11.0.1
- postcss:
- specifier: ^8.5.3
- version: 8.5.3
- tailwindcss:
- specifier: ^4.1.7
- version: 4.1.9
- typescript:
- specifier: 5.9.3
- version: 5.9.3
-
docs-mintlify:
devDependencies:
mint:
@@ -1092,7 +941,7 @@ importers:
examples/cjs-test:
dependencies:
- '@stackframe/stack':
+ '@hexclave/next':
specifier: workspace:*
version: link:../../packages/stack
next:
@@ -1132,10 +981,10 @@ importers:
examples/convex:
dependencies:
- '@stackframe/stack':
+ '@hexclave/next':
specifier: workspace:*
version: link:../../packages/stack
- '@stackframe/stack-shared':
+ '@hexclave/shared':
specifier: workspace:*
version: link:../../packages/stack-shared
convex:
@@ -1202,19 +1051,19 @@ importers:
'@emotion/styled':
specifier: ^11.13.0
version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.12)(react@19.0.1))(@types/react@18.3.12)(react@19.0.1)
- '@stackframe/js':
+ '@hexclave/js':
specifier: workspace:*
version: link:../../packages/js
- '@stackframe/react':
- specifier: workspace:*
- version: link:../../packages/react
- '@stackframe/stack':
+ '@hexclave/next':
specifier: workspace:*
version: link:../../packages/stack
- '@stackframe/stack-shared':
+ '@hexclave/react':
+ specifier: workspace:*
+ version: link:../../packages/react
+ '@hexclave/shared':
specifier: workspace:*
version: link:../../packages/stack-shared
- '@stackframe/stack-ui':
+ '@hexclave/ui':
specifier: workspace:*
version: link:../../packages/stack-ui
next:
@@ -1260,13 +1109,13 @@ importers:
'@emotion/styled':
specifier: ^11.11.0
version: 11.11.5(@emotion/react@11.11.4(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1)
- '@stackframe/stack':
+ '@hexclave/next':
specifier: workspace:*
version: link:../../packages/stack
- '@stackframe/stack-shared':
+ '@hexclave/shared':
specifier: workspace:*
version: link:../../packages/stack-shared
- '@stackframe/stack-ui':
+ '@hexclave/ui':
specifier: workspace:*
version: link:../../packages/stack-ui
next:
@@ -1306,7 +1155,7 @@ importers:
examples/e-commerce:
dependencies:
- '@stackframe/stack':
+ '@hexclave/next':
specifier: workspace:*
version: link:../../packages/stack
next:
@@ -1343,7 +1192,7 @@ importers:
examples/js-example:
dependencies:
- '@stackframe/js':
+ '@hexclave/js':
specifier: workspace:*
version: link:../../packages/js
dotenv-cli:
@@ -1358,6 +1207,9 @@ importers:
examples/lovable-react-18-example:
dependencies:
+ '@hexclave/react':
+ specifier: workspace:*
+ version: link:../../packages/react
'@hookform/resolvers':
specifier: ^3.10.0
version: 3.10.0(react-hook-form@7.65.0(react@18.3.1))
@@ -1442,9 +1294,6 @@ importers:
'@radix-ui/react-tooltip':
specifier: ^1.2.7
version: 1.2.8(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@stackframe/react':
- specifier: workspace:*
- version: link:../../packages/react
'@tanstack/react-query':
specifier: ^5.83.0
version: 5.90.7(react@18.3.1)
@@ -1563,7 +1412,7 @@ importers:
examples/middleware:
dependencies:
- '@stackframe/stack':
+ '@hexclave/next':
specifier: workspace:*
version: link:../../packages/stack
next:
@@ -1597,7 +1446,7 @@ importers:
examples/react-example:
dependencies:
- '@stackframe/react':
+ '@hexclave/react':
specifier: workspace:*
version: link:../../packages/react
react:
@@ -1631,7 +1480,7 @@ importers:
examples/supabase:
dependencies:
- '@stackframe/stack':
+ '@hexclave/next':
specifier: workspace:*
version: link:../../packages/stack
'@supabase/ssr':
@@ -1668,15 +1517,15 @@ importers:
examples/tanstack-start-demo:
dependencies:
- '@stackframe/stack-shared':
+ '@hexclave/shared':
specifier: workspace:*
version: link:../../packages/stack-shared
- '@stackframe/stack-ui':
- specifier: workspace:*
- version: link:../../packages/stack-ui
- '@stackframe/tanstack-start':
+ '@hexclave/tanstack-start':
specifier: workspace:*
version: link:../../packages/tanstack-start
+ '@hexclave/ui':
+ specifier: workspace:*
+ version: link:../../packages/stack-ui
'@tanstack/react-router':
specifier: ^1.168.23
version: 1.169.1(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
@@ -1732,6 +1581,12 @@ importers:
'@dnd-kit/core':
specifier: ^6.3.1
version: 6.3.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../stack-shared
+ '@hexclave/ui':
+ specifier: workspace:*
+ version: link:../stack-ui
'@phosphor-icons/react':
specifier: ^2.1.7
version: 2.1.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -1744,12 +1599,6 @@ importers:
'@react-hook/resize-observer':
specifier: ^2.0.2
version: 2.0.2(react@19.2.3)
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../stack-shared
- '@stackframe/stack-ui':
- specifier: workspace:*
- version: link:../stack-ui
'@tanstack/react-table':
specifier: ^8.21.3
version: 8.21.3(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -1784,7 +1633,7 @@ importers:
packages/init-stack:
dependencies:
- '@stackframe/stack-shared':
+ '@hexclave/shared':
specifier: workspace:*
version: link:../stack-shared
commander:
@@ -1830,6 +1679,9 @@ importers:
packages/js:
dependencies:
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../stack-shared
'@hookform/resolvers':
specifier: ^5.2.2
version: 5.2.2(react-hook-form@7.70.0(react@19.2.1))
@@ -1839,9 +1691,6 @@ importers:
'@simplewebauthn/browser':
specifier: ^13.2.2
version: 13.2.2
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../stack-shared
'@tanstack/react-table':
specifier: ^8.21.3
version: 8.21.3(react-dom@19.2.3(react@19.2.1))(react@19.2.1)
@@ -1933,6 +1782,12 @@ importers:
'@ai-sdk/react':
specifier: ^3.0.72
version: 3.0.143(react@19.2.1)(zod@4.3.6)
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../stack-shared
+ '@hexclave/ui':
+ specifier: workspace:*
+ version: link:../stack-ui
'@hookform/resolvers':
specifier: ^5.2.2
version: 5.2.2(react-hook-form@7.70.0(react@19.2.1))
@@ -1942,12 +1797,6 @@ importers:
'@simplewebauthn/browser':
specifier: ^13.2.2
version: 13.2.2
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../stack-shared
- '@stackframe/stack-ui':
- specifier: workspace:*
- version: link:../stack-ui
'@stripe/react-stripe-js':
specifier: ^3.8.1
version: 3.8.1(@stripe/stripe-js@7.7.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
@@ -2072,6 +1921,15 @@ importers:
'@ai-sdk/react':
specifier: ^3.0.72
version: 3.0.143(react@19.2.1)(zod@4.3.6)
+ '@hexclave/sc':
+ specifier: workspace:*
+ version: link:../stack-sc
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../stack-shared
+ '@hexclave/ui':
+ specifier: workspace:*
+ version: link:../stack-ui
'@hookform/resolvers':
specifier: ^5.2.2
version: 5.2.2(react-hook-form@7.70.0(react@19.2.1))
@@ -2081,15 +1939,6 @@ importers:
'@simplewebauthn/browser':
specifier: ^13.2.2
version: 13.2.2
- '@stackframe/stack-sc':
- specifier: workspace:*
- version: link:../stack-sc
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../stack-shared
- '@stackframe/stack-ui':
- specifier: workspace:*
- version: link:../stack-ui
'@stripe/react-stripe-js':
specifier: ^3.8.1
version: 3.8.1(@stripe/stripe-js@7.7.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
@@ -2217,18 +2066,18 @@ importers:
'@anthropic-ai/claude-agent-sdk':
specifier: ^0.2.73
version: 0.2.73(zod@4.3.6)
+ '@hexclave/js':
+ specifier: workspace:*
+ version: link:../js
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../stack-shared
'@inquirer/prompts':
specifier: ^7.0.0
version: 7.10.1(@types/node@20.17.6)
'@sentry/node':
specifier: ^10.42.0
version: 10.45.0
- '@stackframe/js':
- specifier: workspace:*
- version: link:../js
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../stack-shared
commander:
specifier: ^13.1.0
version: 13.1.0
@@ -2385,6 +2234,9 @@ importers:
packages/stack-ui:
dependencies:
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../stack-shared
'@radix-ui/react-accordion':
specifier: ^1.2.1
version: 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
@@ -2472,9 +2324,6 @@ importers:
'@radix-ui/react-tooltip':
specifier: ^1.1.3
version: 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../stack-shared
'@tanstack/react-table':
specifier: ^8.20.5
version: 8.20.5(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
@@ -2536,6 +2385,12 @@ importers:
'@ai-sdk/react':
specifier: ^3.0.72
version: 3.0.143(react@19.2.3)(zod@4.3.6)
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../stack-shared
+ '@hexclave/ui':
+ specifier: workspace:*
+ version: link:../stack-ui
'@hookform/resolvers':
specifier: ^5.2.2
version: 5.2.2(react-hook-form@7.70.0(react@19.2.3))
@@ -2545,12 +2400,6 @@ importers:
'@simplewebauthn/browser':
specifier: ^13.2.2
version: 13.2.2
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../stack-shared
- '@stackframe/stack-ui':
- specifier: workspace:*
- version: link:../stack-ui
'@stripe/react-stripe-js':
specifier: ^3.8.1
version: 3.8.1(@stripe/stripe-js@7.7.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -2681,6 +2530,15 @@ importers:
'@ai-sdk/react':
specifier: ^3.0.72
version: 3.0.143(react@19.2.1)(zod@4.3.6)
+ '@hexclave/sc':
+ specifier: workspace:*
+ version: link:../stack-sc
+ '@hexclave/shared':
+ specifier: workspace:*
+ version: link:../stack-shared
+ '@hexclave/ui':
+ specifier: workspace:*
+ version: link:../stack-ui
'@hookform/resolvers':
specifier: ^5.2.2
version: 5.2.2(react-hook-form@7.70.0(react@19.2.1))
@@ -2690,15 +2548,6 @@ importers:
'@simplewebauthn/browser':
specifier: ^13.2.2
version: 13.2.2
- '@stackframe/stack-sc':
- specifier: workspace:*
- version: link:../stack-sc
- '@stackframe/stack-shared':
- specifier: workspace:*
- version: link:../stack-shared
- '@stackframe/stack-ui':
- specifier: workspace:*
- version: link:../stack-ui
'@stripe/react-stripe-js':
specifier: ^3.8.1
version: 3.8.1(@stripe/stripe-js@7.7.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)
@@ -2833,9 +2682,6 @@ importers:
packages:
- 2027-track@0.1.9:
- resolution: {integrity: sha512-ER9VNkkyBPSjhbQv2M4rcIgoTwJCnthBvbrs7KvIg/sXbUvYN+iJAg5eVEEGQwo49IPnQmj0Y3aSPLRpvF9ltg==}
-
'@ai-sdk/gateway@3.0.41':
resolution: {integrity: sha512-dYNhtvEomccNNGSxfSP8f4g6yPcoDHyQ6Rb7dALFE0FvvVP9UqfFWi3D2dLIz0VVKaSkiNLQAJ7lsdTVlBdRrw==}
engines: {node: '>=18'}
@@ -2922,22 +2768,12 @@ packages:
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- '@antfu/install-pkg@1.1.0':
- resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
-
- '@antfu/utils@8.1.1':
- resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==}
-
'@anthropic-ai/claude-agent-sdk@0.2.73':
resolution: {integrity: sha512-JrHeMl93Q5ai9GMPAffQkSisbbDvD1skU2x6sf6WRzEZw0sK6aTG+XSiZHY2F5aSrfd4G2qUogLHEm6Y8obyOQ==}
engines: {node: '>=18.0.0'}
peerDependencies:
zod: ^4.0.0
- '@apidevtools/json-schema-ref-parser@11.9.3':
- resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==}
- engines: {node: '>= 16'}
-
'@ark/schema@0.55.0':
resolution: {integrity: sha512-IlSIc0FmLKTDGr4I/FzNHauMn0MADA6bCjT1wauu4k6MyxhC1R9gz0olNpIRvK7lGGDwtc/VO0RUDNvVQW5WFg==}
@@ -3575,9 +3411,6 @@ packages:
resolution: {integrity: sha512-91gAaWRznDwSX4E2tZ1YjBuIfnQVOFDCQ2r0Toby0gu4XEbyF623kXLMA8d4ZbCu+fINcrudkmEcwSUHgDDkNw==}
engines: {node: ^20.19.0 || >=22.12.0}
- '@braintree/sanitize-url@7.1.1':
- resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==}
-
'@canvas/image-data@1.1.0':
resolution: {integrity: sha512-QdObRRjRbcXGmM1tmJ+MrHcaz1MftF2+W7YI+MsphnsCrmtyfS0d5qJbk0MeSbUeyM/jCb0hmnkXPsy026L7dA==}
@@ -5106,23 +4939,6 @@ packages:
'@formatjs/intl-localematcher@0.5.4':
resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==}
- '@formatjs/intl-localematcher@0.6.2':
- resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==}
-
- '@fumadocs/mdx-remote@1.4.0':
- resolution: {integrity: sha512-0aECFvjlpCMeDopjXKBndP/7FbzchNOJu0m3qPsKFtZl+/1QvGsrKPYVVnIY5lwvHL7+E9wGhl6MUHrvcqvWCw==}
- peerDependencies:
- '@types/react': ^18.2.0
- fumadocs-core: ^14.0.0 || ^15.0.0
- react: 18.x.x || 19.x.x
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@fumari/json-schema-to-typescript@1.1.3':
- resolution: {integrity: sha512-KnaZAo5W769nOaxhPqEMTdjHdngugxmPpNS+Yr2U90iVxgmNAWwhSr8Nx3l+CUehJKNFzJi2C7clQXOfuPJegA==}
- engines: {node: '>=18.0.0'}
-
'@grpc/grpc-js@1.14.3':
resolution: {integrity: sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA==}
engines: {node: '>=12.10.0'}
@@ -5195,12 +5011,6 @@ packages:
resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
engines: {node: '>=18.18'}
- '@iconify/types@2.0.0':
- resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
-
- '@iconify/utils@2.3.0':
- resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==}
-
'@img/colour@1.0.0':
resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
engines: {node: '>=18'}
@@ -5637,9 +5447,6 @@ packages:
'@js-sdsl/ordered-map@4.4.2':
resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==}
- '@jsdevtools/ono@7.1.3':
- resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==}
-
'@jsep-plugin/assignment@1.3.0':
resolution: {integrity: sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==}
engines: {node: '>= 10.16.0'}
@@ -5692,9 +5499,6 @@ packages:
'@types/react': ^18.2.0
react: '>=16'
- '@mermaid-js/parser@0.4.0':
- resolution: {integrity: sha512-wla8XOWvQAwuqy+gxiZqY+c7FokraOTHRWMsbB4AgRx9Sy7zKslNyejy7E+a77qHfey5GXw/ik3IXv/NHMJgaA==}
-
'@mintlify/cli@4.0.1090':
resolution: {integrity: sha512-SDA+KrZcMBoatfXujr+JeDEJkJ4kMpFKeeWPnC/vFJ4ojrGXfD0hWdSIdJ5MjLKfs2QtLqbvQErp7yBrj5r/QA==}
engines: {node: '>=18.0.0'}
@@ -5801,9 +5605,6 @@ packages:
'@next/eslint-plugin-next@14.2.5':
resolution: {integrity: sha512-LY3btOpPh+OTIpviNojDpUdIbHW9j0JBYBjsIp8IxtDFfYFyORvw3yNq6N231FVqQA7n7lwaf7xHbVJlA1ED7g==}
- '@next/eslint-plugin-next@15.3.2':
- resolution: {integrity: sha512-ijVRTXBgnHT33aWnDtmlG+LJD+5vhc9AKTJPquGG5NKXjpKNjc62woIhFtrAcWdBobt8kqjCoaJ0q6sDQoX7aQ==}
-
'@next/swc-darwin-arm64@14.2.33':
resolution: {integrity: sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA==}
engines: {node: '>= 10'}
@@ -6934,10 +6735,6 @@ packages:
peerDependencies:
'@opentelemetry/api': ^1.1.0
- '@orama/orama@3.1.16':
- resolution: {integrity: sha512-scSmQBD8eANlMUOglxHrN1JdSW8tDghsPuS83otqealBiIeMukCQMOf/wc0JJjDXomqwNdEQFLXLGHrU6PGxuA==}
- engines: {node: '>= 20.0.0'}
-
'@oslojs/asn1@1.0.0':
resolution: {integrity: sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA==}
@@ -7323,19 +7120,6 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-collapsible@1.1.11':
- resolution: {integrity: sha512-2qrRsVGSCYasSz1RFOorXwl0H7g7J1frQtgpQgYrt+MOidtPAINHn9CPovQXb83r8ahapdx3Tu0fa/pdFFSdPg==}
- peerDependencies:
- '@types/react': ^18.2.0
- '@types/react-dom': ^18.2.0
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
'@radix-ui/react-collapsible@1.1.12':
resolution: {integrity: sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==}
peerDependencies:
@@ -7512,19 +7296,6 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-dismissable-layer@1.1.10':
- resolution: {integrity: sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==}
- peerDependencies:
- '@types/react': ^18.2.0
- '@types/react-dom': ^18.2.0
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
'@radix-ui/react-dismissable-layer@1.1.11':
resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==}
peerDependencies:
@@ -7573,15 +7344,6 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-focus-guards@1.1.2':
- resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==}
- peerDependencies:
- '@types/react': ^18.2.0
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
'@radix-ui/react-focus-guards@1.1.3':
resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==}
peerDependencies:
@@ -7770,19 +7532,6 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-popover@1.1.14':
- resolution: {integrity: sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==}
- peerDependencies:
- '@types/react': ^18.2.0
- '@types/react-dom': ^18.2.0
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
'@radix-ui/react-popover@1.1.15':
resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==}
peerDependencies:
@@ -7822,19 +7571,6 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-popper@1.2.7':
- resolution: {integrity: sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==}
- peerDependencies:
- '@types/react': ^18.2.0
- '@types/react-dom': ^18.2.0
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
'@radix-ui/react-popper@1.2.8':
resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==}
peerDependencies:
@@ -7887,19 +7623,6 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-presence@1.1.4':
- resolution: {integrity: sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==}
- peerDependencies:
- '@types/react': ^18.2.0
- '@types/react-dom': ^18.2.0
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
'@radix-ui/react-presence@1.1.5':
resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==}
peerDependencies:
@@ -8017,19 +7740,6 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-roving-focus@1.1.10':
- resolution: {integrity: sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==}
- peerDependencies:
- '@types/react': ^18.2.0
- '@types/react-dom': ^18.2.0
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
'@radix-ui/react-roving-focus@1.1.11':
resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==}
peerDependencies:
@@ -8069,19 +7779,6 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-scroll-area@1.2.9':
- resolution: {integrity: sha512-YSjEfBXnhUELsO2VzjdtYYD4CfQjvao+lhhrX5XsHD7/cyUNzljF1FHEbgTPN7LH2MClfwRMIsYlqTYpKTTe2A==}
- peerDependencies:
- '@types/react': ^18.2.0
- '@types/react-dom': ^18.2.0
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
'@radix-ui/react-select@2.1.2':
resolution: {integrity: sha512-rZJtWmorC7dFRi0owDmoijm6nSJH1tVw64QGiNIZ9PNLyBDtG+iAq+XGsya052At4BfarzY/Dhv9wrrUr6IMZA==}
peerDependencies:
@@ -8226,19 +7923,6 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-tabs@1.1.12':
- resolution: {integrity: sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw==}
- peerDependencies:
- '@types/react': ^18.2.0
- '@types/react-dom': ^18.2.0
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
-
'@radix-ui/react-tabs@1.1.13':
resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==}
peerDependencies:
@@ -9158,10 +8842,6 @@ packages:
'@rushstack/eslint-patch@1.10.4':
resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==}
- '@scalar/openapi-parser@0.10.17':
- resolution: {integrity: sha512-SO+vw+kv8xEROJ527KpiT5ccAVQZuE6n8G4qTN6b72QVT0URHoLwr8uHQQnEGlyA0QhAx7En+lKD1Hy39xZ9oQ==}
- engines: {node: '>=18'}
-
'@selderee/plugin-htmlparser2@0.11.0':
resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
@@ -9450,36 +9130,18 @@ packages:
'@shikijs/core@3.23.0':
resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==}
- '@shikijs/core@3.6.0':
- resolution: {integrity: sha512-9By7Xb3olEX0o6UeJyPLI1PE1scC4d3wcVepvtv2xbuN9/IThYN4Wcwh24rcFeASzPam11MCq8yQpwwzCgSBRw==}
-
'@shikijs/engine-javascript@3.14.0':
resolution: {integrity: sha512-3v1kAXI2TsWQuwv86cREH/+FK9Pjw3dorVEykzQDhwrZj0lwsHYlfyARaKmn6vr5Gasf8aeVpb8JkzeWspxOLQ==}
- '@shikijs/engine-javascript@3.6.0':
- resolution: {integrity: sha512-7YnLhZG/TU05IHMG14QaLvTW/9WiK8SEYafceccHUSXs2Qr5vJibUwsDfXDLmRi0zHdzsxrGKpSX6hnqe0k8nA==}
-
'@shikijs/engine-oniguruma@3.14.0':
resolution: {integrity: sha512-TNcYTYMbJyy+ZjzWtt0bG5y4YyMIWC2nyePz+CFMWqm+HnZZyy9SWMgo8Z6KBJVIZnx8XUXS8U2afO6Y0g1Oug==}
- '@shikijs/engine-oniguruma@3.6.0':
- resolution: {integrity: sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==}
-
'@shikijs/langs@3.14.0':
resolution: {integrity: sha512-DIB2EQY7yPX1/ZH7lMcwrK5pl+ZkP/xoSpUzg9YC8R+evRCCiSQ7yyrvEyBsMnfZq4eBzLzBlugMyTAf13+pzg==}
- '@shikijs/langs@3.6.0':
- resolution: {integrity: sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==}
-
- '@shikijs/rehype@3.14.0':
- resolution: {integrity: sha512-In2G6yvT0ZFDqNGbJumd7gEAwtxuaXuchCc0O3qOytIUTlpzs8/D0CQF3wktdfOB6B869eab6Z6EIJr4Td4hQQ==}
-
'@shikijs/themes@3.14.0':
resolution: {integrity: sha512-fAo/OnfWckNmv4uBoUu6dSlkcBc+SA1xzj5oUSaz5z3KqHtEbUypg/9xxgJARtM6+7RVm0Q6Xnty41xA1ma1IA==}
- '@shikijs/themes@3.6.0':
- resolution: {integrity: sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==}
-
'@shikijs/transformers@3.14.0':
resolution: {integrity: sha512-i67zQnY9wLMMnKasonVW1L9fKneSLZDj1ePsA4o0AZWU4uUobmJY9baRDa36z+a9/g0aG76/2tybQvm4hrwxIQ==}
@@ -9494,9 +9156,6 @@ packages:
'@shikijs/types@3.23.0':
resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==}
- '@shikijs/types@3.6.0':
- resolution: {integrity: sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==}
-
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
@@ -10453,9 +10112,6 @@ packages:
'@tootallnate/quickjs-emscripten@0.23.0':
resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
- '@ts-morph/common@0.27.0':
- resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==}
-
'@turf/boolean-point-in-polygon@7.1.0':
resolution: {integrity: sha512-mprVsyIQ+ijWTZwbnO4Jhxu94ZW2M2CheqLiRTsGJy0Ooay9v6Av5/Nl3/Gst7ZVXxPqMeMaFYkSzcTc87AKew==}
@@ -10550,96 +10206,30 @@ packages:
'@types/d3-array@3.2.1':
resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
- '@types/d3-axis@3.0.6':
- resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
-
- '@types/d3-brush@3.0.6':
- resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
-
- '@types/d3-chord@3.0.6':
- resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
-
'@types/d3-color@3.1.3':
resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
- '@types/d3-contour@3.0.6':
- resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
-
- '@types/d3-delaunay@6.0.4':
- resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
-
- '@types/d3-dispatch@3.0.6':
- resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==}
-
- '@types/d3-drag@3.0.7':
- resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
-
- '@types/d3-dsv@3.0.7':
- resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
-
'@types/d3-ease@3.0.2':
resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
- '@types/d3-fetch@3.0.7':
- resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
-
- '@types/d3-force@3.0.10':
- resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==}
-
- '@types/d3-format@3.0.4':
- resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
-
- '@types/d3-geo@3.1.0':
- resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
-
- '@types/d3-hierarchy@3.1.7':
- resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==}
-
'@types/d3-interpolate@3.0.4':
resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
'@types/d3-path@3.1.0':
resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==}
- '@types/d3-polygon@3.0.2':
- resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
-
- '@types/d3-quadtree@3.0.6':
- resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
-
- '@types/d3-random@3.0.3':
- resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
-
- '@types/d3-scale-chromatic@3.1.0':
- resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==}
-
'@types/d3-scale@4.0.8':
resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==}
- '@types/d3-selection@3.0.11':
- resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==}
-
'@types/d3-shape@3.1.6':
resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==}
- '@types/d3-time-format@4.0.3':
- resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
-
'@types/d3-time@3.0.4':
resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
'@types/d3-timer@3.0.2':
resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
- '@types/d3-transition@3.0.9':
- resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==}
-
- '@types/d3-zoom@3.0.8':
- resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
-
- '@types/d3@7.4.3':
- resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
-
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
@@ -10757,9 +10347,6 @@ packages:
'@types/node@20.17.6':
resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==}
- '@types/node@22.15.18':
- resolution: {integrity: sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==}
-
'@types/node@22.19.0':
resolution: {integrity: sha512-xpr/lmLPQEj+TUnHmR+Ab91/glhJvsqcjB+yY0Ix9GO70H6Lb4FHH5GeqdOE5btAx7eIMwuHkp4H2MSkLcqWbA==}
@@ -11940,11 +11527,6 @@ packages:
resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==}
engines: {node: '>=18.17'}
- chevrotain-allstar@0.3.1:
- resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
- peerDependencies:
- chevrotain: ^11.0.0
-
chevrotain@10.5.0:
resolution: {integrity: sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==}
@@ -12094,9 +11676,6 @@ packages:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
- code-block-writer@13.0.3:
- resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==}
-
code-excerpt@4.0.0:
resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -12188,10 +11767,6 @@ packages:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
- commander@7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
- engines: {node: '>= 10'}
-
commander@8.3.0:
resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
engines: {node: '>= 12'}
@@ -12207,9 +11782,6 @@ packages:
resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
engines: {node: '>= 0.8.0'}
- compute-scroll-into-view@3.1.1:
- resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==}
-
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
@@ -12320,12 +11892,6 @@ packages:
resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
engines: {node: '>= 0.10'}
- cose-base@1.0.3:
- resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
-
- cose-base@2.2.0:
- resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==}
-
cosmiconfig@7.1.0:
resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
engines: {node: '>=10'}
@@ -12402,76 +11968,22 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
- cytoscape-cose-bilkent@4.1.0:
- resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
- peerDependencies:
- cytoscape: ^3.2.0
-
- cytoscape-fcose@2.2.0:
- resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==}
- peerDependencies:
- cytoscape: ^3.2.0
-
- cytoscape@3.32.0:
- resolution: {integrity: sha512-5JHBC9n75kz5851jeklCPmZWcg3hUe6sjqJvyk3+hVqFaKcHwHgxsjeN1yLmggoUc6STbtm9/NQyabQehfjvWQ==}
- engines: {node: '>=0.10'}
-
- d3-array@2.12.1:
- resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
-
d3-array@3.2.4:
resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
engines: {node: '>=12'}
- d3-axis@3.0.0:
- resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
- engines: {node: '>=12'}
-
- d3-brush@3.0.0:
- resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
- engines: {node: '>=12'}
-
- d3-chord@3.0.1:
- resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
- engines: {node: '>=12'}
-
d3-color@3.1.0:
resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
engines: {node: '>=12'}
- d3-contour@4.0.2:
- resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
- engines: {node: '>=12'}
-
d3-delaunay@6.0.4:
resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
engines: {node: '>=12'}
- d3-dispatch@3.0.1:
- resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
- engines: {node: '>=12'}
-
- d3-drag@3.0.0:
- resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
- engines: {node: '>=12'}
-
- d3-dsv@3.0.1:
- resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
- engines: {node: '>=12'}
- hasBin: true
-
d3-ease@3.0.1:
resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
engines: {node: '>=12'}
- d3-fetch@3.0.1:
- resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
- engines: {node: '>=12'}
-
- d3-force@3.0.0:
- resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
- engines: {node: '>=12'}
-
d3-format@3.1.0:
resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
engines: {node: '>=12'}
@@ -12484,36 +11996,14 @@ packages:
resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
engines: {node: '>=12'}
- d3-hierarchy@3.1.2:
- resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
- engines: {node: '>=12'}
-
d3-interpolate@3.0.1:
resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
engines: {node: '>=12'}
- d3-path@1.0.9:
- resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
-
d3-path@3.1.0:
resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
engines: {node: '>=12'}
- d3-polygon@3.0.1:
- resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
- engines: {node: '>=12'}
-
- d3-quadtree@3.0.1:
- resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
- engines: {node: '>=12'}
-
- d3-random@3.0.1:
- resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
- engines: {node: '>=12'}
-
- d3-sankey@0.12.3:
- resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
-
d3-scale-chromatic@3.1.0:
resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==}
engines: {node: '>=12'}
@@ -12522,13 +12012,6 @@ packages:
resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
engines: {node: '>=12'}
- d3-selection@3.0.0:
- resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
- engines: {node: '>=12'}
-
- d3-shape@1.3.7:
- resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
-
d3-shape@3.2.0:
resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
engines: {node: '>=12'}
@@ -12545,27 +12028,10 @@ packages:
resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
engines: {node: '>=12'}
- d3-transition@3.0.1:
- resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
- engines: {node: '>=12'}
- peerDependencies:
- d3-selection: 2 - 3
-
d3-tricontour@1.0.2:
resolution: {integrity: sha512-HIRxHzHagPtUPNabjOlfcyismJYIsc+Xlq4mlsts4e8eAcwyq9Tgk/sYdyhlBpQ0MHwVquc/8j+e29YjXnmxeA==}
engines: {node: '>=12'}
- d3-zoom@3.0.0:
- resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
- engines: {node: '>=12'}
-
- d3@7.9.0:
- resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
- engines: {node: '>=12'}
-
- dagre-d3-es@7.0.11:
- resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==}
-
damerau-levenshtein@1.0.8:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
@@ -12622,9 +12088,6 @@ packages:
date-fns@4.1.0:
resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
- dayjs@1.11.13:
- resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
-
db0@0.3.4:
resolution: {integrity: sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==}
peerDependencies:
@@ -12896,9 +12359,6 @@ packages:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
engines: {node: '>= 4'}
- dompurify@3.2.6:
- resolution: {integrity: sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==}
-
dompurify@3.3.1:
resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==}
@@ -13246,15 +12706,6 @@ packages:
typescript:
optional: true
- eslint-config-next@15.3.2:
- resolution: {integrity: sha512-FerU4DYccO4FgeYFFglz0SnaKRe1ejXQrDb8kWUkTAg036YWi+jUsgg4sIGNCDhAsDITsZaL4MzBWKB6f4G1Dg==}
- peerDependencies:
- eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
- typescript: '>=3.3.1'
- peerDependenciesMeta:
- typescript:
- optional: true
-
eslint-import-resolver-node@0.3.9:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
@@ -13351,12 +12802,6 @@ packages:
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
- eslint-plugin-react-hooks@5.1.0:
- resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==}
- engines: {node: '>=10'}
- peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
-
eslint-plugin-react-hooks@5.2.0:
resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
engines: {node: '>=10'}
@@ -13470,9 +12915,6 @@ packages:
estree-util-to-js@2.0.0:
resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
- estree-util-value-to-estree@3.5.0:
- resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==}
-
estree-util-visit@2.0.0:
resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
@@ -13508,10 +12950,6 @@ packages:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
engines: {node: '>=0.8.x'}
- eventsource-parser@3.0.3:
- resolution: {integrity: sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA==}
- engines: {node: '>=20.0.0'}
-
eventsource-parser@3.0.6:
resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==}
engines: {node: '>=18.0.0'}
@@ -13557,10 +12995,6 @@ packages:
exsolve@1.0.8:
resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==}
- extend-shallow@2.0.1:
- resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
- engines: {node: '>=0.10.0'}
-
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -13593,10 +13027,6 @@ packages:
fast-fifo@1.3.2:
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
- fast-glob@3.3.1:
- resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
- engines: {node: '>=8.6.0'}
-
fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
@@ -13623,10 +13053,6 @@ packages:
fast-xml-builder@1.1.4:
resolution: {integrity: sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==}
- fast-xml-parser@4.5.3:
- resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==}
- hasBin: true
-
fast-xml-parser@5.2.5:
resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==}
hasBin: true
@@ -13739,9 +13165,6 @@ packages:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'}
- foreach@2.0.6:
- resolution: {integrity: sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==}
-
foreground-child@3.2.1:
resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==}
engines: {node: '>=14'}
@@ -13848,95 +13271,6 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
- fumadocs-core@15.3.3:
- resolution: {integrity: sha512-3i547DisQ/k4v5UYECgTIi14be2TGrnomwT6AKOis+Nj0A8sUdaMEU6KgYT9GAOUeeC6A733pSm6Bi8aY91/IQ==}
- peerDependencies:
- '@oramacloud/client': 1.x.x || 2.x.x
- algoliasearch: 4.24.0
- next: 14.x.x || 15.x.x
- react: 18.x.x || 19.x.x
- react-dom: 18.x.x || 19.x.x
- peerDependenciesMeta:
- '@oramacloud/client':
- optional: true
- algoliasearch:
- optional: true
- next:
- optional: true
- react:
- optional: true
- react-dom:
- optional: true
-
- fumadocs-core@15.3.4:
- resolution: {integrity: sha512-uByllEnsBhV9XOycEyXVJhXcK6RpBgJnWxpafe/MxmDJ926ovRHFDHbiqnsvNdrFiO3h69v/UkIIZiOzdwMVFA==}
- peerDependencies:
- '@oramacloud/client': 1.x.x || 2.x.x
- algoliasearch: 4.24.0
- next: 14.x.x || 15.x.x
- react: 18.x.x || 19.x.x
- react-dom: 18.x.x || 19.x.x
- peerDependenciesMeta:
- '@oramacloud/client':
- optional: true
- algoliasearch:
- optional: true
- next:
- optional: true
- react:
- optional: true
- react-dom:
- optional: true
-
- fumadocs-mdx@11.6.4:
- resolution: {integrity: sha512-pGczNrR+w31JJ8/L9TfFFoe0dGNV43suz2YXyz1iD1yQ2j2VldLqYZ12UyRi7IsqTiVBFUSkRks1iYBRvNr/4w==}
- hasBin: true
- peerDependencies:
- '@fumadocs/mdx-remote': ^1.2.0
- fumadocs-core: ^14.0.0 || ^15.0.0
- next: ^15.3.0
- peerDependenciesMeta:
- '@fumadocs/mdx-remote':
- optional: true
-
- fumadocs-openapi@8.1.12:
- resolution: {integrity: sha512-v+A0xx3Uzpe73AyfeFGlKMC0pOI155ls2bT1Li6K3jj6PFa9vK3pRMrEXVsoXGmphfgd9O5jlFOAMDSauZcd5w==}
- peerDependencies:
- '@scalar/api-client-react': '*'
- next: 14.x.x || 15.x.x
- react: 18.x.x || 19.x.x
- react-dom: 18.x.x || 19.x.x
- peerDependenciesMeta:
- '@scalar/api-client-react':
- optional: true
-
- fumadocs-typescript@4.0.5:
- resolution: {integrity: sha512-PN6BKj0jhs9KYUPf9mBIXFoBl7kGywTa/1ks3H8Mrs46geiY2u5amHHdPy5KLnqXrdW6jlCekciV3ztO7qi77g==}
- peerDependencies:
- typescript: '*'
-
- fumadocs-ui@15.3.3:
- resolution: {integrity: sha512-/jYy4xjK4kMjpcm2ANG3qPGid/wFQdSyCYBXA0OariZEGh1yoDVcwDHYDXOXsiEkVtrRZWI4zjVcIF23r5/SxA==}
- peerDependencies:
- next: 14.x.x || 15.x.x
- react: 18.x.x || 19.x.x
- react-dom: 18.x.x || 19.x.x
- tailwindcss: ^3.4.14 || ^4.0.0
- peerDependenciesMeta:
- tailwindcss:
- optional: true
-
- fumadocs-ui@15.3.4:
- resolution: {integrity: sha512-a+uvMA0IYwqNFIBSeV1N/uECfI7gO86vTc4ZXOQStDEupEfvmkc4bcrn7+v97kYCJJbZBiRckvLzRaJSi2epFw==}
- peerDependencies:
- next: 14.x.x || 15.x.x
- react: 18.x.x || 19.x.x
- react-dom: 18.x.x || 19.x.x
- tailwindcss: ^3.4.14 || ^4.0.0
- peerDependenciesMeta:
- tailwindcss:
- optional: true
-
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
@@ -14048,9 +13382,6 @@ packages:
github-from-package@0.0.0:
resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
- github-slugger@2.0.0:
- resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
-
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
@@ -14083,12 +13414,6 @@ packages:
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
hasBin: true
- glob@11.0.1:
- resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==}
- engines: {node: 20 || >=22}
- deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
- hasBin: true
-
glob@13.0.6:
resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
engines: {node: 18 || 20 || >=22}
@@ -14154,10 +13479,6 @@ packages:
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
- gray-matter@4.0.3:
- resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
- engines: {node: '>=6.0'}
-
gulp-sort@2.0.0:
resolution: {integrity: sha512-MyTel3FXOdh1qhw1yKhpimQrAmur9q1X0ZigLmCOxouQD+BD3za9/89O+HfbgBQvvh4igEbp0/PUWO+VqGYG1g==}
@@ -14194,9 +13515,6 @@ packages:
crossws:
optional: true
- hachure-fill@0.5.2:
- resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
-
handlebars@4.7.8:
resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
engines: {node: '>=0.4.7'}
@@ -14470,11 +13788,6 @@ packages:
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
engines: {node: '>= 4'}
- image-size@2.0.2:
- resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==}
- engines: {node: '>=16.x'}
- hasBin: true
-
immer@9.0.21:
resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
@@ -14577,9 +13890,6 @@ packages:
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
- internmap@1.0.1:
- resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
-
internmap@2.0.3:
resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
engines: {node: '>=12'}
@@ -14699,10 +14009,6 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
hasBin: true
- is-extendable@0.1.1:
- resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
- engines: {node: '>=0.10.0'}
-
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -14933,10 +14239,6 @@ packages:
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
- jackspeak@4.1.0:
- resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==}
- engines: {node: 20 || >=22}
-
jerrypick@1.1.1:
resolution: {integrity: sha512-XTtedPYEyVp4t6hJrXuRKr/jHj8SC4z+4K0b396PMkov6muL+i8IIamJIvZWe3jUspgIJak0P+BaWKawMYNBLg==}
engines: {node: '>=12'}
@@ -15031,9 +14333,6 @@ packages:
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
- json-pointer@0.6.2:
- resolution: {integrity: sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==}
-
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
@@ -15103,13 +14402,6 @@ packages:
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- khroma@2.1.0:
- resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
-
- kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
-
koa-compose@4.1.0:
resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==}
@@ -15121,13 +14413,6 @@ packages:
resolution: {integrity: sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==}
engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4}
- kolorist@1.8.0:
- resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
-
- langium@3.3.1:
- resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==}
- engines: {node: '>=16.0.0'}
-
language-subtag-registry@0.3.23:
resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
@@ -15135,12 +14420,6 @@ packages:
resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
engines: {node: '>=0.10'}
- layout-base@1.0.2:
- resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
-
- layout-base@2.0.1:
- resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==}
-
lcm@0.0.3:
resolution: {integrity: sha512-TB+ZjoillV6B26Vspf9l2L/vKaRY/4ep3hahcyVkCGFgsTNRUQdc24bQeNFiZeoxH0vr5+7SfNRMQuPHv/1IrQ==}
@@ -15334,10 +14613,6 @@ packages:
resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
engines: {node: '>=14'}
- local-pkg@1.1.1:
- resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==}
- engines: {node: '>=14'}
-
locate-path@3.0.0:
resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
engines: {node: '>=6'}
@@ -15410,10 +14685,6 @@ packages:
resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
engines: {node: 14 || >=16.14}
- lru-cache@11.1.0:
- resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==}
- engines: {node: 20 || >=22}
-
lru-cache@11.2.2:
resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==}
engines: {node: 20 || >=22}
@@ -15451,11 +14722,6 @@ packages:
peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
- lucide-react@0.511.0:
- resolution: {integrity: sha512-VK5a2ydJ7xm8GvBeKLS9mu1pVK6ucef9780JVUjw6bAjJL/QXnd4Y0p7SPeOUMC27YhzNCZvm5d/QX0Tp3rc0w==}
- peerDependencies:
- react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
lz-string@1.5.0:
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
hasBin: true
@@ -15480,11 +14746,6 @@ packages:
markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
- marked@15.0.12:
- resolution: {integrity: sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==}
- engines: {node: '>= 18'}
- hasBin: true
-
matcher-collection@2.0.1:
resolution: {integrity: sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==}
engines: {node: 6.* || 8.* || >= 10.*}
@@ -15592,9 +14853,6 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- mermaid@11.6.0:
- resolution: {integrity: sha512-PE8hGUy1LDlWIHWBP05SFdqUHGmRcCcK4IzpOKPE35eOw+G9zZgcnMpyunJVUEOgb//KBORPjysKndw8bFLuRg==}
-
meshoptimizer@0.18.1:
resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==}
@@ -15779,10 +15037,6 @@ packages:
minimalistic-crypto-utils@1.0.1:
resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==}
- minimatch@10.0.1:
- resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
- engines: {node: 20 || >=22}
-
minimatch@10.2.4:
resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==}
engines: {node: 18 || 20 || >=22}
@@ -15868,9 +15122,6 @@ packages:
mlly@1.7.2:
resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==}
- mlly@1.7.4:
- resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
-
module-details-from-path@1.0.3:
resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==}
@@ -15999,12 +15250,6 @@ packages:
react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
- next-themes@0.4.6:
- resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
- peerDependencies:
- react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
- react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
-
next@14.2.35:
resolution: {integrity: sha512-KhYd2Hjt/O1/1aZVX3dCwGXM1QmOV4eNM2UTacK5gipDdPN/oHHK/4oVGy7X8GMfPMsUTUEmGlsy0EY1YGAkig==}
engines: {node: '>=18.17.0'}
@@ -16360,9 +15605,6 @@ packages:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
- openapi-sampler@1.6.2:
- resolution: {integrity: sha512-NyKGiFKfSWAZr4srD/5WDhInOWDhfml32h/FKUqLpEwKJt0kG0LGUU0MdyNkKrVGuJnw6DuPWq/sHCwAMpiRxg==}
-
openapi-types@12.1.3:
resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==}
@@ -16461,9 +15703,6 @@ packages:
package-manager-detector@0.2.2:
resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==}
- package-manager-detector@1.3.0:
- resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==}
-
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -16505,12 +15744,6 @@ packages:
resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- path-browserify@1.0.1:
- resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
-
- path-data-parser@0.1.0:
- resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==}
-
path-exists@3.0.0:
resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
engines: {node: '>=4'}
@@ -16552,10 +15785,6 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
- path-scurry@2.0.0:
- resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
- engines: {node: 20 || >=22}
-
path-scurry@2.0.2:
resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
engines: {node: 18 || 20 || >=22}
@@ -16681,12 +15910,6 @@ packages:
pkg-types@1.2.1:
resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==}
- pkg-types@1.3.1:
- resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
-
- pkg-types@2.1.0:
- resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==}
-
pkg-types@2.3.0:
resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
@@ -16697,12 +15920,6 @@ packages:
point-in-polygon-hao@1.2.3:
resolution: {integrity: sha512-uZsWylGd8nthIYS8F7aSyM7Pot+4L/bgXheJcCNdRr4eLpsM/rMb3hIi5SqNxAVjUoDDao3QzCtdaVDzmeF9Cw==}
- points-on-curve@0.2.0:
- resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
-
- points-on-path@0.2.1:
- resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
-
polished@4.3.1:
resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==}
engines: {node: '>=10'}
@@ -16781,10 +15998,6 @@ packages:
resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
engines: {node: '>=4'}
- postcss-selector-parser@7.1.0:
- resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
- engines: {node: '>=4'}
-
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
@@ -17011,9 +16224,6 @@ packages:
resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==}
engines: {node: '>=0.6'}
- quansync@0.2.10:
- resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==}
-
quansync@1.0.0:
resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==}
@@ -17175,12 +16385,6 @@ packages:
'@types/react': ^18.2.0
react: '>=18'
- react-medium-image-zoom@5.4.0:
- resolution: {integrity: sha512-BsE+EnFVQzFIlyuuQrZ9iTwyKpKkqdFZV1ImEQN573QPqGrIUuNni7aF+sZwDcxlsuOMayCr6oO/PZR/yJnbRg==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
react-promise-suspense@0.3.4:
resolution: {integrity: sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==}
@@ -17686,9 +16890,6 @@ packages:
rou3@0.8.1:
resolution: {integrity: sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA==}
- roughjs@4.6.6:
- resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
-
router@2.2.0:
resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==}
engines: {node: '>= 18'}
@@ -17723,9 +16924,6 @@ packages:
rusha@0.8.14:
resolution: {integrity: sha512-cLgakCUf6PedEu15t8kbsjnwIFFR2D4RfL+W3iWFJ4iac7z4B0ZI8fxy4R3J956kAI68HclCFGL8MPoUVC3qVA==}
- rw@1.3.3:
- resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
-
rxjs@7.8.1:
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
@@ -17792,13 +16990,6 @@ packages:
resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==}
engines: {node: '>= 10.13.0'}
- scroll-into-view-if-needed@3.1.0:
- resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==}
-
- section-matter@1.0.0:
- resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
- engines: {node: '>=4'}
-
secure-json-parse@2.7.0:
resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
@@ -17937,9 +17128,6 @@ packages:
shiki@3.14.0:
resolution: {integrity: sha512-J0yvpLI7LSig3Z3acIuDLouV5UCKQqu8qOArwMx+/yPVC3WRMgrP67beaG8F+j4xfEWE0eVC4GeBCIXeOPra1g==}
- shiki@3.6.0:
- resolution: {integrity: sha512-tKn/Y0MGBTffQoklaATXmTqDU02zx8NYBGQ+F6gy87/YjKbizcLd+Cybh/0ZtOBX9r1NEnAy/GTRDKtOsc1L9w==}
-
shimmer@1.2.1:
resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==}
@@ -18252,10 +17440,6 @@ packages:
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
engines: {node: '>=12'}
- strip-bom-string@1.0.0:
- resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
- engines: {node: '>=0.10.0'}
-
strip-bom@3.0.0:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
@@ -18288,9 +17472,6 @@ packages:
'@types/node':
optional: true
- strnum@1.1.2:
- resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==}
-
strnum@2.1.1:
resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==}
@@ -18332,9 +17513,6 @@ packages:
stylis@4.2.0:
resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
- stylis@4.3.6:
- resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==}
-
sucrase@3.35.0:
resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -18638,16 +17816,9 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
- ts-dedent@2.2.0:
- resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
- engines: {node: '>=6.10'}
-
ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- ts-morph@26.0.0:
- resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==}
-
tsconfck@3.1.5:
resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==}
engines: {node: ^18 || >=20}
@@ -19440,26 +18611,6 @@ packages:
jsdom:
optional: true
- vscode-jsonrpc@8.2.0:
- resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
- engines: {node: '>=14.0.0'}
-
- vscode-languageserver-protocol@3.17.5:
- resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
-
- vscode-languageserver-textdocument@1.0.12:
- resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==}
-
- vscode-languageserver-types@3.17.5:
- resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
-
- vscode-languageserver@9.0.1:
- resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
- hasBin: true
-
- vscode-uri@3.0.8:
- resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
-
w3c-xmlserializer@5.0.0:
resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
engines: {node: '>=18'}
@@ -19669,10 +18820,6 @@ packages:
resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==}
engines: {node: '>= 6.0'}
- xml-js@1.6.11:
- resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
- hasBin: true
-
xml-name-validator@5.0.0:
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
engines: {node: '>=18'}
@@ -19851,8 +18998,6 @@ packages:
snapshots:
- 2027-track@0.1.9: {}
-
'@ai-sdk/gateway@3.0.41(zod@3.25.76)':
dependencies:
'@ai-sdk/provider': 3.0.8
@@ -19974,16 +19119,6 @@ snapshots:
transitivePeerDependencies:
- zod
- '@ai-sdk/react@3.0.83(react@18.3.1)(zod@3.25.76)':
- dependencies:
- '@ai-sdk/provider-utils': 4.0.14(zod@3.25.76)
- ai: 6.0.81(zod@3.25.76)
- react: 18.3.1
- swr: 2.3.4(react@18.3.1)
- throttleit: 2.1.0
- transitivePeerDependencies:
- - zod
-
'@ai-sdk/react@3.0.83(react@19.2.3)(zod@4.1.12)':
dependencies:
'@ai-sdk/provider-utils': 4.0.14(zod@4.1.12)
@@ -20013,13 +19148,6 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
- '@antfu/install-pkg@1.1.0':
- dependencies:
- package-manager-detector: 1.3.0
- tinyexec: 1.0.1
-
- '@antfu/utils@8.1.1': {}
-
'@anthropic-ai/claude-agent-sdk@0.2.73(zod@4.3.6)':
dependencies:
zod: 4.3.6
@@ -20034,12 +19162,6 @@ snapshots:
'@img/sharp-win32-arm64': 0.34.4
'@img/sharp-win32-x64': 0.34.4
- '@apidevtools/json-schema-ref-parser@11.9.3':
- dependencies:
- '@jsdevtools/ono': 7.1.3
- '@types/json-schema': 7.0.15
- js-yaml: 4.1.1
-
'@ark/schema@0.55.0':
dependencies:
'@ark/util': 0.55.0
@@ -21489,8 +20611,6 @@ snapshots:
'@babel/helper-string-parser': 8.0.0-rc.2
'@babel/helper-validator-identifier': 8.0.0-rc.2
- '@braintree/sanitize-url@7.1.1': {}
-
'@canvas/image-data@1.1.0': {}
'@changesets/apply-release-plan@7.0.5':
@@ -22638,29 +21758,6 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@formatjs/intl-localematcher@0.6.2':
- dependencies:
- tslib: 2.8.1
-
- '@fumadocs/mdx-remote@1.4.0(@types/react@18.3.12)(fumadocs-core@15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@mdx-js/mdx': 3.1.1
- fumadocs-core: 15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- gray-matter: 4.0.3
- react: 18.3.1
- zod: 4.3.6
- optionalDependencies:
- '@types/react': 18.3.12
- transitivePeerDependencies:
- - supports-color
- optional: true
-
- '@fumari/json-schema-to-typescript@1.1.3':
- dependencies:
- '@apidevtools/json-schema-ref-parser': 11.9.3
- js-yaml: 4.1.1
- prettier: 3.5.3
-
'@grpc/grpc-js@1.14.3':
dependencies:
'@grpc/proto-loader': 0.8.0
@@ -22730,21 +21827,6 @@ snapshots:
'@humanwhocodes/retry@0.4.2': {}
- '@iconify/types@2.0.0': {}
-
- '@iconify/utils@2.3.0':
- dependencies:
- '@antfu/install-pkg': 1.1.0
- '@antfu/utils': 8.1.1
- '@iconify/types': 2.0.0
- debug: 4.4.3
- globals: 15.15.0
- kolorist: 1.8.0
- local-pkg: 1.1.1
- mlly: 1.7.4
- transitivePeerDependencies:
- - supports-color
-
'@img/colour@1.0.0': {}
'@img/sharp-darwin-arm64@0.34.4':
@@ -23211,8 +22293,6 @@ snapshots:
'@js-sdsl/ordered-map@4.4.2': {}
- '@jsdevtools/ono@7.1.3': {}
-
'@jsep-plugin/assignment@1.3.0(jsep@1.4.0)':
dependencies:
jsep: 1.4.0
@@ -23305,10 +22385,6 @@ snapshots:
'@types/react': 18.3.12
react: 19.2.3
- '@mermaid-js/parser@0.4.0':
- dependencies:
- langium: 3.3.1
-
'@mintlify/cli@4.0.1090(@radix-ui/react-popover@1.1.15(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(@types/node@24.9.2)(@types/react@18.3.12)(encoding@0.1.13)(react-dom@19.2.3(react@19.2.3))(tsx@4.19.3)(typescript@5.9.3)(yaml@2.6.0)':
dependencies:
'@inquirer/prompts': 7.9.0(@types/node@24.9.2)
@@ -24146,7 +23222,7 @@ snapshots:
cors: 2.8.5
cross-spawn: 7.0.6
eventsource: 3.0.7
- eventsource-parser: 3.0.3
+ eventsource-parser: 3.0.6
express: 5.1.0
express-rate-limit: 7.5.1(express@5.1.0)
pkce-challenge: 5.0.0
@@ -24206,10 +23282,6 @@ snapshots:
dependencies:
glob: 10.3.10
- '@next/eslint-plugin-next@15.3.2':
- dependencies:
- fast-glob: 3.3.1
-
'@next/swc-darwin-arm64@14.2.33':
optional: true
@@ -25504,8 +24576,6 @@ snapshots:
'@opentelemetry/api': 1.9.0
'@opentelemetry/core': 2.6.1(@opentelemetry/api@1.9.0)
- '@orama/orama@3.1.16': {}
-
'@oslojs/asn1@1.0.0':
dependencies:
'@oslojs/binary': 1.0.0
@@ -25625,11 +24695,6 @@ snapshots:
tslib: 2.8.1
tsyringe: 4.10.0
- '@phosphor-icons/react@2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
'@phosphor-icons/react@2.1.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3)':
dependencies:
react: 19.2.3
@@ -26148,22 +25213,6 @@ snapshots:
'@types/react': 18.3.12
'@types/react-dom': 18.3.1
- '@radix-ui/react-collapsible@1.1.11(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
'@radix-ui/react-collapsible@1.1.12(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -26490,19 +25539,6 @@ snapshots:
'@types/react': 18.3.12
'@types/react-dom': 18.3.1
- '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
'@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -26593,12 +25629,6 @@ snapshots:
optionalDependencies:
'@types/react': 18.3.12
- '@radix-ui/react-focus-guards@1.1.2(@types/react@18.3.12)(react@18.3.1)':
- dependencies:
- react: 18.3.1
- optionalDependencies:
- '@types/react': 18.3.12
-
'@radix-ui/react-focus-guards@1.1.3(@types/react@18.3.12)(react@18.3.1)':
dependencies:
react: 18.3.1
@@ -26980,29 +26010,6 @@ snapshots:
'@types/react': 18.3.12
'@types/react-dom': 18.3.1
- '@radix-ui/react-popover@1.1.14(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.12)(react@18.3.1)
- aria-hidden: 1.2.4
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.7.1(@types/react@18.3.12)(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
'@radix-ui/react-popover@1.1.15(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -27108,24 +26115,6 @@ snapshots:
'@types/react': 18.3.12
'@types/react-dom': 18.3.1
- '@radix-ui/react-popper@1.2.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-rect': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/rect': 1.1.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
'@radix-ui/react-popper@1.2.8(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -27232,16 +26221,6 @@ snapshots:
'@types/react': 18.3.12
'@types/react-dom': 18.3.1
- '@radix-ui/react-presence@1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
'@radix-ui/react-presence@1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.12)(react@18.3.1)
@@ -27436,23 +26415,6 @@ snapshots:
'@types/react': 18.3.12
'@types/react-dom': 18.3.1
- '@radix-ui/react-roving-focus@1.1.10(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.12)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
'@radix-ui/react-roving-focus@1.1.11(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -27538,23 +26500,6 @@ snapshots:
'@types/react': 18.3.12
'@types/react-dom': 18.3.1
- '@radix-ui/react-scroll-area@1.2.9(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/number': 1.1.1
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
'@radix-ui/react-select@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)':
dependencies:
'@radix-ui/number': 1.1.0
@@ -27836,22 +26781,6 @@ snapshots:
'@types/react': 18.3.12
'@types/react-dom': 18.3.1
- '@radix-ui/react-tabs@1.1.12(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@radix-ui/primitive': 1.1.2
- '@radix-ui/react-context': 1.1.2(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-id': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.12)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 18.3.12
- '@types/react-dom': 18.3.1
-
'@radix-ui/react-tabs@1.1.13(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -28769,15 +27698,6 @@ snapshots:
'@rushstack/eslint-patch@1.10.4': {}
- '@scalar/openapi-parser@0.10.17':
- dependencies:
- ajv: 8.17.1
- ajv-draft-04: 1.0.0(ajv@8.17.1)
- ajv-formats: 3.0.1(ajv@8.17.1)
- jsonpointer: 5.0.1
- leven: 4.0.0
- yaml: 2.8.0
-
'@selderee/plugin-htmlparser2@0.11.0':
dependencies:
domhandler: 5.0.3
@@ -29245,60 +28165,25 @@ snapshots:
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
- '@shikijs/core@3.6.0':
- dependencies:
- '@shikijs/types': 3.6.0
- '@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
- hast-util-to-html: 9.0.5
-
'@shikijs/engine-javascript@3.14.0':
dependencies:
'@shikijs/types': 3.14.0
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.3.3
- '@shikijs/engine-javascript@3.6.0':
- dependencies:
- '@shikijs/types': 3.6.0
- '@shikijs/vscode-textmate': 10.0.2
- oniguruma-to-es: 4.3.3
-
'@shikijs/engine-oniguruma@3.14.0':
dependencies:
'@shikijs/types': 3.14.0
'@shikijs/vscode-textmate': 10.0.2
- '@shikijs/engine-oniguruma@3.6.0':
- dependencies:
- '@shikijs/types': 3.6.0
- '@shikijs/vscode-textmate': 10.0.2
-
'@shikijs/langs@3.14.0':
dependencies:
'@shikijs/types': 3.14.0
- '@shikijs/langs@3.6.0':
- dependencies:
- '@shikijs/types': 3.6.0
-
- '@shikijs/rehype@3.14.0':
- dependencies:
- '@shikijs/types': 3.14.0
- '@types/hast': 3.0.4
- hast-util-to-string: 3.0.1
- shiki: 3.14.0
- unified: 11.0.5
- unist-util-visit: 5.0.0
-
'@shikijs/themes@3.14.0':
dependencies:
'@shikijs/types': 3.14.0
- '@shikijs/themes@3.6.0':
- dependencies:
- '@shikijs/types': 3.6.0
-
'@shikijs/transformers@3.14.0':
dependencies:
'@shikijs/core': 3.14.0
@@ -29323,11 +28208,6 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
- '@shikijs/types@3.6.0':
- dependencies:
- '@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
-
'@shikijs/vscode-textmate@10.0.2': {}
'@sideway/address@4.1.5':
@@ -30819,7 +29699,7 @@ snapshots:
picomatch: 4.0.3
seroval: 1.5.1
source-map: 0.7.6
- srvx: 0.11.9
+ srvx: 0.11.15
tinyglobby: 0.2.15
ufo: 1.6.3
vitefu: 1.1.2(vite@7.3.1(@types/node@22.19.0)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))
@@ -30853,7 +29733,7 @@ snapshots:
picomatch: 4.0.3
seroval: 1.5.1
source-map: 0.7.6
- srvx: 0.11.9
+ srvx: 0.11.15
tinyglobby: 0.2.15
ufo: 1.6.3
vitefu: 1.1.2(vite@7.3.1(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))
@@ -30887,7 +29767,7 @@ snapshots:
picomatch: 4.0.3
seroval: 1.5.1
source-map: 0.7.6
- srvx: 0.11.9
+ srvx: 0.11.15
tinyglobby: 0.2.15
ufo: 1.6.3
vitefu: 1.1.2(vite@7.3.1(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.0))
@@ -30970,12 +29850,6 @@ snapshots:
'@tootallnate/quickjs-emscripten@0.23.0': {}
- '@ts-morph/common@0.27.0':
- dependencies:
- fast-glob: 3.3.3
- minimatch: 10.2.4
- path-browserify: 1.0.1
-
'@turf/boolean-point-in-polygon@7.1.0':
dependencies:
'@turf/helpers': 7.1.0
@@ -31093,121 +29967,28 @@ snapshots:
'@types/d3-array@3.2.1': {}
- '@types/d3-axis@3.0.6':
- dependencies:
- '@types/d3-selection': 3.0.11
-
- '@types/d3-brush@3.0.6':
- dependencies:
- '@types/d3-selection': 3.0.11
-
- '@types/d3-chord@3.0.6': {}
-
'@types/d3-color@3.1.3': {}
- '@types/d3-contour@3.0.6':
- dependencies:
- '@types/d3-array': 3.2.1
- '@types/geojson': 7946.0.15
-
- '@types/d3-delaunay@6.0.4': {}
-
- '@types/d3-dispatch@3.0.6': {}
-
- '@types/d3-drag@3.0.7':
- dependencies:
- '@types/d3-selection': 3.0.11
-
- '@types/d3-dsv@3.0.7': {}
-
'@types/d3-ease@3.0.2': {}
- '@types/d3-fetch@3.0.7':
- dependencies:
- '@types/d3-dsv': 3.0.7
-
- '@types/d3-force@3.0.10': {}
-
- '@types/d3-format@3.0.4': {}
-
- '@types/d3-geo@3.1.0':
- dependencies:
- '@types/geojson': 7946.0.15
-
- '@types/d3-hierarchy@3.1.7': {}
-
'@types/d3-interpolate@3.0.4':
dependencies:
'@types/d3-color': 3.1.3
'@types/d3-path@3.1.0': {}
- '@types/d3-polygon@3.0.2': {}
-
- '@types/d3-quadtree@3.0.6': {}
-
- '@types/d3-random@3.0.3': {}
-
- '@types/d3-scale-chromatic@3.1.0': {}
-
'@types/d3-scale@4.0.8':
dependencies:
'@types/d3-time': 3.0.4
- '@types/d3-selection@3.0.11': {}
-
'@types/d3-shape@3.1.6':
dependencies:
'@types/d3-path': 3.1.0
- '@types/d3-time-format@4.0.3': {}
-
'@types/d3-time@3.0.4': {}
'@types/d3-timer@3.0.2': {}
- '@types/d3-transition@3.0.9':
- dependencies:
- '@types/d3-selection': 3.0.11
-
- '@types/d3-zoom@3.0.8':
- dependencies:
- '@types/d3-interpolate': 3.0.4
- '@types/d3-selection': 3.0.11
-
- '@types/d3@7.4.3':
- dependencies:
- '@types/d3-array': 3.2.1
- '@types/d3-axis': 3.0.6
- '@types/d3-brush': 3.0.6
- '@types/d3-chord': 3.0.6
- '@types/d3-color': 3.1.3
- '@types/d3-contour': 3.0.6
- '@types/d3-delaunay': 6.0.4
- '@types/d3-dispatch': 3.0.6
- '@types/d3-drag': 3.0.7
- '@types/d3-dsv': 3.0.7
- '@types/d3-ease': 3.0.2
- '@types/d3-fetch': 3.0.7
- '@types/d3-force': 3.0.10
- '@types/d3-format': 3.0.4
- '@types/d3-geo': 3.1.0
- '@types/d3-hierarchy': 3.1.7
- '@types/d3-interpolate': 3.0.4
- '@types/d3-path': 3.1.0
- '@types/d3-polygon': 3.0.2
- '@types/d3-quadtree': 3.0.6
- '@types/d3-random': 3.0.3
- '@types/d3-scale': 4.0.8
- '@types/d3-scale-chromatic': 3.1.0
- '@types/d3-selection': 3.0.11
- '@types/d3-shape': 3.1.6
- '@types/d3-time': 3.0.4
- '@types/d3-time-format': 4.0.3
- '@types/d3-timer': 3.0.2
- '@types/d3-transition': 3.0.9
- '@types/d3-zoom': 3.0.8
-
'@types/debug@4.1.12':
dependencies:
'@types/ms': 2.1.0
@@ -31338,10 +30119,6 @@ snapshots:
dependencies:
undici-types: 6.19.8
- '@types/node@22.15.18':
- dependencies:
- undici-types: 6.21.0
-
'@types/node@22.19.0':
dependencies:
undici-types: 6.21.0
@@ -32809,11 +31586,6 @@ snapshots:
undici: 6.19.8
whatwg-mimetype: 4.0.0
- chevrotain-allstar@0.3.1(chevrotain@11.0.3):
- dependencies:
- chevrotain: 11.0.3
- lodash-es: 4.17.21
-
chevrotain@10.5.0:
dependencies:
'@chevrotain/cst-dts-gen': 10.5.0
@@ -33002,8 +31774,6 @@ snapshots:
co@4.6.0: {}
- code-block-writer@13.0.3: {}
-
code-excerpt@4.0.0:
dependencies:
convert-to-spaces: 2.0.1
@@ -33075,8 +31845,6 @@ snapshots:
commander@4.1.1: {}
- commander@7.2.0: {}
-
commander@8.3.0: {}
commondir@1.0.1: {}
@@ -33097,8 +31865,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- compute-scroll-into-view@3.1.1: {}
-
concat-map@0.0.1: {}
concurrently@8.2.2:
@@ -33190,14 +31956,6 @@ snapshots:
object-assign: 4.1.1
vary: 1.1.2
- cose-base@1.0.3:
- dependencies:
- layout-base: 1.0.2
-
- cose-base@2.2.0:
- dependencies:
- layout-base: 2.0.1
-
cosmiconfig@7.1.0:
dependencies:
'@types/parse-json': 4.0.2
@@ -33274,75 +32032,18 @@ snapshots:
csstype@3.1.3: {}
- cytoscape-cose-bilkent@4.1.0(cytoscape@3.32.0):
- dependencies:
- cose-base: 1.0.3
- cytoscape: 3.32.0
-
- cytoscape-fcose@2.2.0(cytoscape@3.32.0):
- dependencies:
- cose-base: 2.2.0
- cytoscape: 3.32.0
-
- cytoscape@3.32.0: {}
-
- d3-array@2.12.1:
- dependencies:
- internmap: 1.0.1
-
d3-array@3.2.4:
dependencies:
internmap: 2.0.3
- d3-axis@3.0.0: {}
-
- d3-brush@3.0.0:
- dependencies:
- d3-dispatch: 3.0.1
- d3-drag: 3.0.0
- d3-interpolate: 3.0.1
- d3-selection: 3.0.0
- d3-transition: 3.0.1(d3-selection@3.0.0)
-
- d3-chord@3.0.1:
- dependencies:
- d3-path: 3.1.0
-
d3-color@3.1.0: {}
- d3-contour@4.0.2:
- dependencies:
- d3-array: 3.2.4
-
d3-delaunay@6.0.4:
dependencies:
delaunator: 5.0.1
- d3-dispatch@3.0.1: {}
-
- d3-drag@3.0.0:
- dependencies:
- d3-dispatch: 3.0.1
- d3-selection: 3.0.0
-
- d3-dsv@3.0.1:
- dependencies:
- commander: 7.2.0
- iconv-lite: 0.6.3
- rw: 1.3.3
-
d3-ease@3.0.1: {}
- d3-fetch@3.0.1:
- dependencies:
- d3-dsv: 3.0.1
-
- d3-force@3.0.0:
- dependencies:
- d3-dispatch: 3.0.1
- d3-quadtree: 3.0.1
- d3-timer: 3.0.1
-
d3-format@3.1.0: {}
d3-geo-voronoi@2.1.0:
@@ -33356,27 +32057,12 @@ snapshots:
dependencies:
d3-array: 3.2.4
- d3-hierarchy@3.1.2: {}
-
d3-interpolate@3.0.1:
dependencies:
d3-color: 3.1.0
- d3-path@1.0.9: {}
-
d3-path@3.1.0: {}
- d3-polygon@3.0.1: {}
-
- d3-quadtree@3.0.1: {}
-
- d3-random@3.0.1: {}
-
- d3-sankey@0.12.3:
- dependencies:
- d3-array: 2.12.1
- d3-shape: 1.3.7
-
d3-scale-chromatic@3.1.0:
dependencies:
d3-color: 3.1.0
@@ -33390,12 +32076,6 @@ snapshots:
d3-time: 3.1.0
d3-time-format: 4.1.0
- d3-selection@3.0.0: {}
-
- d3-shape@1.3.7:
- dependencies:
- d3-path: 1.0.9
-
d3-shape@3.2.0:
dependencies:
d3-path: 3.1.0
@@ -33410,66 +32090,11 @@ snapshots:
d3-timer@3.0.1: {}
- d3-transition@3.0.1(d3-selection@3.0.0):
- dependencies:
- d3-color: 3.1.0
- d3-dispatch: 3.0.1
- d3-ease: 3.0.1
- d3-interpolate: 3.0.1
- d3-selection: 3.0.0
- d3-timer: 3.0.1
-
d3-tricontour@1.0.2:
dependencies:
d3-delaunay: 6.0.4
d3-scale: 4.0.2
- d3-zoom@3.0.0:
- dependencies:
- d3-dispatch: 3.0.1
- d3-drag: 3.0.0
- d3-interpolate: 3.0.1
- d3-selection: 3.0.0
- d3-transition: 3.0.1(d3-selection@3.0.0)
-
- d3@7.9.0:
- dependencies:
- d3-array: 3.2.4
- d3-axis: 3.0.0
- d3-brush: 3.0.0
- d3-chord: 3.0.1
- d3-color: 3.1.0
- d3-contour: 4.0.2
- d3-delaunay: 6.0.4
- d3-dispatch: 3.0.1
- d3-drag: 3.0.0
- d3-dsv: 3.0.1
- d3-ease: 3.0.1
- d3-fetch: 3.0.1
- d3-force: 3.0.0
- d3-format: 3.1.0
- d3-geo: 3.1.1
- d3-hierarchy: 3.1.2
- d3-interpolate: 3.0.1
- d3-path: 3.1.0
- d3-polygon: 3.0.1
- d3-quadtree: 3.0.1
- d3-random: 3.0.1
- d3-scale: 4.0.2
- d3-scale-chromatic: 3.1.0
- d3-selection: 3.0.0
- d3-shape: 3.2.0
- d3-time: 3.1.0
- d3-time-format: 4.1.0
- d3-timer: 3.0.1
- d3-transition: 3.0.1(d3-selection@3.0.0)
- d3-zoom: 3.0.0
-
- dagre-d3-es@7.0.11:
- dependencies:
- d3: 7.9.0
- lodash-es: 4.17.21
-
damerau-levenshtein@1.0.8: {}
data-joint@1.3.1:
@@ -33531,8 +32156,6 @@ snapshots:
date-fns@4.1.0: {}
- dayjs@1.11.13: {}
-
db0@0.3.4(@electric-sql/pglite@0.3.2)(mysql2@3.15.3):
optionalDependencies:
'@electric-sql/pglite': 0.3.2
@@ -33728,10 +32351,6 @@ snapshots:
dependencies:
domelementtype: 2.3.0
- dompurify@3.2.6:
- optionalDependencies:
- '@types/trusted-types': 2.0.7
-
dompurify@3.3.1:
optionalDependencies:
'@types/trusted-types': 2.0.7
@@ -34411,26 +33030,6 @@ snapshots:
- eslint-plugin-import-x
- supports-color
- eslint-config-next@15.3.2(eslint@8.57.1)(typescript@5.9.3):
- dependencies:
- '@next/eslint-plugin-next': 15.3.2
- '@rushstack/eslint-patch': 1.10.4
- '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
- '@typescript-eslint/parser': 8.56.1(eslint@8.57.1)(typescript@5.9.3)
- eslint: 8.57.1
- eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
- eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
- eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
- eslint-plugin-react: 7.37.2(eslint@8.57.1)
- eslint-plugin-react-hooks: 5.1.0(eslint@8.57.1)
- optionalDependencies:
- typescript: 5.9.3
- transitivePeerDependencies:
- - eslint-import-resolver-webpack
- - eslint-plugin-import-x
- - supports-color
-
eslint-import-resolver-node@0.3.9:
dependencies:
debug: 3.2.7
@@ -34720,10 +33319,6 @@ snapshots:
dependencies:
eslint: 8.57.1
- eslint-plugin-react-hooks@5.1.0(eslint@8.57.1):
- dependencies:
- eslint: 8.57.1
-
eslint-plugin-react-hooks@5.2.0(eslint@9.39.1(jiti@2.6.1)):
dependencies:
eslint: 9.39.1(jiti@2.6.1)
@@ -34921,10 +33516,6 @@ snapshots:
astring: 1.9.0
source-map: 0.7.6
- estree-util-value-to-estree@3.5.0:
- dependencies:
- '@types/estree': 1.0.8
-
estree-util-visit@2.0.0:
dependencies:
'@types/estree-jsx': 1.0.5
@@ -34954,8 +33545,6 @@ snapshots:
events@3.3.0: {}
- eventsource-parser@3.0.3: {}
-
eventsource-parser@3.0.6: {}
eventsource@3.0.7:
@@ -35093,7 +33682,7 @@ snapshots:
router: 2.2.0
send: 1.2.0
serve-static: 2.2.0
- statuses: 2.0.1
+ statuses: 2.0.2
type-is: 2.0.1
vary: 1.1.2
transitivePeerDependencies:
@@ -35101,10 +33690,6 @@ snapshots:
exsolve@1.0.8: {}
- extend-shallow@2.0.1:
- dependencies:
- is-extendable: 0.1.1
-
extend@3.0.2: {}
extendable-error@0.1.7: {}
@@ -35137,14 +33722,6 @@ snapshots:
fast-fifo@1.3.2: {}
- fast-glob@3.3.1:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.8
-
fast-glob@3.3.2:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -35175,10 +33752,6 @@ snapshots:
dependencies:
path-expression-matcher: 1.2.0
- fast-xml-parser@4.5.3:
- dependencies:
- strnum: 1.1.2
-
fast-xml-parser@5.2.5:
dependencies:
strnum: 2.1.1
@@ -35269,7 +33842,7 @@ snapshots:
escape-html: 1.0.3
on-finished: 2.4.1
parseurl: 1.3.3
- statuses: 2.0.1
+ statuses: 2.0.2
transitivePeerDependencies:
- supports-color
@@ -35312,8 +33885,6 @@ snapshots:
dependencies:
is-callable: 1.2.7
- foreach@2.0.6: {}
-
foreground-child@3.2.1:
dependencies:
cross-spawn: 7.0.6
@@ -35440,190 +34011,6 @@ snapshots:
fsevents@2.3.3:
optional: true
- fumadocs-core@15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@formatjs/intl-localematcher': 0.6.2
- '@orama/orama': 3.1.16
- '@shikijs/rehype': 3.14.0
- '@shikijs/transformers': 3.14.0
- github-slugger: 2.0.0
- hast-util-to-estree: 3.1.3
- hast-util-to-jsx-runtime: 2.3.6
- image-size: 2.0.2
- negotiator: 1.0.0
- react-remove-scroll: 2.7.1(@types/react@18.3.12)(react@18.3.1)
- remark: 15.0.1
- remark-gfm: 4.0.1
- scroll-into-view-if-needed: 3.1.0
- shiki: 3.14.0
- unist-util-visit: 5.0.0
- optionalDependencies:
- next: 15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- transitivePeerDependencies:
- - '@types/react'
- - supports-color
-
- fumadocs-core@15.3.4(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@formatjs/intl-localematcher': 0.6.2
- '@orama/orama': 3.1.16
- '@shikijs/rehype': 3.14.0
- '@shikijs/transformers': 3.14.0
- github-slugger: 2.0.0
- hast-util-to-estree: 3.1.3
- hast-util-to-jsx-runtime: 2.3.6
- image-size: 2.0.2
- negotiator: 1.0.0
- react-remove-scroll: 2.7.1(@types/react@18.3.12)(react@18.3.1)
- remark: 15.0.1
- remark-gfm: 4.0.1
- scroll-into-view-if-needed: 3.1.0
- shiki: 3.14.0
- unist-util-visit: 5.0.0
- optionalDependencies:
- next: 15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- transitivePeerDependencies:
- - '@types/react'
- - supports-color
-
- fumadocs-mdx@11.6.4(@fumadocs/mdx-remote@1.4.0(@types/react@18.3.12)(fumadocs-core@15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1))(fumadocs-core@15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
- dependencies:
- '@mdx-js/mdx': 3.1.1
- '@standard-schema/spec': 1.0.0
- chokidar: 4.0.3
- cross-spawn: 7.0.6
- esbuild: 0.25.11
- estree-util-value-to-estree: 3.5.0
- fast-glob: 3.3.3
- fumadocs-core: 15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- gray-matter: 4.0.3
- js-yaml: 4.1.0
- lru-cache: 11.2.2
- next: 15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- picocolors: 1.1.1
- unist-util-visit: 5.0.0
- zod: 3.25.76
- optionalDependencies:
- '@fumadocs/mdx-remote': 1.4.0(@types/react@18.3.12)(fumadocs-core@15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
- transitivePeerDependencies:
- - supports-color
-
- fumadocs-openapi@8.1.12(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@4.1.9):
- dependencies:
- '@fumari/json-schema-to-typescript': 1.1.3
- '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-select': 2.2.6(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.12)(react@18.3.1)
- '@scalar/openapi-parser': 0.10.17
- ajv: 8.17.1
- class-variance-authority: 0.7.1
- fumadocs-core: 15.3.4(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- fumadocs-ui: 15.3.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@4.1.9)
- github-slugger: 2.0.0
- hast-util-to-jsx-runtime: 2.3.6
- js-yaml: 4.1.0
- next: 15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- next-themes: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- openapi-sampler: 1.6.2
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-hook-form: 7.65.0(react@18.3.1)
- remark: 15.0.1
- remark-rehype: 11.1.2
- shiki: 3.14.0
- tinyglobby: 0.2.15
- xml-js: 1.6.11
- transitivePeerDependencies:
- - '@oramacloud/client'
- - '@types/react'
- - '@types/react-dom'
- - algoliasearch
- - supports-color
- - tailwindcss
-
- fumadocs-typescript@4.0.5(typescript@5.9.3):
- dependencies:
- estree-util-value-to-estree: 3.5.0
- hast-util-to-estree: 3.1.3
- hast-util-to-jsx-runtime: 2.3.6
- remark: 15.0.1
- remark-rehype: 11.1.2
- shiki: 3.14.0
- tinyglobby: 0.2.15
- ts-morph: 26.0.0
- typescript: 5.9.3
- unist-util-visit: 5.0.0
- transitivePeerDependencies:
- - supports-color
-
- fumadocs-ui@15.3.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@4.1.9):
- dependencies:
- '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.3(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- class-variance-authority: 0.7.1
- fumadocs-core: 15.3.3(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- lodash.merge: 4.6.2
- next: 15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- next-themes: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- postcss-selector-parser: 7.1.0
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-medium-image-zoom: 5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react-remove-scroll: 2.7.1(@types/react@18.3.12)(react@18.3.1)
- tailwind-merge: 3.3.1
- optionalDependencies:
- tailwindcss: 4.1.9
- transitivePeerDependencies:
- - '@oramacloud/client'
- - '@types/react'
- - '@types/react-dom'
- - algoliasearch
- - supports-color
-
- fumadocs-ui@15.3.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@4.1.9):
- dependencies:
- '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-direction': 1.1.1(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.2.4(@types/react@18.3.12)(react@18.3.1)
- '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- class-variance-authority: 0.7.1
- fumadocs-core: 15.3.4(@types/react@18.3.12)(next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- lodash.merge: 4.6.2
- next: 15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- next-themes: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- postcss-selector-parser: 7.1.0
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-medium-image-zoom: 5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react-remove-scroll: 2.7.1(@types/react@18.3.12)(react@18.3.1)
- tailwind-merge: 3.3.1
- optionalDependencies:
- tailwindcss: 4.1.9
- transitivePeerDependencies:
- - '@oramacloud/client'
- - '@types/react'
- - '@types/react-dom'
- - algoliasearch
- - supports-color
-
function-bind@1.1.2: {}
function.prototype.name@1.1.6:
@@ -35762,8 +34149,6 @@ snapshots:
github-from-package@0.0.0:
optional: true
- github-slugger@2.0.0: {}
-
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
@@ -35812,15 +34197,6 @@ snapshots:
package-json-from-dist: 1.0.1
path-scurry: 1.11.1
- glob@11.0.1:
- dependencies:
- foreground-child: 3.3.0
- jackspeak: 4.1.0
- minimatch: 10.0.1
- minipass: 7.1.2
- package-json-from-dist: 1.0.1
- path-scurry: 2.0.0
-
glob@13.0.6:
dependencies:
minimatch: 10.2.4
@@ -35914,13 +34290,6 @@ snapshots:
graphemer@1.4.0: {}
- gray-matter@4.0.3:
- dependencies:
- js-yaml: 3.14.1
- kind-of: 6.0.3
- section-matter: 1.0.0
- strip-bom-string: 1.0.0
-
gulp-sort@2.0.0:
dependencies:
through2: 2.0.5
@@ -35950,8 +34319,6 @@ snapshots:
optionalDependencies:
crossws: 0.4.4(srvx@0.11.15)
- hachure-fill@0.5.2: {}
-
handlebars@4.7.8:
dependencies:
minimist: 1.2.8
@@ -36381,8 +34748,6 @@ snapshots:
ignore@7.0.5: {}
- image-size@2.0.2: {}
-
immer@9.0.21: {}
import-fresh@3.3.1:
@@ -36533,8 +34898,6 @@ snapshots:
hasown: 2.0.2
side-channel: 1.1.0
- internmap@1.0.1: {}
-
internmap@2.0.3: {}
intl-messageformat@10.5.14:
@@ -36648,8 +35011,6 @@ snapshots:
is-docker@3.0.0: {}
- is-extendable@0.1.1: {}
-
is-extglob@2.1.1: {}
is-finalizationregistry@1.0.2:
@@ -36854,10 +35215,6 @@ snapshots:
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
- jackspeak@4.1.0:
- dependencies:
- '@isaacs/cliui': 8.0.2
-
jerrypick@1.1.1: {}
jest-worker@27.5.1:
@@ -36961,10 +35318,6 @@ snapshots:
json-parse-even-better-errors@2.3.1: {}
- json-pointer@0.6.2:
- dependencies:
- foreach: 2.0.6
-
json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {}
@@ -37032,10 +35385,6 @@ snapshots:
dependencies:
json-buffer: 3.0.1
- khroma@2.1.0: {}
-
- kind-of@6.0.3: {}
-
koa-compose@4.1.0: {}
koa-convert@2.0.0:
@@ -37071,26 +35420,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- kolorist@1.8.0: {}
-
- langium@3.3.1:
- dependencies:
- chevrotain: 11.0.3
- chevrotain-allstar: 0.3.1(chevrotain@11.0.3)
- vscode-languageserver: 9.0.1
- vscode-languageserver-textdocument: 1.0.12
- vscode-uri: 3.0.8
-
language-subtag-registry@0.3.23: {}
language-tags@1.0.9:
dependencies:
language-subtag-registry: 0.3.23
- layout-base@1.0.2: {}
-
- layout-base@2.0.1: {}
-
lcm@0.0.3:
dependencies:
gcd: 0.0.1
@@ -37228,12 +35563,6 @@ snapshots:
mlly: 1.7.2
pkg-types: 1.2.1
- local-pkg@1.1.1:
- dependencies:
- mlly: 1.7.4
- pkg-types: 2.1.0
- quansync: 0.2.10
-
locate-path@3.0.0:
dependencies:
p-locate: 3.0.0
@@ -37304,8 +35633,6 @@ snapshots:
lru-cache@10.2.2: {}
- lru-cache@11.1.0: {}
-
lru-cache@11.2.2: {}
lru-cache@4.1.5:
@@ -37341,10 +35668,6 @@ snapshots:
dependencies:
react: 19.2.1
- lucide-react@0.511.0(react@18.3.1):
- dependencies:
- react: 18.3.1
-
lz-string@1.5.0: {}
magic-string@0.30.12:
@@ -37367,8 +35690,6 @@ snapshots:
markdown-table@3.0.4: {}
- marked@15.0.12: {}
-
matcher-collection@2.0.1:
dependencies:
'@types/minimatch': 3.0.5
@@ -37616,31 +35937,6 @@ snapshots:
merge2@1.4.1: {}
- mermaid@11.6.0:
- dependencies:
- '@braintree/sanitize-url': 7.1.1
- '@iconify/utils': 2.3.0
- '@mermaid-js/parser': 0.4.0
- '@types/d3': 7.4.3
- cytoscape: 3.32.0
- cytoscape-cose-bilkent: 4.1.0(cytoscape@3.32.0)
- cytoscape-fcose: 2.2.0(cytoscape@3.32.0)
- d3: 7.9.0
- d3-sankey: 0.12.3
- dagre-d3-es: 7.0.11
- dayjs: 1.11.13
- dompurify: 3.2.6
- katex: 0.16.22
- khroma: 2.1.0
- lodash-es: 4.17.21
- marked: 15.0.12
- roughjs: 4.6.6
- stylis: 4.3.6
- ts-dedent: 2.2.0
- uuid: 11.1.0
- transitivePeerDependencies:
- - supports-color
-
meshoptimizer@0.18.1: {}
methods@1.1.2: {}
@@ -37984,10 +36280,6 @@ snapshots:
minimalistic-crypto-utils@1.0.1: {}
- minimatch@10.0.1:
- dependencies:
- brace-expansion: 2.0.1
-
minimatch@10.2.4:
dependencies:
brace-expansion: 5.0.4
@@ -38076,13 +36368,6 @@ snapshots:
pkg-types: 1.2.1
ufo: 1.5.4
- mlly@1.7.4:
- dependencies:
- acorn: 8.15.0
- pathe: 2.0.3
- pkg-types: 1.3.1
- ufo: 1.5.4
-
module-details-from-path@1.0.3: {}
module-details-from-path@1.0.4: {}
@@ -38252,11 +36537,6 @@ snapshots:
react: 19.0.1
react-dom: 19.0.1(react@19.0.1)
- next-themes@0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
next@14.2.35(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@next/env': 14.2.35
@@ -38309,30 +36589,6 @@ snapshots:
- '@babel/core'
- babel-plugin-macros
- next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@next/env': 15.5.10
- '@swc/helpers': 0.5.15
- caniuse-lite: 1.0.30001751
- postcss: 8.4.31
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- styled-jsx: 5.1.6(@babel/core@7.26.0)(react@18.3.1)
- optionalDependencies:
- '@next/swc-darwin-arm64': 15.5.7
- '@next/swc-darwin-x64': 15.5.7
- '@next/swc-linux-arm64-gnu': 15.5.7
- '@next/swc-linux-arm64-musl': 15.5.7
- '@next/swc-linux-x64-gnu': 15.5.7
- '@next/swc-linux-x64-musl': 15.5.7
- '@next/swc-win32-arm64-msvc': 15.5.7
- '@next/swc-win32-x64-msvc': 15.5.7
- '@opentelemetry/api': 1.9.0
- sharp: 0.34.5
- transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-macros
-
next@15.5.10(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.0.1(react@19.0.1))(react@19.0.1):
dependencies:
'@next/env': 15.5.10
@@ -38864,12 +37120,6 @@ snapshots:
is-docker: 2.2.1
is-wsl: 2.2.0
- openapi-sampler@1.6.2:
- dependencies:
- '@types/json-schema': 7.0.15
- fast-xml-parser: 4.5.3
- json-pointer: 0.6.2
-
openapi-types@12.1.3: {}
openid-client@5.6.4(patch_hash=99fe6a7ee65b97d4c75e472c3dcd68a31f62ffdfa047dae014a4b6ecaf0d3fe3):
@@ -38985,8 +37235,6 @@ snapshots:
package-manager-detector@0.2.2: {}
- package-manager-detector@1.3.0: {}
-
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -39053,10 +37301,6 @@ snapshots:
patch-console@2.0.0: {}
- path-browserify@1.0.1: {}
-
- path-data-parser@0.1.0: {}
-
path-exists@3.0.0: {}
path-exists@4.0.0: {}
@@ -39082,11 +37326,6 @@ snapshots:
lru-cache: 10.2.2
minipass: 7.1.2
- path-scurry@2.0.0:
- dependencies:
- lru-cache: 11.1.0
- minipass: 7.1.2
-
path-scurry@2.0.2:
dependencies:
lru-cache: 11.2.2
@@ -39186,18 +37425,6 @@ snapshots:
mlly: 1.7.2
pathe: 1.1.2
- pkg-types@1.3.1:
- dependencies:
- confbox: 0.1.8
- mlly: 1.7.4
- pathe: 2.0.3
-
- pkg-types@2.1.0:
- dependencies:
- confbox: 0.2.2
- exsolve: 1.0.8
- pathe: 2.0.3
-
pkg-types@2.3.0:
dependencies:
confbox: 0.2.2
@@ -39210,13 +37437,6 @@ snapshots:
dependencies:
robust-predicates: 3.0.2
- points-on-curve@0.2.0: {}
-
- points-on-path@0.2.1:
- dependencies:
- path-data-parser: 0.1.0
- points-on-curve: 0.2.0
-
polished@4.3.1:
dependencies:
'@babel/runtime': 7.28.4
@@ -39297,11 +37517,6 @@ snapshots:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-selector-parser@7.1.0:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
postcss-value-parser@4.2.0: {}
postcss@8.4.31:
@@ -39592,8 +37807,6 @@ snapshots:
dependencies:
side-channel: 1.1.0
- quansync@0.2.10: {}
-
quansync@1.0.0: {}
query-selector-shadow-dom@1.0.1: {}
@@ -39804,11 +38017,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- react-medium-image-zoom@5.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
react-promise-suspense@0.3.4:
dependencies:
fast-deep-equal: 2.0.1
@@ -40660,13 +38868,6 @@ snapshots:
rou3@0.8.1: {}
- roughjs@4.6.6:
- dependencies:
- hachure-fill: 0.5.2
- path-data-parser: 0.1.0
- points-on-curve: 0.2.0
- points-on-path: 0.2.1
-
router@2.2.0:
dependencies:
debug: 4.4.3
@@ -40704,8 +38905,6 @@ snapshots:
rusha@0.8.14: {}
- rw@1.3.3: {}
-
rxjs@7.8.1:
dependencies:
tslib: 2.8.1
@@ -40781,15 +38980,6 @@ snapshots:
ajv-formats: 2.1.1(ajv@8.17.1)
ajv-keywords: 5.1.0(ajv@8.17.1)
- scroll-into-view-if-needed@3.1.0:
- dependencies:
- compute-scroll-into-view: 3.1.1
-
- section-matter@1.0.0:
- dependencies:
- extend-shallow: 2.0.1
- kind-of: 6.0.3
-
secure-json-parse@2.7.0: {}
secure-json-parse@4.0.0: {}
@@ -40856,7 +39046,7 @@ snapshots:
ms: 2.1.3
on-finished: 2.4.1
range-parser: 1.2.1
- statuses: 2.0.1
+ statuses: 2.0.2
transitivePeerDependencies:
- supports-color
@@ -41022,17 +39212,6 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
- shiki@3.6.0:
- dependencies:
- '@shikijs/core': 3.6.0
- '@shikijs/engine-javascript': 3.6.0
- '@shikijs/engine-oniguruma': 3.6.0
- '@shikijs/langs': 3.6.0
- '@shikijs/themes': 3.6.0
- '@shikijs/types': 3.6.0
- '@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
-
shimmer@1.2.1: {}
side-channel-list@1.0.0:
@@ -41398,8 +39577,6 @@ snapshots:
dependencies:
ansi-regex: 6.0.1
- strip-bom-string@1.0.0: {}
-
strip-bom@3.0.0: {}
strip-final-newline@2.0.0: {}
@@ -41420,8 +39597,6 @@ snapshots:
optionalDependencies:
'@types/node': 20.17.6
- strnum@1.1.2: {}
-
strnum@2.1.1: {}
strnum@2.2.2: {}
@@ -41448,13 +39623,6 @@ snapshots:
optionalDependencies:
'@babel/core': 7.26.0
- styled-jsx@5.1.6(@babel/core@7.26.0)(react@18.3.1):
- dependencies:
- client-only: 0.0.1
- react: 18.3.1
- optionalDependencies:
- '@babel/core': 7.26.0
-
styled-jsx@5.1.6(@babel/core@7.26.0)(react@19.0.1):
dependencies:
client-only: 0.0.1
@@ -41492,8 +39660,6 @@ snapshots:
stylis@4.2.0: {}
- stylis@4.3.6: {}
-
sucrase@3.35.0:
dependencies:
'@jridgewell/gen-mapping': 0.3.13
@@ -41555,12 +39721,6 @@ snapshots:
standardwebhooks: 1.0.0
uuid: 10.0.0
- swr@2.3.4(react@18.3.1):
- dependencies:
- dequal: 2.0.3
- react: 18.3.1
- use-sync-external-store: 1.6.0(react@18.3.1)
-
swr@2.3.4(react@19.2.1):
dependencies:
dequal: 2.0.3
@@ -41963,15 +40123,8 @@ snapshots:
dependencies:
typescript: 5.9.3
- ts-dedent@2.2.0: {}
-
ts-interface-checker@0.1.13: {}
- ts-morph@26.0.0:
- dependencies:
- '@ts-morph/common': 0.27.0
- code-block-writer: 13.0.3
-
tsconfck@3.1.5(typescript@5.9.3):
optionalDependencies:
typescript: 5.9.3
@@ -42827,23 +40980,6 @@ snapshots:
- supports-color
- terser
- vscode-jsonrpc@8.2.0: {}
-
- vscode-languageserver-protocol@3.17.5:
- dependencies:
- vscode-jsonrpc: 8.2.0
- vscode-languageserver-types: 3.17.5
-
- vscode-languageserver-textdocument@1.0.12: {}
-
- vscode-languageserver-types@3.17.5: {}
-
- vscode-languageserver@9.0.1:
- dependencies:
- vscode-languageserver-protocol: 3.17.5
-
- vscode-uri@3.0.8: {}
-
w3c-xmlserializer@5.0.0:
dependencies:
xml-name-validator: 5.0.0
@@ -43122,10 +41258,6 @@ snapshots:
dependencies:
os-paths: 4.4.0
- xml-js@1.6.11:
- dependencies:
- sax: 1.4.1
-
xml-name-validator@5.0.0: {}
xml2js@0.6.2:
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 2dac1b345d..3867e843cc 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -2,7 +2,9 @@ packages:
- packages/*
- apps/*
- examples/*
- - docs
+ # `docs/` is the legacy fumadocs site, no longer maintained — replaced by
+ # `docs-mintlify/`. Kept on disk for migration reference; excluded from the
+ # workspace so it doesn't gate install / typecheck / lint.
- docs-mintlify
- sdks/*
- sdks/implementations/*
diff --git a/scripts/rewrite-packages-to-hexclave.ts b/scripts/rewrite-packages-to-hexclave.ts
deleted file mode 100644
index a467116945..0000000000
--- a/scripts/rewrite-packages-to-hexclave.ts
+++ /dev/null
@@ -1,208 +0,0 @@
-/**
- * Rewrite-then-republish: in-place mutate each publishable `@stackframe/*`
- * package.json into the `@hexclave/*` mirror name, AND rewrite every
- * `@stackframe/*` reference inside `dist/` (bundled `require()` / `import`
- * specifiers + the build-time package-version sentinel) so the published
- * `@hexclave/*` artifacts resolve their cross-package deps against the
- * `@hexclave/*` mirror packages we just renamed. `pnpm publish -r` picks
- * them up again on the next workflow step. The workflow runs on a clean
- * checkout each time, so no revert is needed.
- *
- * Mapping per RENAME-TO-HEXCLAVE.md (Tier 2). All mirror packages share
- * one version (read from HEXCLAVE_VERSION env or `--version `); cross-
- * package deps are pinned to that exact version since they're a single
- * substitution.
- *
- * The `@hexclave/cli` mirror additionally registers a `hexclave` bin
- * alongside `stack` so `npx @hexclave/cli@latest init` works.
- *
- * Not mirrored (per the plan): `@stackframe/template` (codegen source),
- * `@stackframe/init-stack` (kept under existing name; new-user onboarding
- * moves to the CLI's `init` subcommand).
- */
-import fs from "node:fs";
-import path from "node:path";
-
-// Source @stackframe/* name → target @hexclave/* name.
-// Special-cased: @stackframe/stack (the Next.js-specific SDK) publishes as
-// @hexclave/next under the new brand, mirroring how @hexclave/react and
-// @hexclave/js identify the framework they target. The dist-content rewriter
-// below propagates this through every cross-package require/import specifier
-// and the build-time package-version sentinel.
-const PACKAGE_NAME_MAP: Record = {
- "@stackframe/react": "@hexclave/react",
- "@stackframe/stack": "@hexclave/next",
- "@stackframe/js": "@hexclave/js",
- "@stackframe/stack-shared": "@hexclave/shared",
- "@stackframe/stack-ui": "@hexclave/ui",
- "@stackframe/stack-sc": "@hexclave/sc",
- "@stackframe/stack-cli": "@hexclave/cli",
- "@stackframe/tanstack-start": "@hexclave/tanstack-start",
- "@stackframe/dashboard-ui-components": "@hexclave/dashboard-ui-components",
-};
-
-// Directories under packages/ that hold the publishable @stackframe/* packages.
-const PACKAGE_DIRS = [
- "packages/react",
- "packages/stack",
- "packages/js",
- "packages/stack-shared",
- "packages/stack-ui",
- "packages/stack-sc",
- "packages/stack-cli",
- "packages/tanstack-start",
- "packages/dashboard-ui-components",
-];
-
-function getHexclaveVersion(): string {
- const arg = process.argv.find((a) => a.startsWith("--version="));
- const version = arg ? arg.split("=")[1] : process.env.HEXCLAVE_VERSION;
- if (!version || !/^\d+\.\d+\.\d+/.test(version)) {
- throw new Error(
- "rewrite-packages-to-hexclave: pass --version=X.Y.Z or set HEXCLAVE_VERSION.",
- );
- }
- return version;
-}
-
-function rewriteDepsObject(
- deps: Record | undefined,
- hexclaveVersion: string,
-): Record | undefined {
- if (!deps) return deps;
- const out: Record = {};
- for (const [name, spec] of Object.entries(deps)) {
- if (PACKAGE_NAME_MAP[name]) {
- out[PACKAGE_NAME_MAP[name]] = hexclaveVersion;
- } else {
- out[name] = spec;
- }
- }
- return out;
-}
-
-function rewritePackage(dir: string, hexclaveVersion: string): void {
- const pkgPath = path.join(dir, "package.json");
- if (!fs.existsSync(pkgPath)) {
- console.log(`skip: ${pkgPath} does not exist`);
- return;
- }
- const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
- const oldName: string = pkg.name;
- const oldVersion: string = pkg.version;
- const newName = PACKAGE_NAME_MAP[oldName];
- if (!newName) {
- console.log(`skip: ${oldName} not in mirror map`);
- return;
- }
-
- pkg.name = newName;
- pkg.version = hexclaveVersion;
- pkg.dependencies = rewriteDepsObject(pkg.dependencies, hexclaveVersion);
- pkg.peerDependencies = rewriteDepsObject(pkg.peerDependencies, hexclaveVersion);
- pkg.devDependencies = rewriteDepsObject(pkg.devDependencies, hexclaveVersion);
- pkg.optionalDependencies = rewriteDepsObject(pkg.optionalDependencies, hexclaveVersion);
-
- // The CLI gets a hexclave bin alias alongside the existing stack one, so
- // `npx @hexclave/cli@latest init` is the new taught entrypoint.
- if (newName === "@hexclave/cli" && pkg.bin && typeof pkg.bin === "object") {
- if (pkg.bin.stack && !pkg.bin.hexclave) {
- pkg.bin = { hexclave: pkg.bin.stack, ...pkg.bin };
- }
- }
-
- fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");
- console.log(`rewrote: ${oldName} → ${newName}@${hexclaveVersion}`);
-
- // Rewrite cross-package require()/import specifiers and the build-time
- // package-version sentinel inside dist/. tsdown bundles peer/shared deps
- // as external `require("@stackframe/...")` calls — without this rewrite,
- // installing only @hexclave/* leaves those requires unresolvable at runtime.
- rewriteDistFiles(dir, oldName, oldVersion, hexclaveVersion);
-}
-
-// Bundled artifacts contain literal package-name strings (require/import
-// specifiers, the build-time `js @` sentinel, occasional source-hint
-// strings). Rewriting them in lockstep with the package.json rename keeps the
-// published @hexclave/* artifacts self-consistent.
-function rewriteDistFiles(
- dir: string,
- oldName: string,
- oldVersion: string,
- hexclaveVersion: string,
-): void {
- const distDir = path.join(dir, "dist");
- if (!fs.existsSync(distDir)) {
- console.log(` no dist/ to rewrite under ${dir}`);
- return;
- }
-
- // Longest names first so e.g. `@stackframe/stack-shared` doesn't get
- // half-replaced by the shorter `@stackframe/stack` prefix.
- const sortedMappings = Object.entries(PACKAGE_NAME_MAP).sort(
- (a, b) => b[0].length - a[0].length,
- );
-
- let totalFiles = 0;
- let touchedFiles = 0;
-
- const escapeRegex = (s: string) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
- // Match the build-time `js @` sentinel exactly.
- const sentinelPattern = new RegExp(
- `js ${escapeRegex(oldName)}@${escapeRegex(oldVersion)}`,
- "g",
- );
- const newSentinel = `js ${PACKAGE_NAME_MAP[oldName]}@${hexclaveVersion}`;
-
- const walk = (d: string) => {
- for (const entry of fs.readdirSync(d, { withFileTypes: true })) {
- const p = path.join(d, entry.name);
- if (entry.isDirectory()) {
- walk(p);
- continue;
- }
- if (!entry.isFile()) continue;
- // Skip binary artifacts; only rewrite text files the bundler produced.
- // Sourcemaps (.map) are intentionally excluded: they embed original file
- // paths and (when sourcesContent is set) the source text — a blanket
- // string replace inside them would corrupt the mappings and break
- // production-error debugging. The code references that actually need
- // rewriting all live in the .js/.cjs/.d.ts compiled output.
- if (!/\.(?:m?js|cjs|d\.m?ts|d\.cts|json|html|txt|md)$/.test(entry.name)) continue;
- totalFiles += 1;
-
- const original = fs.readFileSync(p, "utf-8");
- let updated = original;
-
- for (const [oldPkg, newPkg] of sortedMappings) {
- if (!updated.includes(oldPkg)) continue;
- // Replace the bare package name as a whole token. Subpaths
- // (`@stackframe/stack-shared/dist/utils/errors`) trail naturally.
- const pattern = new RegExp(escapeRegex(oldPkg), "g");
- updated = updated.replace(pattern, newPkg);
- }
-
- // Rewrite the build-time package-version sentinel so the
- // deprecation-warning short-circuit triggers on @hexclave/* artifacts.
- updated = updated.replace(sentinelPattern, newSentinel);
-
- if (updated !== original) {
- fs.writeFileSync(p, updated);
- touchedFiles += 1;
- }
- }
- };
-
- walk(distDir);
- console.log(` rewrote dist/: ${touchedFiles}/${totalFiles} files in ${dir}`);
-}
-
-function main(): void {
- const hexclaveVersion = getHexclaveVersion();
- const repoRoot = path.resolve(__dirname, "..");
- for (const rel of PACKAGE_DIRS) {
- rewritePackage(path.join(repoRoot, rel), hexclaveVersion);
- }
-}
-
-main();
diff --git a/scripts/wait-for-dev-package-imports.ts b/scripts/wait-for-dev-package-imports.ts
index d9208afc51..d72c2fccab 100644
--- a/scripts/wait-for-dev-package-imports.ts
+++ b/scripts/wait-for-dev-package-imports.ts
@@ -39,8 +39,8 @@ const retryDelayMs = 1_000;
const probeScript = `
(async () => {
- await import('@stackframe/stack');
- await import('@stackframe/stack-shared/dist/utils/env');
+ await import('@hexclave/next');
+ await import('@hexclave/shared/dist/utils/env');
const { existsSync, readdirSync } = await import('node:fs');
const { join } = await import('node:path');
const generatedDir = join(process.cwd(), 'src', 'generated', 'prisma');
diff --git a/sdks/implementations/swift/package.json b/sdks/implementations/swift/package.json
index 2ccda3ecc5..ab3feecc3e 100644
--- a/sdks/implementations/swift/package.json
+++ b/sdks/implementations/swift/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/swift-sdk",
- "version": "2.8.103",
+ "name": "@hexclave/swift-sdk",
+ "version": "1.0.0",
"private": true,
"description": "Hexclave Swift SDK",
"scripts": {
diff --git a/sdks/spec/package.json b/sdks/spec/package.json
index b25007dea0..65c9157055 100644
--- a/sdks/spec/package.json
+++ b/sdks/spec/package.json
@@ -1,6 +1,6 @@
{
- "name": "@stackframe/sdk-spec",
- "version": "2.8.103",
+ "name": "@hexclave/sdk-spec",
+ "version": "1.0.0",
"private": true,
"description": "Hexclave SDK specification files",
"scripts": {}
diff --git a/turbo.json b/turbo.json
index b10d9a82b3..875d4e33cb 100644
--- a/turbo.json
+++ b/turbo.json
@@ -86,15 +86,15 @@
],
"outputLogs": "new-only"
},
- "@stackframe/backend#build": {
+ "@hexclave/backend#build": {
"dependsOn": [
"codegen"
]
},
- "@stackframe/stack-cli#build": {
+ "@hexclave/cli#build": {
"dependsOn": [
"^build",
- "@stackframe/dashboard#build:rde-standalone"
+ "@hexclave/dashboard#build:rde-standalone"
],
"outputs": [
"dist/**"