From 4129c8954daee8bedb867f308068a38eb3460dc0 Mon Sep 17 00:00:00 2001 From: Alaister Young Date: Mon, 6 Jul 2026 18:31:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(studio):=20TanStack=20project=20routes=20?= =?UTF-8?q?=E2=80=94=20auth/logs/settings/functions=20(stack=205.2/6,=20fr?= =?UTF-8?q?om=20#46424)=20(#47118)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Stack 5.2/6** of the TanStack Start migration (#46424) — second half of the project routes (S5 was split for CodeRabbit's 150-file cap). Stacked on **#47117** (5.1). > [!NOTE] > Same shape as 5.1 — thin route wrappers over the existing pages-router components. With this PR every route is present, so `routeTree.gen.ts` is now **byte-identical to the migration branch**. ## What's in this PR - **Remaining project routes:** auth, logs, settings, observability, functions, advisors, project-level integrations. - **Supporting edits:** hoist `EdgeFunctionsIndexPageWrapper` out of `getLayout`, `functions/secrets`, and move `DefaultLayout` to the root for the logs page. - `routeTree.gen.ts` regenerated for the full set. ## Verification On top of S1–5.1: `studio` typecheck ✓, lint (0 errors) ✓, **Next build ✓ (181/181 pages)**. ## Summary by CodeRabbit * **Refactor** * Reorganized internal routing and page structure to improve navigation and maintainability across project settings, logs, functions, authentication, integrations, and observability sections. --------- Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com> Co-authored-by: Ivan Vasilov --- .../pages/project/[ref]/functions/index.tsx | 76 +- .../pages/project/[ref]/functions/secrets.tsx | 45 +- .../studio/pages/project/[ref]/logs/index.tsx | 26 +- apps/studio/routeTree.gen.ts | 2112 ++++++++++++++++- apps/studio/routes/new/$slug.tsx | 13 +- apps/studio/routes/project/$ref/advisors.tsx | 37 + .../project/$ref/advisors/performance.tsx | 14 + .../routes/project/$ref/advisors/rules.tsx | 57 + .../$ref/advisors/rules/performance.tsx | 11 + .../project/$ref/advisors/rules/security.tsx | 11 + .../routes/project/$ref/advisors/security.tsx | 14 + apps/studio/routes/project/$ref/api/index.tsx | 11 + apps/studio/routes/project/$ref/auth.tsx | 40 + .../routes/project/$ref/auth/audit-logs.tsx | 14 + .../studio/routes/project/$ref/auth/hooks.tsx | 14 + apps/studio/routes/project/$ref/auth/mfa.tsx | 14 + .../routes/project/$ref/auth/oauth-apps.tsx | 14 + .../routes/project/$ref/auth/oauth-server.tsx | 14 + .../routes/project/$ref/auth/overview.tsx | 14 + .../routes/project/$ref/auth/passkeys.tsx | 14 + .../routes/project/$ref/auth/performance.tsx | 14 + .../routes/project/$ref/auth/protection.tsx | 14 + .../routes/project/$ref/auth/providers.tsx | 22 + .../routes/project/$ref/auth/rate-limits.tsx | 14 + .../routes/project/$ref/auth/sessions.tsx | 14 + apps/studio/routes/project/$ref/auth/smtp.tsx | 21 + .../$ref/auth/templates/$templateId.tsx | 14 + .../project/$ref/auth/templates/index.tsx | 23 + .../routes/project/$ref/auth/third-party.tsx | 18 + .../project/$ref/auth/url-configuration.tsx | 14 + .../studio/routes/project/$ref/auth/users.tsx | 14 + .../routes/project/$ref/database/policies.tsx | 14 + apps/studio/routes/project/$ref/functions.tsx | 41 + .../project/$ref/functions/$functionSlug.tsx | 27 + .../$ref/functions/$functionSlug/code.tsx | 14 + .../$ref/functions/$functionSlug/details.tsx | 14 + .../$ref/functions/$functionSlug/index.tsx | 14 + .../functions/$functionSlug/invocations.tsx | 14 + .../$ref/functions/$functionSlug/logs.tsx | 14 + .../routes/project/$ref/functions/index.tsx | 20 + .../routes/project/$ref/functions/new.tsx | 14 + .../routes/project/$ref/functions/secrets.tsx | 18 + apps/studio/routes/project/$ref/index.tsx | 16 + .../routes/project/$ref/integrations.tsx | 15 + .../$id/$pageId/$childId/index.tsx | 11 + .../$ref/integrations/$id/$pageId/index.tsx | 11 + .../project/$ref/integrations/$id/index.tsx | 11 + .../project/$ref/integrations/index.tsx | 11 + apps/studio/routes/project/$ref/logs.tsx | 35 + .../routes/project/$ref/logs/auth-logs.tsx | 12 + .../routes/project/$ref/logs/cron-logs.tsx | 12 + .../$ref/logs/dedicated-pooler-logs.tsx | 12 + .../project/$ref/logs/edge-functions-logs.tsx | 12 + .../routes/project/$ref/logs/edge-logs.tsx | 12 + .../project/$ref/logs/explorer/index.tsx | 12 + .../project/$ref/logs/explorer/recent.tsx | 12 + .../project/$ref/logs/explorer/saved.tsx | 12 + .../project/$ref/logs/explorer/templates.tsx | 12 + .../studio/routes/project/$ref/logs/index.tsx | 16 + .../project/$ref/logs/multigres-logs.tsx | 12 + .../project/$ref/logs/pg-upgrade-logs.tsx | 12 + .../routes/project/$ref/logs/pgcron-logs.tsx | 12 + .../routes/project/$ref/logs/pooler-logs.tsx | 12 + .../project/$ref/logs/postgres-logs.tsx | 12 + .../project/$ref/logs/postgrest-logs.tsx | 12 + .../project/$ref/logs/realtime-logs.tsx | 12 + .../project/$ref/logs/replication-logs.tsx | 12 + .../routes/project/$ref/logs/storage-logs.tsx | 12 + .../routes/project/$ref/observability.tsx | 21 + .../routes/project/$ref/observability/$id.tsx | 14 + .../$ref/observability/api-overview.tsx | 14 + .../project/$ref/observability/auth.tsx | 14 + .../project/$ref/observability/database.tsx | 14 + .../$ref/observability/edge-functions.tsx | 14 + .../project/$ref/observability/index.tsx | 14 + .../project/$ref/observability/postgrest.tsx | 14 + .../$ref/observability/query-insights.tsx | 14 + .../$ref/observability/query-performance.tsx | 14 + .../project/$ref/observability/realtime.tsx | 14 + .../project/$ref/observability/storage.tsx | 14 + apps/studio/routes/project/$ref/settings.tsx | 34 + .../routes/project/$ref/settings/addons.tsx | 12 + .../routes/project/$ref/settings/api-keys.tsx | 21 + .../project/$ref/settings/api-keys/index.tsx | 12 + .../project/$ref/settings/api-keys/legacy.tsx | 12 + .../routes/project/$ref/settings/api.tsx | 14 + .../project/$ref/settings/billing/usage.tsx | 12 + .../$ref/settings/compute-and-disk.tsx | 12 + .../project/$ref/settings/dashboard.tsx | 12 + .../routes/project/$ref/settings/general.tsx | 12 + .../project/$ref/settings/infrastructure.tsx | 12 + .../project/$ref/settings/integrations.tsx | 12 + .../project/$ref/settings/jwt/index.tsx | 20 + .../project/$ref/settings/jwt/legacy.tsx | 12 + .../project/$ref/settings/log-drains.tsx | 12 + .../$ref/settings/webhooks/$endpointId.tsx | 12 + .../project/$ref/settings/webhooks/index.tsx | 12 + 97 files changed, 3637 insertions(+), 76 deletions(-) create mode 100644 apps/studio/routes/project/$ref/advisors.tsx create mode 100644 apps/studio/routes/project/$ref/advisors/performance.tsx create mode 100644 apps/studio/routes/project/$ref/advisors/rules.tsx create mode 100644 apps/studio/routes/project/$ref/advisors/rules/performance.tsx create mode 100644 apps/studio/routes/project/$ref/advisors/rules/security.tsx create mode 100644 apps/studio/routes/project/$ref/advisors/security.tsx create mode 100644 apps/studio/routes/project/$ref/api/index.tsx create mode 100644 apps/studio/routes/project/$ref/auth.tsx create mode 100644 apps/studio/routes/project/$ref/auth/audit-logs.tsx create mode 100644 apps/studio/routes/project/$ref/auth/hooks.tsx create mode 100644 apps/studio/routes/project/$ref/auth/mfa.tsx create mode 100644 apps/studio/routes/project/$ref/auth/oauth-apps.tsx create mode 100644 apps/studio/routes/project/$ref/auth/oauth-server.tsx create mode 100644 apps/studio/routes/project/$ref/auth/overview.tsx create mode 100644 apps/studio/routes/project/$ref/auth/passkeys.tsx create mode 100644 apps/studio/routes/project/$ref/auth/performance.tsx create mode 100644 apps/studio/routes/project/$ref/auth/protection.tsx create mode 100644 apps/studio/routes/project/$ref/auth/providers.tsx create mode 100644 apps/studio/routes/project/$ref/auth/rate-limits.tsx create mode 100644 apps/studio/routes/project/$ref/auth/sessions.tsx create mode 100644 apps/studio/routes/project/$ref/auth/smtp.tsx create mode 100644 apps/studio/routes/project/$ref/auth/templates/$templateId.tsx create mode 100644 apps/studio/routes/project/$ref/auth/templates/index.tsx create mode 100644 apps/studio/routes/project/$ref/auth/third-party.tsx create mode 100644 apps/studio/routes/project/$ref/auth/url-configuration.tsx create mode 100644 apps/studio/routes/project/$ref/auth/users.tsx create mode 100644 apps/studio/routes/project/$ref/database/policies.tsx create mode 100644 apps/studio/routes/project/$ref/functions.tsx create mode 100644 apps/studio/routes/project/$ref/functions/$functionSlug.tsx create mode 100644 apps/studio/routes/project/$ref/functions/$functionSlug/code.tsx create mode 100644 apps/studio/routes/project/$ref/functions/$functionSlug/details.tsx create mode 100644 apps/studio/routes/project/$ref/functions/$functionSlug/index.tsx create mode 100644 apps/studio/routes/project/$ref/functions/$functionSlug/invocations.tsx create mode 100644 apps/studio/routes/project/$ref/functions/$functionSlug/logs.tsx create mode 100644 apps/studio/routes/project/$ref/functions/index.tsx create mode 100644 apps/studio/routes/project/$ref/functions/new.tsx create mode 100644 apps/studio/routes/project/$ref/functions/secrets.tsx create mode 100644 apps/studio/routes/project/$ref/index.tsx create mode 100644 apps/studio/routes/project/$ref/integrations.tsx create mode 100644 apps/studio/routes/project/$ref/integrations/$id/$pageId/$childId/index.tsx create mode 100644 apps/studio/routes/project/$ref/integrations/$id/$pageId/index.tsx create mode 100644 apps/studio/routes/project/$ref/integrations/$id/index.tsx create mode 100644 apps/studio/routes/project/$ref/integrations/index.tsx create mode 100644 apps/studio/routes/project/$ref/logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/auth-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/cron-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/dedicated-pooler-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/edge-functions-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/edge-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/explorer/index.tsx create mode 100644 apps/studio/routes/project/$ref/logs/explorer/recent.tsx create mode 100644 apps/studio/routes/project/$ref/logs/explorer/saved.tsx create mode 100644 apps/studio/routes/project/$ref/logs/explorer/templates.tsx create mode 100644 apps/studio/routes/project/$ref/logs/index.tsx create mode 100644 apps/studio/routes/project/$ref/logs/multigres-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/pg-upgrade-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/pgcron-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/pooler-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/postgres-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/postgrest-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/realtime-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/replication-logs.tsx create mode 100644 apps/studio/routes/project/$ref/logs/storage-logs.tsx create mode 100644 apps/studio/routes/project/$ref/observability.tsx create mode 100644 apps/studio/routes/project/$ref/observability/$id.tsx create mode 100644 apps/studio/routes/project/$ref/observability/api-overview.tsx create mode 100644 apps/studio/routes/project/$ref/observability/auth.tsx create mode 100644 apps/studio/routes/project/$ref/observability/database.tsx create mode 100644 apps/studio/routes/project/$ref/observability/edge-functions.tsx create mode 100644 apps/studio/routes/project/$ref/observability/index.tsx create mode 100644 apps/studio/routes/project/$ref/observability/postgrest.tsx create mode 100644 apps/studio/routes/project/$ref/observability/query-insights.tsx create mode 100644 apps/studio/routes/project/$ref/observability/query-performance.tsx create mode 100644 apps/studio/routes/project/$ref/observability/realtime.tsx create mode 100644 apps/studio/routes/project/$ref/observability/storage.tsx create mode 100644 apps/studio/routes/project/$ref/settings.tsx create mode 100644 apps/studio/routes/project/$ref/settings/addons.tsx create mode 100644 apps/studio/routes/project/$ref/settings/api-keys.tsx create mode 100644 apps/studio/routes/project/$ref/settings/api-keys/index.tsx create mode 100644 apps/studio/routes/project/$ref/settings/api-keys/legacy.tsx create mode 100644 apps/studio/routes/project/$ref/settings/api.tsx create mode 100644 apps/studio/routes/project/$ref/settings/billing/usage.tsx create mode 100644 apps/studio/routes/project/$ref/settings/compute-and-disk.tsx create mode 100644 apps/studio/routes/project/$ref/settings/dashboard.tsx create mode 100644 apps/studio/routes/project/$ref/settings/general.tsx create mode 100644 apps/studio/routes/project/$ref/settings/infrastructure.tsx create mode 100644 apps/studio/routes/project/$ref/settings/integrations.tsx create mode 100644 apps/studio/routes/project/$ref/settings/jwt/index.tsx create mode 100644 apps/studio/routes/project/$ref/settings/jwt/legacy.tsx create mode 100644 apps/studio/routes/project/$ref/settings/log-drains.tsx create mode 100644 apps/studio/routes/project/$ref/settings/webhooks/$endpointId.tsx create mode 100644 apps/studio/routes/project/$ref/settings/webhooks/index.tsx diff --git a/apps/studio/pages/project/[ref]/functions/index.tsx b/apps/studio/pages/project/[ref]/functions/index.tsx index 35c3eb790c6..9f6d74bc2fa 100644 --- a/apps/studio/pages/project/[ref]/functions/index.tsx +++ b/apps/studio/pages/project/[ref]/functions/index.tsx @@ -2,7 +2,7 @@ import { useFlag, useParams } from 'common' import { ExternalLink, RefreshCw, Search, X } from 'lucide-react' import { useRouter } from 'next/router' import { parseAsString, parseAsStringLiteral, useQueryState } from 'nuqs' -import React, { useMemo, useRef } from 'react' +import React, { useMemo, useRef, type PropsWithChildren } from 'react' import { Button, Card, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from 'ui' import { Admonition } from 'ui-patterns/admonition' import { Input } from 'ui-patterns/DataInputs/Input' @@ -231,41 +231,45 @@ const EdgeFunctionsPage: NextPageWithLayout = () => { ) } -EdgeFunctionsPage.getLayout = (page: React.ReactElement) => { - return ( - - -
- - - - Edge Functions - - Run server-side logic close to your users - - - - - - {IS_PLATFORM && } - - - +// Hoisted out of `getLayout` so the TanStack route can import it +// directly. Same body — accepts the page content as `children`. +export const EdgeFunctionsIndexPageWrapper = ({ children }: PropsWithChildren) => ( + <> +
+ + + + Edge Functions + Run server-side logic close to your users + + + + + {IS_PLATFORM && } + + + - {page} -
- - - - ) -} + {children} +
+ + +) + +EdgeFunctionsPage.getLayout = (page: React.ReactElement) => ( + + + {page} + + +) export default EdgeFunctionsPage diff --git a/apps/studio/pages/project/[ref]/functions/secrets.tsx b/apps/studio/pages/project/[ref]/functions/secrets.tsx index 5498e527230..de49ba0b3c9 100644 --- a/apps/studio/pages/project/[ref]/functions/secrets.tsx +++ b/apps/studio/pages/project/[ref]/functions/secrets.tsx @@ -1,3 +1,4 @@ +import type { PropsWithChildren } from 'react' import { Admonition } from 'ui-patterns/admonition' import { PageContainer } from 'ui-patterns/PageContainer' import { @@ -91,27 +92,29 @@ const SecretsPage: NextPageWithLayout = () => { ) } -SecretsPage.getLayout = (page) => { - return ( - - -
- - - - Edge Function Secrets - - Manage encrypted values for your functions - - - - +// Hoisted out of `getLayout` so the TanStack route can import it +// directly. Same body — accepts the page content as `children`. +export const SecretsPageWrapper = ({ children }: PropsWithChildren) => ( +
+ + + + Edge Function Secrets + Manage encrypted values for your functions + + + - {page} -
- - - ) -} + {children} +
+) + +SecretsPage.getLayout = (page) => ( + + + {page} + + +) export default SecretsPage diff --git a/apps/studio/pages/project/[ref]/logs/index.tsx b/apps/studio/pages/project/[ref]/logs/index.tsx index 06d1df73ac9..6f2fbba0bae 100644 --- a/apps/studio/pages/project/[ref]/logs/index.tsx +++ b/apps/studio/pages/project/[ref]/logs/index.tsx @@ -26,29 +26,29 @@ export const LogPage: NextPageWithLayout = () => { if (!logsEnabled) { return ( - - - - - + + + ) } if (isUnifiedLogsEnabled) { return ( - - {/* Omit the generic product segment here; project/org context already makes the route clear. */} - - - - + // Omit the generic product segment here; project/org context already makes the route clear. + + + ) } return null } -// Don't use getLayout since we're handling layouts conditionally within the component -LogPage.getLayout = (page) => page +// DefaultLayout lives at the framework wrapper level, not in the page +// body — both runtimes provide it externally (Next via `getLayout`, +// TanStack via the parent `routes/project/$ref.tsx` shell). Wrapping it +// inline would double-mount its SidebarProvider/ProjectContextProvider +// chain under TanStack since the shell already supplies one. +LogPage.getLayout = (page) => {page} export default LogPage diff --git a/apps/studio/routeTree.gen.ts b/apps/studio/routeTree.gen.ts index 37a7e7df814..92c65cbe685 100644 --- a/apps/studio/routeTree.gen.ts +++ b/apps/studio/routeTree.gen.ts @@ -48,6 +48,7 @@ import { Route as AuthForgotPasswordRouteImport } from './routes/_auth/forgot-pa import { Route as AppOrganizationsRouteImport } from './routes/_app/organizations' import { Route as AppOrgRouteImport } from './routes/_app/org' import { Route as AppAccountRouteImport } from './routes/_app/account' +import { Route as ProjectRefIndexRouteImport } from './routes/project/$ref/index' import { Route as ApiMcpIndexRouteImport } from './routes/api/mcp/index' import { Route as ApiConnectIndexRouteImport } from './routes/api/connect/index' import { Route as AppOrgIndexRouteImport } from './routes/_app/org/index' @@ -55,11 +56,18 @@ import { Route as AppNewIndexRouteImport } from './routes/_app/new/index' import { Route as ProjectChar91_Char93SplatRouteImport } from './routes/project.[_].$' import { Route as ProjectRefStorageRouteImport } from './routes/project/$ref/storage' import { Route as ProjectRefSqlRouteImport } from './routes/project/$ref/sql' +import { Route as ProjectRefSettingsRouteImport } from './routes/project/$ref/settings' import { Route as ProjectRefRealtimeRouteImport } from './routes/project/$ref/realtime' +import { Route as ProjectRefObservabilityRouteImport } from './routes/project/$ref/observability' import { Route as ProjectRefMergeRouteImport } from './routes/project/$ref/merge' +import { Route as ProjectRefLogsRouteImport } from './routes/project/$ref/logs' +import { Route as ProjectRefIntegrationsRouteImport } from './routes/project/$ref/integrations' +import { Route as ProjectRefFunctionsRouteImport } from './routes/project/$ref/functions' import { Route as ProjectRefEditorRouteImport } from './routes/project/$ref/editor' import { Route as ProjectRefDatabaseRouteImport } from './routes/project/$ref/database' import { Route as ProjectRefBranchesRouteImport } from './routes/project/$ref/branches' +import { Route as ProjectRefAuthRouteImport } from './routes/project/$ref/auth' +import { Route as ProjectRefAdvisorsRouteImport } from './routes/project/$ref/advisors' import { Route as OrgChar91_Char93SplatRouteImport } from './routes/org.[_].$' import { Route as IntegrationsVercelInstallRouteImport } from './routes/integrations/vercel/install' import { Route as IntegrationsGithubAuthorizeRouteImport } from './routes/integrations/github/authorize' @@ -75,8 +83,13 @@ import { Route as AppAccountSecurityRouteImport } from './routes/_app/account/se import { Route as AppAccountMeRouteImport } from './routes/_app/account/me' import { Route as AppAccountAuditRouteImport } from './routes/_app/account/audit' import { Route as ProjectRefSqlIndexRouteImport } from './routes/project/$ref/sql/index' +import { Route as ProjectRefObservabilityIndexRouteImport } from './routes/project/$ref/observability/index' +import { Route as ProjectRefLogsIndexRouteImport } from './routes/project/$ref/logs/index' +import { Route as ProjectRefIntegrationsIndexRouteImport } from './routes/project/$ref/integrations/index' +import { Route as ProjectRefFunctionsIndexRouteImport } from './routes/project/$ref/functions/index' import { Route as ProjectRefEditorIndexRouteImport } from './routes/project/$ref/editor/index' import { Route as ProjectRefBranchesIndexRouteImport } from './routes/project/$ref/branches/index' +import { Route as ProjectRefApiIndexRouteImport } from './routes/project/$ref/api/index' import { Route as ApiPlatformProjectsIndexRouteImport } from './routes/api/platform/projects/index' import { Route as ApiPlatformProfileIndexRouteImport } from './routes/api/platform/profile/index' import { Route as ApiPlatformOrganizationsIndexRouteImport } from './routes/api/platform/organizations/index' @@ -86,9 +99,45 @@ import { Route as ProjectRefStorageS3RouteImport } from './routes/project/$ref/s import { Route as ProjectRefSqlTemplatesRouteImport } from './routes/project/$ref/sql/templates' import { Route as ProjectRefSqlExamplesRouteImport } from './routes/project/$ref/sql/examples' import { Route as ProjectRefSqlIdRouteImport } from './routes/project/$ref/sql/$id' +import { Route as ProjectRefSettingsLogDrainsRouteImport } from './routes/project/$ref/settings/log-drains' +import { Route as ProjectRefSettingsIntegrationsRouteImport } from './routes/project/$ref/settings/integrations' +import { Route as ProjectRefSettingsInfrastructureRouteImport } from './routes/project/$ref/settings/infrastructure' +import { Route as ProjectRefSettingsGeneralRouteImport } from './routes/project/$ref/settings/general' +import { Route as ProjectRefSettingsDashboardRouteImport } from './routes/project/$ref/settings/dashboard' +import { Route as ProjectRefSettingsComputeAndDiskRouteImport } from './routes/project/$ref/settings/compute-and-disk' +import { Route as ProjectRefSettingsApiKeysRouteImport } from './routes/project/$ref/settings/api-keys' +import { Route as ProjectRefSettingsApiRouteImport } from './routes/project/$ref/settings/api' +import { Route as ProjectRefSettingsAddonsRouteImport } from './routes/project/$ref/settings/addons' import { Route as ProjectRefRealtimeSettingsRouteImport } from './routes/project/$ref/realtime/settings' import { Route as ProjectRefRealtimePoliciesRouteImport } from './routes/project/$ref/realtime/policies' import { Route as ProjectRefRealtimeInspectorRouteImport } from './routes/project/$ref/realtime/inspector' +import { Route as ProjectRefObservabilityStorageRouteImport } from './routes/project/$ref/observability/storage' +import { Route as ProjectRefObservabilityRealtimeRouteImport } from './routes/project/$ref/observability/realtime' +import { Route as ProjectRefObservabilityQueryPerformanceRouteImport } from './routes/project/$ref/observability/query-performance' +import { Route as ProjectRefObservabilityQueryInsightsRouteImport } from './routes/project/$ref/observability/query-insights' +import { Route as ProjectRefObservabilityPostgrestRouteImport } from './routes/project/$ref/observability/postgrest' +import { Route as ProjectRefObservabilityEdgeFunctionsRouteImport } from './routes/project/$ref/observability/edge-functions' +import { Route as ProjectRefObservabilityDatabaseRouteImport } from './routes/project/$ref/observability/database' +import { Route as ProjectRefObservabilityAuthRouteImport } from './routes/project/$ref/observability/auth' +import { Route as ProjectRefObservabilityApiOverviewRouteImport } from './routes/project/$ref/observability/api-overview' +import { Route as ProjectRefObservabilityIdRouteImport } from './routes/project/$ref/observability/$id' +import { Route as ProjectRefLogsStorageLogsRouteImport } from './routes/project/$ref/logs/storage-logs' +import { Route as ProjectRefLogsReplicationLogsRouteImport } from './routes/project/$ref/logs/replication-logs' +import { Route as ProjectRefLogsRealtimeLogsRouteImport } from './routes/project/$ref/logs/realtime-logs' +import { Route as ProjectRefLogsPostgrestLogsRouteImport } from './routes/project/$ref/logs/postgrest-logs' +import { Route as ProjectRefLogsPostgresLogsRouteImport } from './routes/project/$ref/logs/postgres-logs' +import { Route as ProjectRefLogsPoolerLogsRouteImport } from './routes/project/$ref/logs/pooler-logs' +import { Route as ProjectRefLogsPgcronLogsRouteImport } from './routes/project/$ref/logs/pgcron-logs' +import { Route as ProjectRefLogsPgUpgradeLogsRouteImport } from './routes/project/$ref/logs/pg-upgrade-logs' +import { Route as ProjectRefLogsMultigresLogsRouteImport } from './routes/project/$ref/logs/multigres-logs' +import { Route as ProjectRefLogsEdgeLogsRouteImport } from './routes/project/$ref/logs/edge-logs' +import { Route as ProjectRefLogsEdgeFunctionsLogsRouteImport } from './routes/project/$ref/logs/edge-functions-logs' +import { Route as ProjectRefLogsDedicatedPoolerLogsRouteImport } from './routes/project/$ref/logs/dedicated-pooler-logs' +import { Route as ProjectRefLogsCronLogsRouteImport } from './routes/project/$ref/logs/cron-logs' +import { Route as ProjectRefLogsAuthLogsRouteImport } from './routes/project/$ref/logs/auth-logs' +import { Route as ProjectRefFunctionsSecretsRouteImport } from './routes/project/$ref/functions/secrets' +import { Route as ProjectRefFunctionsNewRouteImport } from './routes/project/$ref/functions/new' +import { Route as ProjectRefFunctionsFunctionSlugRouteImport } from './routes/project/$ref/functions/$functionSlug' import { Route as ProjectRefEditorNewRouteImport } from './routes/project/$ref/editor/new' import { Route as ProjectRefEditorIdRouteImport } from './routes/project/$ref/editor/$id' import { Route as ProjectRefDatabaseTypesRouteImport } from './routes/project/$ref/database/types' @@ -96,12 +145,32 @@ import { Route as ProjectRefDatabaseTriggersRouteImport } from './routes/project import { Route as ProjectRefDatabaseSettingsRouteImport } from './routes/project/$ref/database/settings' import { Route as ProjectRefDatabaseSchemasRouteImport } from './routes/project/$ref/database/schemas' import { Route as ProjectRefDatabaseRolesRouteImport } from './routes/project/$ref/database/roles' +import { Route as ProjectRefDatabasePoliciesRouteImport } from './routes/project/$ref/database/policies' import { Route as ProjectRefDatabaseMigrationsRouteImport } from './routes/project/$ref/database/migrations' import { Route as ProjectRefDatabaseIndexesRouteImport } from './routes/project/$ref/database/indexes' import { Route as ProjectRefDatabaseFunctionsRouteImport } from './routes/project/$ref/database/functions' import { Route as ProjectRefDatabaseExtensionsRouteImport } from './routes/project/$ref/database/extensions' import { Route as ProjectRefDatabaseColumnPrivilegesRouteImport } from './routes/project/$ref/database/column-privileges' import { Route as ProjectRefBranchesMergeRequestsRouteImport } from './routes/project/$ref/branches/merge-requests' +import { Route as ProjectRefAuthUsersRouteImport } from './routes/project/$ref/auth/users' +import { Route as ProjectRefAuthUrlConfigurationRouteImport } from './routes/project/$ref/auth/url-configuration' +import { Route as ProjectRefAuthThirdPartyRouteImport } from './routes/project/$ref/auth/third-party' +import { Route as ProjectRefAuthSmtpRouteImport } from './routes/project/$ref/auth/smtp' +import { Route as ProjectRefAuthSessionsRouteImport } from './routes/project/$ref/auth/sessions' +import { Route as ProjectRefAuthRateLimitsRouteImport } from './routes/project/$ref/auth/rate-limits' +import { Route as ProjectRefAuthProvidersRouteImport } from './routes/project/$ref/auth/providers' +import { Route as ProjectRefAuthProtectionRouteImport } from './routes/project/$ref/auth/protection' +import { Route as ProjectRefAuthPerformanceRouteImport } from './routes/project/$ref/auth/performance' +import { Route as ProjectRefAuthPasskeysRouteImport } from './routes/project/$ref/auth/passkeys' +import { Route as ProjectRefAuthOverviewRouteImport } from './routes/project/$ref/auth/overview' +import { Route as ProjectRefAuthOauthServerRouteImport } from './routes/project/$ref/auth/oauth-server' +import { Route as ProjectRefAuthOauthAppsRouteImport } from './routes/project/$ref/auth/oauth-apps' +import { Route as ProjectRefAuthMfaRouteImport } from './routes/project/$ref/auth/mfa' +import { Route as ProjectRefAuthHooksRouteImport } from './routes/project/$ref/auth/hooks' +import { Route as ProjectRefAuthAuditLogsRouteImport } from './routes/project/$ref/auth/audit-logs' +import { Route as ProjectRefAdvisorsSecurityRouteImport } from './routes/project/$ref/advisors/security' +import { Route as ProjectRefAdvisorsRulesRouteImport } from './routes/project/$ref/advisors/rules' +import { Route as ProjectRefAdvisorsPerformanceRouteImport } from './routes/project/$ref/advisors/performance' import { Route as ApiPlatformTelemetryEventRouteImport } from './routes/api/platform/telemetry/event' import { Route as ApiPlatformIntegrationsSlugRouteImport } from './routes/api/platform/integrations/$slug' import { Route as ApiAiSqlTitleV2RouteImport } from './routes/api/ai/sql/title-v2' @@ -130,15 +199,33 @@ import { Route as AppAccountTokensScopedRouteImport } from './routes/_app/accoun import { Route as ProjectRefStorageVectorsIndexRouteImport } from './routes/project/$ref/storage/vectors/index' import { Route as ProjectRefStorageFilesIndexRouteImport } from './routes/project/$ref/storage/files/index' import { Route as ProjectRefStorageAnalyticsIndexRouteImport } from './routes/project/$ref/storage/analytics/index' +import { Route as ProjectRefSettingsWebhooksIndexRouteImport } from './routes/project/$ref/settings/webhooks/index' +import { Route as ProjectRefSettingsJwtIndexRouteImport } from './routes/project/$ref/settings/jwt/index' +import { Route as ProjectRefSettingsApiKeysIndexRouteImport } from './routes/project/$ref/settings/api-keys/index' +import { Route as ProjectRefLogsExplorerIndexRouteImport } from './routes/project/$ref/logs/explorer/index' +import { Route as ProjectRefIntegrationsIdIndexRouteImport } from './routes/project/$ref/integrations/$id/index' +import { Route as ProjectRefFunctionsFunctionSlugIndexRouteImport } from './routes/project/$ref/functions/$functionSlug/index' import { Route as ProjectRefDatabaseTriggersIndexRouteImport } from './routes/project/$ref/database/triggers/index' import { Route as ProjectRefDatabaseTablesIndexRouteImport } from './routes/project/$ref/database/tables/index' import { Route as ProjectRefDatabaseReplicationIndexRouteImport } from './routes/project/$ref/database/replication/index' import { Route as ProjectRefDatabasePublicationsIndexRouteImport } from './routes/project/$ref/database/publications/index' +import { Route as ProjectRefAuthTemplatesIndexRouteImport } from './routes/project/$ref/auth/templates/index' import { Route as ApiPlatformProjectsRefIndexRouteImport } from './routes/api/platform/projects/$ref/index' import { Route as AppOrgSlugWebhooksIndexRouteImport } from './routes/_app/org/$slug/webhooks/index' import { Route as AppOrgSlugPrivateAppsIndexRouteImport } from './routes/_app/org/$slug/private-apps/index' import { Route as ProjectRefStorageFilesSettingsRouteImport } from './routes/project/$ref/storage/files/settings' import { Route as ProjectRefStorageFilesPoliciesRouteImport } from './routes/project/$ref/storage/files/policies' +import { Route as ProjectRefSettingsWebhooksEndpointIdRouteImport } from './routes/project/$ref/settings/webhooks/$endpointId' +import { Route as ProjectRefSettingsJwtLegacyRouteImport } from './routes/project/$ref/settings/jwt/legacy' +import { Route as ProjectRefSettingsBillingUsageRouteImport } from './routes/project/$ref/settings/billing/usage' +import { Route as ProjectRefSettingsApiKeysLegacyRouteImport } from './routes/project/$ref/settings/api-keys/legacy' +import { Route as ProjectRefLogsExplorerTemplatesRouteImport } from './routes/project/$ref/logs/explorer/templates' +import { Route as ProjectRefLogsExplorerSavedRouteImport } from './routes/project/$ref/logs/explorer/saved' +import { Route as ProjectRefLogsExplorerRecentRouteImport } from './routes/project/$ref/logs/explorer/recent' +import { Route as ProjectRefFunctionsFunctionSlugLogsRouteImport } from './routes/project/$ref/functions/$functionSlug/logs' +import { Route as ProjectRefFunctionsFunctionSlugInvocationsRouteImport } from './routes/project/$ref/functions/$functionSlug/invocations' +import { Route as ProjectRefFunctionsFunctionSlugDetailsRouteImport } from './routes/project/$ref/functions/$functionSlug/details' +import { Route as ProjectRefFunctionsFunctionSlugCodeRouteImport } from './routes/project/$ref/functions/$functionSlug/code' import { Route as ProjectRefDatabaseTriggersEventRouteImport } from './routes/project/$ref/database/triggers/event' import { Route as ProjectRefDatabaseTriggersDataRouteImport } from './routes/project/$ref/database/triggers/data' import { Route as ProjectRefDatabaseTablesIdRouteImport } from './routes/project/$ref/database/tables/$id' @@ -147,6 +234,9 @@ import { Route as ProjectRefDatabasePublicationsIdRouteImport } from './routes/p import { Route as ProjectRefDatabaseBackupsScheduledRouteImport } from './routes/project/$ref/database/backups/scheduled' import { Route as ProjectRefDatabaseBackupsRestoreToNewProjectRouteImport } from './routes/project/$ref/database/backups/restore-to-new-project' import { Route as ProjectRefDatabaseBackupsPitrRouteImport } from './routes/project/$ref/database/backups/pitr' +import { Route as ProjectRefAuthTemplatesTemplateIdRouteImport } from './routes/project/$ref/auth/templates/$templateId' +import { Route as ProjectRefAdvisorsRulesSecurityRouteImport } from './routes/project/$ref/advisors/rules/security' +import { Route as ProjectRefAdvisorsRulesPerformanceRouteImport } from './routes/project/$ref/advisors/rules/performance' import { Route as IntegrationsVercelSlugMarketplaceChooseProjectRouteImport } from './routes/integrations/vercel/$slug/marketplace/choose-project' import { Route as IntegrationsVercelSlugDeployButtonNewProjectRouteImport } from './routes/integrations/vercel/$slug/deploy-button/new-project' import { Route as ApiV1ProjectsRefApiKeysRouteImport } from './routes/api/v1/projects/$ref/api-keys' @@ -175,6 +265,7 @@ import { Route as ApiPlatformAuthRefMagiclinkRouteImport } from './routes/api/pl import { Route as ApiPlatformAuthRefInviteRouteImport } from './routes/api/platform/auth/$ref/invite' import { Route as AuthPartnersStripeProjectsLoginRouteImport } from './routes/_auth/partners/stripe/projects/login' import { Route as AppOrgSlugWebhooksEndpointIdRouteImport } from './routes/_app/org/$slug/webhooks/$endpointId' +import { Route as ProjectRefIntegrationsIdPageIdIndexRouteImport } from './routes/project/$ref/integrations/$id/$pageId/index' import { Route as ApiV1ProjectsRefFunctionsIndexRouteImport } from './routes/api/v1/projects/$ref/functions/index' import { Route as ApiPlatformStorageRefVectorBucketsIndexRouteImport } from './routes/api/platform/storage/$ref/vector-buckets/index' import { Route as ApiPlatformStorageRefBucketsIndexRouteImport } from './routes/api/platform/storage/$ref/buckets/index' @@ -199,6 +290,7 @@ import { Route as ApiPlatformProjectsRefApiGraphqlRouteImport } from './routes/a import { Route as ApiPlatformProjectsRefApiKeysTemporaryRouteImport } from './routes/api/platform/projects/$ref/api-keys/temporary' import { Route as ApiPlatformProjectsRefAnalyticsLogDrainsRouteImport } from './routes/api/platform/projects/$ref/analytics/log-drains' import { Route as ApiPlatformOrganizationsSlugBillingSubscriptionRouteImport } from './routes/api/platform/organizations/$slug/billing/subscription' +import { Route as ProjectRefIntegrationsIdPageIdChildIdIndexRouteImport } from './routes/project/$ref/integrations/$id/$pageId/$childId/index' import { Route as ApiV1ProjectsRefFunctionsSlugIndexRouteImport } from './routes/api/v1/projects/$ref/functions/$slug/index' import { Route as ApiPlatformStorageRefVectorBucketsIdIndexRouteImport } from './routes/api/platform/storage/$ref/vector-buckets/$id/index' import { Route as ApiPlatformStorageRefBucketsIdIndexRouteImport } from './routes/api/platform/storage/$ref/buckets/$id/index' @@ -420,6 +512,11 @@ const AppAccountRoute = AppAccountRouteImport.update({ path: '/account', getParentRoute: () => AppRoute, } as any) +const ProjectRefIndexRoute = ProjectRefIndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => ProjectRefRoute, +} as any) const ApiMcpIndexRoute = ApiMcpIndexRouteImport.update({ id: '/api/mcp/', path: '/api/mcp/', @@ -456,16 +553,41 @@ const ProjectRefSqlRoute = ProjectRefSqlRouteImport.update({ path: '/sql', getParentRoute: () => ProjectRefRoute, } as any) +const ProjectRefSettingsRoute = ProjectRefSettingsRouteImport.update({ + id: '/settings', + path: '/settings', + getParentRoute: () => ProjectRefRoute, +} as any) const ProjectRefRealtimeRoute = ProjectRefRealtimeRouteImport.update({ id: '/realtime', path: '/realtime', getParentRoute: () => ProjectRefRoute, } as any) +const ProjectRefObservabilityRoute = ProjectRefObservabilityRouteImport.update({ + id: '/observability', + path: '/observability', + getParentRoute: () => ProjectRefRoute, +} as any) const ProjectRefMergeRoute = ProjectRefMergeRouteImport.update({ id: '/merge', path: '/merge', getParentRoute: () => ProjectRefRoute, } as any) +const ProjectRefLogsRoute = ProjectRefLogsRouteImport.update({ + id: '/logs', + path: '/logs', + getParentRoute: () => ProjectRefRoute, +} as any) +const ProjectRefIntegrationsRoute = ProjectRefIntegrationsRouteImport.update({ + id: '/integrations', + path: '/integrations', + getParentRoute: () => ProjectRefRoute, +} as any) +const ProjectRefFunctionsRoute = ProjectRefFunctionsRouteImport.update({ + id: '/functions', + path: '/functions', + getParentRoute: () => ProjectRefRoute, +} as any) const ProjectRefEditorRoute = ProjectRefEditorRouteImport.update({ id: '/editor', path: '/editor', @@ -481,6 +603,16 @@ const ProjectRefBranchesRoute = ProjectRefBranchesRouteImport.update({ path: '/branches', getParentRoute: () => ProjectRefRoute, } as any) +const ProjectRefAuthRoute = ProjectRefAuthRouteImport.update({ + id: '/auth', + path: '/auth', + getParentRoute: () => ProjectRefRoute, +} as any) +const ProjectRefAdvisorsRoute = ProjectRefAdvisorsRouteImport.update({ + id: '/advisors', + path: '/advisors', + getParentRoute: () => ProjectRefRoute, +} as any) const OrgChar91_Char93SplatRoute = OrgChar91_Char93SplatRouteImport.update({ id: '/$', path: '/$', @@ -560,6 +692,29 @@ const ProjectRefSqlIndexRoute = ProjectRefSqlIndexRouteImport.update({ path: '/', getParentRoute: () => ProjectRefSqlRoute, } as any) +const ProjectRefObservabilityIndexRoute = + ProjectRefObservabilityIndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefLogsIndexRoute = ProjectRefLogsIndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => ProjectRefLogsRoute, +} as any) +const ProjectRefIntegrationsIndexRoute = + ProjectRefIntegrationsIndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => ProjectRefIntegrationsRoute, + } as any) +const ProjectRefFunctionsIndexRoute = + ProjectRefFunctionsIndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => ProjectRefFunctionsRoute, + } as any) const ProjectRefEditorIndexRoute = ProjectRefEditorIndexRouteImport.update({ id: '/', path: '/', @@ -570,6 +725,11 @@ const ProjectRefBranchesIndexRoute = ProjectRefBranchesIndexRouteImport.update({ path: '/', getParentRoute: () => ProjectRefBranchesRoute, } as any) +const ProjectRefApiIndexRoute = ProjectRefApiIndexRouteImport.update({ + id: '/api/', + path: '/api/', + getParentRoute: () => ProjectRefRoute, +} as any) const ApiPlatformProjectsIndexRoute = ApiPlatformProjectsIndexRouteImport.update({ id: '/api/platform/projects/', @@ -617,6 +777,59 @@ const ProjectRefSqlIdRoute = ProjectRefSqlIdRouteImport.update({ path: '/$id', getParentRoute: () => ProjectRefSqlRoute, } as any) +const ProjectRefSettingsLogDrainsRoute = + ProjectRefSettingsLogDrainsRouteImport.update({ + id: '/log-drains', + path: '/log-drains', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsIntegrationsRoute = + ProjectRefSettingsIntegrationsRouteImport.update({ + id: '/integrations', + path: '/integrations', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsInfrastructureRoute = + ProjectRefSettingsInfrastructureRouteImport.update({ + id: '/infrastructure', + path: '/infrastructure', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsGeneralRoute = + ProjectRefSettingsGeneralRouteImport.update({ + id: '/general', + path: '/general', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsDashboardRoute = + ProjectRefSettingsDashboardRouteImport.update({ + id: '/dashboard', + path: '/dashboard', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsComputeAndDiskRoute = + ProjectRefSettingsComputeAndDiskRouteImport.update({ + id: '/compute-and-disk', + path: '/compute-and-disk', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsApiKeysRoute = + ProjectRefSettingsApiKeysRouteImport.update({ + id: '/api-keys', + path: '/api-keys', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsApiRoute = ProjectRefSettingsApiRouteImport.update({ + id: '/api', + path: '/api', + getParentRoute: () => ProjectRefSettingsRoute, +} as any) +const ProjectRefSettingsAddonsRoute = + ProjectRefSettingsAddonsRouteImport.update({ + id: '/addons', + path: '/addons', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) const ProjectRefRealtimeSettingsRoute = ProjectRefRealtimeSettingsRouteImport.update({ id: '/settings', @@ -635,6 +848,164 @@ const ProjectRefRealtimeInspectorRoute = path: '/inspector', getParentRoute: () => ProjectRefRealtimeRoute, } as any) +const ProjectRefObservabilityStorageRoute = + ProjectRefObservabilityStorageRouteImport.update({ + id: '/storage', + path: '/storage', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefObservabilityRealtimeRoute = + ProjectRefObservabilityRealtimeRouteImport.update({ + id: '/realtime', + path: '/realtime', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefObservabilityQueryPerformanceRoute = + ProjectRefObservabilityQueryPerformanceRouteImport.update({ + id: '/query-performance', + path: '/query-performance', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefObservabilityQueryInsightsRoute = + ProjectRefObservabilityQueryInsightsRouteImport.update({ + id: '/query-insights', + path: '/query-insights', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefObservabilityPostgrestRoute = + ProjectRefObservabilityPostgrestRouteImport.update({ + id: '/postgrest', + path: '/postgrest', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefObservabilityEdgeFunctionsRoute = + ProjectRefObservabilityEdgeFunctionsRouteImport.update({ + id: '/edge-functions', + path: '/edge-functions', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefObservabilityDatabaseRoute = + ProjectRefObservabilityDatabaseRouteImport.update({ + id: '/database', + path: '/database', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefObservabilityAuthRoute = + ProjectRefObservabilityAuthRouteImport.update({ + id: '/auth', + path: '/auth', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefObservabilityApiOverviewRoute = + ProjectRefObservabilityApiOverviewRouteImport.update({ + id: '/api-overview', + path: '/api-overview', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefObservabilityIdRoute = + ProjectRefObservabilityIdRouteImport.update({ + id: '/$id', + path: '/$id', + getParentRoute: () => ProjectRefObservabilityRoute, + } as any) +const ProjectRefLogsStorageLogsRoute = + ProjectRefLogsStorageLogsRouteImport.update({ + id: '/storage-logs', + path: '/storage-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsReplicationLogsRoute = + ProjectRefLogsReplicationLogsRouteImport.update({ + id: '/replication-logs', + path: '/replication-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsRealtimeLogsRoute = + ProjectRefLogsRealtimeLogsRouteImport.update({ + id: '/realtime-logs', + path: '/realtime-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsPostgrestLogsRoute = + ProjectRefLogsPostgrestLogsRouteImport.update({ + id: '/postgrest-logs', + path: '/postgrest-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsPostgresLogsRoute = + ProjectRefLogsPostgresLogsRouteImport.update({ + id: '/postgres-logs', + path: '/postgres-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsPoolerLogsRoute = + ProjectRefLogsPoolerLogsRouteImport.update({ + id: '/pooler-logs', + path: '/pooler-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsPgcronLogsRoute = + ProjectRefLogsPgcronLogsRouteImport.update({ + id: '/pgcron-logs', + path: '/pgcron-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsPgUpgradeLogsRoute = + ProjectRefLogsPgUpgradeLogsRouteImport.update({ + id: '/pg-upgrade-logs', + path: '/pg-upgrade-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsMultigresLogsRoute = + ProjectRefLogsMultigresLogsRouteImport.update({ + id: '/multigres-logs', + path: '/multigres-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsEdgeLogsRoute = ProjectRefLogsEdgeLogsRouteImport.update({ + id: '/edge-logs', + path: '/edge-logs', + getParentRoute: () => ProjectRefLogsRoute, +} as any) +const ProjectRefLogsEdgeFunctionsLogsRoute = + ProjectRefLogsEdgeFunctionsLogsRouteImport.update({ + id: '/edge-functions-logs', + path: '/edge-functions-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsDedicatedPoolerLogsRoute = + ProjectRefLogsDedicatedPoolerLogsRouteImport.update({ + id: '/dedicated-pooler-logs', + path: '/dedicated-pooler-logs', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsCronLogsRoute = ProjectRefLogsCronLogsRouteImport.update({ + id: '/cron-logs', + path: '/cron-logs', + getParentRoute: () => ProjectRefLogsRoute, +} as any) +const ProjectRefLogsAuthLogsRoute = ProjectRefLogsAuthLogsRouteImport.update({ + id: '/auth-logs', + path: '/auth-logs', + getParentRoute: () => ProjectRefLogsRoute, +} as any) +const ProjectRefFunctionsSecretsRoute = + ProjectRefFunctionsSecretsRouteImport.update({ + id: '/secrets', + path: '/secrets', + getParentRoute: () => ProjectRefFunctionsRoute, + } as any) +const ProjectRefFunctionsNewRoute = ProjectRefFunctionsNewRouteImport.update({ + id: '/new', + path: '/new', + getParentRoute: () => ProjectRefFunctionsRoute, +} as any) +const ProjectRefFunctionsFunctionSlugRoute = + ProjectRefFunctionsFunctionSlugRouteImport.update({ + id: '/$functionSlug', + path: '/$functionSlug', + getParentRoute: () => ProjectRefFunctionsRoute, + } as any) const ProjectRefEditorNewRoute = ProjectRefEditorNewRouteImport.update({ id: '/new', path: '/new', @@ -673,6 +1044,12 @@ const ProjectRefDatabaseRolesRoute = ProjectRefDatabaseRolesRouteImport.update({ path: '/roles', getParentRoute: () => ProjectRefDatabaseRoute, } as any) +const ProjectRefDatabasePoliciesRoute = + ProjectRefDatabasePoliciesRouteImport.update({ + id: '/policies', + path: '/policies', + getParentRoute: () => ProjectRefDatabaseRoute, + } as any) const ProjectRefDatabaseMigrationsRoute = ProjectRefDatabaseMigrationsRouteImport.update({ id: '/migrations', @@ -709,6 +1086,109 @@ const ProjectRefBranchesMergeRequestsRoute = path: '/merge-requests', getParentRoute: () => ProjectRefBranchesRoute, } as any) +const ProjectRefAuthUsersRoute = ProjectRefAuthUsersRouteImport.update({ + id: '/users', + path: '/users', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAuthUrlConfigurationRoute = + ProjectRefAuthUrlConfigurationRouteImport.update({ + id: '/url-configuration', + path: '/url-configuration', + getParentRoute: () => ProjectRefAuthRoute, + } as any) +const ProjectRefAuthThirdPartyRoute = + ProjectRefAuthThirdPartyRouteImport.update({ + id: '/third-party', + path: '/third-party', + getParentRoute: () => ProjectRefAuthRoute, + } as any) +const ProjectRefAuthSmtpRoute = ProjectRefAuthSmtpRouteImport.update({ + id: '/smtp', + path: '/smtp', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAuthSessionsRoute = ProjectRefAuthSessionsRouteImport.update({ + id: '/sessions', + path: '/sessions', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAuthRateLimitsRoute = + ProjectRefAuthRateLimitsRouteImport.update({ + id: '/rate-limits', + path: '/rate-limits', + getParentRoute: () => ProjectRefAuthRoute, + } as any) +const ProjectRefAuthProvidersRoute = ProjectRefAuthProvidersRouteImport.update({ + id: '/providers', + path: '/providers', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAuthProtectionRoute = + ProjectRefAuthProtectionRouteImport.update({ + id: '/protection', + path: '/protection', + getParentRoute: () => ProjectRefAuthRoute, + } as any) +const ProjectRefAuthPerformanceRoute = + ProjectRefAuthPerformanceRouteImport.update({ + id: '/performance', + path: '/performance', + getParentRoute: () => ProjectRefAuthRoute, + } as any) +const ProjectRefAuthPasskeysRoute = ProjectRefAuthPasskeysRouteImport.update({ + id: '/passkeys', + path: '/passkeys', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAuthOverviewRoute = ProjectRefAuthOverviewRouteImport.update({ + id: '/overview', + path: '/overview', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAuthOauthServerRoute = + ProjectRefAuthOauthServerRouteImport.update({ + id: '/oauth-server', + path: '/oauth-server', + getParentRoute: () => ProjectRefAuthRoute, + } as any) +const ProjectRefAuthOauthAppsRoute = ProjectRefAuthOauthAppsRouteImport.update({ + id: '/oauth-apps', + path: '/oauth-apps', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAuthMfaRoute = ProjectRefAuthMfaRouteImport.update({ + id: '/mfa', + path: '/mfa', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAuthHooksRoute = ProjectRefAuthHooksRouteImport.update({ + id: '/hooks', + path: '/hooks', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAuthAuditLogsRoute = ProjectRefAuthAuditLogsRouteImport.update({ + id: '/audit-logs', + path: '/audit-logs', + getParentRoute: () => ProjectRefAuthRoute, +} as any) +const ProjectRefAdvisorsSecurityRoute = + ProjectRefAdvisorsSecurityRouteImport.update({ + id: '/security', + path: '/security', + getParentRoute: () => ProjectRefAdvisorsRoute, + } as any) +const ProjectRefAdvisorsRulesRoute = ProjectRefAdvisorsRulesRouteImport.update({ + id: '/rules', + path: '/rules', + getParentRoute: () => ProjectRefAdvisorsRoute, +} as any) +const ProjectRefAdvisorsPerformanceRoute = + ProjectRefAdvisorsPerformanceRouteImport.update({ + id: '/performance', + path: '/performance', + getParentRoute: () => ProjectRefAdvisorsRoute, + } as any) const ApiPlatformTelemetryEventRoute = ApiPlatformTelemetryEventRouteImport.update({ id: '/api/platform/telemetry/event', @@ -855,6 +1335,42 @@ const ProjectRefStorageAnalyticsIndexRoute = path: '/analytics/', getParentRoute: () => ProjectRefStorageRoute, } as any) +const ProjectRefSettingsWebhooksIndexRoute = + ProjectRefSettingsWebhooksIndexRouteImport.update({ + id: '/webhooks/', + path: '/webhooks/', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsJwtIndexRoute = + ProjectRefSettingsJwtIndexRouteImport.update({ + id: '/jwt/', + path: '/jwt/', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsApiKeysIndexRoute = + ProjectRefSettingsApiKeysIndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => ProjectRefSettingsApiKeysRoute, + } as any) +const ProjectRefLogsExplorerIndexRoute = + ProjectRefLogsExplorerIndexRouteImport.update({ + id: '/explorer/', + path: '/explorer/', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefIntegrationsIdIndexRoute = + ProjectRefIntegrationsIdIndexRouteImport.update({ + id: '/$id/', + path: '/$id/', + getParentRoute: () => ProjectRefIntegrationsRoute, + } as any) +const ProjectRefFunctionsFunctionSlugIndexRoute = + ProjectRefFunctionsFunctionSlugIndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => ProjectRefFunctionsFunctionSlugRoute, + } as any) const ProjectRefDatabaseTriggersIndexRoute = ProjectRefDatabaseTriggersIndexRouteImport.update({ id: '/', @@ -879,6 +1395,12 @@ const ProjectRefDatabasePublicationsIndexRoute = path: '/publications/', getParentRoute: () => ProjectRefDatabaseRoute, } as any) +const ProjectRefAuthTemplatesIndexRoute = + ProjectRefAuthTemplatesIndexRouteImport.update({ + id: '/templates/', + path: '/templates/', + getParentRoute: () => ProjectRefAuthRoute, + } as any) const ApiPlatformProjectsRefIndexRoute = ApiPlatformProjectsRefIndexRouteImport.update({ id: '/api/platform/projects/$ref/', @@ -908,6 +1430,72 @@ const ProjectRefStorageFilesPoliciesRoute = path: '/files/policies', getParentRoute: () => ProjectRefStorageRoute, } as any) +const ProjectRefSettingsWebhooksEndpointIdRoute = + ProjectRefSettingsWebhooksEndpointIdRouteImport.update({ + id: '/webhooks/$endpointId', + path: '/webhooks/$endpointId', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsJwtLegacyRoute = + ProjectRefSettingsJwtLegacyRouteImport.update({ + id: '/jwt/legacy', + path: '/jwt/legacy', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsBillingUsageRoute = + ProjectRefSettingsBillingUsageRouteImport.update({ + id: '/billing/usage', + path: '/billing/usage', + getParentRoute: () => ProjectRefSettingsRoute, + } as any) +const ProjectRefSettingsApiKeysLegacyRoute = + ProjectRefSettingsApiKeysLegacyRouteImport.update({ + id: '/legacy', + path: '/legacy', + getParentRoute: () => ProjectRefSettingsApiKeysRoute, + } as any) +const ProjectRefLogsExplorerTemplatesRoute = + ProjectRefLogsExplorerTemplatesRouteImport.update({ + id: '/explorer/templates', + path: '/explorer/templates', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsExplorerSavedRoute = + ProjectRefLogsExplorerSavedRouteImport.update({ + id: '/explorer/saved', + path: '/explorer/saved', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefLogsExplorerRecentRoute = + ProjectRefLogsExplorerRecentRouteImport.update({ + id: '/explorer/recent', + path: '/explorer/recent', + getParentRoute: () => ProjectRefLogsRoute, + } as any) +const ProjectRefFunctionsFunctionSlugLogsRoute = + ProjectRefFunctionsFunctionSlugLogsRouteImport.update({ + id: '/logs', + path: '/logs', + getParentRoute: () => ProjectRefFunctionsFunctionSlugRoute, + } as any) +const ProjectRefFunctionsFunctionSlugInvocationsRoute = + ProjectRefFunctionsFunctionSlugInvocationsRouteImport.update({ + id: '/invocations', + path: '/invocations', + getParentRoute: () => ProjectRefFunctionsFunctionSlugRoute, + } as any) +const ProjectRefFunctionsFunctionSlugDetailsRoute = + ProjectRefFunctionsFunctionSlugDetailsRouteImport.update({ + id: '/details', + path: '/details', + getParentRoute: () => ProjectRefFunctionsFunctionSlugRoute, + } as any) +const ProjectRefFunctionsFunctionSlugCodeRoute = + ProjectRefFunctionsFunctionSlugCodeRouteImport.update({ + id: '/code', + path: '/code', + getParentRoute: () => ProjectRefFunctionsFunctionSlugRoute, + } as any) const ProjectRefDatabaseTriggersEventRoute = ProjectRefDatabaseTriggersEventRouteImport.update({ id: '/event', @@ -956,6 +1544,24 @@ const ProjectRefDatabaseBackupsPitrRoute = path: '/backups/pitr', getParentRoute: () => ProjectRefDatabaseRoute, } as any) +const ProjectRefAuthTemplatesTemplateIdRoute = + ProjectRefAuthTemplatesTemplateIdRouteImport.update({ + id: '/templates/$templateId', + path: '/templates/$templateId', + getParentRoute: () => ProjectRefAuthRoute, + } as any) +const ProjectRefAdvisorsRulesSecurityRoute = + ProjectRefAdvisorsRulesSecurityRouteImport.update({ + id: '/security', + path: '/security', + getParentRoute: () => ProjectRefAdvisorsRulesRoute, + } as any) +const ProjectRefAdvisorsRulesPerformanceRoute = + ProjectRefAdvisorsRulesPerformanceRouteImport.update({ + id: '/performance', + path: '/performance', + getParentRoute: () => ProjectRefAdvisorsRulesRoute, + } as any) const IntegrationsVercelSlugMarketplaceChooseProjectRoute = IntegrationsVercelSlugMarketplaceChooseProjectRouteImport.update({ id: '/$slug/marketplace/choose-project', @@ -1121,6 +1727,12 @@ const AppOrgSlugWebhooksEndpointIdRoute = path: '/$slug/webhooks/$endpointId', getParentRoute: () => AppOrgRoute, } as any) +const ProjectRefIntegrationsIdPageIdIndexRoute = + ProjectRefIntegrationsIdPageIdIndexRouteImport.update({ + id: '/$id/$pageId/', + path: '/$id/$pageId/', + getParentRoute: () => ProjectRefIntegrationsRoute, + } as any) const ApiV1ProjectsRefFunctionsIndexRoute = ApiV1ProjectsRefFunctionsIndexRouteImport.update({ id: '/api/v1/projects/$ref/functions/', @@ -1265,6 +1877,12 @@ const ApiPlatformOrganizationsSlugBillingSubscriptionRoute = path: '/api/platform/organizations/$slug/billing/subscription', getParentRoute: () => rootRouteImport, } as any) +const ProjectRefIntegrationsIdPageIdChildIdIndexRoute = + ProjectRefIntegrationsIdPageIdChildIdIndexRouteImport.update({ + id: '/$id/$pageId/$childId/', + path: '/$id/$pageId/$childId/', + getParentRoute: () => ProjectRefIntegrationsRoute, + } as any) const ApiV1ProjectsRefFunctionsSlugIndexRoute = ApiV1ProjectsRefFunctionsSlugIndexRouteImport.update({ id: '/api/v1/projects/$ref/functions/$slug/', @@ -1462,11 +2080,18 @@ export interface FileRoutesByFullPath { '/integrations/github/authorize': typeof IntegrationsGithubAuthorizeRoute '/integrations/vercel/install': typeof IntegrationsVercelInstallRoute '/org/_/$': typeof OrgChar91_Char93SplatRoute + '/project/$ref/advisors': typeof ProjectRefAdvisorsRouteWithChildren + '/project/$ref/auth': typeof ProjectRefAuthRouteWithChildren '/project/$ref/branches': typeof ProjectRefBranchesRouteWithChildren '/project/$ref/database': typeof ProjectRefDatabaseRouteWithChildren '/project/$ref/editor': typeof ProjectRefEditorRouteWithChildren + '/project/$ref/functions': typeof ProjectRefFunctionsRouteWithChildren + '/project/$ref/integrations': typeof ProjectRefIntegrationsRouteWithChildren + '/project/$ref/logs': typeof ProjectRefLogsRouteWithChildren '/project/$ref/merge': typeof ProjectRefMergeRoute + '/project/$ref/observability': typeof ProjectRefObservabilityRouteWithChildren '/project/$ref/realtime': typeof ProjectRefRealtimeRouteWithChildren + '/project/$ref/settings': typeof ProjectRefSettingsRouteWithChildren '/project/$ref/sql': typeof ProjectRefSqlRouteWithChildren '/project/$ref/storage': typeof ProjectRefStorageRouteWithChildren '/project/_/$': typeof ProjectChar91_Char93SplatRoute @@ -1474,6 +2099,7 @@ export interface FileRoutesByFullPath { '/org/': typeof AppOrgIndexRoute '/api/connect/': typeof ApiConnectIndexRoute '/api/mcp/': typeof ApiMcpIndexRoute + '/project/$ref/': typeof ProjectRefIndexRoute '/account/tokens/scoped': typeof AppAccountTokensScopedRoute '/org/$slug/apps': typeof AppOrgSlugAppsRoute '/org/$slug/audit': typeof AppOrgSlugAuditRoute @@ -1499,12 +2125,32 @@ export interface FileRoutesByFullPath { '/api/ai/sql/title-v2': typeof ApiAiSqlTitleV2Route '/api/platform/integrations/$slug': typeof ApiPlatformIntegrationsSlugRoute '/api/platform/telemetry/event': typeof ApiPlatformTelemetryEventRoute + '/project/$ref/advisors/performance': typeof ProjectRefAdvisorsPerformanceRoute + '/project/$ref/advisors/rules': typeof ProjectRefAdvisorsRulesRouteWithChildren + '/project/$ref/advisors/security': typeof ProjectRefAdvisorsSecurityRoute + '/project/$ref/auth/audit-logs': typeof ProjectRefAuthAuditLogsRoute + '/project/$ref/auth/hooks': typeof ProjectRefAuthHooksRoute + '/project/$ref/auth/mfa': typeof ProjectRefAuthMfaRoute + '/project/$ref/auth/oauth-apps': typeof ProjectRefAuthOauthAppsRoute + '/project/$ref/auth/oauth-server': typeof ProjectRefAuthOauthServerRoute + '/project/$ref/auth/overview': typeof ProjectRefAuthOverviewRoute + '/project/$ref/auth/passkeys': typeof ProjectRefAuthPasskeysRoute + '/project/$ref/auth/performance': typeof ProjectRefAuthPerformanceRoute + '/project/$ref/auth/protection': typeof ProjectRefAuthProtectionRoute + '/project/$ref/auth/providers': typeof ProjectRefAuthProvidersRoute + '/project/$ref/auth/rate-limits': typeof ProjectRefAuthRateLimitsRoute + '/project/$ref/auth/sessions': typeof ProjectRefAuthSessionsRoute + '/project/$ref/auth/smtp': typeof ProjectRefAuthSmtpRoute + '/project/$ref/auth/third-party': typeof ProjectRefAuthThirdPartyRoute + '/project/$ref/auth/url-configuration': typeof ProjectRefAuthUrlConfigurationRoute + '/project/$ref/auth/users': typeof ProjectRefAuthUsersRoute '/project/$ref/branches/merge-requests': typeof ProjectRefBranchesMergeRequestsRoute '/project/$ref/database/column-privileges': typeof ProjectRefDatabaseColumnPrivilegesRoute '/project/$ref/database/extensions': typeof ProjectRefDatabaseExtensionsRoute '/project/$ref/database/functions': typeof ProjectRefDatabaseFunctionsRoute '/project/$ref/database/indexes': typeof ProjectRefDatabaseIndexesRoute '/project/$ref/database/migrations': typeof ProjectRefDatabaseMigrationsRoute + '/project/$ref/database/policies': typeof ProjectRefDatabasePoliciesRoute '/project/$ref/database/roles': typeof ProjectRefDatabaseRolesRoute '/project/$ref/database/schemas': typeof ProjectRefDatabaseSchemasRoute '/project/$ref/database/settings': typeof ProjectRefDatabaseSettingsRoute @@ -1512,9 +2158,45 @@ export interface FileRoutesByFullPath { '/project/$ref/database/types': typeof ProjectRefDatabaseTypesRoute '/project/$ref/editor/$id': typeof ProjectRefEditorIdRoute '/project/$ref/editor/new': typeof ProjectRefEditorNewRoute + '/project/$ref/functions/$functionSlug': typeof ProjectRefFunctionsFunctionSlugRouteWithChildren + '/project/$ref/functions/new': typeof ProjectRefFunctionsNewRoute + '/project/$ref/functions/secrets': typeof ProjectRefFunctionsSecretsRoute + '/project/$ref/logs/auth-logs': typeof ProjectRefLogsAuthLogsRoute + '/project/$ref/logs/cron-logs': typeof ProjectRefLogsCronLogsRoute + '/project/$ref/logs/dedicated-pooler-logs': typeof ProjectRefLogsDedicatedPoolerLogsRoute + '/project/$ref/logs/edge-functions-logs': typeof ProjectRefLogsEdgeFunctionsLogsRoute + '/project/$ref/logs/edge-logs': typeof ProjectRefLogsEdgeLogsRoute + '/project/$ref/logs/multigres-logs': typeof ProjectRefLogsMultigresLogsRoute + '/project/$ref/logs/pg-upgrade-logs': typeof ProjectRefLogsPgUpgradeLogsRoute + '/project/$ref/logs/pgcron-logs': typeof ProjectRefLogsPgcronLogsRoute + '/project/$ref/logs/pooler-logs': typeof ProjectRefLogsPoolerLogsRoute + '/project/$ref/logs/postgres-logs': typeof ProjectRefLogsPostgresLogsRoute + '/project/$ref/logs/postgrest-logs': typeof ProjectRefLogsPostgrestLogsRoute + '/project/$ref/logs/realtime-logs': typeof ProjectRefLogsRealtimeLogsRoute + '/project/$ref/logs/replication-logs': typeof ProjectRefLogsReplicationLogsRoute + '/project/$ref/logs/storage-logs': typeof ProjectRefLogsStorageLogsRoute + '/project/$ref/observability/$id': typeof ProjectRefObservabilityIdRoute + '/project/$ref/observability/api-overview': typeof ProjectRefObservabilityApiOverviewRoute + '/project/$ref/observability/auth': typeof ProjectRefObservabilityAuthRoute + '/project/$ref/observability/database': typeof ProjectRefObservabilityDatabaseRoute + '/project/$ref/observability/edge-functions': typeof ProjectRefObservabilityEdgeFunctionsRoute + '/project/$ref/observability/postgrest': typeof ProjectRefObservabilityPostgrestRoute + '/project/$ref/observability/query-insights': typeof ProjectRefObservabilityQueryInsightsRoute + '/project/$ref/observability/query-performance': typeof ProjectRefObservabilityQueryPerformanceRoute + '/project/$ref/observability/realtime': typeof ProjectRefObservabilityRealtimeRoute + '/project/$ref/observability/storage': typeof ProjectRefObservabilityStorageRoute '/project/$ref/realtime/inspector': typeof ProjectRefRealtimeInspectorRoute '/project/$ref/realtime/policies': typeof ProjectRefRealtimePoliciesRoute '/project/$ref/realtime/settings': typeof ProjectRefRealtimeSettingsRoute + '/project/$ref/settings/addons': typeof ProjectRefSettingsAddonsRoute + '/project/$ref/settings/api': typeof ProjectRefSettingsApiRoute + '/project/$ref/settings/api-keys': typeof ProjectRefSettingsApiKeysRouteWithChildren + '/project/$ref/settings/compute-and-disk': typeof ProjectRefSettingsComputeAndDiskRoute + '/project/$ref/settings/dashboard': typeof ProjectRefSettingsDashboardRoute + '/project/$ref/settings/general': typeof ProjectRefSettingsGeneralRoute + '/project/$ref/settings/infrastructure': typeof ProjectRefSettingsInfrastructureRoute + '/project/$ref/settings/integrations': typeof ProjectRefSettingsIntegrationsRoute + '/project/$ref/settings/log-drains': typeof ProjectRefSettingsLogDrainsRoute '/project/$ref/sql/$id': typeof ProjectRefSqlIdRoute '/project/$ref/sql/examples': typeof ProjectRefSqlExamplesRoute '/project/$ref/sql/templates': typeof ProjectRefSqlTemplatesRoute @@ -1524,8 +2206,13 @@ export interface FileRoutesByFullPath { '/api/platform/organizations/': typeof ApiPlatformOrganizationsIndexRoute '/api/platform/profile/': typeof ApiPlatformProfileIndexRoute '/api/platform/projects/': typeof ApiPlatformProjectsIndexRoute + '/project/$ref/api/': typeof ProjectRefApiIndexRoute '/project/$ref/branches/': typeof ProjectRefBranchesIndexRoute '/project/$ref/editor/': typeof ProjectRefEditorIndexRoute + '/project/$ref/functions/': typeof ProjectRefFunctionsIndexRoute + '/project/$ref/integrations/': typeof ProjectRefIntegrationsIndexRoute + '/project/$ref/logs/': typeof ProjectRefLogsIndexRoute + '/project/$ref/observability/': typeof ProjectRefObservabilityIndexRoute '/project/$ref/sql/': typeof ProjectRefSqlIndexRoute '/org/$slug/webhooks/$endpointId': typeof AppOrgSlugWebhooksEndpointIdRoute '/partners/stripe/projects/login': typeof AuthPartnersStripeProjectsLoginRoute @@ -1555,6 +2242,9 @@ export interface FileRoutesByFullPath { '/api/v1/projects/$ref/api-keys': typeof ApiV1ProjectsRefApiKeysRouteWithChildren '/integrations/vercel/$slug/deploy-button/new-project': typeof IntegrationsVercelSlugDeployButtonNewProjectRoute '/integrations/vercel/$slug/marketplace/choose-project': typeof IntegrationsVercelSlugMarketplaceChooseProjectRoute + '/project/$ref/advisors/rules/performance': typeof ProjectRefAdvisorsRulesPerformanceRoute + '/project/$ref/advisors/rules/security': typeof ProjectRefAdvisorsRulesSecurityRoute + '/project/$ref/auth/templates/$templateId': typeof ProjectRefAuthTemplatesTemplateIdRoute '/project/$ref/database/backups/pitr': typeof ProjectRefDatabaseBackupsPitrRoute '/project/$ref/database/backups/restore-to-new-project': typeof ProjectRefDatabaseBackupsRestoreToNewProjectRoute '/project/$ref/database/backups/scheduled': typeof ProjectRefDatabaseBackupsScheduledRoute @@ -1563,15 +2253,33 @@ export interface FileRoutesByFullPath { '/project/$ref/database/tables/$id': typeof ProjectRefDatabaseTablesIdRoute '/project/$ref/database/triggers/data': typeof ProjectRefDatabaseTriggersDataRoute '/project/$ref/database/triggers/event': typeof ProjectRefDatabaseTriggersEventRoute + '/project/$ref/functions/$functionSlug/code': typeof ProjectRefFunctionsFunctionSlugCodeRoute + '/project/$ref/functions/$functionSlug/details': typeof ProjectRefFunctionsFunctionSlugDetailsRoute + '/project/$ref/functions/$functionSlug/invocations': typeof ProjectRefFunctionsFunctionSlugInvocationsRoute + '/project/$ref/functions/$functionSlug/logs': typeof ProjectRefFunctionsFunctionSlugLogsRoute + '/project/$ref/logs/explorer/recent': typeof ProjectRefLogsExplorerRecentRoute + '/project/$ref/logs/explorer/saved': typeof ProjectRefLogsExplorerSavedRoute + '/project/$ref/logs/explorer/templates': typeof ProjectRefLogsExplorerTemplatesRoute + '/project/$ref/settings/api-keys/legacy': typeof ProjectRefSettingsApiKeysLegacyRoute + '/project/$ref/settings/billing/usage': typeof ProjectRefSettingsBillingUsageRoute + '/project/$ref/settings/jwt/legacy': typeof ProjectRefSettingsJwtLegacyRoute + '/project/$ref/settings/webhooks/$endpointId': typeof ProjectRefSettingsWebhooksEndpointIdRoute '/project/$ref/storage/files/policies': typeof ProjectRefStorageFilesPoliciesRoute '/project/$ref/storage/files/settings': typeof ProjectRefStorageFilesSettingsRoute '/org/$slug/private-apps/': typeof AppOrgSlugPrivateAppsIndexRoute '/org/$slug/webhooks/': typeof AppOrgSlugWebhooksIndexRoute '/api/platform/projects/$ref/': typeof ApiPlatformProjectsRefIndexRoute + '/project/$ref/auth/templates/': typeof ProjectRefAuthTemplatesIndexRoute '/project/$ref/database/publications/': typeof ProjectRefDatabasePublicationsIndexRoute '/project/$ref/database/replication/': typeof ProjectRefDatabaseReplicationIndexRoute '/project/$ref/database/tables/': typeof ProjectRefDatabaseTablesIndexRoute '/project/$ref/database/triggers/': typeof ProjectRefDatabaseTriggersIndexRoute + '/project/$ref/functions/$functionSlug/': typeof ProjectRefFunctionsFunctionSlugIndexRoute + '/project/$ref/integrations/$id/': typeof ProjectRefIntegrationsIdIndexRoute + '/project/$ref/logs/explorer/': typeof ProjectRefLogsExplorerIndexRoute + '/project/$ref/settings/api-keys/': typeof ProjectRefSettingsApiKeysIndexRoute + '/project/$ref/settings/jwt/': typeof ProjectRefSettingsJwtIndexRoute + '/project/$ref/settings/webhooks/': typeof ProjectRefSettingsWebhooksIndexRoute '/project/$ref/storage/analytics/': typeof ProjectRefStorageAnalyticsIndexRoute '/project/$ref/storage/files/': typeof ProjectRefStorageFilesIndexRoute '/project/$ref/storage/vectors/': typeof ProjectRefStorageVectorsIndexRoute @@ -1599,6 +2307,7 @@ export interface FileRoutesByFullPath { '/api/platform/storage/$ref/buckets/': typeof ApiPlatformStorageRefBucketsIndexRoute '/api/platform/storage/$ref/vector-buckets/': typeof ApiPlatformStorageRefVectorBucketsIndexRoute '/api/v1/projects/$ref/functions/': typeof ApiV1ProjectsRefFunctionsIndexRoute + '/project/$ref/integrations/$id/$pageId/': typeof ProjectRefIntegrationsIdPageIdIndexRoute '/api/platform/auth/$ref/users/$id/factors': typeof ApiPlatformAuthRefUsersIdFactorsRoute '/api/platform/projects/$ref/analytics/endpoints/$name': typeof ApiPlatformProjectsRefAnalyticsEndpointsNameRoute '/api/platform/projects/$ref/analytics/log-drains/$uuid': typeof ApiPlatformProjectsRefAnalyticsLogDrainsUuidRoute @@ -1612,6 +2321,7 @@ export interface FileRoutesByFullPath { '/api/platform/storage/$ref/buckets/$id/': typeof ApiPlatformStorageRefBucketsIdIndexRoute '/api/platform/storage/$ref/vector-buckets/$id/': typeof ApiPlatformStorageRefVectorBucketsIdIndexRoute '/api/v1/projects/$ref/functions/$slug/': typeof ApiV1ProjectsRefFunctionsSlugIndexRoute + '/project/$ref/integrations/$id/$pageId/$childId/': typeof ProjectRefIntegrationsIdPageIdChildIdIndexRoute '/api/platform/storage/$ref/buckets/$id/objects/download': typeof ApiPlatformStorageRefBucketsIdObjectsDownloadRoute '/api/platform/storage/$ref/buckets/$id/objects/list': typeof ApiPlatformStorageRefBucketsIdObjectsListRoute '/api/platform/storage/$ref/buckets/$id/objects/move': typeof ApiPlatformStorageRefBucketsIdObjectsMoveRoute @@ -1659,7 +2369,6 @@ export interface FileRoutesByTo { '/integrations/vercel': typeof IntegrationsVercelRouteWithChildren '/new/$slug': typeof NewSlugRoute '/org/_': typeof OrgChar91_Char93RouteWithChildren - '/project/$ref': typeof ProjectRefRouteWithChildren '/project/_': typeof ProjectChar91_Char93RouteWithChildren '/account/audit': typeof AppAccountAuditRoute '/account/me': typeof AppAccountMeRoute @@ -1675,15 +2384,19 @@ export interface FileRoutesByTo { '/integrations/github/authorize': typeof IntegrationsGithubAuthorizeRoute '/integrations/vercel/install': typeof IntegrationsVercelInstallRoute '/org/_/$': typeof OrgChar91_Char93SplatRoute + '/project/$ref/advisors': typeof ProjectRefAdvisorsRouteWithChildren + '/project/$ref/auth': typeof ProjectRefAuthRouteWithChildren '/project/$ref/database': typeof ProjectRefDatabaseRouteWithChildren '/project/$ref/merge': typeof ProjectRefMergeRoute '/project/$ref/realtime': typeof ProjectRefRealtimeRouteWithChildren + '/project/$ref/settings': typeof ProjectRefSettingsRouteWithChildren '/project/$ref/storage': typeof ProjectRefStorageRouteWithChildren '/project/_/$': typeof ProjectChar91_Char93SplatRoute '/new': typeof AppNewIndexRoute '/org': typeof AppOrgIndexRoute '/api/connect': typeof ApiConnectIndexRoute '/api/mcp': typeof ApiMcpIndexRoute + '/project/$ref': typeof ProjectRefIndexRoute '/account/tokens/scoped': typeof AppAccountTokensScopedRoute '/org/$slug/apps': typeof AppOrgSlugAppsRoute '/org/$slug/audit': typeof AppOrgSlugAuditRoute @@ -1709,21 +2422,75 @@ export interface FileRoutesByTo { '/api/ai/sql/title-v2': typeof ApiAiSqlTitleV2Route '/api/platform/integrations/$slug': typeof ApiPlatformIntegrationsSlugRoute '/api/platform/telemetry/event': typeof ApiPlatformTelemetryEventRoute + '/project/$ref/advisors/performance': typeof ProjectRefAdvisorsPerformanceRoute + '/project/$ref/advisors/rules': typeof ProjectRefAdvisorsRulesRouteWithChildren + '/project/$ref/advisors/security': typeof ProjectRefAdvisorsSecurityRoute + '/project/$ref/auth/audit-logs': typeof ProjectRefAuthAuditLogsRoute + '/project/$ref/auth/hooks': typeof ProjectRefAuthHooksRoute + '/project/$ref/auth/mfa': typeof ProjectRefAuthMfaRoute + '/project/$ref/auth/oauth-apps': typeof ProjectRefAuthOauthAppsRoute + '/project/$ref/auth/oauth-server': typeof ProjectRefAuthOauthServerRoute + '/project/$ref/auth/overview': typeof ProjectRefAuthOverviewRoute + '/project/$ref/auth/passkeys': typeof ProjectRefAuthPasskeysRoute + '/project/$ref/auth/performance': typeof ProjectRefAuthPerformanceRoute + '/project/$ref/auth/protection': typeof ProjectRefAuthProtectionRoute + '/project/$ref/auth/providers': typeof ProjectRefAuthProvidersRoute + '/project/$ref/auth/rate-limits': typeof ProjectRefAuthRateLimitsRoute + '/project/$ref/auth/sessions': typeof ProjectRefAuthSessionsRoute + '/project/$ref/auth/smtp': typeof ProjectRefAuthSmtpRoute + '/project/$ref/auth/third-party': typeof ProjectRefAuthThirdPartyRoute + '/project/$ref/auth/url-configuration': typeof ProjectRefAuthUrlConfigurationRoute + '/project/$ref/auth/users': typeof ProjectRefAuthUsersRoute '/project/$ref/branches/merge-requests': typeof ProjectRefBranchesMergeRequestsRoute '/project/$ref/database/column-privileges': typeof ProjectRefDatabaseColumnPrivilegesRoute '/project/$ref/database/extensions': typeof ProjectRefDatabaseExtensionsRoute '/project/$ref/database/functions': typeof ProjectRefDatabaseFunctionsRoute '/project/$ref/database/indexes': typeof ProjectRefDatabaseIndexesRoute '/project/$ref/database/migrations': typeof ProjectRefDatabaseMigrationsRoute + '/project/$ref/database/policies': typeof ProjectRefDatabasePoliciesRoute '/project/$ref/database/roles': typeof ProjectRefDatabaseRolesRoute '/project/$ref/database/schemas': typeof ProjectRefDatabaseSchemasRoute '/project/$ref/database/settings': typeof ProjectRefDatabaseSettingsRoute '/project/$ref/database/types': typeof ProjectRefDatabaseTypesRoute '/project/$ref/editor/$id': typeof ProjectRefEditorIdRoute '/project/$ref/editor/new': typeof ProjectRefEditorNewRoute + '/project/$ref/functions/new': typeof ProjectRefFunctionsNewRoute + '/project/$ref/functions/secrets': typeof ProjectRefFunctionsSecretsRoute + '/project/$ref/logs/auth-logs': typeof ProjectRefLogsAuthLogsRoute + '/project/$ref/logs/cron-logs': typeof ProjectRefLogsCronLogsRoute + '/project/$ref/logs/dedicated-pooler-logs': typeof ProjectRefLogsDedicatedPoolerLogsRoute + '/project/$ref/logs/edge-functions-logs': typeof ProjectRefLogsEdgeFunctionsLogsRoute + '/project/$ref/logs/edge-logs': typeof ProjectRefLogsEdgeLogsRoute + '/project/$ref/logs/multigres-logs': typeof ProjectRefLogsMultigresLogsRoute + '/project/$ref/logs/pg-upgrade-logs': typeof ProjectRefLogsPgUpgradeLogsRoute + '/project/$ref/logs/pgcron-logs': typeof ProjectRefLogsPgcronLogsRoute + '/project/$ref/logs/pooler-logs': typeof ProjectRefLogsPoolerLogsRoute + '/project/$ref/logs/postgres-logs': typeof ProjectRefLogsPostgresLogsRoute + '/project/$ref/logs/postgrest-logs': typeof ProjectRefLogsPostgrestLogsRoute + '/project/$ref/logs/realtime-logs': typeof ProjectRefLogsRealtimeLogsRoute + '/project/$ref/logs/replication-logs': typeof ProjectRefLogsReplicationLogsRoute + '/project/$ref/logs/storage-logs': typeof ProjectRefLogsStorageLogsRoute + '/project/$ref/observability/$id': typeof ProjectRefObservabilityIdRoute + '/project/$ref/observability/api-overview': typeof ProjectRefObservabilityApiOverviewRoute + '/project/$ref/observability/auth': typeof ProjectRefObservabilityAuthRoute + '/project/$ref/observability/database': typeof ProjectRefObservabilityDatabaseRoute + '/project/$ref/observability/edge-functions': typeof ProjectRefObservabilityEdgeFunctionsRoute + '/project/$ref/observability/postgrest': typeof ProjectRefObservabilityPostgrestRoute + '/project/$ref/observability/query-insights': typeof ProjectRefObservabilityQueryInsightsRoute + '/project/$ref/observability/query-performance': typeof ProjectRefObservabilityQueryPerformanceRoute + '/project/$ref/observability/realtime': typeof ProjectRefObservabilityRealtimeRoute + '/project/$ref/observability/storage': typeof ProjectRefObservabilityStorageRoute '/project/$ref/realtime/inspector': typeof ProjectRefRealtimeInspectorRoute '/project/$ref/realtime/policies': typeof ProjectRefRealtimePoliciesRoute '/project/$ref/realtime/settings': typeof ProjectRefRealtimeSettingsRoute + '/project/$ref/settings/addons': typeof ProjectRefSettingsAddonsRoute + '/project/$ref/settings/api': typeof ProjectRefSettingsApiRoute + '/project/$ref/settings/compute-and-disk': typeof ProjectRefSettingsComputeAndDiskRoute + '/project/$ref/settings/dashboard': typeof ProjectRefSettingsDashboardRoute + '/project/$ref/settings/general': typeof ProjectRefSettingsGeneralRoute + '/project/$ref/settings/infrastructure': typeof ProjectRefSettingsInfrastructureRoute + '/project/$ref/settings/integrations': typeof ProjectRefSettingsIntegrationsRoute + '/project/$ref/settings/log-drains': typeof ProjectRefSettingsLogDrainsRoute '/project/$ref/sql/$id': typeof ProjectRefSqlIdRoute '/project/$ref/sql/examples': typeof ProjectRefSqlExamplesRoute '/project/$ref/sql/templates': typeof ProjectRefSqlTemplatesRoute @@ -1733,8 +2500,13 @@ export interface FileRoutesByTo { '/api/platform/organizations': typeof ApiPlatformOrganizationsIndexRoute '/api/platform/profile': typeof ApiPlatformProfileIndexRoute '/api/platform/projects': typeof ApiPlatformProjectsIndexRoute + '/project/$ref/api': typeof ProjectRefApiIndexRoute '/project/$ref/branches': typeof ProjectRefBranchesIndexRoute '/project/$ref/editor': typeof ProjectRefEditorIndexRoute + '/project/$ref/functions': typeof ProjectRefFunctionsIndexRoute + '/project/$ref/integrations': typeof ProjectRefIntegrationsIndexRoute + '/project/$ref/logs': typeof ProjectRefLogsIndexRoute + '/project/$ref/observability': typeof ProjectRefObservabilityIndexRoute '/project/$ref/sql': typeof ProjectRefSqlIndexRoute '/org/$slug/webhooks/$endpointId': typeof AppOrgSlugWebhooksEndpointIdRoute '/partners/stripe/projects/login': typeof AuthPartnersStripeProjectsLoginRoute @@ -1764,6 +2536,9 @@ export interface FileRoutesByTo { '/api/v1/projects/$ref/api-keys': typeof ApiV1ProjectsRefApiKeysRouteWithChildren '/integrations/vercel/$slug/deploy-button/new-project': typeof IntegrationsVercelSlugDeployButtonNewProjectRoute '/integrations/vercel/$slug/marketplace/choose-project': typeof IntegrationsVercelSlugMarketplaceChooseProjectRoute + '/project/$ref/advisors/rules/performance': typeof ProjectRefAdvisorsRulesPerformanceRoute + '/project/$ref/advisors/rules/security': typeof ProjectRefAdvisorsRulesSecurityRoute + '/project/$ref/auth/templates/$templateId': typeof ProjectRefAuthTemplatesTemplateIdRoute '/project/$ref/database/backups/pitr': typeof ProjectRefDatabaseBackupsPitrRoute '/project/$ref/database/backups/restore-to-new-project': typeof ProjectRefDatabaseBackupsRestoreToNewProjectRoute '/project/$ref/database/backups/scheduled': typeof ProjectRefDatabaseBackupsScheduledRoute @@ -1772,15 +2547,33 @@ export interface FileRoutesByTo { '/project/$ref/database/tables/$id': typeof ProjectRefDatabaseTablesIdRoute '/project/$ref/database/triggers/data': typeof ProjectRefDatabaseTriggersDataRoute '/project/$ref/database/triggers/event': typeof ProjectRefDatabaseTriggersEventRoute + '/project/$ref/functions/$functionSlug/code': typeof ProjectRefFunctionsFunctionSlugCodeRoute + '/project/$ref/functions/$functionSlug/details': typeof ProjectRefFunctionsFunctionSlugDetailsRoute + '/project/$ref/functions/$functionSlug/invocations': typeof ProjectRefFunctionsFunctionSlugInvocationsRoute + '/project/$ref/functions/$functionSlug/logs': typeof ProjectRefFunctionsFunctionSlugLogsRoute + '/project/$ref/logs/explorer/recent': typeof ProjectRefLogsExplorerRecentRoute + '/project/$ref/logs/explorer/saved': typeof ProjectRefLogsExplorerSavedRoute + '/project/$ref/logs/explorer/templates': typeof ProjectRefLogsExplorerTemplatesRoute + '/project/$ref/settings/api-keys/legacy': typeof ProjectRefSettingsApiKeysLegacyRoute + '/project/$ref/settings/billing/usage': typeof ProjectRefSettingsBillingUsageRoute + '/project/$ref/settings/jwt/legacy': typeof ProjectRefSettingsJwtLegacyRoute + '/project/$ref/settings/webhooks/$endpointId': typeof ProjectRefSettingsWebhooksEndpointIdRoute '/project/$ref/storage/files/policies': typeof ProjectRefStorageFilesPoliciesRoute '/project/$ref/storage/files/settings': typeof ProjectRefStorageFilesSettingsRoute '/org/$slug/private-apps': typeof AppOrgSlugPrivateAppsIndexRoute '/org/$slug/webhooks': typeof AppOrgSlugWebhooksIndexRoute '/api/platform/projects/$ref': typeof ApiPlatformProjectsRefIndexRoute + '/project/$ref/auth/templates': typeof ProjectRefAuthTemplatesIndexRoute '/project/$ref/database/publications': typeof ProjectRefDatabasePublicationsIndexRoute '/project/$ref/database/replication': typeof ProjectRefDatabaseReplicationIndexRoute '/project/$ref/database/tables': typeof ProjectRefDatabaseTablesIndexRoute '/project/$ref/database/triggers': typeof ProjectRefDatabaseTriggersIndexRoute + '/project/$ref/functions/$functionSlug': typeof ProjectRefFunctionsFunctionSlugIndexRoute + '/project/$ref/integrations/$id': typeof ProjectRefIntegrationsIdIndexRoute + '/project/$ref/logs/explorer': typeof ProjectRefLogsExplorerIndexRoute + '/project/$ref/settings/api-keys': typeof ProjectRefSettingsApiKeysIndexRoute + '/project/$ref/settings/jwt': typeof ProjectRefSettingsJwtIndexRoute + '/project/$ref/settings/webhooks': typeof ProjectRefSettingsWebhooksIndexRoute '/project/$ref/storage/analytics': typeof ProjectRefStorageAnalyticsIndexRoute '/project/$ref/storage/files': typeof ProjectRefStorageFilesIndexRoute '/project/$ref/storage/vectors': typeof ProjectRefStorageVectorsIndexRoute @@ -1808,6 +2601,7 @@ export interface FileRoutesByTo { '/api/platform/storage/$ref/buckets': typeof ApiPlatformStorageRefBucketsIndexRoute '/api/platform/storage/$ref/vector-buckets': typeof ApiPlatformStorageRefVectorBucketsIndexRoute '/api/v1/projects/$ref/functions': typeof ApiV1ProjectsRefFunctionsIndexRoute + '/project/$ref/integrations/$id/$pageId': typeof ProjectRefIntegrationsIdPageIdIndexRoute '/api/platform/auth/$ref/users/$id/factors': typeof ApiPlatformAuthRefUsersIdFactorsRoute '/api/platform/projects/$ref/analytics/endpoints/$name': typeof ApiPlatformProjectsRefAnalyticsEndpointsNameRoute '/api/platform/projects/$ref/analytics/log-drains/$uuid': typeof ApiPlatformProjectsRefAnalyticsLogDrainsUuidRoute @@ -1821,6 +2615,7 @@ export interface FileRoutesByTo { '/api/platform/storage/$ref/buckets/$id': typeof ApiPlatformStorageRefBucketsIdIndexRoute '/api/platform/storage/$ref/vector-buckets/$id': typeof ApiPlatformStorageRefVectorBucketsIdIndexRoute '/api/v1/projects/$ref/functions/$slug': typeof ApiV1ProjectsRefFunctionsSlugIndexRoute + '/project/$ref/integrations/$id/$pageId/$childId': typeof ProjectRefIntegrationsIdPageIdChildIdIndexRoute '/api/platform/storage/$ref/buckets/$id/objects/download': typeof ApiPlatformStorageRefBucketsIdObjectsDownloadRoute '/api/platform/storage/$ref/buckets/$id/objects/list': typeof ApiPlatformStorageRefBucketsIdObjectsListRoute '/api/platform/storage/$ref/buckets/$id/objects/move': typeof ApiPlatformStorageRefBucketsIdObjectsMoveRoute @@ -1888,11 +2683,18 @@ export interface FileRoutesById { '/integrations/github/authorize': typeof IntegrationsGithubAuthorizeRoute '/integrations/vercel/install': typeof IntegrationsVercelInstallRoute '/org/_/$': typeof OrgChar91_Char93SplatRoute + '/project/$ref/advisors': typeof ProjectRefAdvisorsRouteWithChildren + '/project/$ref/auth': typeof ProjectRefAuthRouteWithChildren '/project/$ref/branches': typeof ProjectRefBranchesRouteWithChildren '/project/$ref/database': typeof ProjectRefDatabaseRouteWithChildren '/project/$ref/editor': typeof ProjectRefEditorRouteWithChildren + '/project/$ref/functions': typeof ProjectRefFunctionsRouteWithChildren + '/project/$ref/integrations': typeof ProjectRefIntegrationsRouteWithChildren + '/project/$ref/logs': typeof ProjectRefLogsRouteWithChildren '/project/$ref/merge': typeof ProjectRefMergeRoute + '/project/$ref/observability': typeof ProjectRefObservabilityRouteWithChildren '/project/$ref/realtime': typeof ProjectRefRealtimeRouteWithChildren + '/project/$ref/settings': typeof ProjectRefSettingsRouteWithChildren '/project/$ref/sql': typeof ProjectRefSqlRouteWithChildren '/project/$ref/storage': typeof ProjectRefStorageRouteWithChildren '/project/_/$': typeof ProjectChar91_Char93SplatRoute @@ -1900,6 +2702,7 @@ export interface FileRoutesById { '/_app/org/': typeof AppOrgIndexRoute '/api/connect/': typeof ApiConnectIndexRoute '/api/mcp/': typeof ApiMcpIndexRoute + '/project/$ref/': typeof ProjectRefIndexRoute '/_app/account/tokens/scoped': typeof AppAccountTokensScopedRoute '/_app/org/$slug/apps': typeof AppOrgSlugAppsRoute '/_app/org/$slug/audit': typeof AppOrgSlugAuditRoute @@ -1925,12 +2728,32 @@ export interface FileRoutesById { '/api/ai/sql/title-v2': typeof ApiAiSqlTitleV2Route '/api/platform/integrations/$slug': typeof ApiPlatformIntegrationsSlugRoute '/api/platform/telemetry/event': typeof ApiPlatformTelemetryEventRoute + '/project/$ref/advisors/performance': typeof ProjectRefAdvisorsPerformanceRoute + '/project/$ref/advisors/rules': typeof ProjectRefAdvisorsRulesRouteWithChildren + '/project/$ref/advisors/security': typeof ProjectRefAdvisorsSecurityRoute + '/project/$ref/auth/audit-logs': typeof ProjectRefAuthAuditLogsRoute + '/project/$ref/auth/hooks': typeof ProjectRefAuthHooksRoute + '/project/$ref/auth/mfa': typeof ProjectRefAuthMfaRoute + '/project/$ref/auth/oauth-apps': typeof ProjectRefAuthOauthAppsRoute + '/project/$ref/auth/oauth-server': typeof ProjectRefAuthOauthServerRoute + '/project/$ref/auth/overview': typeof ProjectRefAuthOverviewRoute + '/project/$ref/auth/passkeys': typeof ProjectRefAuthPasskeysRoute + '/project/$ref/auth/performance': typeof ProjectRefAuthPerformanceRoute + '/project/$ref/auth/protection': typeof ProjectRefAuthProtectionRoute + '/project/$ref/auth/providers': typeof ProjectRefAuthProvidersRoute + '/project/$ref/auth/rate-limits': typeof ProjectRefAuthRateLimitsRoute + '/project/$ref/auth/sessions': typeof ProjectRefAuthSessionsRoute + '/project/$ref/auth/smtp': typeof ProjectRefAuthSmtpRoute + '/project/$ref/auth/third-party': typeof ProjectRefAuthThirdPartyRoute + '/project/$ref/auth/url-configuration': typeof ProjectRefAuthUrlConfigurationRoute + '/project/$ref/auth/users': typeof ProjectRefAuthUsersRoute '/project/$ref/branches/merge-requests': typeof ProjectRefBranchesMergeRequestsRoute '/project/$ref/database/column-privileges': typeof ProjectRefDatabaseColumnPrivilegesRoute '/project/$ref/database/extensions': typeof ProjectRefDatabaseExtensionsRoute '/project/$ref/database/functions': typeof ProjectRefDatabaseFunctionsRoute '/project/$ref/database/indexes': typeof ProjectRefDatabaseIndexesRoute '/project/$ref/database/migrations': typeof ProjectRefDatabaseMigrationsRoute + '/project/$ref/database/policies': typeof ProjectRefDatabasePoliciesRoute '/project/$ref/database/roles': typeof ProjectRefDatabaseRolesRoute '/project/$ref/database/schemas': typeof ProjectRefDatabaseSchemasRoute '/project/$ref/database/settings': typeof ProjectRefDatabaseSettingsRoute @@ -1938,9 +2761,45 @@ export interface FileRoutesById { '/project/$ref/database/types': typeof ProjectRefDatabaseTypesRoute '/project/$ref/editor/$id': typeof ProjectRefEditorIdRoute '/project/$ref/editor/new': typeof ProjectRefEditorNewRoute + '/project/$ref/functions/$functionSlug': typeof ProjectRefFunctionsFunctionSlugRouteWithChildren + '/project/$ref/functions/new': typeof ProjectRefFunctionsNewRoute + '/project/$ref/functions/secrets': typeof ProjectRefFunctionsSecretsRoute + '/project/$ref/logs/auth-logs': typeof ProjectRefLogsAuthLogsRoute + '/project/$ref/logs/cron-logs': typeof ProjectRefLogsCronLogsRoute + '/project/$ref/logs/dedicated-pooler-logs': typeof ProjectRefLogsDedicatedPoolerLogsRoute + '/project/$ref/logs/edge-functions-logs': typeof ProjectRefLogsEdgeFunctionsLogsRoute + '/project/$ref/logs/edge-logs': typeof ProjectRefLogsEdgeLogsRoute + '/project/$ref/logs/multigres-logs': typeof ProjectRefLogsMultigresLogsRoute + '/project/$ref/logs/pg-upgrade-logs': typeof ProjectRefLogsPgUpgradeLogsRoute + '/project/$ref/logs/pgcron-logs': typeof ProjectRefLogsPgcronLogsRoute + '/project/$ref/logs/pooler-logs': typeof ProjectRefLogsPoolerLogsRoute + '/project/$ref/logs/postgres-logs': typeof ProjectRefLogsPostgresLogsRoute + '/project/$ref/logs/postgrest-logs': typeof ProjectRefLogsPostgrestLogsRoute + '/project/$ref/logs/realtime-logs': typeof ProjectRefLogsRealtimeLogsRoute + '/project/$ref/logs/replication-logs': typeof ProjectRefLogsReplicationLogsRoute + '/project/$ref/logs/storage-logs': typeof ProjectRefLogsStorageLogsRoute + '/project/$ref/observability/$id': typeof ProjectRefObservabilityIdRoute + '/project/$ref/observability/api-overview': typeof ProjectRefObservabilityApiOverviewRoute + '/project/$ref/observability/auth': typeof ProjectRefObservabilityAuthRoute + '/project/$ref/observability/database': typeof ProjectRefObservabilityDatabaseRoute + '/project/$ref/observability/edge-functions': typeof ProjectRefObservabilityEdgeFunctionsRoute + '/project/$ref/observability/postgrest': typeof ProjectRefObservabilityPostgrestRoute + '/project/$ref/observability/query-insights': typeof ProjectRefObservabilityQueryInsightsRoute + '/project/$ref/observability/query-performance': typeof ProjectRefObservabilityQueryPerformanceRoute + '/project/$ref/observability/realtime': typeof ProjectRefObservabilityRealtimeRoute + '/project/$ref/observability/storage': typeof ProjectRefObservabilityStorageRoute '/project/$ref/realtime/inspector': typeof ProjectRefRealtimeInspectorRoute '/project/$ref/realtime/policies': typeof ProjectRefRealtimePoliciesRoute '/project/$ref/realtime/settings': typeof ProjectRefRealtimeSettingsRoute + '/project/$ref/settings/addons': typeof ProjectRefSettingsAddonsRoute + '/project/$ref/settings/api': typeof ProjectRefSettingsApiRoute + '/project/$ref/settings/api-keys': typeof ProjectRefSettingsApiKeysRouteWithChildren + '/project/$ref/settings/compute-and-disk': typeof ProjectRefSettingsComputeAndDiskRoute + '/project/$ref/settings/dashboard': typeof ProjectRefSettingsDashboardRoute + '/project/$ref/settings/general': typeof ProjectRefSettingsGeneralRoute + '/project/$ref/settings/infrastructure': typeof ProjectRefSettingsInfrastructureRoute + '/project/$ref/settings/integrations': typeof ProjectRefSettingsIntegrationsRoute + '/project/$ref/settings/log-drains': typeof ProjectRefSettingsLogDrainsRoute '/project/$ref/sql/$id': typeof ProjectRefSqlIdRoute '/project/$ref/sql/examples': typeof ProjectRefSqlExamplesRoute '/project/$ref/sql/templates': typeof ProjectRefSqlTemplatesRoute @@ -1950,8 +2809,13 @@ export interface FileRoutesById { '/api/platform/organizations/': typeof ApiPlatformOrganizationsIndexRoute '/api/platform/profile/': typeof ApiPlatformProfileIndexRoute '/api/platform/projects/': typeof ApiPlatformProjectsIndexRoute + '/project/$ref/api/': typeof ProjectRefApiIndexRoute '/project/$ref/branches/': typeof ProjectRefBranchesIndexRoute '/project/$ref/editor/': typeof ProjectRefEditorIndexRoute + '/project/$ref/functions/': typeof ProjectRefFunctionsIndexRoute + '/project/$ref/integrations/': typeof ProjectRefIntegrationsIndexRoute + '/project/$ref/logs/': typeof ProjectRefLogsIndexRoute + '/project/$ref/observability/': typeof ProjectRefObservabilityIndexRoute '/project/$ref/sql/': typeof ProjectRefSqlIndexRoute '/_app/org/$slug/webhooks/$endpointId': typeof AppOrgSlugWebhooksEndpointIdRoute '/_auth/partners/stripe/projects/login': typeof AuthPartnersStripeProjectsLoginRoute @@ -1981,6 +2845,9 @@ export interface FileRoutesById { '/api/v1/projects/$ref/api-keys': typeof ApiV1ProjectsRefApiKeysRouteWithChildren '/integrations/vercel/$slug/deploy-button/new-project': typeof IntegrationsVercelSlugDeployButtonNewProjectRoute '/integrations/vercel/$slug/marketplace/choose-project': typeof IntegrationsVercelSlugMarketplaceChooseProjectRoute + '/project/$ref/advisors/rules/performance': typeof ProjectRefAdvisorsRulesPerformanceRoute + '/project/$ref/advisors/rules/security': typeof ProjectRefAdvisorsRulesSecurityRoute + '/project/$ref/auth/templates/$templateId': typeof ProjectRefAuthTemplatesTemplateIdRoute '/project/$ref/database/backups/pitr': typeof ProjectRefDatabaseBackupsPitrRoute '/project/$ref/database/backups/restore-to-new-project': typeof ProjectRefDatabaseBackupsRestoreToNewProjectRoute '/project/$ref/database/backups/scheduled': typeof ProjectRefDatabaseBackupsScheduledRoute @@ -1989,15 +2856,33 @@ export interface FileRoutesById { '/project/$ref/database/tables/$id': typeof ProjectRefDatabaseTablesIdRoute '/project/$ref/database/triggers/data': typeof ProjectRefDatabaseTriggersDataRoute '/project/$ref/database/triggers/event': typeof ProjectRefDatabaseTriggersEventRoute + '/project/$ref/functions/$functionSlug/code': typeof ProjectRefFunctionsFunctionSlugCodeRoute + '/project/$ref/functions/$functionSlug/details': typeof ProjectRefFunctionsFunctionSlugDetailsRoute + '/project/$ref/functions/$functionSlug/invocations': typeof ProjectRefFunctionsFunctionSlugInvocationsRoute + '/project/$ref/functions/$functionSlug/logs': typeof ProjectRefFunctionsFunctionSlugLogsRoute + '/project/$ref/logs/explorer/recent': typeof ProjectRefLogsExplorerRecentRoute + '/project/$ref/logs/explorer/saved': typeof ProjectRefLogsExplorerSavedRoute + '/project/$ref/logs/explorer/templates': typeof ProjectRefLogsExplorerTemplatesRoute + '/project/$ref/settings/api-keys/legacy': typeof ProjectRefSettingsApiKeysLegacyRoute + '/project/$ref/settings/billing/usage': typeof ProjectRefSettingsBillingUsageRoute + '/project/$ref/settings/jwt/legacy': typeof ProjectRefSettingsJwtLegacyRoute + '/project/$ref/settings/webhooks/$endpointId': typeof ProjectRefSettingsWebhooksEndpointIdRoute '/project/$ref/storage/files/policies': typeof ProjectRefStorageFilesPoliciesRoute '/project/$ref/storage/files/settings': typeof ProjectRefStorageFilesSettingsRoute '/_app/org/$slug/private-apps/': typeof AppOrgSlugPrivateAppsIndexRoute '/_app/org/$slug/webhooks/': typeof AppOrgSlugWebhooksIndexRoute '/api/platform/projects/$ref/': typeof ApiPlatformProjectsRefIndexRoute + '/project/$ref/auth/templates/': typeof ProjectRefAuthTemplatesIndexRoute '/project/$ref/database/publications/': typeof ProjectRefDatabasePublicationsIndexRoute '/project/$ref/database/replication/': typeof ProjectRefDatabaseReplicationIndexRoute '/project/$ref/database/tables/': typeof ProjectRefDatabaseTablesIndexRoute '/project/$ref/database/triggers/': typeof ProjectRefDatabaseTriggersIndexRoute + '/project/$ref/functions/$functionSlug/': typeof ProjectRefFunctionsFunctionSlugIndexRoute + '/project/$ref/integrations/$id/': typeof ProjectRefIntegrationsIdIndexRoute + '/project/$ref/logs/explorer/': typeof ProjectRefLogsExplorerIndexRoute + '/project/$ref/settings/api-keys/': typeof ProjectRefSettingsApiKeysIndexRoute + '/project/$ref/settings/jwt/': typeof ProjectRefSettingsJwtIndexRoute + '/project/$ref/settings/webhooks/': typeof ProjectRefSettingsWebhooksIndexRoute '/project/$ref/storage/analytics/': typeof ProjectRefStorageAnalyticsIndexRoute '/project/$ref/storage/files/': typeof ProjectRefStorageFilesIndexRoute '/project/$ref/storage/vectors/': typeof ProjectRefStorageVectorsIndexRoute @@ -2025,6 +2910,7 @@ export interface FileRoutesById { '/api/platform/storage/$ref/buckets/': typeof ApiPlatformStorageRefBucketsIndexRoute '/api/platform/storage/$ref/vector-buckets/': typeof ApiPlatformStorageRefVectorBucketsIndexRoute '/api/v1/projects/$ref/functions/': typeof ApiV1ProjectsRefFunctionsIndexRoute + '/project/$ref/integrations/$id/$pageId/': typeof ProjectRefIntegrationsIdPageIdIndexRoute '/api/platform/auth/$ref/users/$id/factors': typeof ApiPlatformAuthRefUsersIdFactorsRoute '/api/platform/projects/$ref/analytics/endpoints/$name': typeof ApiPlatformProjectsRefAnalyticsEndpointsNameRoute '/api/platform/projects/$ref/analytics/log-drains/$uuid': typeof ApiPlatformProjectsRefAnalyticsLogDrainsUuidRoute @@ -2038,6 +2924,7 @@ export interface FileRoutesById { '/api/platform/storage/$ref/buckets/$id/': typeof ApiPlatformStorageRefBucketsIdIndexRoute '/api/platform/storage/$ref/vector-buckets/$id/': typeof ApiPlatformStorageRefVectorBucketsIdIndexRoute '/api/v1/projects/$ref/functions/$slug/': typeof ApiV1ProjectsRefFunctionsSlugIndexRoute + '/project/$ref/integrations/$id/$pageId/$childId/': typeof ProjectRefIntegrationsIdPageIdChildIdIndexRoute '/api/platform/storage/$ref/buckets/$id/objects/download': typeof ApiPlatformStorageRefBucketsIdObjectsDownloadRoute '/api/platform/storage/$ref/buckets/$id/objects/list': typeof ApiPlatformStorageRefBucketsIdObjectsListRoute '/api/platform/storage/$ref/buckets/$id/objects/move': typeof ApiPlatformStorageRefBucketsIdObjectsMoveRoute @@ -2104,11 +2991,18 @@ export interface FileRouteTypes { | '/integrations/github/authorize' | '/integrations/vercel/install' | '/org/_/$' + | '/project/$ref/advisors' + | '/project/$ref/auth' | '/project/$ref/branches' | '/project/$ref/database' | '/project/$ref/editor' + | '/project/$ref/functions' + | '/project/$ref/integrations' + | '/project/$ref/logs' | '/project/$ref/merge' + | '/project/$ref/observability' | '/project/$ref/realtime' + | '/project/$ref/settings' | '/project/$ref/sql' | '/project/$ref/storage' | '/project/_/$' @@ -2116,6 +3010,7 @@ export interface FileRouteTypes { | '/org/' | '/api/connect/' | '/api/mcp/' + | '/project/$ref/' | '/account/tokens/scoped' | '/org/$slug/apps' | '/org/$slug/audit' @@ -2141,12 +3036,32 @@ export interface FileRouteTypes { | '/api/ai/sql/title-v2' | '/api/platform/integrations/$slug' | '/api/platform/telemetry/event' + | '/project/$ref/advisors/performance' + | '/project/$ref/advisors/rules' + | '/project/$ref/advisors/security' + | '/project/$ref/auth/audit-logs' + | '/project/$ref/auth/hooks' + | '/project/$ref/auth/mfa' + | '/project/$ref/auth/oauth-apps' + | '/project/$ref/auth/oauth-server' + | '/project/$ref/auth/overview' + | '/project/$ref/auth/passkeys' + | '/project/$ref/auth/performance' + | '/project/$ref/auth/protection' + | '/project/$ref/auth/providers' + | '/project/$ref/auth/rate-limits' + | '/project/$ref/auth/sessions' + | '/project/$ref/auth/smtp' + | '/project/$ref/auth/third-party' + | '/project/$ref/auth/url-configuration' + | '/project/$ref/auth/users' | '/project/$ref/branches/merge-requests' | '/project/$ref/database/column-privileges' | '/project/$ref/database/extensions' | '/project/$ref/database/functions' | '/project/$ref/database/indexes' | '/project/$ref/database/migrations' + | '/project/$ref/database/policies' | '/project/$ref/database/roles' | '/project/$ref/database/schemas' | '/project/$ref/database/settings' @@ -2154,9 +3069,45 @@ export interface FileRouteTypes { | '/project/$ref/database/types' | '/project/$ref/editor/$id' | '/project/$ref/editor/new' + | '/project/$ref/functions/$functionSlug' + | '/project/$ref/functions/new' + | '/project/$ref/functions/secrets' + | '/project/$ref/logs/auth-logs' + | '/project/$ref/logs/cron-logs' + | '/project/$ref/logs/dedicated-pooler-logs' + | '/project/$ref/logs/edge-functions-logs' + | '/project/$ref/logs/edge-logs' + | '/project/$ref/logs/multigres-logs' + | '/project/$ref/logs/pg-upgrade-logs' + | '/project/$ref/logs/pgcron-logs' + | '/project/$ref/logs/pooler-logs' + | '/project/$ref/logs/postgres-logs' + | '/project/$ref/logs/postgrest-logs' + | '/project/$ref/logs/realtime-logs' + | '/project/$ref/logs/replication-logs' + | '/project/$ref/logs/storage-logs' + | '/project/$ref/observability/$id' + | '/project/$ref/observability/api-overview' + | '/project/$ref/observability/auth' + | '/project/$ref/observability/database' + | '/project/$ref/observability/edge-functions' + | '/project/$ref/observability/postgrest' + | '/project/$ref/observability/query-insights' + | '/project/$ref/observability/query-performance' + | '/project/$ref/observability/realtime' + | '/project/$ref/observability/storage' | '/project/$ref/realtime/inspector' | '/project/$ref/realtime/policies' | '/project/$ref/realtime/settings' + | '/project/$ref/settings/addons' + | '/project/$ref/settings/api' + | '/project/$ref/settings/api-keys' + | '/project/$ref/settings/compute-and-disk' + | '/project/$ref/settings/dashboard' + | '/project/$ref/settings/general' + | '/project/$ref/settings/infrastructure' + | '/project/$ref/settings/integrations' + | '/project/$ref/settings/log-drains' | '/project/$ref/sql/$id' | '/project/$ref/sql/examples' | '/project/$ref/sql/templates' @@ -2166,8 +3117,13 @@ export interface FileRouteTypes { | '/api/platform/organizations/' | '/api/platform/profile/' | '/api/platform/projects/' + | '/project/$ref/api/' | '/project/$ref/branches/' | '/project/$ref/editor/' + | '/project/$ref/functions/' + | '/project/$ref/integrations/' + | '/project/$ref/logs/' + | '/project/$ref/observability/' | '/project/$ref/sql/' | '/org/$slug/webhooks/$endpointId' | '/partners/stripe/projects/login' @@ -2197,6 +3153,9 @@ export interface FileRouteTypes { | '/api/v1/projects/$ref/api-keys' | '/integrations/vercel/$slug/deploy-button/new-project' | '/integrations/vercel/$slug/marketplace/choose-project' + | '/project/$ref/advisors/rules/performance' + | '/project/$ref/advisors/rules/security' + | '/project/$ref/auth/templates/$templateId' | '/project/$ref/database/backups/pitr' | '/project/$ref/database/backups/restore-to-new-project' | '/project/$ref/database/backups/scheduled' @@ -2205,15 +3164,33 @@ export interface FileRouteTypes { | '/project/$ref/database/tables/$id' | '/project/$ref/database/triggers/data' | '/project/$ref/database/triggers/event' + | '/project/$ref/functions/$functionSlug/code' + | '/project/$ref/functions/$functionSlug/details' + | '/project/$ref/functions/$functionSlug/invocations' + | '/project/$ref/functions/$functionSlug/logs' + | '/project/$ref/logs/explorer/recent' + | '/project/$ref/logs/explorer/saved' + | '/project/$ref/logs/explorer/templates' + | '/project/$ref/settings/api-keys/legacy' + | '/project/$ref/settings/billing/usage' + | '/project/$ref/settings/jwt/legacy' + | '/project/$ref/settings/webhooks/$endpointId' | '/project/$ref/storage/files/policies' | '/project/$ref/storage/files/settings' | '/org/$slug/private-apps/' | '/org/$slug/webhooks/' | '/api/platform/projects/$ref/' + | '/project/$ref/auth/templates/' | '/project/$ref/database/publications/' | '/project/$ref/database/replication/' | '/project/$ref/database/tables/' | '/project/$ref/database/triggers/' + | '/project/$ref/functions/$functionSlug/' + | '/project/$ref/integrations/$id/' + | '/project/$ref/logs/explorer/' + | '/project/$ref/settings/api-keys/' + | '/project/$ref/settings/jwt/' + | '/project/$ref/settings/webhooks/' | '/project/$ref/storage/analytics/' | '/project/$ref/storage/files/' | '/project/$ref/storage/vectors/' @@ -2241,6 +3218,7 @@ export interface FileRouteTypes { | '/api/platform/storage/$ref/buckets/' | '/api/platform/storage/$ref/vector-buckets/' | '/api/v1/projects/$ref/functions/' + | '/project/$ref/integrations/$id/$pageId/' | '/api/platform/auth/$ref/users/$id/factors' | '/api/platform/projects/$ref/analytics/endpoints/$name' | '/api/platform/projects/$ref/analytics/log-drains/$uuid' @@ -2254,6 +3232,7 @@ export interface FileRouteTypes { | '/api/platform/storage/$ref/buckets/$id/' | '/api/platform/storage/$ref/vector-buckets/$id/' | '/api/v1/projects/$ref/functions/$slug/' + | '/project/$ref/integrations/$id/$pageId/$childId/' | '/api/platform/storage/$ref/buckets/$id/objects/download' | '/api/platform/storage/$ref/buckets/$id/objects/list' | '/api/platform/storage/$ref/buckets/$id/objects/move' @@ -2301,7 +3280,6 @@ export interface FileRouteTypes { | '/integrations/vercel' | '/new/$slug' | '/org/_' - | '/project/$ref' | '/project/_' | '/account/audit' | '/account/me' @@ -2317,15 +3295,19 @@ export interface FileRouteTypes { | '/integrations/github/authorize' | '/integrations/vercel/install' | '/org/_/$' + | '/project/$ref/advisors' + | '/project/$ref/auth' | '/project/$ref/database' | '/project/$ref/merge' | '/project/$ref/realtime' + | '/project/$ref/settings' | '/project/$ref/storage' | '/project/_/$' | '/new' | '/org' | '/api/connect' | '/api/mcp' + | '/project/$ref' | '/account/tokens/scoped' | '/org/$slug/apps' | '/org/$slug/audit' @@ -2351,21 +3333,75 @@ export interface FileRouteTypes { | '/api/ai/sql/title-v2' | '/api/platform/integrations/$slug' | '/api/platform/telemetry/event' + | '/project/$ref/advisors/performance' + | '/project/$ref/advisors/rules' + | '/project/$ref/advisors/security' + | '/project/$ref/auth/audit-logs' + | '/project/$ref/auth/hooks' + | '/project/$ref/auth/mfa' + | '/project/$ref/auth/oauth-apps' + | '/project/$ref/auth/oauth-server' + | '/project/$ref/auth/overview' + | '/project/$ref/auth/passkeys' + | '/project/$ref/auth/performance' + | '/project/$ref/auth/protection' + | '/project/$ref/auth/providers' + | '/project/$ref/auth/rate-limits' + | '/project/$ref/auth/sessions' + | '/project/$ref/auth/smtp' + | '/project/$ref/auth/third-party' + | '/project/$ref/auth/url-configuration' + | '/project/$ref/auth/users' | '/project/$ref/branches/merge-requests' | '/project/$ref/database/column-privileges' | '/project/$ref/database/extensions' | '/project/$ref/database/functions' | '/project/$ref/database/indexes' | '/project/$ref/database/migrations' + | '/project/$ref/database/policies' | '/project/$ref/database/roles' | '/project/$ref/database/schemas' | '/project/$ref/database/settings' | '/project/$ref/database/types' | '/project/$ref/editor/$id' | '/project/$ref/editor/new' + | '/project/$ref/functions/new' + | '/project/$ref/functions/secrets' + | '/project/$ref/logs/auth-logs' + | '/project/$ref/logs/cron-logs' + | '/project/$ref/logs/dedicated-pooler-logs' + | '/project/$ref/logs/edge-functions-logs' + | '/project/$ref/logs/edge-logs' + | '/project/$ref/logs/multigres-logs' + | '/project/$ref/logs/pg-upgrade-logs' + | '/project/$ref/logs/pgcron-logs' + | '/project/$ref/logs/pooler-logs' + | '/project/$ref/logs/postgres-logs' + | '/project/$ref/logs/postgrest-logs' + | '/project/$ref/logs/realtime-logs' + | '/project/$ref/logs/replication-logs' + | '/project/$ref/logs/storage-logs' + | '/project/$ref/observability/$id' + | '/project/$ref/observability/api-overview' + | '/project/$ref/observability/auth' + | '/project/$ref/observability/database' + | '/project/$ref/observability/edge-functions' + | '/project/$ref/observability/postgrest' + | '/project/$ref/observability/query-insights' + | '/project/$ref/observability/query-performance' + | '/project/$ref/observability/realtime' + | '/project/$ref/observability/storage' | '/project/$ref/realtime/inspector' | '/project/$ref/realtime/policies' | '/project/$ref/realtime/settings' + | '/project/$ref/settings/addons' + | '/project/$ref/settings/api' + | '/project/$ref/settings/compute-and-disk' + | '/project/$ref/settings/dashboard' + | '/project/$ref/settings/general' + | '/project/$ref/settings/infrastructure' + | '/project/$ref/settings/integrations' + | '/project/$ref/settings/log-drains' | '/project/$ref/sql/$id' | '/project/$ref/sql/examples' | '/project/$ref/sql/templates' @@ -2375,8 +3411,13 @@ export interface FileRouteTypes { | '/api/platform/organizations' | '/api/platform/profile' | '/api/platform/projects' + | '/project/$ref/api' | '/project/$ref/branches' | '/project/$ref/editor' + | '/project/$ref/functions' + | '/project/$ref/integrations' + | '/project/$ref/logs' + | '/project/$ref/observability' | '/project/$ref/sql' | '/org/$slug/webhooks/$endpointId' | '/partners/stripe/projects/login' @@ -2406,6 +3447,9 @@ export interface FileRouteTypes { | '/api/v1/projects/$ref/api-keys' | '/integrations/vercel/$slug/deploy-button/new-project' | '/integrations/vercel/$slug/marketplace/choose-project' + | '/project/$ref/advisors/rules/performance' + | '/project/$ref/advisors/rules/security' + | '/project/$ref/auth/templates/$templateId' | '/project/$ref/database/backups/pitr' | '/project/$ref/database/backups/restore-to-new-project' | '/project/$ref/database/backups/scheduled' @@ -2414,15 +3458,33 @@ export interface FileRouteTypes { | '/project/$ref/database/tables/$id' | '/project/$ref/database/triggers/data' | '/project/$ref/database/triggers/event' + | '/project/$ref/functions/$functionSlug/code' + | '/project/$ref/functions/$functionSlug/details' + | '/project/$ref/functions/$functionSlug/invocations' + | '/project/$ref/functions/$functionSlug/logs' + | '/project/$ref/logs/explorer/recent' + | '/project/$ref/logs/explorer/saved' + | '/project/$ref/logs/explorer/templates' + | '/project/$ref/settings/api-keys/legacy' + | '/project/$ref/settings/billing/usage' + | '/project/$ref/settings/jwt/legacy' + | '/project/$ref/settings/webhooks/$endpointId' | '/project/$ref/storage/files/policies' | '/project/$ref/storage/files/settings' | '/org/$slug/private-apps' | '/org/$slug/webhooks' | '/api/platform/projects/$ref' + | '/project/$ref/auth/templates' | '/project/$ref/database/publications' | '/project/$ref/database/replication' | '/project/$ref/database/tables' | '/project/$ref/database/triggers' + | '/project/$ref/functions/$functionSlug' + | '/project/$ref/integrations/$id' + | '/project/$ref/logs/explorer' + | '/project/$ref/settings/api-keys' + | '/project/$ref/settings/jwt' + | '/project/$ref/settings/webhooks' | '/project/$ref/storage/analytics' | '/project/$ref/storage/files' | '/project/$ref/storage/vectors' @@ -2450,6 +3512,7 @@ export interface FileRouteTypes { | '/api/platform/storage/$ref/buckets' | '/api/platform/storage/$ref/vector-buckets' | '/api/v1/projects/$ref/functions' + | '/project/$ref/integrations/$id/$pageId' | '/api/platform/auth/$ref/users/$id/factors' | '/api/platform/projects/$ref/analytics/endpoints/$name' | '/api/platform/projects/$ref/analytics/log-drains/$uuid' @@ -2463,6 +3526,7 @@ export interface FileRouteTypes { | '/api/platform/storage/$ref/buckets/$id' | '/api/platform/storage/$ref/vector-buckets/$id' | '/api/v1/projects/$ref/functions/$slug' + | '/project/$ref/integrations/$id/$pageId/$childId' | '/api/platform/storage/$ref/buckets/$id/objects/download' | '/api/platform/storage/$ref/buckets/$id/objects/list' | '/api/platform/storage/$ref/buckets/$id/objects/move' @@ -2529,11 +3593,18 @@ export interface FileRouteTypes { | '/integrations/github/authorize' | '/integrations/vercel/install' | '/org/_/$' + | '/project/$ref/advisors' + | '/project/$ref/auth' | '/project/$ref/branches' | '/project/$ref/database' | '/project/$ref/editor' + | '/project/$ref/functions' + | '/project/$ref/integrations' + | '/project/$ref/logs' | '/project/$ref/merge' + | '/project/$ref/observability' | '/project/$ref/realtime' + | '/project/$ref/settings' | '/project/$ref/sql' | '/project/$ref/storage' | '/project/_/$' @@ -2541,6 +3612,7 @@ export interface FileRouteTypes { | '/_app/org/' | '/api/connect/' | '/api/mcp/' + | '/project/$ref/' | '/_app/account/tokens/scoped' | '/_app/org/$slug/apps' | '/_app/org/$slug/audit' @@ -2566,12 +3638,32 @@ export interface FileRouteTypes { | '/api/ai/sql/title-v2' | '/api/platform/integrations/$slug' | '/api/platform/telemetry/event' + | '/project/$ref/advisors/performance' + | '/project/$ref/advisors/rules' + | '/project/$ref/advisors/security' + | '/project/$ref/auth/audit-logs' + | '/project/$ref/auth/hooks' + | '/project/$ref/auth/mfa' + | '/project/$ref/auth/oauth-apps' + | '/project/$ref/auth/oauth-server' + | '/project/$ref/auth/overview' + | '/project/$ref/auth/passkeys' + | '/project/$ref/auth/performance' + | '/project/$ref/auth/protection' + | '/project/$ref/auth/providers' + | '/project/$ref/auth/rate-limits' + | '/project/$ref/auth/sessions' + | '/project/$ref/auth/smtp' + | '/project/$ref/auth/third-party' + | '/project/$ref/auth/url-configuration' + | '/project/$ref/auth/users' | '/project/$ref/branches/merge-requests' | '/project/$ref/database/column-privileges' | '/project/$ref/database/extensions' | '/project/$ref/database/functions' | '/project/$ref/database/indexes' | '/project/$ref/database/migrations' + | '/project/$ref/database/policies' | '/project/$ref/database/roles' | '/project/$ref/database/schemas' | '/project/$ref/database/settings' @@ -2579,9 +3671,45 @@ export interface FileRouteTypes { | '/project/$ref/database/types' | '/project/$ref/editor/$id' | '/project/$ref/editor/new' + | '/project/$ref/functions/$functionSlug' + | '/project/$ref/functions/new' + | '/project/$ref/functions/secrets' + | '/project/$ref/logs/auth-logs' + | '/project/$ref/logs/cron-logs' + | '/project/$ref/logs/dedicated-pooler-logs' + | '/project/$ref/logs/edge-functions-logs' + | '/project/$ref/logs/edge-logs' + | '/project/$ref/logs/multigres-logs' + | '/project/$ref/logs/pg-upgrade-logs' + | '/project/$ref/logs/pgcron-logs' + | '/project/$ref/logs/pooler-logs' + | '/project/$ref/logs/postgres-logs' + | '/project/$ref/logs/postgrest-logs' + | '/project/$ref/logs/realtime-logs' + | '/project/$ref/logs/replication-logs' + | '/project/$ref/logs/storage-logs' + | '/project/$ref/observability/$id' + | '/project/$ref/observability/api-overview' + | '/project/$ref/observability/auth' + | '/project/$ref/observability/database' + | '/project/$ref/observability/edge-functions' + | '/project/$ref/observability/postgrest' + | '/project/$ref/observability/query-insights' + | '/project/$ref/observability/query-performance' + | '/project/$ref/observability/realtime' + | '/project/$ref/observability/storage' | '/project/$ref/realtime/inspector' | '/project/$ref/realtime/policies' | '/project/$ref/realtime/settings' + | '/project/$ref/settings/addons' + | '/project/$ref/settings/api' + | '/project/$ref/settings/api-keys' + | '/project/$ref/settings/compute-and-disk' + | '/project/$ref/settings/dashboard' + | '/project/$ref/settings/general' + | '/project/$ref/settings/infrastructure' + | '/project/$ref/settings/integrations' + | '/project/$ref/settings/log-drains' | '/project/$ref/sql/$id' | '/project/$ref/sql/examples' | '/project/$ref/sql/templates' @@ -2591,8 +3719,13 @@ export interface FileRouteTypes { | '/api/platform/organizations/' | '/api/platform/profile/' | '/api/platform/projects/' + | '/project/$ref/api/' | '/project/$ref/branches/' | '/project/$ref/editor/' + | '/project/$ref/functions/' + | '/project/$ref/integrations/' + | '/project/$ref/logs/' + | '/project/$ref/observability/' | '/project/$ref/sql/' | '/_app/org/$slug/webhooks/$endpointId' | '/_auth/partners/stripe/projects/login' @@ -2622,6 +3755,9 @@ export interface FileRouteTypes { | '/api/v1/projects/$ref/api-keys' | '/integrations/vercel/$slug/deploy-button/new-project' | '/integrations/vercel/$slug/marketplace/choose-project' + | '/project/$ref/advisors/rules/performance' + | '/project/$ref/advisors/rules/security' + | '/project/$ref/auth/templates/$templateId' | '/project/$ref/database/backups/pitr' | '/project/$ref/database/backups/restore-to-new-project' | '/project/$ref/database/backups/scheduled' @@ -2630,15 +3766,33 @@ export interface FileRouteTypes { | '/project/$ref/database/tables/$id' | '/project/$ref/database/triggers/data' | '/project/$ref/database/triggers/event' + | '/project/$ref/functions/$functionSlug/code' + | '/project/$ref/functions/$functionSlug/details' + | '/project/$ref/functions/$functionSlug/invocations' + | '/project/$ref/functions/$functionSlug/logs' + | '/project/$ref/logs/explorer/recent' + | '/project/$ref/logs/explorer/saved' + | '/project/$ref/logs/explorer/templates' + | '/project/$ref/settings/api-keys/legacy' + | '/project/$ref/settings/billing/usage' + | '/project/$ref/settings/jwt/legacy' + | '/project/$ref/settings/webhooks/$endpointId' | '/project/$ref/storage/files/policies' | '/project/$ref/storage/files/settings' | '/_app/org/$slug/private-apps/' | '/_app/org/$slug/webhooks/' | '/api/platform/projects/$ref/' + | '/project/$ref/auth/templates/' | '/project/$ref/database/publications/' | '/project/$ref/database/replication/' | '/project/$ref/database/tables/' | '/project/$ref/database/triggers/' + | '/project/$ref/functions/$functionSlug/' + | '/project/$ref/integrations/$id/' + | '/project/$ref/logs/explorer/' + | '/project/$ref/settings/api-keys/' + | '/project/$ref/settings/jwt/' + | '/project/$ref/settings/webhooks/' | '/project/$ref/storage/analytics/' | '/project/$ref/storage/files/' | '/project/$ref/storage/vectors/' @@ -2666,6 +3820,7 @@ export interface FileRouteTypes { | '/api/platform/storage/$ref/buckets/' | '/api/platform/storage/$ref/vector-buckets/' | '/api/v1/projects/$ref/functions/' + | '/project/$ref/integrations/$id/$pageId/' | '/api/platform/auth/$ref/users/$id/factors' | '/api/platform/projects/$ref/analytics/endpoints/$name' | '/api/platform/projects/$ref/analytics/log-drains/$uuid' @@ -2679,6 +3834,7 @@ export interface FileRouteTypes { | '/api/platform/storage/$ref/buckets/$id/' | '/api/platform/storage/$ref/vector-buckets/$id/' | '/api/v1/projects/$ref/functions/$slug/' + | '/project/$ref/integrations/$id/$pageId/$childId/' | '/api/platform/storage/$ref/buckets/$id/objects/download' | '/api/platform/storage/$ref/buckets/$id/objects/list' | '/api/platform/storage/$ref/buckets/$id/objects/move' @@ -3089,6 +4245,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AppAccountRouteImport parentRoute: typeof AppRoute } + '/project/$ref/': { + id: '/project/$ref/' + path: '/' + fullPath: '/project/$ref/' + preLoaderRoute: typeof ProjectRefIndexRouteImport + parentRoute: typeof ProjectRefRoute + } '/api/mcp/': { id: '/api/mcp/' path: '/api/mcp' @@ -3138,6 +4301,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefSqlRouteImport parentRoute: typeof ProjectRefRoute } + '/project/$ref/settings': { + id: '/project/$ref/settings' + path: '/settings' + fullPath: '/project/$ref/settings' + preLoaderRoute: typeof ProjectRefSettingsRouteImport + parentRoute: typeof ProjectRefRoute + } '/project/$ref/realtime': { id: '/project/$ref/realtime' path: '/realtime' @@ -3145,6 +4315,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefRealtimeRouteImport parentRoute: typeof ProjectRefRoute } + '/project/$ref/observability': { + id: '/project/$ref/observability' + path: '/observability' + fullPath: '/project/$ref/observability' + preLoaderRoute: typeof ProjectRefObservabilityRouteImport + parentRoute: typeof ProjectRefRoute + } '/project/$ref/merge': { id: '/project/$ref/merge' path: '/merge' @@ -3152,6 +4329,27 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefMergeRouteImport parentRoute: typeof ProjectRefRoute } + '/project/$ref/logs': { + id: '/project/$ref/logs' + path: '/logs' + fullPath: '/project/$ref/logs' + preLoaderRoute: typeof ProjectRefLogsRouteImport + parentRoute: typeof ProjectRefRoute + } + '/project/$ref/integrations': { + id: '/project/$ref/integrations' + path: '/integrations' + fullPath: '/project/$ref/integrations' + preLoaderRoute: typeof ProjectRefIntegrationsRouteImport + parentRoute: typeof ProjectRefRoute + } + '/project/$ref/functions': { + id: '/project/$ref/functions' + path: '/functions' + fullPath: '/project/$ref/functions' + preLoaderRoute: typeof ProjectRefFunctionsRouteImport + parentRoute: typeof ProjectRefRoute + } '/project/$ref/editor': { id: '/project/$ref/editor' path: '/editor' @@ -3173,6 +4371,20 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefBranchesRouteImport parentRoute: typeof ProjectRefRoute } + '/project/$ref/auth': { + id: '/project/$ref/auth' + path: '/auth' + fullPath: '/project/$ref/auth' + preLoaderRoute: typeof ProjectRefAuthRouteImport + parentRoute: typeof ProjectRefRoute + } + '/project/$ref/advisors': { + id: '/project/$ref/advisors' + path: '/advisors' + fullPath: '/project/$ref/advisors' + preLoaderRoute: typeof ProjectRefAdvisorsRouteImport + parentRoute: typeof ProjectRefRoute + } '/org/_/$': { id: '/org/_/$' path: '/$' @@ -3278,6 +4490,34 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefSqlIndexRouteImport parentRoute: typeof ProjectRefSqlRoute } + '/project/$ref/observability/': { + id: '/project/$ref/observability/' + path: '/' + fullPath: '/project/$ref/observability/' + preLoaderRoute: typeof ProjectRefObservabilityIndexRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/logs/': { + id: '/project/$ref/logs/' + path: '/' + fullPath: '/project/$ref/logs/' + preLoaderRoute: typeof ProjectRefLogsIndexRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/integrations/': { + id: '/project/$ref/integrations/' + path: '/' + fullPath: '/project/$ref/integrations/' + preLoaderRoute: typeof ProjectRefIntegrationsIndexRouteImport + parentRoute: typeof ProjectRefIntegrationsRoute + } + '/project/$ref/functions/': { + id: '/project/$ref/functions/' + path: '/' + fullPath: '/project/$ref/functions/' + preLoaderRoute: typeof ProjectRefFunctionsIndexRouteImport + parentRoute: typeof ProjectRefFunctionsRoute + } '/project/$ref/editor/': { id: '/project/$ref/editor/' path: '/' @@ -3292,6 +4532,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefBranchesIndexRouteImport parentRoute: typeof ProjectRefBranchesRoute } + '/project/$ref/api/': { + id: '/project/$ref/api/' + path: '/api' + fullPath: '/project/$ref/api/' + preLoaderRoute: typeof ProjectRefApiIndexRouteImport + parentRoute: typeof ProjectRefRoute + } '/api/platform/projects/': { id: '/api/platform/projects/' path: '/api/platform/projects' @@ -3355,6 +4602,69 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefSqlIdRouteImport parentRoute: typeof ProjectRefSqlRoute } + '/project/$ref/settings/log-drains': { + id: '/project/$ref/settings/log-drains' + path: '/log-drains' + fullPath: '/project/$ref/settings/log-drains' + preLoaderRoute: typeof ProjectRefSettingsLogDrainsRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/integrations': { + id: '/project/$ref/settings/integrations' + path: '/integrations' + fullPath: '/project/$ref/settings/integrations' + preLoaderRoute: typeof ProjectRefSettingsIntegrationsRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/infrastructure': { + id: '/project/$ref/settings/infrastructure' + path: '/infrastructure' + fullPath: '/project/$ref/settings/infrastructure' + preLoaderRoute: typeof ProjectRefSettingsInfrastructureRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/general': { + id: '/project/$ref/settings/general' + path: '/general' + fullPath: '/project/$ref/settings/general' + preLoaderRoute: typeof ProjectRefSettingsGeneralRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/dashboard': { + id: '/project/$ref/settings/dashboard' + path: '/dashboard' + fullPath: '/project/$ref/settings/dashboard' + preLoaderRoute: typeof ProjectRefSettingsDashboardRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/compute-and-disk': { + id: '/project/$ref/settings/compute-and-disk' + path: '/compute-and-disk' + fullPath: '/project/$ref/settings/compute-and-disk' + preLoaderRoute: typeof ProjectRefSettingsComputeAndDiskRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/api-keys': { + id: '/project/$ref/settings/api-keys' + path: '/api-keys' + fullPath: '/project/$ref/settings/api-keys' + preLoaderRoute: typeof ProjectRefSettingsApiKeysRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/api': { + id: '/project/$ref/settings/api' + path: '/api' + fullPath: '/project/$ref/settings/api' + preLoaderRoute: typeof ProjectRefSettingsApiRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/addons': { + id: '/project/$ref/settings/addons' + path: '/addons' + fullPath: '/project/$ref/settings/addons' + preLoaderRoute: typeof ProjectRefSettingsAddonsRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } '/project/$ref/realtime/settings': { id: '/project/$ref/realtime/settings' path: '/settings' @@ -3376,6 +4686,195 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefRealtimeInspectorRouteImport parentRoute: typeof ProjectRefRealtimeRoute } + '/project/$ref/observability/storage': { + id: '/project/$ref/observability/storage' + path: '/storage' + fullPath: '/project/$ref/observability/storage' + preLoaderRoute: typeof ProjectRefObservabilityStorageRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/observability/realtime': { + id: '/project/$ref/observability/realtime' + path: '/realtime' + fullPath: '/project/$ref/observability/realtime' + preLoaderRoute: typeof ProjectRefObservabilityRealtimeRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/observability/query-performance': { + id: '/project/$ref/observability/query-performance' + path: '/query-performance' + fullPath: '/project/$ref/observability/query-performance' + preLoaderRoute: typeof ProjectRefObservabilityQueryPerformanceRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/observability/query-insights': { + id: '/project/$ref/observability/query-insights' + path: '/query-insights' + fullPath: '/project/$ref/observability/query-insights' + preLoaderRoute: typeof ProjectRefObservabilityQueryInsightsRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/observability/postgrest': { + id: '/project/$ref/observability/postgrest' + path: '/postgrest' + fullPath: '/project/$ref/observability/postgrest' + preLoaderRoute: typeof ProjectRefObservabilityPostgrestRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/observability/edge-functions': { + id: '/project/$ref/observability/edge-functions' + path: '/edge-functions' + fullPath: '/project/$ref/observability/edge-functions' + preLoaderRoute: typeof ProjectRefObservabilityEdgeFunctionsRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/observability/database': { + id: '/project/$ref/observability/database' + path: '/database' + fullPath: '/project/$ref/observability/database' + preLoaderRoute: typeof ProjectRefObservabilityDatabaseRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/observability/auth': { + id: '/project/$ref/observability/auth' + path: '/auth' + fullPath: '/project/$ref/observability/auth' + preLoaderRoute: typeof ProjectRefObservabilityAuthRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/observability/api-overview': { + id: '/project/$ref/observability/api-overview' + path: '/api-overview' + fullPath: '/project/$ref/observability/api-overview' + preLoaderRoute: typeof ProjectRefObservabilityApiOverviewRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/observability/$id': { + id: '/project/$ref/observability/$id' + path: '/$id' + fullPath: '/project/$ref/observability/$id' + preLoaderRoute: typeof ProjectRefObservabilityIdRouteImport + parentRoute: typeof ProjectRefObservabilityRoute + } + '/project/$ref/logs/storage-logs': { + id: '/project/$ref/logs/storage-logs' + path: '/storage-logs' + fullPath: '/project/$ref/logs/storage-logs' + preLoaderRoute: typeof ProjectRefLogsStorageLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/replication-logs': { + id: '/project/$ref/logs/replication-logs' + path: '/replication-logs' + fullPath: '/project/$ref/logs/replication-logs' + preLoaderRoute: typeof ProjectRefLogsReplicationLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/realtime-logs': { + id: '/project/$ref/logs/realtime-logs' + path: '/realtime-logs' + fullPath: '/project/$ref/logs/realtime-logs' + preLoaderRoute: typeof ProjectRefLogsRealtimeLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/postgrest-logs': { + id: '/project/$ref/logs/postgrest-logs' + path: '/postgrest-logs' + fullPath: '/project/$ref/logs/postgrest-logs' + preLoaderRoute: typeof ProjectRefLogsPostgrestLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/postgres-logs': { + id: '/project/$ref/logs/postgres-logs' + path: '/postgres-logs' + fullPath: '/project/$ref/logs/postgres-logs' + preLoaderRoute: typeof ProjectRefLogsPostgresLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/pooler-logs': { + id: '/project/$ref/logs/pooler-logs' + path: '/pooler-logs' + fullPath: '/project/$ref/logs/pooler-logs' + preLoaderRoute: typeof ProjectRefLogsPoolerLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/pgcron-logs': { + id: '/project/$ref/logs/pgcron-logs' + path: '/pgcron-logs' + fullPath: '/project/$ref/logs/pgcron-logs' + preLoaderRoute: typeof ProjectRefLogsPgcronLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/pg-upgrade-logs': { + id: '/project/$ref/logs/pg-upgrade-logs' + path: '/pg-upgrade-logs' + fullPath: '/project/$ref/logs/pg-upgrade-logs' + preLoaderRoute: typeof ProjectRefLogsPgUpgradeLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/multigres-logs': { + id: '/project/$ref/logs/multigres-logs' + path: '/multigres-logs' + fullPath: '/project/$ref/logs/multigres-logs' + preLoaderRoute: typeof ProjectRefLogsMultigresLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/edge-logs': { + id: '/project/$ref/logs/edge-logs' + path: '/edge-logs' + fullPath: '/project/$ref/logs/edge-logs' + preLoaderRoute: typeof ProjectRefLogsEdgeLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/edge-functions-logs': { + id: '/project/$ref/logs/edge-functions-logs' + path: '/edge-functions-logs' + fullPath: '/project/$ref/logs/edge-functions-logs' + preLoaderRoute: typeof ProjectRefLogsEdgeFunctionsLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/dedicated-pooler-logs': { + id: '/project/$ref/logs/dedicated-pooler-logs' + path: '/dedicated-pooler-logs' + fullPath: '/project/$ref/logs/dedicated-pooler-logs' + preLoaderRoute: typeof ProjectRefLogsDedicatedPoolerLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/cron-logs': { + id: '/project/$ref/logs/cron-logs' + path: '/cron-logs' + fullPath: '/project/$ref/logs/cron-logs' + preLoaderRoute: typeof ProjectRefLogsCronLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/auth-logs': { + id: '/project/$ref/logs/auth-logs' + path: '/auth-logs' + fullPath: '/project/$ref/logs/auth-logs' + preLoaderRoute: typeof ProjectRefLogsAuthLogsRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/functions/secrets': { + id: '/project/$ref/functions/secrets' + path: '/secrets' + fullPath: '/project/$ref/functions/secrets' + preLoaderRoute: typeof ProjectRefFunctionsSecretsRouteImport + parentRoute: typeof ProjectRefFunctionsRoute + } + '/project/$ref/functions/new': { + id: '/project/$ref/functions/new' + path: '/new' + fullPath: '/project/$ref/functions/new' + preLoaderRoute: typeof ProjectRefFunctionsNewRouteImport + parentRoute: typeof ProjectRefFunctionsRoute + } + '/project/$ref/functions/$functionSlug': { + id: '/project/$ref/functions/$functionSlug' + path: '/$functionSlug' + fullPath: '/project/$ref/functions/$functionSlug' + preLoaderRoute: typeof ProjectRefFunctionsFunctionSlugRouteImport + parentRoute: typeof ProjectRefFunctionsRoute + } '/project/$ref/editor/new': { id: '/project/$ref/editor/new' path: '/new' @@ -3425,6 +4924,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefDatabaseRolesRouteImport parentRoute: typeof ProjectRefDatabaseRoute } + '/project/$ref/database/policies': { + id: '/project/$ref/database/policies' + path: '/policies' + fullPath: '/project/$ref/database/policies' + preLoaderRoute: typeof ProjectRefDatabasePoliciesRouteImport + parentRoute: typeof ProjectRefDatabaseRoute + } '/project/$ref/database/migrations': { id: '/project/$ref/database/migrations' path: '/migrations' @@ -3467,6 +4973,139 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefBranchesMergeRequestsRouteImport parentRoute: typeof ProjectRefBranchesRoute } + '/project/$ref/auth/users': { + id: '/project/$ref/auth/users' + path: '/users' + fullPath: '/project/$ref/auth/users' + preLoaderRoute: typeof ProjectRefAuthUsersRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/url-configuration': { + id: '/project/$ref/auth/url-configuration' + path: '/url-configuration' + fullPath: '/project/$ref/auth/url-configuration' + preLoaderRoute: typeof ProjectRefAuthUrlConfigurationRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/third-party': { + id: '/project/$ref/auth/third-party' + path: '/third-party' + fullPath: '/project/$ref/auth/third-party' + preLoaderRoute: typeof ProjectRefAuthThirdPartyRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/smtp': { + id: '/project/$ref/auth/smtp' + path: '/smtp' + fullPath: '/project/$ref/auth/smtp' + preLoaderRoute: typeof ProjectRefAuthSmtpRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/sessions': { + id: '/project/$ref/auth/sessions' + path: '/sessions' + fullPath: '/project/$ref/auth/sessions' + preLoaderRoute: typeof ProjectRefAuthSessionsRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/rate-limits': { + id: '/project/$ref/auth/rate-limits' + path: '/rate-limits' + fullPath: '/project/$ref/auth/rate-limits' + preLoaderRoute: typeof ProjectRefAuthRateLimitsRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/providers': { + id: '/project/$ref/auth/providers' + path: '/providers' + fullPath: '/project/$ref/auth/providers' + preLoaderRoute: typeof ProjectRefAuthProvidersRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/protection': { + id: '/project/$ref/auth/protection' + path: '/protection' + fullPath: '/project/$ref/auth/protection' + preLoaderRoute: typeof ProjectRefAuthProtectionRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/performance': { + id: '/project/$ref/auth/performance' + path: '/performance' + fullPath: '/project/$ref/auth/performance' + preLoaderRoute: typeof ProjectRefAuthPerformanceRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/passkeys': { + id: '/project/$ref/auth/passkeys' + path: '/passkeys' + fullPath: '/project/$ref/auth/passkeys' + preLoaderRoute: typeof ProjectRefAuthPasskeysRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/overview': { + id: '/project/$ref/auth/overview' + path: '/overview' + fullPath: '/project/$ref/auth/overview' + preLoaderRoute: typeof ProjectRefAuthOverviewRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/oauth-server': { + id: '/project/$ref/auth/oauth-server' + path: '/oauth-server' + fullPath: '/project/$ref/auth/oauth-server' + preLoaderRoute: typeof ProjectRefAuthOauthServerRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/oauth-apps': { + id: '/project/$ref/auth/oauth-apps' + path: '/oauth-apps' + fullPath: '/project/$ref/auth/oauth-apps' + preLoaderRoute: typeof ProjectRefAuthOauthAppsRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/mfa': { + id: '/project/$ref/auth/mfa' + path: '/mfa' + fullPath: '/project/$ref/auth/mfa' + preLoaderRoute: typeof ProjectRefAuthMfaRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/hooks': { + id: '/project/$ref/auth/hooks' + path: '/hooks' + fullPath: '/project/$ref/auth/hooks' + preLoaderRoute: typeof ProjectRefAuthHooksRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/auth/audit-logs': { + id: '/project/$ref/auth/audit-logs' + path: '/audit-logs' + fullPath: '/project/$ref/auth/audit-logs' + preLoaderRoute: typeof ProjectRefAuthAuditLogsRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/advisors/security': { + id: '/project/$ref/advisors/security' + path: '/security' + fullPath: '/project/$ref/advisors/security' + preLoaderRoute: typeof ProjectRefAdvisorsSecurityRouteImport + parentRoute: typeof ProjectRefAdvisorsRoute + } + '/project/$ref/advisors/rules': { + id: '/project/$ref/advisors/rules' + path: '/rules' + fullPath: '/project/$ref/advisors/rules' + preLoaderRoute: typeof ProjectRefAdvisorsRulesRouteImport + parentRoute: typeof ProjectRefAdvisorsRoute + } + '/project/$ref/advisors/performance': { + id: '/project/$ref/advisors/performance' + path: '/performance' + fullPath: '/project/$ref/advisors/performance' + preLoaderRoute: typeof ProjectRefAdvisorsPerformanceRouteImport + parentRoute: typeof ProjectRefAdvisorsRoute + } '/api/platform/telemetry/event': { id: '/api/platform/telemetry/event' path: '/api/platform/telemetry/event' @@ -3663,6 +5302,48 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefStorageAnalyticsIndexRouteImport parentRoute: typeof ProjectRefStorageRoute } + '/project/$ref/settings/webhooks/': { + id: '/project/$ref/settings/webhooks/' + path: '/webhooks' + fullPath: '/project/$ref/settings/webhooks/' + preLoaderRoute: typeof ProjectRefSettingsWebhooksIndexRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/jwt/': { + id: '/project/$ref/settings/jwt/' + path: '/jwt' + fullPath: '/project/$ref/settings/jwt/' + preLoaderRoute: typeof ProjectRefSettingsJwtIndexRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/api-keys/': { + id: '/project/$ref/settings/api-keys/' + path: '/' + fullPath: '/project/$ref/settings/api-keys/' + preLoaderRoute: typeof ProjectRefSettingsApiKeysIndexRouteImport + parentRoute: typeof ProjectRefSettingsApiKeysRoute + } + '/project/$ref/logs/explorer/': { + id: '/project/$ref/logs/explorer/' + path: '/explorer' + fullPath: '/project/$ref/logs/explorer/' + preLoaderRoute: typeof ProjectRefLogsExplorerIndexRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/integrations/$id/': { + id: '/project/$ref/integrations/$id/' + path: '/$id' + fullPath: '/project/$ref/integrations/$id/' + preLoaderRoute: typeof ProjectRefIntegrationsIdIndexRouteImport + parentRoute: typeof ProjectRefIntegrationsRoute + } + '/project/$ref/functions/$functionSlug/': { + id: '/project/$ref/functions/$functionSlug/' + path: '/' + fullPath: '/project/$ref/functions/$functionSlug/' + preLoaderRoute: typeof ProjectRefFunctionsFunctionSlugIndexRouteImport + parentRoute: typeof ProjectRefFunctionsFunctionSlugRoute + } '/project/$ref/database/triggers/': { id: '/project/$ref/database/triggers/' path: '/' @@ -3691,6 +5372,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefDatabasePublicationsIndexRouteImport parentRoute: typeof ProjectRefDatabaseRoute } + '/project/$ref/auth/templates/': { + id: '/project/$ref/auth/templates/' + path: '/templates' + fullPath: '/project/$ref/auth/templates/' + preLoaderRoute: typeof ProjectRefAuthTemplatesIndexRouteImport + parentRoute: typeof ProjectRefAuthRoute + } '/api/platform/projects/$ref/': { id: '/api/platform/projects/$ref/' path: '/api/platform/projects/$ref' @@ -3726,6 +5414,83 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefStorageFilesPoliciesRouteImport parentRoute: typeof ProjectRefStorageRoute } + '/project/$ref/settings/webhooks/$endpointId': { + id: '/project/$ref/settings/webhooks/$endpointId' + path: '/webhooks/$endpointId' + fullPath: '/project/$ref/settings/webhooks/$endpointId' + preLoaderRoute: typeof ProjectRefSettingsWebhooksEndpointIdRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/jwt/legacy': { + id: '/project/$ref/settings/jwt/legacy' + path: '/jwt/legacy' + fullPath: '/project/$ref/settings/jwt/legacy' + preLoaderRoute: typeof ProjectRefSettingsJwtLegacyRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/billing/usage': { + id: '/project/$ref/settings/billing/usage' + path: '/billing/usage' + fullPath: '/project/$ref/settings/billing/usage' + preLoaderRoute: typeof ProjectRefSettingsBillingUsageRouteImport + parentRoute: typeof ProjectRefSettingsRoute + } + '/project/$ref/settings/api-keys/legacy': { + id: '/project/$ref/settings/api-keys/legacy' + path: '/legacy' + fullPath: '/project/$ref/settings/api-keys/legacy' + preLoaderRoute: typeof ProjectRefSettingsApiKeysLegacyRouteImport + parentRoute: typeof ProjectRefSettingsApiKeysRoute + } + '/project/$ref/logs/explorer/templates': { + id: '/project/$ref/logs/explorer/templates' + path: '/explorer/templates' + fullPath: '/project/$ref/logs/explorer/templates' + preLoaderRoute: typeof ProjectRefLogsExplorerTemplatesRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/explorer/saved': { + id: '/project/$ref/logs/explorer/saved' + path: '/explorer/saved' + fullPath: '/project/$ref/logs/explorer/saved' + preLoaderRoute: typeof ProjectRefLogsExplorerSavedRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/logs/explorer/recent': { + id: '/project/$ref/logs/explorer/recent' + path: '/explorer/recent' + fullPath: '/project/$ref/logs/explorer/recent' + preLoaderRoute: typeof ProjectRefLogsExplorerRecentRouteImport + parentRoute: typeof ProjectRefLogsRoute + } + '/project/$ref/functions/$functionSlug/logs': { + id: '/project/$ref/functions/$functionSlug/logs' + path: '/logs' + fullPath: '/project/$ref/functions/$functionSlug/logs' + preLoaderRoute: typeof ProjectRefFunctionsFunctionSlugLogsRouteImport + parentRoute: typeof ProjectRefFunctionsFunctionSlugRoute + } + '/project/$ref/functions/$functionSlug/invocations': { + id: '/project/$ref/functions/$functionSlug/invocations' + path: '/invocations' + fullPath: '/project/$ref/functions/$functionSlug/invocations' + preLoaderRoute: typeof ProjectRefFunctionsFunctionSlugInvocationsRouteImport + parentRoute: typeof ProjectRefFunctionsFunctionSlugRoute + } + '/project/$ref/functions/$functionSlug/details': { + id: '/project/$ref/functions/$functionSlug/details' + path: '/details' + fullPath: '/project/$ref/functions/$functionSlug/details' + preLoaderRoute: typeof ProjectRefFunctionsFunctionSlugDetailsRouteImport + parentRoute: typeof ProjectRefFunctionsFunctionSlugRoute + } + '/project/$ref/functions/$functionSlug/code': { + id: '/project/$ref/functions/$functionSlug/code' + path: '/code' + fullPath: '/project/$ref/functions/$functionSlug/code' + preLoaderRoute: typeof ProjectRefFunctionsFunctionSlugCodeRouteImport + parentRoute: typeof ProjectRefFunctionsFunctionSlugRoute + } '/project/$ref/database/triggers/event': { id: '/project/$ref/database/triggers/event' path: '/event' @@ -3782,6 +5547,27 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ProjectRefDatabaseBackupsPitrRouteImport parentRoute: typeof ProjectRefDatabaseRoute } + '/project/$ref/auth/templates/$templateId': { + id: '/project/$ref/auth/templates/$templateId' + path: '/templates/$templateId' + fullPath: '/project/$ref/auth/templates/$templateId' + preLoaderRoute: typeof ProjectRefAuthTemplatesTemplateIdRouteImport + parentRoute: typeof ProjectRefAuthRoute + } + '/project/$ref/advisors/rules/security': { + id: '/project/$ref/advisors/rules/security' + path: '/security' + fullPath: '/project/$ref/advisors/rules/security' + preLoaderRoute: typeof ProjectRefAdvisorsRulesSecurityRouteImport + parentRoute: typeof ProjectRefAdvisorsRulesRoute + } + '/project/$ref/advisors/rules/performance': { + id: '/project/$ref/advisors/rules/performance' + path: '/performance' + fullPath: '/project/$ref/advisors/rules/performance' + preLoaderRoute: typeof ProjectRefAdvisorsRulesPerformanceRouteImport + parentRoute: typeof ProjectRefAdvisorsRulesRoute + } '/integrations/vercel/$slug/marketplace/choose-project': { id: '/integrations/vercel/$slug/marketplace/choose-project' path: '/$slug/marketplace/choose-project' @@ -3978,6 +5764,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AppOrgSlugWebhooksEndpointIdRouteImport parentRoute: typeof AppOrgRoute } + '/project/$ref/integrations/$id/$pageId/': { + id: '/project/$ref/integrations/$id/$pageId/' + path: '/$id/$pageId' + fullPath: '/project/$ref/integrations/$id/$pageId/' + preLoaderRoute: typeof ProjectRefIntegrationsIdPageIdIndexRouteImport + parentRoute: typeof ProjectRefIntegrationsRoute + } '/api/v1/projects/$ref/functions/': { id: '/api/v1/projects/$ref/functions/' path: '/api/v1/projects/$ref/functions' @@ -4146,6 +5939,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ApiPlatformOrganizationsSlugBillingSubscriptionRouteImport parentRoute: typeof rootRouteImport } + '/project/$ref/integrations/$id/$pageId/$childId/': { + id: '/project/$ref/integrations/$id/$pageId/$childId/' + path: '/$id/$pageId/$childId' + fullPath: '/project/$ref/integrations/$id/$pageId/$childId/' + preLoaderRoute: typeof ProjectRefIntegrationsIdPageIdChildIdIndexRouteImport + parentRoute: typeof ProjectRefIntegrationsRoute + } '/api/v1/projects/$ref/functions/$slug/': { id: '/api/v1/projects/$ref/functions/$slug/' path: '/api/v1/projects/$ref/functions/$slug' @@ -4454,6 +6254,85 @@ const OrgChar91_Char93RouteChildren: OrgChar91_Char93RouteChildren = { const OrgChar91_Char93RouteWithChildren = OrgChar91_Char93Route._addFileChildren(OrgChar91_Char93RouteChildren) +interface ProjectRefAdvisorsRulesRouteChildren { + ProjectRefAdvisorsRulesPerformanceRoute: typeof ProjectRefAdvisorsRulesPerformanceRoute + ProjectRefAdvisorsRulesSecurityRoute: typeof ProjectRefAdvisorsRulesSecurityRoute +} + +const ProjectRefAdvisorsRulesRouteChildren: ProjectRefAdvisorsRulesRouteChildren = + { + ProjectRefAdvisorsRulesPerformanceRoute: + ProjectRefAdvisorsRulesPerformanceRoute, + ProjectRefAdvisorsRulesSecurityRoute: ProjectRefAdvisorsRulesSecurityRoute, + } + +const ProjectRefAdvisorsRulesRouteWithChildren = + ProjectRefAdvisorsRulesRoute._addFileChildren( + ProjectRefAdvisorsRulesRouteChildren, + ) + +interface ProjectRefAdvisorsRouteChildren { + ProjectRefAdvisorsPerformanceRoute: typeof ProjectRefAdvisorsPerformanceRoute + ProjectRefAdvisorsRulesRoute: typeof ProjectRefAdvisorsRulesRouteWithChildren + ProjectRefAdvisorsSecurityRoute: typeof ProjectRefAdvisorsSecurityRoute +} + +const ProjectRefAdvisorsRouteChildren: ProjectRefAdvisorsRouteChildren = { + ProjectRefAdvisorsPerformanceRoute: ProjectRefAdvisorsPerformanceRoute, + ProjectRefAdvisorsRulesRoute: ProjectRefAdvisorsRulesRouteWithChildren, + ProjectRefAdvisorsSecurityRoute: ProjectRefAdvisorsSecurityRoute, +} + +const ProjectRefAdvisorsRouteWithChildren = + ProjectRefAdvisorsRoute._addFileChildren(ProjectRefAdvisorsRouteChildren) + +interface ProjectRefAuthRouteChildren { + ProjectRefAuthAuditLogsRoute: typeof ProjectRefAuthAuditLogsRoute + ProjectRefAuthHooksRoute: typeof ProjectRefAuthHooksRoute + ProjectRefAuthMfaRoute: typeof ProjectRefAuthMfaRoute + ProjectRefAuthOauthAppsRoute: typeof ProjectRefAuthOauthAppsRoute + ProjectRefAuthOauthServerRoute: typeof ProjectRefAuthOauthServerRoute + ProjectRefAuthOverviewRoute: typeof ProjectRefAuthOverviewRoute + ProjectRefAuthPasskeysRoute: typeof ProjectRefAuthPasskeysRoute + ProjectRefAuthPerformanceRoute: typeof ProjectRefAuthPerformanceRoute + ProjectRefAuthProtectionRoute: typeof ProjectRefAuthProtectionRoute + ProjectRefAuthProvidersRoute: typeof ProjectRefAuthProvidersRoute + ProjectRefAuthRateLimitsRoute: typeof ProjectRefAuthRateLimitsRoute + ProjectRefAuthSessionsRoute: typeof ProjectRefAuthSessionsRoute + ProjectRefAuthSmtpRoute: typeof ProjectRefAuthSmtpRoute + ProjectRefAuthThirdPartyRoute: typeof ProjectRefAuthThirdPartyRoute + ProjectRefAuthUrlConfigurationRoute: typeof ProjectRefAuthUrlConfigurationRoute + ProjectRefAuthUsersRoute: typeof ProjectRefAuthUsersRoute + ProjectRefAuthTemplatesTemplateIdRoute: typeof ProjectRefAuthTemplatesTemplateIdRoute + ProjectRefAuthTemplatesIndexRoute: typeof ProjectRefAuthTemplatesIndexRoute +} + +const ProjectRefAuthRouteChildren: ProjectRefAuthRouteChildren = { + ProjectRefAuthAuditLogsRoute: ProjectRefAuthAuditLogsRoute, + ProjectRefAuthHooksRoute: ProjectRefAuthHooksRoute, + ProjectRefAuthMfaRoute: ProjectRefAuthMfaRoute, + ProjectRefAuthOauthAppsRoute: ProjectRefAuthOauthAppsRoute, + ProjectRefAuthOauthServerRoute: ProjectRefAuthOauthServerRoute, + ProjectRefAuthOverviewRoute: ProjectRefAuthOverviewRoute, + ProjectRefAuthPasskeysRoute: ProjectRefAuthPasskeysRoute, + ProjectRefAuthPerformanceRoute: ProjectRefAuthPerformanceRoute, + ProjectRefAuthProtectionRoute: ProjectRefAuthProtectionRoute, + ProjectRefAuthProvidersRoute: ProjectRefAuthProvidersRoute, + ProjectRefAuthRateLimitsRoute: ProjectRefAuthRateLimitsRoute, + ProjectRefAuthSessionsRoute: ProjectRefAuthSessionsRoute, + ProjectRefAuthSmtpRoute: ProjectRefAuthSmtpRoute, + ProjectRefAuthThirdPartyRoute: ProjectRefAuthThirdPartyRoute, + ProjectRefAuthUrlConfigurationRoute: ProjectRefAuthUrlConfigurationRoute, + ProjectRefAuthUsersRoute: ProjectRefAuthUsersRoute, + ProjectRefAuthTemplatesTemplateIdRoute: + ProjectRefAuthTemplatesTemplateIdRoute, + ProjectRefAuthTemplatesIndexRoute: ProjectRefAuthTemplatesIndexRoute, +} + +const ProjectRefAuthRouteWithChildren = ProjectRefAuthRoute._addFileChildren( + ProjectRefAuthRouteChildren, +) + interface ProjectRefBranchesRouteChildren { ProjectRefBranchesMergeRequestsRoute: typeof ProjectRefBranchesMergeRequestsRoute ProjectRefBranchesIndexRoute: typeof ProjectRefBranchesIndexRoute @@ -4491,6 +6370,7 @@ interface ProjectRefDatabaseRouteChildren { ProjectRefDatabaseFunctionsRoute: typeof ProjectRefDatabaseFunctionsRoute ProjectRefDatabaseIndexesRoute: typeof ProjectRefDatabaseIndexesRoute ProjectRefDatabaseMigrationsRoute: typeof ProjectRefDatabaseMigrationsRoute + ProjectRefDatabasePoliciesRoute: typeof ProjectRefDatabasePoliciesRoute ProjectRefDatabaseRolesRoute: typeof ProjectRefDatabaseRolesRoute ProjectRefDatabaseSchemasRoute: typeof ProjectRefDatabaseSchemasRoute ProjectRefDatabaseSettingsRoute: typeof ProjectRefDatabaseSettingsRoute @@ -4515,6 +6395,7 @@ const ProjectRefDatabaseRouteChildren: ProjectRefDatabaseRouteChildren = { ProjectRefDatabaseFunctionsRoute: ProjectRefDatabaseFunctionsRoute, ProjectRefDatabaseIndexesRoute: ProjectRefDatabaseIndexesRoute, ProjectRefDatabaseMigrationsRoute: ProjectRefDatabaseMigrationsRoute, + ProjectRefDatabasePoliciesRoute: ProjectRefDatabasePoliciesRoute, ProjectRefDatabaseRolesRoute: ProjectRefDatabaseRolesRoute, ProjectRefDatabaseSchemasRoute: ProjectRefDatabaseSchemasRoute, ProjectRefDatabaseSettingsRoute: ProjectRefDatabaseSettingsRoute, @@ -4556,6 +6437,161 @@ const ProjectRefEditorRouteChildren: ProjectRefEditorRouteChildren = { const ProjectRefEditorRouteWithChildren = ProjectRefEditorRoute._addFileChildren(ProjectRefEditorRouteChildren) +interface ProjectRefFunctionsFunctionSlugRouteChildren { + ProjectRefFunctionsFunctionSlugCodeRoute: typeof ProjectRefFunctionsFunctionSlugCodeRoute + ProjectRefFunctionsFunctionSlugDetailsRoute: typeof ProjectRefFunctionsFunctionSlugDetailsRoute + ProjectRefFunctionsFunctionSlugInvocationsRoute: typeof ProjectRefFunctionsFunctionSlugInvocationsRoute + ProjectRefFunctionsFunctionSlugLogsRoute: typeof ProjectRefFunctionsFunctionSlugLogsRoute + ProjectRefFunctionsFunctionSlugIndexRoute: typeof ProjectRefFunctionsFunctionSlugIndexRoute +} + +const ProjectRefFunctionsFunctionSlugRouteChildren: ProjectRefFunctionsFunctionSlugRouteChildren = + { + ProjectRefFunctionsFunctionSlugCodeRoute: + ProjectRefFunctionsFunctionSlugCodeRoute, + ProjectRefFunctionsFunctionSlugDetailsRoute: + ProjectRefFunctionsFunctionSlugDetailsRoute, + ProjectRefFunctionsFunctionSlugInvocationsRoute: + ProjectRefFunctionsFunctionSlugInvocationsRoute, + ProjectRefFunctionsFunctionSlugLogsRoute: + ProjectRefFunctionsFunctionSlugLogsRoute, + ProjectRefFunctionsFunctionSlugIndexRoute: + ProjectRefFunctionsFunctionSlugIndexRoute, + } + +const ProjectRefFunctionsFunctionSlugRouteWithChildren = + ProjectRefFunctionsFunctionSlugRoute._addFileChildren( + ProjectRefFunctionsFunctionSlugRouteChildren, + ) + +interface ProjectRefFunctionsRouteChildren { + ProjectRefFunctionsFunctionSlugRoute: typeof ProjectRefFunctionsFunctionSlugRouteWithChildren + ProjectRefFunctionsNewRoute: typeof ProjectRefFunctionsNewRoute + ProjectRefFunctionsSecretsRoute: typeof ProjectRefFunctionsSecretsRoute + ProjectRefFunctionsIndexRoute: typeof ProjectRefFunctionsIndexRoute +} + +const ProjectRefFunctionsRouteChildren: ProjectRefFunctionsRouteChildren = { + ProjectRefFunctionsFunctionSlugRoute: + ProjectRefFunctionsFunctionSlugRouteWithChildren, + ProjectRefFunctionsNewRoute: ProjectRefFunctionsNewRoute, + ProjectRefFunctionsSecretsRoute: ProjectRefFunctionsSecretsRoute, + ProjectRefFunctionsIndexRoute: ProjectRefFunctionsIndexRoute, +} + +const ProjectRefFunctionsRouteWithChildren = + ProjectRefFunctionsRoute._addFileChildren(ProjectRefFunctionsRouteChildren) + +interface ProjectRefIntegrationsRouteChildren { + ProjectRefIntegrationsIndexRoute: typeof ProjectRefIntegrationsIndexRoute + ProjectRefIntegrationsIdIndexRoute: typeof ProjectRefIntegrationsIdIndexRoute + ProjectRefIntegrationsIdPageIdIndexRoute: typeof ProjectRefIntegrationsIdPageIdIndexRoute + ProjectRefIntegrationsIdPageIdChildIdIndexRoute: typeof ProjectRefIntegrationsIdPageIdChildIdIndexRoute +} + +const ProjectRefIntegrationsRouteChildren: ProjectRefIntegrationsRouteChildren = + { + ProjectRefIntegrationsIndexRoute: ProjectRefIntegrationsIndexRoute, + ProjectRefIntegrationsIdIndexRoute: ProjectRefIntegrationsIdIndexRoute, + ProjectRefIntegrationsIdPageIdIndexRoute: + ProjectRefIntegrationsIdPageIdIndexRoute, + ProjectRefIntegrationsIdPageIdChildIdIndexRoute: + ProjectRefIntegrationsIdPageIdChildIdIndexRoute, + } + +const ProjectRefIntegrationsRouteWithChildren = + ProjectRefIntegrationsRoute._addFileChildren( + ProjectRefIntegrationsRouteChildren, + ) + +interface ProjectRefLogsRouteChildren { + ProjectRefLogsAuthLogsRoute: typeof ProjectRefLogsAuthLogsRoute + ProjectRefLogsCronLogsRoute: typeof ProjectRefLogsCronLogsRoute + ProjectRefLogsDedicatedPoolerLogsRoute: typeof ProjectRefLogsDedicatedPoolerLogsRoute + ProjectRefLogsEdgeFunctionsLogsRoute: typeof ProjectRefLogsEdgeFunctionsLogsRoute + ProjectRefLogsEdgeLogsRoute: typeof ProjectRefLogsEdgeLogsRoute + ProjectRefLogsMultigresLogsRoute: typeof ProjectRefLogsMultigresLogsRoute + ProjectRefLogsPgUpgradeLogsRoute: typeof ProjectRefLogsPgUpgradeLogsRoute + ProjectRefLogsPgcronLogsRoute: typeof ProjectRefLogsPgcronLogsRoute + ProjectRefLogsPoolerLogsRoute: typeof ProjectRefLogsPoolerLogsRoute + ProjectRefLogsPostgresLogsRoute: typeof ProjectRefLogsPostgresLogsRoute + ProjectRefLogsPostgrestLogsRoute: typeof ProjectRefLogsPostgrestLogsRoute + ProjectRefLogsRealtimeLogsRoute: typeof ProjectRefLogsRealtimeLogsRoute + ProjectRefLogsReplicationLogsRoute: typeof ProjectRefLogsReplicationLogsRoute + ProjectRefLogsStorageLogsRoute: typeof ProjectRefLogsStorageLogsRoute + ProjectRefLogsIndexRoute: typeof ProjectRefLogsIndexRoute + ProjectRefLogsExplorerRecentRoute: typeof ProjectRefLogsExplorerRecentRoute + ProjectRefLogsExplorerSavedRoute: typeof ProjectRefLogsExplorerSavedRoute + ProjectRefLogsExplorerTemplatesRoute: typeof ProjectRefLogsExplorerTemplatesRoute + ProjectRefLogsExplorerIndexRoute: typeof ProjectRefLogsExplorerIndexRoute +} + +const ProjectRefLogsRouteChildren: ProjectRefLogsRouteChildren = { + ProjectRefLogsAuthLogsRoute: ProjectRefLogsAuthLogsRoute, + ProjectRefLogsCronLogsRoute: ProjectRefLogsCronLogsRoute, + ProjectRefLogsDedicatedPoolerLogsRoute: + ProjectRefLogsDedicatedPoolerLogsRoute, + ProjectRefLogsEdgeFunctionsLogsRoute: ProjectRefLogsEdgeFunctionsLogsRoute, + ProjectRefLogsEdgeLogsRoute: ProjectRefLogsEdgeLogsRoute, + ProjectRefLogsMultigresLogsRoute: ProjectRefLogsMultigresLogsRoute, + ProjectRefLogsPgUpgradeLogsRoute: ProjectRefLogsPgUpgradeLogsRoute, + ProjectRefLogsPgcronLogsRoute: ProjectRefLogsPgcronLogsRoute, + ProjectRefLogsPoolerLogsRoute: ProjectRefLogsPoolerLogsRoute, + ProjectRefLogsPostgresLogsRoute: ProjectRefLogsPostgresLogsRoute, + ProjectRefLogsPostgrestLogsRoute: ProjectRefLogsPostgrestLogsRoute, + ProjectRefLogsRealtimeLogsRoute: ProjectRefLogsRealtimeLogsRoute, + ProjectRefLogsReplicationLogsRoute: ProjectRefLogsReplicationLogsRoute, + ProjectRefLogsStorageLogsRoute: ProjectRefLogsStorageLogsRoute, + ProjectRefLogsIndexRoute: ProjectRefLogsIndexRoute, + ProjectRefLogsExplorerRecentRoute: ProjectRefLogsExplorerRecentRoute, + ProjectRefLogsExplorerSavedRoute: ProjectRefLogsExplorerSavedRoute, + ProjectRefLogsExplorerTemplatesRoute: ProjectRefLogsExplorerTemplatesRoute, + ProjectRefLogsExplorerIndexRoute: ProjectRefLogsExplorerIndexRoute, +} + +const ProjectRefLogsRouteWithChildren = ProjectRefLogsRoute._addFileChildren( + ProjectRefLogsRouteChildren, +) + +interface ProjectRefObservabilityRouteChildren { + ProjectRefObservabilityIdRoute: typeof ProjectRefObservabilityIdRoute + ProjectRefObservabilityApiOverviewRoute: typeof ProjectRefObservabilityApiOverviewRoute + ProjectRefObservabilityAuthRoute: typeof ProjectRefObservabilityAuthRoute + ProjectRefObservabilityDatabaseRoute: typeof ProjectRefObservabilityDatabaseRoute + ProjectRefObservabilityEdgeFunctionsRoute: typeof ProjectRefObservabilityEdgeFunctionsRoute + ProjectRefObservabilityPostgrestRoute: typeof ProjectRefObservabilityPostgrestRoute + ProjectRefObservabilityQueryInsightsRoute: typeof ProjectRefObservabilityQueryInsightsRoute + ProjectRefObservabilityQueryPerformanceRoute: typeof ProjectRefObservabilityQueryPerformanceRoute + ProjectRefObservabilityRealtimeRoute: typeof ProjectRefObservabilityRealtimeRoute + ProjectRefObservabilityStorageRoute: typeof ProjectRefObservabilityStorageRoute + ProjectRefObservabilityIndexRoute: typeof ProjectRefObservabilityIndexRoute +} + +const ProjectRefObservabilityRouteChildren: ProjectRefObservabilityRouteChildren = + { + ProjectRefObservabilityIdRoute: ProjectRefObservabilityIdRoute, + ProjectRefObservabilityApiOverviewRoute: + ProjectRefObservabilityApiOverviewRoute, + ProjectRefObservabilityAuthRoute: ProjectRefObservabilityAuthRoute, + ProjectRefObservabilityDatabaseRoute: ProjectRefObservabilityDatabaseRoute, + ProjectRefObservabilityEdgeFunctionsRoute: + ProjectRefObservabilityEdgeFunctionsRoute, + ProjectRefObservabilityPostgrestRoute: + ProjectRefObservabilityPostgrestRoute, + ProjectRefObservabilityQueryInsightsRoute: + ProjectRefObservabilityQueryInsightsRoute, + ProjectRefObservabilityQueryPerformanceRoute: + ProjectRefObservabilityQueryPerformanceRoute, + ProjectRefObservabilityRealtimeRoute: ProjectRefObservabilityRealtimeRoute, + ProjectRefObservabilityStorageRoute: ProjectRefObservabilityStorageRoute, + ProjectRefObservabilityIndexRoute: ProjectRefObservabilityIndexRoute, + } + +const ProjectRefObservabilityRouteWithChildren = + ProjectRefObservabilityRoute._addFileChildren( + ProjectRefObservabilityRouteChildren, + ) + interface ProjectRefRealtimeRouteChildren { ProjectRefRealtimeInspectorRoute: typeof ProjectRefRealtimeInspectorRoute ProjectRefRealtimePoliciesRoute: typeof ProjectRefRealtimePoliciesRoute @@ -4571,6 +6607,60 @@ const ProjectRefRealtimeRouteChildren: ProjectRefRealtimeRouteChildren = { const ProjectRefRealtimeRouteWithChildren = ProjectRefRealtimeRoute._addFileChildren(ProjectRefRealtimeRouteChildren) +interface ProjectRefSettingsApiKeysRouteChildren { + ProjectRefSettingsApiKeysLegacyRoute: typeof ProjectRefSettingsApiKeysLegacyRoute + ProjectRefSettingsApiKeysIndexRoute: typeof ProjectRefSettingsApiKeysIndexRoute +} + +const ProjectRefSettingsApiKeysRouteChildren: ProjectRefSettingsApiKeysRouteChildren = + { + ProjectRefSettingsApiKeysLegacyRoute: ProjectRefSettingsApiKeysLegacyRoute, + ProjectRefSettingsApiKeysIndexRoute: ProjectRefSettingsApiKeysIndexRoute, + } + +const ProjectRefSettingsApiKeysRouteWithChildren = + ProjectRefSettingsApiKeysRoute._addFileChildren( + ProjectRefSettingsApiKeysRouteChildren, + ) + +interface ProjectRefSettingsRouteChildren { + ProjectRefSettingsAddonsRoute: typeof ProjectRefSettingsAddonsRoute + ProjectRefSettingsApiRoute: typeof ProjectRefSettingsApiRoute + ProjectRefSettingsApiKeysRoute: typeof ProjectRefSettingsApiKeysRouteWithChildren + ProjectRefSettingsComputeAndDiskRoute: typeof ProjectRefSettingsComputeAndDiskRoute + ProjectRefSettingsDashboardRoute: typeof ProjectRefSettingsDashboardRoute + ProjectRefSettingsGeneralRoute: typeof ProjectRefSettingsGeneralRoute + ProjectRefSettingsInfrastructureRoute: typeof ProjectRefSettingsInfrastructureRoute + ProjectRefSettingsIntegrationsRoute: typeof ProjectRefSettingsIntegrationsRoute + ProjectRefSettingsLogDrainsRoute: typeof ProjectRefSettingsLogDrainsRoute + ProjectRefSettingsBillingUsageRoute: typeof ProjectRefSettingsBillingUsageRoute + ProjectRefSettingsJwtLegacyRoute: typeof ProjectRefSettingsJwtLegacyRoute + ProjectRefSettingsWebhooksEndpointIdRoute: typeof ProjectRefSettingsWebhooksEndpointIdRoute + ProjectRefSettingsJwtIndexRoute: typeof ProjectRefSettingsJwtIndexRoute + ProjectRefSettingsWebhooksIndexRoute: typeof ProjectRefSettingsWebhooksIndexRoute +} + +const ProjectRefSettingsRouteChildren: ProjectRefSettingsRouteChildren = { + ProjectRefSettingsAddonsRoute: ProjectRefSettingsAddonsRoute, + ProjectRefSettingsApiRoute: ProjectRefSettingsApiRoute, + ProjectRefSettingsApiKeysRoute: ProjectRefSettingsApiKeysRouteWithChildren, + ProjectRefSettingsComputeAndDiskRoute: ProjectRefSettingsComputeAndDiskRoute, + ProjectRefSettingsDashboardRoute: ProjectRefSettingsDashboardRoute, + ProjectRefSettingsGeneralRoute: ProjectRefSettingsGeneralRoute, + ProjectRefSettingsInfrastructureRoute: ProjectRefSettingsInfrastructureRoute, + ProjectRefSettingsIntegrationsRoute: ProjectRefSettingsIntegrationsRoute, + ProjectRefSettingsLogDrainsRoute: ProjectRefSettingsLogDrainsRoute, + ProjectRefSettingsBillingUsageRoute: ProjectRefSettingsBillingUsageRoute, + ProjectRefSettingsJwtLegacyRoute: ProjectRefSettingsJwtLegacyRoute, + ProjectRefSettingsWebhooksEndpointIdRoute: + ProjectRefSettingsWebhooksEndpointIdRoute, + ProjectRefSettingsJwtIndexRoute: ProjectRefSettingsJwtIndexRoute, + ProjectRefSettingsWebhooksIndexRoute: ProjectRefSettingsWebhooksIndexRoute, +} + +const ProjectRefSettingsRouteWithChildren = + ProjectRefSettingsRoute._addFileChildren(ProjectRefSettingsRouteChildren) + interface ProjectRefSqlRouteChildren { ProjectRefSqlIdRoute: typeof ProjectRefSqlIdRoute ProjectRefSqlExamplesRoute: typeof ProjectRefSqlExamplesRoute @@ -4620,23 +6710,41 @@ const ProjectRefStorageRouteWithChildren = ProjectRefStorageRoute._addFileChildren(ProjectRefStorageRouteChildren) interface ProjectRefRouteChildren { + ProjectRefAdvisorsRoute: typeof ProjectRefAdvisorsRouteWithChildren + ProjectRefAuthRoute: typeof ProjectRefAuthRouteWithChildren ProjectRefBranchesRoute: typeof ProjectRefBranchesRouteWithChildren ProjectRefDatabaseRoute: typeof ProjectRefDatabaseRouteWithChildren ProjectRefEditorRoute: typeof ProjectRefEditorRouteWithChildren + ProjectRefFunctionsRoute: typeof ProjectRefFunctionsRouteWithChildren + ProjectRefIntegrationsRoute: typeof ProjectRefIntegrationsRouteWithChildren + ProjectRefLogsRoute: typeof ProjectRefLogsRouteWithChildren ProjectRefMergeRoute: typeof ProjectRefMergeRoute + ProjectRefObservabilityRoute: typeof ProjectRefObservabilityRouteWithChildren ProjectRefRealtimeRoute: typeof ProjectRefRealtimeRouteWithChildren + ProjectRefSettingsRoute: typeof ProjectRefSettingsRouteWithChildren ProjectRefSqlRoute: typeof ProjectRefSqlRouteWithChildren ProjectRefStorageRoute: typeof ProjectRefStorageRouteWithChildren + ProjectRefIndexRoute: typeof ProjectRefIndexRoute + ProjectRefApiIndexRoute: typeof ProjectRefApiIndexRoute } const ProjectRefRouteChildren: ProjectRefRouteChildren = { + ProjectRefAdvisorsRoute: ProjectRefAdvisorsRouteWithChildren, + ProjectRefAuthRoute: ProjectRefAuthRouteWithChildren, ProjectRefBranchesRoute: ProjectRefBranchesRouteWithChildren, ProjectRefDatabaseRoute: ProjectRefDatabaseRouteWithChildren, ProjectRefEditorRoute: ProjectRefEditorRouteWithChildren, + ProjectRefFunctionsRoute: ProjectRefFunctionsRouteWithChildren, + ProjectRefIntegrationsRoute: ProjectRefIntegrationsRouteWithChildren, + ProjectRefLogsRoute: ProjectRefLogsRouteWithChildren, ProjectRefMergeRoute: ProjectRefMergeRoute, + ProjectRefObservabilityRoute: ProjectRefObservabilityRouteWithChildren, ProjectRefRealtimeRoute: ProjectRefRealtimeRouteWithChildren, + ProjectRefSettingsRoute: ProjectRefSettingsRouteWithChildren, ProjectRefSqlRoute: ProjectRefSqlRouteWithChildren, ProjectRefStorageRoute: ProjectRefStorageRouteWithChildren, + ProjectRefIndexRoute: ProjectRefIndexRoute, + ProjectRefApiIndexRoute: ProjectRefApiIndexRoute, } const ProjectRefRouteWithChildren = ProjectRefRoute._addFileChildren( diff --git a/apps/studio/routes/new/$slug.tsx b/apps/studio/routes/new/$slug.tsx index 1cf17e3104b..eba0b29d4cb 100644 --- a/apps/studio/routes/new/$slug.tsx +++ b/apps/studio/routes/new/$slug.tsx @@ -1,7 +1,7 @@ import { createFileRoute } from '@tanstack/react-router' import { DefaultLayout } from '@/components/layouts/DefaultLayout' -import { PageLayout } from '@/components/layouts/PageLayout/PageLayout' +import WizardLayout from '@/components/layouts/WizardLayout' import Wizard from '@/pages/new/[slug]' export const Route = createFileRoute('/new/$slug')({ @@ -9,13 +9,18 @@ export const Route = createFileRoute('/new/$slug')({ }) // Placed at top-level rather than under _app — the Next getLayout omits -// AppLayout, and uses PageLayout (not WizardLayout) inside DefaultLayout. +// AppLayout. The Next page wraps the wizard in a local `PageLayout` that is +// just `withAuth(WizardLayoutWithoutAuth)` (NOT the shared PageLayout), giving +// the centered, max-w-2xl wizard column. WizardLayout's default export is the +// same `withAuth(WizardLayout)`, so we use it here to preserve both the auth +// guard and that constrained width — the shared PageLayout rendered the form +// full-width. function NewProjectRoute() { return ( - + - + ) } diff --git a/apps/studio/routes/project/$ref/advisors.tsx b/apps/studio/routes/project/$ref/advisors.tsx new file mode 100644 index 00000000000..41fde46f9b7 --- /dev/null +++ b/apps/studio/routes/project/$ref/advisors.tsx @@ -0,0 +1,37 @@ +import { createFileRoute, Outlet, useMatches } from '@tanstack/react-router' + +import AdvisorsLayout from '@/components/layouts/AdvisorsLayout/AdvisorsLayout' + +export const Route = createFileRoute('/project/$ref/advisors')({ + component: AdvisorsShell, +}) + +type AdvisorsStaticData = { + advisorsLayoutTitle?: string + // The `advisors/rules` sub-shell wraps in its own + // (mirroring the existing AdvisorRulesLayout component). Without + // opting out here we'd double-wrap. + skipAdvisorsLayout?: boolean +} + +function AdvisorsShell() { + // Scan the whole match chain — `skipAdvisorsLayout` is set on the + // sub-shell route, not on the leaf. Same pattern as functions.tsx. + const skip = useMatches({ + select: (matches) => + matches.some((m) => (m.staticData as AdvisorsStaticData | undefined)?.skipAdvisorsLayout), + }) + const title = useMatches({ + select: (matches) => + (matches[matches.length - 1]?.staticData as AdvisorsStaticData | undefined) + ?.advisorsLayoutTitle ?? '', + }) + + if (skip) return + + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/advisors/performance.tsx b/apps/studio/routes/project/$ref/advisors/performance.tsx new file mode 100644 index 00000000000..971218d152f --- /dev/null +++ b/apps/studio/routes/project/$ref/advisors/performance.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import AdvisorsPerformancePage from '@/pages/project/[ref]/advisors/performance' + +export const Route = createFileRoute('/project/$ref/advisors/performance')({ + component: AdvisorsPerformanceRoute, + staticData: { + advisorsLayoutTitle: 'Linter', + }, +}) + +function AdvisorsPerformanceRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/advisors/rules.tsx b/apps/studio/routes/project/$ref/advisors/rules.tsx new file mode 100644 index 00000000000..b905c150311 --- /dev/null +++ b/apps/studio/routes/project/$ref/advisors/rules.tsx @@ -0,0 +1,57 @@ +import { createFileRoute, Outlet } from '@tanstack/react-router' +import { LOCAL_STORAGE_KEYS, useParams } from 'common' + +import { useIsAdvisorRulesEnabled } from '@/components/interfaces/App/FeaturePreview/FeaturePreviewContext' +import AdvisorsLayout from '@/components/layouts/AdvisorsLayout/AdvisorsLayout' +import { PageLayout } from '@/components/layouts/PageLayout/PageLayout' +import { FeaturePreviewBadge } from '@/components/ui/FeaturePreviewBadge' + +export const Route = createFileRoute('/project/$ref/advisors/rules')({ + component: AdvisorRulesShell, + // Opt out of the parent advisors.tsx shell's wrap + // — we render our own with no title, plus a PageLayout tab strip, + // mirroring the existing AdvisorRulesLayout component. + staticData: { + skipAdvisorsLayout: true, + }, +}) + +// Body inlined from `components/layouts/AdvisorsLayout/AdvisorRulesLayout.tsx` +// minus its outer wrap (already provided by the +// `routes/project/$ref.tsx` shell). The Next-side AdvisorRulesLayout +// keeps working unchanged for the pages router; we duplicate the +// PageLayout config here so the TanStack route can re-use the same +// title + nav + feature-preview badge without coupling to the +// component's DefaultLayout-wrapping shape. +function AdvisorRulesShell() { + const { ref } = useParams() + const isAdvisorRulesEnabled = useIsAdvisorRulesEnabled() + + return ( + + + Advisor Settings + {isAdvisorRulesEnabled && ( + + )} + + } + subtitle="Disable specific advisor categories or rules" + navigationItems={[ + { + label: 'Security', + href: `/project/${ref}/advisors/rules/security`, + }, + { + label: 'Performance', + href: `/project/${ref}/advisors/rules/performance`, + }, + ]} + > + + + + ) +} diff --git a/apps/studio/routes/project/$ref/advisors/rules/performance.tsx b/apps/studio/routes/project/$ref/advisors/rules/performance.tsx new file mode 100644 index 00000000000..649ff0c5a98 --- /dev/null +++ b/apps/studio/routes/project/$ref/advisors/rules/performance.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router' + +import AdvisorPerformanceRulesPage from '@/pages/project/[ref]/advisors/rules/performance' + +export const Route = createFileRoute('/project/$ref/advisors/rules/performance')({ + component: AdvisorRulesPerformanceRoute, +}) + +function AdvisorRulesPerformanceRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/advisors/rules/security.tsx b/apps/studio/routes/project/$ref/advisors/rules/security.tsx new file mode 100644 index 00000000000..ca6a197f942 --- /dev/null +++ b/apps/studio/routes/project/$ref/advisors/rules/security.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router' + +import AdvisorSecurityRulesPage from '@/pages/project/[ref]/advisors/rules/security' + +export const Route = createFileRoute('/project/$ref/advisors/rules/security')({ + component: AdvisorRulesSecurityRoute, +}) + +function AdvisorRulesSecurityRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/advisors/security.tsx b/apps/studio/routes/project/$ref/advisors/security.tsx new file mode 100644 index 00000000000..1f545d84177 --- /dev/null +++ b/apps/studio/routes/project/$ref/advisors/security.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import AdvisorsSecurityPage from '@/pages/project/[ref]/advisors/security' + +export const Route = createFileRoute('/project/$ref/advisors/security')({ + component: AdvisorsSecurityRoute, + staticData: { + advisorsLayoutTitle: 'Linter', + }, +}) + +function AdvisorsSecurityRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/api/index.tsx b/apps/studio/routes/project/$ref/api/index.tsx new file mode 100644 index 00000000000..7e62a44513d --- /dev/null +++ b/apps/studio/routes/project/$ref/api/index.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ApiDocsRedirect from '@/pages/project/[ref]/api/index' + +export const Route = createFileRoute('/project/$ref/api/')({ + component: ProjectApiIndexRoute, +}) + +function ProjectApiIndexRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth.tsx b/apps/studio/routes/project/$ref/auth.tsx new file mode 100644 index 00000000000..e2fc618a7b3 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth.tsx @@ -0,0 +1,40 @@ +import { createFileRoute, Outlet, useMatches } from '@tanstack/react-router' + +import AuthLayout from '@/components/layouts/AuthLayout/AuthLayout' + +export const Route = createFileRoute('/project/$ref/auth')({ + component: AuthShell, +}) + +function AuthShell() { + // Read the two staticData fields via `select` so the shell only re-renders + // when the actual selected values change. See routes/_app.tsx for why the + // bare `useMatches()` form is unsafe here. + const skipAuthLayout = useMatches({ + select: (matches) => + (matches[matches.length - 1]?.staticData as { skipAuthLayout?: boolean } | undefined) + ?.skipAuthLayout ?? false, + }) + const title = useMatches({ + select: (matches) => + (matches[matches.length - 1]?.staticData as { authLayoutTitle?: string } | undefined) + ?.authLayoutTitle ?? '', + }) + + // Some auth leaves wrap themselves in a sub-layout that internally already + // includes (AuthProvidersLayout, AuthEmailsLayout, and pages + // like third-party that inline that wrapping). Those routes set + // `staticData.skipAuthLayout: true` and render their own Outlet chain; + // otherwise we'd double-wrap with AuthLayout (and AuthLayout pulls in + // withAuth + ProjectLayout, so a double-wrap is observable beyond just + // visual nesting). + if (skipAuthLayout) { + return + } + + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/auth/audit-logs.tsx b/apps/studio/routes/project/$ref/auth/audit-logs.tsx new file mode 100644 index 00000000000..6676bee583a --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/audit-logs.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import AuditLogsPage from '@/pages/project/[ref]/auth/audit-logs' + +export const Route = createFileRoute('/project/$ref/auth/audit-logs')({ + component: AuthAuditLogsRoute, + staticData: { + authLayoutTitle: 'Audit Logs', + }, +}) + +function AuthAuditLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/hooks.tsx b/apps/studio/routes/project/$ref/auth/hooks.tsx new file mode 100644 index 00000000000..dea839abc18 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/hooks.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import Hooks from '@/pages/project/[ref]/auth/hooks' + +export const Route = createFileRoute('/project/$ref/auth/hooks')({ + component: AuthHooksRoute, + staticData: { + authLayoutTitle: 'Auth Hooks', + }, +}) + +function AuthHooksRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/mfa.tsx b/apps/studio/routes/project/$ref/auth/mfa.tsx new file mode 100644 index 00000000000..bb978866adb --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/mfa.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import MfaPage from '@/pages/project/[ref]/auth/mfa' + +export const Route = createFileRoute('/project/$ref/auth/mfa')({ + component: AuthMfaRoute, + staticData: { + authLayoutTitle: 'Multi-Factor', + }, +}) + +function AuthMfaRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/oauth-apps.tsx b/apps/studio/routes/project/$ref/auth/oauth-apps.tsx new file mode 100644 index 00000000000..7e0c5b49718 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/oauth-apps.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import OAuthApps from '@/pages/project/[ref]/auth/oauth-apps' + +export const Route = createFileRoute('/project/$ref/auth/oauth-apps')({ + component: AuthOAuthAppsRoute, + staticData: { + authLayoutTitle: 'OAuth Apps', + }, +}) + +function AuthOAuthAppsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/oauth-server.tsx b/apps/studio/routes/project/$ref/auth/oauth-server.tsx new file mode 100644 index 00000000000..08a9ec7ba03 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/oauth-server.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import OAuthServerPage from '@/pages/project/[ref]/auth/oauth-server' + +export const Route = createFileRoute('/project/$ref/auth/oauth-server')({ + component: AuthOAuthServerRoute, + staticData: { + authLayoutTitle: 'OAuth Server', + }, +}) + +function AuthOAuthServerRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/overview.tsx b/apps/studio/routes/project/$ref/auth/overview.tsx new file mode 100644 index 00000000000..75b63a3ae1a --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/overview.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import AuthOverview from '@/pages/project/[ref]/auth/overview' + +export const Route = createFileRoute('/project/$ref/auth/overview')({ + component: AuthOverviewRoute, + staticData: { + authLayoutTitle: 'Overview', + }, +}) + +function AuthOverviewRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/passkeys.tsx b/apps/studio/routes/project/$ref/auth/passkeys.tsx new file mode 100644 index 00000000000..d25d1bb3c09 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/passkeys.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import PasskeysPage from '@/pages/project/[ref]/auth/passkeys' + +export const Route = createFileRoute('/project/$ref/auth/passkeys')({ + component: AuthPasskeysRoute, + staticData: { + authLayoutTitle: 'Passkeys', + }, +}) + +function AuthPasskeysRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/performance.tsx b/apps/studio/routes/project/$ref/auth/performance.tsx new file mode 100644 index 00000000000..16eb85ddd8f --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/performance.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import PerformancePage from '@/pages/project/[ref]/auth/performance' + +export const Route = createFileRoute('/project/$ref/auth/performance')({ + component: AuthPerformanceRoute, + staticData: { + authLayoutTitle: 'Performance', + }, +}) + +function AuthPerformanceRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/protection.tsx b/apps/studio/routes/project/$ref/auth/protection.tsx new file mode 100644 index 00000000000..af55d0e39f6 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/protection.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ProtectionPage from '@/pages/project/[ref]/auth/protection' + +export const Route = createFileRoute('/project/$ref/auth/protection')({ + component: AuthProtectionRoute, + staticData: { + authLayoutTitle: 'Attack Protection', + }, +}) + +function AuthProtectionRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/providers.tsx b/apps/studio/routes/project/$ref/auth/providers.tsx new file mode 100644 index 00000000000..22b27139c07 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/providers.tsx @@ -0,0 +1,22 @@ +import { createFileRoute } from '@tanstack/react-router' + +import { AuthProvidersLayout } from '@/components/layouts/AuthLayout/AuthProvidersLayout' +import ProvidersPage from '@/pages/project/[ref]/auth/providers' + +export const Route = createFileRoute('/project/$ref/auth/providers')({ + component: AuthProvidersRoute, + // AuthProvidersLayout wraps in internally; the auth.tsx + // shell skips its own AuthLayout wrap so we don't double-wrap (and + // double withAuth + ProjectLayout). + staticData: { + skipAuthLayout: true, + }, +}) + +function AuthProvidersRoute() { + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/auth/rate-limits.tsx b/apps/studio/routes/project/$ref/auth/rate-limits.tsx new file mode 100644 index 00000000000..a7c94af5b20 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/rate-limits.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import RateLimitsPage from '@/pages/project/[ref]/auth/rate-limits' + +export const Route = createFileRoute('/project/$ref/auth/rate-limits')({ + component: AuthRateLimitsRoute, + staticData: { + authLayoutTitle: 'Rate Limits', + }, +}) + +function AuthRateLimitsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/sessions.tsx b/apps/studio/routes/project/$ref/auth/sessions.tsx new file mode 100644 index 00000000000..d9766206bb8 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/sessions.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import SessionsPage from '@/pages/project/[ref]/auth/sessions' + +export const Route = createFileRoute('/project/$ref/auth/sessions')({ + component: AuthSessionsRoute, + staticData: { + authLayoutTitle: 'Sessions', + }, +}) + +function AuthSessionsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/smtp.tsx b/apps/studio/routes/project/$ref/auth/smtp.tsx new file mode 100644 index 00000000000..2f853d8a49b --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/smtp.tsx @@ -0,0 +1,21 @@ +import { createFileRoute } from '@tanstack/react-router' + +import { AuthEmailsLayout } from '@/components/layouts/AuthLayout/AuthEmailsLayout' +import SmtpPage from '@/pages/project/[ref]/auth/smtp' + +export const Route = createFileRoute('/project/$ref/auth/smtp')({ + component: AuthSmtpRoute, + // AuthEmailsLayout wraps in internally; opt out of the + // auth.tsx shell wrap to avoid double-wrapping. + staticData: { + skipAuthLayout: true, + }, +}) + +function AuthSmtpRoute() { + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/auth/templates/$templateId.tsx b/apps/studio/routes/project/$ref/auth/templates/$templateId.tsx new file mode 100644 index 00000000000..1a8393c2e2f --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/templates/$templateId.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import TemplatePage from '@/pages/project/[ref]/auth/templates/[templateId]' + +export const Route = createFileRoute('/project/$ref/auth/templates/$templateId')({ + component: AuthTemplateDetailRoute, + staticData: { + authLayoutTitle: 'Emails', + }, +}) + +function AuthTemplateDetailRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/templates/index.tsx b/apps/studio/routes/project/$ref/auth/templates/index.tsx new file mode 100644 index 00000000000..7da4ed723a0 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/templates/index.tsx @@ -0,0 +1,23 @@ +import { createFileRoute } from '@tanstack/react-router' + +import { AuthEmailsLayout } from '@/components/layouts/AuthLayout/AuthEmailsLayout' +import TemplatesPage from '@/pages/project/[ref]/auth/templates/index' + +export const Route = createFileRoute('/project/$ref/auth/templates/')({ + component: AuthTemplatesIndexRoute, + // AuthEmailsLayout wraps in internally; opt out of the + // auth.tsx shell wrap to avoid double-wrapping. Sibling + // templates/$templateId.tsx does NOT use AuthEmailsLayout, so we + // can't share a templates.tsx sub-shell — each leaf wraps itself. + staticData: { + skipAuthLayout: true, + }, +}) + +function AuthTemplatesIndexRoute() { + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/auth/third-party.tsx b/apps/studio/routes/project/$ref/auth/third-party.tsx new file mode 100644 index 00000000000..957eccf155c --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/third-party.tsx @@ -0,0 +1,18 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ThirdPartyPage from '@/pages/project/[ref]/auth/third-party' + +export const Route = createFileRoute('/project/$ref/auth/third-party')({ + component: AuthThirdPartyRoute, + // The page body wraps itself in , which already + // includes . Tell the auth.tsx shell to skip its own + // AuthLayout wrap so we don't double-wrap (and double withAuth + + // ProjectLayout). + staticData: { + skipAuthLayout: true, + }, +}) + +function AuthThirdPartyRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/url-configuration.tsx b/apps/studio/routes/project/$ref/auth/url-configuration.tsx new file mode 100644 index 00000000000..31687bce16a --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/url-configuration.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import URLConfiguration from '@/pages/project/[ref]/auth/url-configuration' + +export const Route = createFileRoute('/project/$ref/auth/url-configuration')({ + component: AuthUrlConfigurationRoute, + staticData: { + authLayoutTitle: 'URL Configuration', + }, +}) + +function AuthUrlConfigurationRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/auth/users.tsx b/apps/studio/routes/project/$ref/auth/users.tsx new file mode 100644 index 00000000000..1dafc6cdd57 --- /dev/null +++ b/apps/studio/routes/project/$ref/auth/users.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import UsersPage from '@/pages/project/[ref]/auth/users' + +export const Route = createFileRoute('/project/$ref/auth/users')({ + component: AuthUsersRoute, + staticData: { + authLayoutTitle: 'Users', + }, +}) + +function AuthUsersRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/database/policies.tsx b/apps/studio/routes/project/$ref/database/policies.tsx new file mode 100644 index 00000000000..b14f6c2ddb1 --- /dev/null +++ b/apps/studio/routes/project/$ref/database/policies.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import PoliciesPage from '@/pages/project/[ref]/database/policies' + +export const Route = createFileRoute('/project/$ref/database/policies')({ + component: DatabasePoliciesRoute, + staticData: { + databaseLayoutTitle: 'Policies', + }, +}) + +function DatabasePoliciesRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/functions.tsx b/apps/studio/routes/project/$ref/functions.tsx new file mode 100644 index 00000000000..08bf9e4b3b3 --- /dev/null +++ b/apps/studio/routes/project/$ref/functions.tsx @@ -0,0 +1,41 @@ +import { createFileRoute, Outlet, useMatches } from '@tanstack/react-router' + +import EdgeFunctionsLayout from '@/components/layouts/EdgeFunctionsLayout/EdgeFunctionsLayout' + +export const Route = createFileRoute('/project/$ref/functions')({ + component: FunctionsShell, +}) + +type FunctionsStaticData = { + functionsLayoutTitle?: string + // The $functionSlug routes wrap themselves in , + // which already renders internally. Without + // opting out here we'd double-wrap. + skipFunctionsLayout?: boolean +} + +function FunctionsShell() { + // `skipFunctionsLayout` is set on the $functionSlug sub-shell's + // staticData, not on the leaf — so checking only the leaf misses it + // and we end up double-wrapping (`functions.tsx` adds + // EdgeFunctionsLayout, then the sub-shell's EdgeFunctionDetailsLayout + // wraps EdgeFunctionsLayout again internally → duplicated sidebar). + // Scan the whole match chain instead. + const skip = useMatches({ + select: (matches) => + matches.some((m) => (m.staticData as FunctionsStaticData | undefined)?.skipFunctionsLayout), + }) + const title = useMatches({ + select: (matches) => + (matches[matches.length - 1]?.staticData as FunctionsStaticData | undefined) + ?.functionsLayoutTitle ?? '', + }) + + if (skip) return + + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/functions/$functionSlug.tsx b/apps/studio/routes/project/$ref/functions/$functionSlug.tsx new file mode 100644 index 00000000000..28510ee3b08 --- /dev/null +++ b/apps/studio/routes/project/$ref/functions/$functionSlug.tsx @@ -0,0 +1,27 @@ +import { createFileRoute, Outlet, useMatches } from '@tanstack/react-router' + +import EdgeFunctionDetailsLayout from '@/components/layouts/EdgeFunctionsLayout/EdgeFunctionDetailsLayout' + +export const Route = createFileRoute('/project/$ref/functions/$functionSlug')({ + component: FunctionDetailsShell, + // EdgeFunctionDetailsLayout already wraps + // internally. Tell the parent functions.tsx shell to skip its own + // EdgeFunctionsLayout wrap so we don't double-wrap. + staticData: { + skipFunctionsLayout: true, + }, +}) + +function FunctionDetailsShell() { + const title = useMatches({ + select: (matches) => + (matches[matches.length - 1]?.staticData as { edgeFunctionDetailsTitle?: string } | undefined) + ?.edgeFunctionDetailsTitle ?? '', + }) + + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/functions/$functionSlug/code.tsx b/apps/studio/routes/project/$ref/functions/$functionSlug/code.tsx new file mode 100644 index 00000000000..221f7d20051 --- /dev/null +++ b/apps/studio/routes/project/$ref/functions/$functionSlug/code.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import CodePage from '@/pages/project/[ref]/functions/[functionSlug]/code' + +export const Route = createFileRoute('/project/$ref/functions/$functionSlug/code')({ + component: FunctionCodeRoute, + staticData: { + edgeFunctionDetailsTitle: 'Code', + }, +}) + +function FunctionCodeRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/functions/$functionSlug/details.tsx b/apps/studio/routes/project/$ref/functions/$functionSlug/details.tsx new file mode 100644 index 00000000000..ff2c1a4a25a --- /dev/null +++ b/apps/studio/routes/project/$ref/functions/$functionSlug/details.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import FunctionDetailsPage from '@/pages/project/[ref]/functions/[functionSlug]/details' + +export const Route = createFileRoute('/project/$ref/functions/$functionSlug/details')({ + component: FunctionDetailsRoute, + staticData: { + edgeFunctionDetailsTitle: 'Settings', + }, +}) + +function FunctionDetailsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/functions/$functionSlug/index.tsx b/apps/studio/routes/project/$ref/functions/$functionSlug/index.tsx new file mode 100644 index 00000000000..b3aeecdb9e0 --- /dev/null +++ b/apps/studio/routes/project/$ref/functions/$functionSlug/index.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import FunctionOverviewPage from '@/pages/project/[ref]/functions/[functionSlug]/index' + +export const Route = createFileRoute('/project/$ref/functions/$functionSlug/')({ + component: FunctionOverviewRoute, + staticData: { + edgeFunctionDetailsTitle: 'Overview', + }, +}) + +function FunctionOverviewRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/functions/$functionSlug/invocations.tsx b/apps/studio/routes/project/$ref/functions/$functionSlug/invocations.tsx new file mode 100644 index 00000000000..99a4294cf81 --- /dev/null +++ b/apps/studio/routes/project/$ref/functions/$functionSlug/invocations.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import FunctionInvocationsPage from '@/pages/project/[ref]/functions/[functionSlug]/invocations' + +export const Route = createFileRoute('/project/$ref/functions/$functionSlug/invocations')({ + component: FunctionInvocationsRoute, + staticData: { + edgeFunctionDetailsTitle: 'Invocations', + }, +}) + +function FunctionInvocationsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/functions/$functionSlug/logs.tsx b/apps/studio/routes/project/$ref/functions/$functionSlug/logs.tsx new file mode 100644 index 00000000000..ea23c062840 --- /dev/null +++ b/apps/studio/routes/project/$ref/functions/$functionSlug/logs.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import FunctionLogsPage from '@/pages/project/[ref]/functions/[functionSlug]/logs' + +export const Route = createFileRoute('/project/$ref/functions/$functionSlug/logs')({ + component: FunctionLogsRoute, + staticData: { + edgeFunctionDetailsTitle: 'Logs', + }, +}) + +function FunctionLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/functions/index.tsx b/apps/studio/routes/project/$ref/functions/index.tsx new file mode 100644 index 00000000000..95acda5a8d4 --- /dev/null +++ b/apps/studio/routes/project/$ref/functions/index.tsx @@ -0,0 +1,20 @@ +import { createFileRoute } from '@tanstack/react-router' + +import EdgeFunctionsPage, { + EdgeFunctionsIndexPageWrapper, +} from '@/pages/project/[ref]/functions/index' + +export const Route = createFileRoute('/project/$ref/functions/')({ + component: FunctionsIndexRoute, + staticData: { + functionsLayoutTitle: 'Edge Functions', + }, +}) + +function FunctionsIndexRoute() { + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/functions/new.tsx b/apps/studio/routes/project/$ref/functions/new.tsx new file mode 100644 index 00000000000..1d7e398769a --- /dev/null +++ b/apps/studio/routes/project/$ref/functions/new.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import NewFunctionPage from '@/pages/project/[ref]/functions/new' + +export const Route = createFileRoute('/project/$ref/functions/new')({ + component: FunctionsNewRoute, + staticData: { + functionsLayoutTitle: 'New', + }, +}) + +function FunctionsNewRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/functions/secrets.tsx b/apps/studio/routes/project/$ref/functions/secrets.tsx new file mode 100644 index 00000000000..285fafced80 --- /dev/null +++ b/apps/studio/routes/project/$ref/functions/secrets.tsx @@ -0,0 +1,18 @@ +import { createFileRoute } from '@tanstack/react-router' + +import SecretsPage, { SecretsPageWrapper } from '@/pages/project/[ref]/functions/secrets' + +export const Route = createFileRoute('/project/$ref/functions/secrets')({ + component: FunctionsSecretsRoute, + staticData: { + functionsLayoutTitle: 'Secrets', + }, +}) + +function FunctionsSecretsRoute() { + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/index.tsx b/apps/studio/routes/project/$ref/index.tsx new file mode 100644 index 00000000000..9ffa41b1bb7 --- /dev/null +++ b/apps/studio/routes/project/$ref/index.tsx @@ -0,0 +1,16 @@ +import { createFileRoute } from '@tanstack/react-router' + +import { ProjectLayoutWithAuth } from '@/components/layouts/ProjectLayout' +import HomePage from '@/pages/project/[ref]/index' + +export const Route = createFileRoute('/project/$ref/')({ + component: ProjectHomeRoute, +}) + +function ProjectHomeRoute() { + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/integrations.tsx b/apps/studio/routes/project/$ref/integrations.tsx new file mode 100644 index 00000000000..a219f87b212 --- /dev/null +++ b/apps/studio/routes/project/$ref/integrations.tsx @@ -0,0 +1,15 @@ +import { createFileRoute, Outlet } from '@tanstack/react-router' + +import { ProjectIntegrationsLayout } from '@/components/layouts/ProjectIntegrationsLayout' + +export const Route = createFileRoute('/project/$ref/integrations')({ + component: IntegrationsShell, +}) + +function IntegrationsShell() { + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/integrations/$id/$pageId/$childId/index.tsx b/apps/studio/routes/project/$ref/integrations/$id/$pageId/$childId/index.tsx new file mode 100644 index 00000000000..b1c355d355f --- /dev/null +++ b/apps/studio/routes/project/$ref/integrations/$id/$pageId/$childId/index.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router' + +import IntegrationPage from '@/pages/project/[ref]/integrations/[id]/[pageId]/[childId]/index' + +export const Route = createFileRoute('/project/$ref/integrations/$id/$pageId/$childId/')({ + component: IntegrationChildIdRoute, +}) + +function IntegrationChildIdRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/integrations/$id/$pageId/index.tsx b/apps/studio/routes/project/$ref/integrations/$id/$pageId/index.tsx new file mode 100644 index 00000000000..ad7c32a2d33 --- /dev/null +++ b/apps/studio/routes/project/$ref/integrations/$id/$pageId/index.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router' + +import IntegrationPage from '@/pages/project/[ref]/integrations/[id]/[pageId]/index' + +export const Route = createFileRoute('/project/$ref/integrations/$id/$pageId/')({ + component: IntegrationPageIdRoute, +}) + +function IntegrationPageIdRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/integrations/$id/index.tsx b/apps/studio/routes/project/$ref/integrations/$id/index.tsx new file mode 100644 index 00000000000..5b757d94c21 --- /dev/null +++ b/apps/studio/routes/project/$ref/integrations/$id/index.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router' + +import IntegrationPage from '@/pages/project/[ref]/integrations/[id]/index' + +export const Route = createFileRoute('/project/$ref/integrations/$id/')({ + component: IntegrationIdRoute, +}) + +function IntegrationIdRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/integrations/index.tsx b/apps/studio/routes/project/$ref/integrations/index.tsx new file mode 100644 index 00000000000..aa9a59ee5a4 --- /dev/null +++ b/apps/studio/routes/project/$ref/integrations/index.tsx @@ -0,0 +1,11 @@ +import { createFileRoute } from '@tanstack/react-router' + +import IntegrationsPage from '@/pages/project/[ref]/integrations/index' + +export const Route = createFileRoute('/project/$ref/integrations/')({ + component: IntegrationsIndexRoute, +}) + +function IntegrationsIndexRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs.tsx b/apps/studio/routes/project/$ref/logs.tsx new file mode 100644 index 00000000000..0918cc1be2d --- /dev/null +++ b/apps/studio/routes/project/$ref/logs.tsx @@ -0,0 +1,35 @@ +import { createFileRoute, Outlet, useMatches } from '@tanstack/react-router' + +import LogsLayout from '@/components/layouts/LogsLayout/LogsLayout' + +export const Route = createFileRoute('/project/$ref/logs')({ + component: LogsShell, +}) + +type LogsStaticData = { + logsLayoutTitle?: string + // `logs/index` handles its own ProjectLayout-wrapped content + // (UnifiedLogs view or no-permission interface) and only needs the + // parent project shell's DefaultLayout — not LogsLayout. Opt out. + skipLogsLayout?: boolean +} + +function LogsShell() { + const skip = useMatches({ + select: (matches) => + matches.some((m) => (m.staticData as LogsStaticData | undefined)?.skipLogsLayout), + }) + const title = useMatches({ + select: (matches) => + (matches[matches.length - 1]?.staticData as LogsStaticData | undefined)?.logsLayoutTitle ?? + '', + }) + + if (skip) return + + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/logs/auth-logs.tsx b/apps/studio/routes/project/$ref/logs/auth-logs.tsx new file mode 100644 index 00000000000..db90e0d5eef --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/auth-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import AuthLogsPage from '@/pages/project/[ref]/logs/auth-logs' + +export const Route = createFileRoute('/project/$ref/logs/auth-logs')({ + component: AuthLogsRoute, + staticData: { logsLayoutTitle: 'Auth Logs' }, +}) + +function AuthLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/cron-logs.tsx b/apps/studio/routes/project/$ref/logs/cron-logs.tsx new file mode 100644 index 00000000000..7bea0f23a43 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/cron-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import CronLogsPage from '@/pages/project/[ref]/logs/cron-logs' + +export const Route = createFileRoute('/project/$ref/logs/cron-logs')({ + component: CronLogsRoute, + staticData: { logsLayoutTitle: 'Cron Logs' }, +}) + +function CronLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/dedicated-pooler-logs.tsx b/apps/studio/routes/project/$ref/logs/dedicated-pooler-logs.tsx new file mode 100644 index 00000000000..51f1cd907d5 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/dedicated-pooler-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import DedicatedPoolerLogsPage from '@/pages/project/[ref]/logs/dedicated-pooler-logs' + +export const Route = createFileRoute('/project/$ref/logs/dedicated-pooler-logs')({ + component: DedicatedPoolerLogsRoute, + staticData: { logsLayoutTitle: 'Dedicated Pooler Logs' }, +}) + +function DedicatedPoolerLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/edge-functions-logs.tsx b/apps/studio/routes/project/$ref/logs/edge-functions-logs.tsx new file mode 100644 index 00000000000..1056277ffb9 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/edge-functions-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import EdgeFunctionsLogsPage from '@/pages/project/[ref]/logs/edge-functions-logs' + +export const Route = createFileRoute('/project/$ref/logs/edge-functions-logs')({ + component: EdgeFunctionsLogsRoute, + staticData: { logsLayoutTitle: 'Edge Functions Logs' }, +}) + +function EdgeFunctionsLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/edge-logs.tsx b/apps/studio/routes/project/$ref/logs/edge-logs.tsx new file mode 100644 index 00000000000..2bf53b1c7ac --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/edge-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import EdgeLogsPage from '@/pages/project/[ref]/logs/edge-logs' + +export const Route = createFileRoute('/project/$ref/logs/edge-logs')({ + component: EdgeLogsRoute, + staticData: { logsLayoutTitle: 'Edge Logs' }, +}) + +function EdgeLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/explorer/index.tsx b/apps/studio/routes/project/$ref/logs/explorer/index.tsx new file mode 100644 index 00000000000..3f230734b49 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/explorer/index.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import LogsExplorerPage from '@/pages/project/[ref]/logs/explorer/index' + +export const Route = createFileRoute('/project/$ref/logs/explorer/')({ + component: LogsExplorerIndexRoute, + staticData: { logsLayoutTitle: 'Explorer' }, +}) + +function LogsExplorerIndexRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/explorer/recent.tsx b/apps/studio/routes/project/$ref/logs/explorer/recent.tsx new file mode 100644 index 00000000000..eff9d5283b1 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/explorer/recent.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import LogsRecentPage from '@/pages/project/[ref]/logs/explorer/recent' + +export const Route = createFileRoute('/project/$ref/logs/explorer/recent')({ + component: LogsExplorerRecentRoute, + staticData: { logsLayoutTitle: 'Recent' }, +}) + +function LogsExplorerRecentRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/explorer/saved.tsx b/apps/studio/routes/project/$ref/logs/explorer/saved.tsx new file mode 100644 index 00000000000..20b85d089d2 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/explorer/saved.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import LogsSavedPage from '@/pages/project/[ref]/logs/explorer/saved' + +export const Route = createFileRoute('/project/$ref/logs/explorer/saved')({ + component: LogsExplorerSavedRoute, + staticData: { logsLayoutTitle: 'Saved' }, +}) + +function LogsExplorerSavedRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/explorer/templates.tsx b/apps/studio/routes/project/$ref/logs/explorer/templates.tsx new file mode 100644 index 00000000000..eae6e9ca536 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/explorer/templates.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import LogsTemplatesPage from '@/pages/project/[ref]/logs/explorer/templates' + +export const Route = createFileRoute('/project/$ref/logs/explorer/templates')({ + component: LogsExplorerTemplatesRoute, + staticData: { logsLayoutTitle: 'Templates' }, +}) + +function LogsExplorerTemplatesRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/index.tsx b/apps/studio/routes/project/$ref/logs/index.tsx new file mode 100644 index 00000000000..addf1402853 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/index.tsx @@ -0,0 +1,16 @@ +import { createFileRoute } from '@tanstack/react-router' + +import LogPage from '@/pages/project/[ref]/logs/index' + +export const Route = createFileRoute('/project/$ref/logs/')({ + component: LogsIndexRoute, + staticData: { + // Page body wraps in its own conditionally; LogsLayout + // is not appropriate here. + skipLogsLayout: true, + }, +}) + +function LogsIndexRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/multigres-logs.tsx b/apps/studio/routes/project/$ref/logs/multigres-logs.tsx new file mode 100644 index 00000000000..fd31b7d87ba --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/multigres-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import MultigresLogsPage from '@/pages/project/[ref]/logs/multigres-logs' + +export const Route = createFileRoute('/project/$ref/logs/multigres-logs')({ + component: MultigresLogsRoute, + staticData: { logsLayoutTitle: 'Multigres Logs' }, +}) + +function MultigresLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/pg-upgrade-logs.tsx b/apps/studio/routes/project/$ref/logs/pg-upgrade-logs.tsx new file mode 100644 index 00000000000..3c111e3364b --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/pg-upgrade-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import PgUpgradeLogsPage from '@/pages/project/[ref]/logs/pg-upgrade-logs' + +export const Route = createFileRoute('/project/$ref/logs/pg-upgrade-logs')({ + component: PgUpgradeLogsRoute, + staticData: { logsLayoutTitle: 'Postgres Version Upgrade' }, +}) + +function PgUpgradeLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/pgcron-logs.tsx b/apps/studio/routes/project/$ref/logs/pgcron-logs.tsx new file mode 100644 index 00000000000..ce7cb50dc67 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/pgcron-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import PgCronLogsPage from '@/pages/project/[ref]/logs/pgcron-logs' + +export const Route = createFileRoute('/project/$ref/logs/pgcron-logs')({ + component: PgCronLogsRoute, + staticData: { logsLayoutTitle: 'PgCron Logs' }, +}) + +function PgCronLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/pooler-logs.tsx b/apps/studio/routes/project/$ref/logs/pooler-logs.tsx new file mode 100644 index 00000000000..9a1a4324483 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/pooler-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import PoolerLogsPage from '@/pages/project/[ref]/logs/pooler-logs' + +export const Route = createFileRoute('/project/$ref/logs/pooler-logs')({ + component: PoolerLogsRoute, + staticData: { logsLayoutTitle: 'Pooler Logs' }, +}) + +function PoolerLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/postgres-logs.tsx b/apps/studio/routes/project/$ref/logs/postgres-logs.tsx new file mode 100644 index 00000000000..a0d351bfd3c --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/postgres-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import PostgresLogsPage from '@/pages/project/[ref]/logs/postgres-logs' + +export const Route = createFileRoute('/project/$ref/logs/postgres-logs')({ + component: PostgresLogsRoute, + staticData: { logsLayoutTitle: 'Postgres Logs' }, +}) + +function PostgresLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/postgrest-logs.tsx b/apps/studio/routes/project/$ref/logs/postgrest-logs.tsx new file mode 100644 index 00000000000..0b6096cb743 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/postgrest-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import PostgrestLogsPage from '@/pages/project/[ref]/logs/postgrest-logs' + +export const Route = createFileRoute('/project/$ref/logs/postgrest-logs')({ + component: PostgrestLogsRoute, + staticData: { logsLayoutTitle: 'Postgrest Logs' }, +}) + +function PostgrestLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/realtime-logs.tsx b/apps/studio/routes/project/$ref/logs/realtime-logs.tsx new file mode 100644 index 00000000000..c95e867d47e --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/realtime-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import RealtimeLogsPage from '@/pages/project/[ref]/logs/realtime-logs' + +export const Route = createFileRoute('/project/$ref/logs/realtime-logs')({ + component: RealtimeLogsRoute, + staticData: { logsLayoutTitle: 'Realtime Logs' }, +}) + +function RealtimeLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/replication-logs.tsx b/apps/studio/routes/project/$ref/logs/replication-logs.tsx new file mode 100644 index 00000000000..71855b4255b --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/replication-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ReplicationLogsPage from '@/pages/project/[ref]/logs/replication-logs' + +export const Route = createFileRoute('/project/$ref/logs/replication-logs')({ + component: ReplicationLogsRoute, + staticData: { logsLayoutTitle: 'Replication Logs' }, +}) + +function ReplicationLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/logs/storage-logs.tsx b/apps/studio/routes/project/$ref/logs/storage-logs.tsx new file mode 100644 index 00000000000..a91e1a9fee1 --- /dev/null +++ b/apps/studio/routes/project/$ref/logs/storage-logs.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import StorageLogsPage from '@/pages/project/[ref]/logs/storage-logs' + +export const Route = createFileRoute('/project/$ref/logs/storage-logs')({ + component: StorageLogsRoute, + staticData: { logsLayoutTitle: 'Storage Logs' }, +}) + +function StorageLogsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability.tsx b/apps/studio/routes/project/$ref/observability.tsx new file mode 100644 index 00000000000..d8fe06d7c20 --- /dev/null +++ b/apps/studio/routes/project/$ref/observability.tsx @@ -0,0 +1,21 @@ +import { createFileRoute, Outlet, useMatches } from '@tanstack/react-router' + +import ObservabilityLayout from '@/components/layouts/ObservabilityLayout/ObservabilityLayout' + +export const Route = createFileRoute('/project/$ref/observability')({ + component: ObservabilityShell, +}) + +function ObservabilityShell() { + const title = useMatches({ + select: (matches) => + (matches[matches.length - 1]?.staticData as { observabilityLayoutTitle?: string } | undefined) + ?.observabilityLayoutTitle ?? '', + }) + + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/observability/$id.tsx b/apps/studio/routes/project/$ref/observability/$id.tsx new file mode 100644 index 00000000000..22e7eaa332e --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/$id.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ObservabilityReportPage from '@/pages/project/[ref]/observability/[id]' + +export const Route = createFileRoute('/project/$ref/observability/$id')({ + component: ObservabilityReportRoute, + staticData: { + observabilityLayoutTitle: 'Report', + }, +}) + +function ObservabilityReportRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/api-overview.tsx b/apps/studio/routes/project/$ref/observability/api-overview.tsx new file mode 100644 index 00000000000..cd956c24966 --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/api-overview.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ApiReport from '@/pages/project/[ref]/observability/api-overview' + +export const Route = createFileRoute('/project/$ref/observability/api-overview')({ + component: ObservabilityApiOverviewRoute, + staticData: { + observabilityLayoutTitle: 'API Gateway', + }, +}) + +function ObservabilityApiOverviewRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/auth.tsx b/apps/studio/routes/project/$ref/observability/auth.tsx new file mode 100644 index 00000000000..61ceef2a8f3 --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/auth.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import AuthReport from '@/pages/project/[ref]/observability/auth' + +export const Route = createFileRoute('/project/$ref/observability/auth')({ + component: ObservabilityAuthRoute, + staticData: { + observabilityLayoutTitle: 'Auth', + }, +}) + +function ObservabilityAuthRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/database.tsx b/apps/studio/routes/project/$ref/observability/database.tsx new file mode 100644 index 00000000000..ded382ed89e --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/database.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import DatabaseReport from '@/pages/project/[ref]/observability/database' + +export const Route = createFileRoute('/project/$ref/observability/database')({ + component: ObservabilityDatabaseRoute, + staticData: { + observabilityLayoutTitle: 'Database', + }, +}) + +function ObservabilityDatabaseRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/edge-functions.tsx b/apps/studio/routes/project/$ref/observability/edge-functions.tsx new file mode 100644 index 00000000000..6a6562d9bb6 --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/edge-functions.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import EdgeFunctionsReportV2 from '@/pages/project/[ref]/observability/edge-functions' + +export const Route = createFileRoute('/project/$ref/observability/edge-functions')({ + component: ObservabilityEdgeFunctionsRoute, + staticData: { + observabilityLayoutTitle: 'Edge Functions', + }, +}) + +function ObservabilityEdgeFunctionsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/index.tsx b/apps/studio/routes/project/$ref/observability/index.tsx new file mode 100644 index 00000000000..e33c004fbcd --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/index.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import UserReportPage from '@/pages/project/[ref]/observability/index' + +export const Route = createFileRoute('/project/$ref/observability/')({ + component: ObservabilityIndexRoute, + staticData: { + observabilityLayoutTitle: 'Overview', + }, +}) + +function ObservabilityIndexRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/postgrest.tsx b/apps/studio/routes/project/$ref/observability/postgrest.tsx new file mode 100644 index 00000000000..00ed460bbb5 --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/postgrest.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import PostgRESTReport from '@/pages/project/[ref]/observability/postgrest' + +export const Route = createFileRoute('/project/$ref/observability/postgrest')({ + component: ObservabilityPostgRESTRoute, + staticData: { + observabilityLayoutTitle: 'PostgREST', + }, +}) + +function ObservabilityPostgRESTRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/query-insights.tsx b/apps/studio/routes/project/$ref/observability/query-insights.tsx new file mode 100644 index 00000000000..9bb9db4c096 --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/query-insights.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import QueryInsightsReport from '@/pages/project/[ref]/observability/query-insights' + +export const Route = createFileRoute('/project/$ref/observability/query-insights')({ + component: ObservabilityQueryInsightsRoute, + staticData: { + observabilityLayoutTitle: 'Query insights', + }, +}) + +function ObservabilityQueryInsightsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/query-performance.tsx b/apps/studio/routes/project/$ref/observability/query-performance.tsx new file mode 100644 index 00000000000..7458515968b --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/query-performance.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import QueryPerformanceReport from '@/pages/project/[ref]/observability/query-performance' + +export const Route = createFileRoute('/project/$ref/observability/query-performance')({ + component: ObservabilityQueryPerformanceRoute, + staticData: { + observabilityLayoutTitle: 'Query Performance', + }, +}) + +function ObservabilityQueryPerformanceRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/realtime.tsx b/apps/studio/routes/project/$ref/observability/realtime.tsx new file mode 100644 index 00000000000..b3c8397a013 --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/realtime.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import RealtimeReport from '@/pages/project/[ref]/observability/realtime' + +export const Route = createFileRoute('/project/$ref/observability/realtime')({ + component: ObservabilityRealtimeRoute, + staticData: { + observabilityLayoutTitle: 'Realtime', + }, +}) + +function ObservabilityRealtimeRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/observability/storage.tsx b/apps/studio/routes/project/$ref/observability/storage.tsx new file mode 100644 index 00000000000..6c81b7a981f --- /dev/null +++ b/apps/studio/routes/project/$ref/observability/storage.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import StorageReport from '@/pages/project/[ref]/observability/storage' + +export const Route = createFileRoute('/project/$ref/observability/storage')({ + component: ObservabilityStorageRoute, + staticData: { + observabilityLayoutTitle: 'Storage', + }, +}) + +function ObservabilityStorageRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings.tsx b/apps/studio/routes/project/$ref/settings.tsx new file mode 100644 index 00000000000..d00687734f6 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings.tsx @@ -0,0 +1,34 @@ +import { createFileRoute, Outlet, useMatches } from '@tanstack/react-router' + +import SettingsLayout from '@/components/layouts/ProjectSettingsLayout/SettingsLayout' + +export const Route = createFileRoute('/project/$ref/settings')({ + component: SettingsShell, +}) + +type SettingsStaticData = { + settingsLayoutTitle?: string + // settings/api is a redirect-only page; skip the SettingsLayout wrap + // so we don't render the sidebar around a `return null`. + skipSettingsLayout?: boolean +} + +function SettingsShell() { + const skip = useMatches({ + select: (matches) => + matches.some((m) => (m.staticData as SettingsStaticData | undefined)?.skipSettingsLayout), + }) + const title = useMatches({ + select: (matches) => + (matches[matches.length - 1]?.staticData as SettingsStaticData | undefined) + ?.settingsLayoutTitle ?? '', + }) + + if (skip) return + + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/settings/addons.tsx b/apps/studio/routes/project/$ref/settings/addons.tsx new file mode 100644 index 00000000000..e16c27cec56 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/addons.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ProjectAddons from '@/pages/project/[ref]/settings/addons' + +export const Route = createFileRoute('/project/$ref/settings/addons')({ + component: SettingsAddonsRoute, + staticData: { settingsLayoutTitle: 'Add-ons' }, +}) + +function SettingsAddonsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/api-keys.tsx b/apps/studio/routes/project/$ref/settings/api-keys.tsx new file mode 100644 index 00000000000..f53f9a8dbea --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/api-keys.tsx @@ -0,0 +1,21 @@ +import { createFileRoute, Outlet } from '@tanstack/react-router' + +import ApiKeysLayout from '@/components/layouts/APIKeys/APIKeysLayout' + +export const Route = createFileRoute('/project/$ref/settings/api-keys')({ + component: ApiKeysShell, +}) + +// Sub-shell mirroring the existing pages-router pattern: both +// api-keys/index and api-keys/legacy wrap their content in +// {page}. +// The parent settings.tsx shell handles SettingsLayout (title via the +// leaf's `settingsLayoutTitle` staticData); this sub-shell adds the +// ApiKeysLayout tab strip both leaves share. +function ApiKeysShell() { + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/settings/api-keys/index.tsx b/apps/studio/routes/project/$ref/settings/api-keys/index.tsx new file mode 100644 index 00000000000..280ee9b677d --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/api-keys/index.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ApiKeysNewPage from '@/pages/project/[ref]/settings/api-keys/index' + +export const Route = createFileRoute('/project/$ref/settings/api-keys/')({ + component: SettingsApiKeysIndexRoute, + staticData: { settingsLayoutTitle: 'API Keys' }, +}) + +function SettingsApiKeysIndexRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/api-keys/legacy.tsx b/apps/studio/routes/project/$ref/settings/api-keys/legacy.tsx new file mode 100644 index 00000000000..606bfddc2a2 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/api-keys/legacy.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ApiKeysLegacyPage from '@/pages/project/[ref]/settings/api-keys/legacy' + +export const Route = createFileRoute('/project/$ref/settings/api-keys/legacy')({ + component: SettingsApiKeysLegacyRoute, + staticData: { settingsLayoutTitle: 'API Keys (Legacy)' }, +}) + +function SettingsApiKeysLegacyRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/api.tsx b/apps/studio/routes/project/$ref/settings/api.tsx new file mode 100644 index 00000000000..8bea4978655 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/api.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ApiSettings from '@/pages/project/[ref]/settings/api' + +export const Route = createFileRoute('/project/$ref/settings/api')({ + component: SettingsApiRoute, + // Page is a useEffect redirect that returns null; SettingsLayout + // (the sidebar shell) shouldn't render around it. + staticData: { skipSettingsLayout: true }, +}) + +function SettingsApiRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/billing/usage.tsx b/apps/studio/routes/project/$ref/settings/billing/usage.tsx new file mode 100644 index 00000000000..a8dfc2c6ea9 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/billing/usage.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ProjectBillingUsage from '@/pages/project/[ref]/settings/billing/usage' + +export const Route = createFileRoute('/project/$ref/settings/billing/usage')({ + component: SettingsBillingUsageRoute, + staticData: { settingsLayoutTitle: 'Usage' }, +}) + +function SettingsBillingUsageRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/compute-and-disk.tsx b/apps/studio/routes/project/$ref/settings/compute-and-disk.tsx new file mode 100644 index 00000000000..d52452e83d8 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/compute-and-disk.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ComputeAndDiskPage from '@/pages/project/[ref]/settings/compute-and-disk' + +export const Route = createFileRoute('/project/$ref/settings/compute-and-disk')({ + component: SettingsComputeAndDiskRoute, + staticData: { settingsLayoutTitle: 'Compute and Disk' }, +}) + +function SettingsComputeAndDiskRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/dashboard.tsx b/apps/studio/routes/project/$ref/settings/dashboard.tsx new file mode 100644 index 00000000000..871fcefb970 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/dashboard.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import Preferences from '@/pages/project/[ref]/settings/dashboard' + +export const Route = createFileRoute('/project/$ref/settings/dashboard')({ + component: SettingsDashboardRoute, + staticData: { settingsLayoutTitle: 'General' }, +}) + +function SettingsDashboardRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/general.tsx b/apps/studio/routes/project/$ref/settings/general.tsx new file mode 100644 index 00000000000..4584179b5e8 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/general.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ProjectSettings from '@/pages/project/[ref]/settings/general' + +export const Route = createFileRoute('/project/$ref/settings/general')({ + component: SettingsGeneralRoute, + staticData: { settingsLayoutTitle: 'General' }, +}) + +function SettingsGeneralRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/infrastructure.tsx b/apps/studio/routes/project/$ref/settings/infrastructure.tsx new file mode 100644 index 00000000000..5c968a103fd --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/infrastructure.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ProjectInfrastructure from '@/pages/project/[ref]/settings/infrastructure' + +export const Route = createFileRoute('/project/$ref/settings/infrastructure')({ + component: SettingsInfrastructureRoute, + staticData: { settingsLayoutTitle: 'Infrastructure' }, +}) + +function SettingsInfrastructureRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/integrations.tsx b/apps/studio/routes/project/$ref/settings/integrations.tsx new file mode 100644 index 00000000000..2412c1186a1 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/integrations.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ProjectSettingsIntegrations from '@/pages/project/[ref]/settings/integrations' + +export const Route = createFileRoute('/project/$ref/settings/integrations')({ + component: SettingsIntegrationsRoute, + staticData: { settingsLayoutTitle: 'Integrations' }, +}) + +function SettingsIntegrationsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/jwt/index.tsx b/apps/studio/routes/project/$ref/settings/jwt/index.tsx new file mode 100644 index 00000000000..3d4e801fcbe --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/jwt/index.tsx @@ -0,0 +1,20 @@ +import { createFileRoute } from '@tanstack/react-router' + +import JWTKeysLayout from '@/components/layouts/JWTKeys/JWTKeysLayout' +import JWTSigningKeysPage from '@/pages/project/[ref]/settings/jwt/index' + +export const Route = createFileRoute('/project/$ref/settings/jwt/')({ + component: SettingsJwtIndexRoute, + staticData: { settingsLayoutTitle: 'JWT Keys' }, +}) + +// Inline the JWTKeysLayout wrap here rather than via a `settings/jwt.tsx` +// sub-shell — jwt/legacy doesn't use JWTKeysLayout, so a shared +// sub-shell would wrap legacy in the wrong layout. +function SettingsJwtIndexRoute() { + return ( + + + + ) +} diff --git a/apps/studio/routes/project/$ref/settings/jwt/legacy.tsx b/apps/studio/routes/project/$ref/settings/jwt/legacy.tsx new file mode 100644 index 00000000000..cc41915d61f --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/jwt/legacy.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import JWTKeysLegacyPage from '@/pages/project/[ref]/settings/jwt/legacy' + +export const Route = createFileRoute('/project/$ref/settings/jwt/legacy')({ + component: SettingsJwtLegacyRoute, + staticData: { settingsLayoutTitle: 'JWT Keys (Legacy)' }, +}) + +function SettingsJwtLegacyRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/log-drains.tsx b/apps/studio/routes/project/$ref/settings/log-drains.tsx new file mode 100644 index 00000000000..3a31bdcdbd0 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/log-drains.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import LogDrainsSettings from '@/pages/project/[ref]/settings/log-drains' + +export const Route = createFileRoute('/project/$ref/settings/log-drains')({ + component: SettingsLogDrainsRoute, + staticData: { settingsLayoutTitle: 'Log Drains' }, +}) + +function SettingsLogDrainsRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/webhooks/$endpointId.tsx b/apps/studio/routes/project/$ref/settings/webhooks/$endpointId.tsx new file mode 100644 index 00000000000..fcfd9b474a1 --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/webhooks/$endpointId.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ProjectWebhookEndpointSettings from '@/pages/project/[ref]/settings/webhooks/[endpointId]' + +export const Route = createFileRoute('/project/$ref/settings/webhooks/$endpointId')({ + component: SettingsWebhooksEndpointRoute, + staticData: { settingsLayoutTitle: 'Webhooks' }, +}) + +function SettingsWebhooksEndpointRoute() { + return +} diff --git a/apps/studio/routes/project/$ref/settings/webhooks/index.tsx b/apps/studio/routes/project/$ref/settings/webhooks/index.tsx new file mode 100644 index 00000000000..1db6586c63e --- /dev/null +++ b/apps/studio/routes/project/$ref/settings/webhooks/index.tsx @@ -0,0 +1,12 @@ +import { createFileRoute } from '@tanstack/react-router' + +import ProjectWebhooksSettings from '@/pages/project/[ref]/settings/webhooks/index' + +export const Route = createFileRoute('/project/$ref/settings/webhooks/')({ + component: SettingsWebhooksIndexRoute, + staticData: { settingsLayoutTitle: 'Webhooks' }, +}) + +function SettingsWebhooksIndexRoute() { + return +}