SYMBOL INDEX (215 symbols across 83 files) FILE: apps/api/dev.ts type CloudflareEnv (line 27) | type CloudflareEnv = { FILE: apps/api/lib/ai.ts type OpenAIContext (line 5) | type OpenAIContext = Pick; constant OPENAI_PROVIDER (line 8) | const OPENAI_PROVIDER = Symbol("openaiProvider"); function getOpenAI (line 14) | function getOpenAI(ctx: OpenAIContext): OpenAIProvider { FILE: apps/api/lib/app.ts method createContext (line 64) | async createContext({ req, resHeaders, info }) { method onError (line 101) | onError({ error, path }) { type AppRouter (line 108) | type AppRouter = typeof appRouter; FILE: apps/api/lib/auth.ts constant AUTH_HINT_VALUE (line 19) | const AUTH_HINT_VALUE = "1"; type AuthEnv (line 25) | type AuthEnv = Pick< function stripePlugin (line 46) | function stripePlugin(db: DB, env: AuthEnv) { function createAuth (line 121) | function createAuth( type Auth (line 251) | type Auth = ReturnType; type SessionResponse (line 254) | type SessionResponse = Auth["$Infer"]["Session"]; type AuthUser (line 255) | type AuthUser = SessionResponse["user"]; type AuthSession (line 257) | type AuthSession = SessionResponse["session"] & { FILE: apps/api/lib/context.ts type TRPCContext (line 30) | type TRPCContext = { type AppContext (line 74) | type AppContext = { FILE: apps/api/lib/db.ts function createDb (line 16) | function createDb(db: Hyperdrive) { FILE: apps/api/lib/email.ts type EmailOptions (line 12) | interface EmailOptions { function createResendClient (line 20) | function createResendClient(apiKey: string): Resend { function sendEmail (line 33) | async function sendEmail( function sendVerificationEmail (line 94) | async function sendVerificationEmail( function sendPasswordReset (line 128) | async function sendPasswordReset( function sendOTP (line 162) | async function sendOTP( FILE: apps/api/lib/env.ts type Env (line 50) | type Env = z.infer; FILE: apps/api/lib/loaders.ts function mapByKey (line 19) | function mapByKey( function defineLoader (line 29) | function defineLoader( FILE: apps/api/lib/middleware.ts function requestIdGenerator (line 42) | function requestIdGenerator(c: Context): string { FILE: apps/api/lib/plans.ts type PlanName (line 10) | type PlanName = keyof typeof planLimits; FILE: apps/api/lib/stripe.ts function createStripeClient (line 5) | function createStripeClient(env: Pick) { FILE: apps/api/lib/trpc.ts method errorFormatter (line 6) | errorFormatter({ shape, error }) { type ProtectedProcedure (line 24) | type ProtectedProcedure = FILE: apps/api/routers/billing.test.ts function testCtx (line 9) | function testCtx({ FILE: apps/api/worker.ts type CloudflareEnv (line 22) | type CloudflareEnv = { FILE: apps/app/components/auth/auth-error-boundary.tsx type ResetProps (line 11) | interface ResetProps { function AuthErrorFallback (line 16) | function AuthErrorFallback({ resetErrorBoundary }: ResetProps) { type ErrorFallbackProps (line 50) | interface ErrorFallbackProps { function GenericErrorFallback (line 56) | function GenericErrorFallback({ type ErrorBoundaryProps (line 72) | interface ErrorBoundaryProps { function AuthAwareErrorFallback (line 77) | function AuthAwareErrorFallback({ function AuthErrorBoundary (line 94) | function AuthErrorBoundary({ children }: ErrorBoundaryProps) { function AppErrorBoundary (line 115) | function AppErrorBoundary({ children }: ErrorBoundaryProps) { FILE: apps/app/components/auth/auth-form.tsx constant APP_NAME (line 10) | const APP_NAME = import.meta.env.VITE_APP_NAME || "your account"; function SignupTerms (line 12) | function SignupTerms() { type AuthFormProps (line 34) | interface AuthFormProps extends ComponentProps<"div"> { function AuthForm (line 47) | function AuthForm({ type MethodSelectionProps (line 150) | interface MethodSelectionProps { function MethodSelection (line 160) | function MethodSelection({ type EmailInputProps (line 236) | interface EmailInputProps { function EmailInput (line 245) | function EmailInput({ type OtpStepProps (line 297) | interface OtpStepProps { function OtpStep (line 307) | function OtpStep({ FILE: apps/app/components/auth/google-login.tsx type GoogleLoginProps (line 7) | interface GoogleLoginProps { function GoogleLogin (line 15) | function GoogleLogin({ FILE: apps/app/components/auth/login-dialog.tsx type LoginDialogProps (line 15) | interface LoginDialogProps { function LoginDialog (line 24) | function LoginDialog({ open, onOpenChange }: LoginDialogProps) { function useLoginDialog (line 73) | function useLoginDialog() { FILE: apps/app/components/auth/otp-verification.tsx constant RESEND_COOLDOWN_SECONDS (line 6) | const RESEND_COOLDOWN_SECONDS = 30; constant OTP_ERROR_CODES (line 9) | const OTP_ERROR_CODES = { type OtpVerificationProps (line 15) | interface OtpVerificationProps { function OtpVerification (line 24) | function OtpVerification({ FILE: apps/app/components/auth/passkey-login.tsx type PasskeyLoginProps (line 7) | interface PasskeyLoginProps { function PasskeyLogin (line 20) | function PasskeyLogin({ FILE: apps/app/components/auth/use-auth-form.ts type AuthStep (line 5) | type AuthStep = "method" | "email" | "otp"; constant VALID_TRANSITIONS (line 11) | const VALID_TRANSITIONS: Record = { type UseAuthFormOptions (line 17) | interface UseAuthFormOptions { function useAuthForm (line 31) | function useAuthForm({ FILE: apps/app/components/layout/header.tsx type HeaderProps (line 4) | interface HeaderProps { function Header (line 9) | function Header({ isSidebarOpen, onMenuToggle }: HeaderProps) { FILE: apps/app/components/layout/index.tsx type LayoutProps (line 5) | interface LayoutProps { function Layout (line 9) | function Layout({ children }: LayoutProps) { FILE: apps/app/components/layout/sidebar-nav.tsx type SidebarNavItem (line 5) | interface SidebarNavItem { type SidebarNavProps (line 11) | interface SidebarNavProps { function SidebarNav (line 15) | function SidebarNav({ items }: SidebarNavProps) { FILE: apps/app/components/layout/sidebar.tsx type SidebarProps (line 5) | interface SidebarProps { function Sidebar (line 9) | function Sidebar({ isOpen }: SidebarProps) { FILE: apps/app/components/not-found.tsx function NotFound (line 4) | function NotFound() { FILE: apps/app/components/user-menu.tsx function UserMenu (line 7) | function UserMenu() { FILE: apps/app/global.d.ts type Window (line 4) | interface Window { type ImportMetaEnv (line 8) | interface ImportMetaEnv { type PayloadError (line 16) | interface PayloadError { FILE: apps/app/index.tsx type Register (line 40) | interface Register { FILE: apps/app/lib/auth-config.ts function isValidRedirectUrl (line 48) | function isValidRedirectUrl(url: string): boolean { function getSafeRedirectUrl (line 53) | function getSafeRedirectUrl(url: unknown): string { function shouldRefreshSession (line 63) | function shouldRefreshSession( FILE: apps/app/lib/auth.ts type AuthClient (line 34) | type AuthClient = typeof auth; type SessionResponse (line 38) | type SessionResponse = typeof auth.$Infer.Session; type User (line 39) | type User = SessionResponse["user"]; type Session (line 40) | type Session = SessionResponse["session"]; FILE: apps/app/lib/errors.ts function getErrorStatus (line 2) | function getErrorStatus( function isUnauthenticatedError (line 28) | function isUnauthenticatedError(error: unknown): boolean { function getErrorMessage (line 38) | function getErrorMessage(error: unknown): string { FILE: apps/app/lib/queries/billing.ts function billingQueryOptions (line 14) | function billingQueryOptions(activeOrgId?: string | null) { function useBillingQuery (line 21) | function useBillingQuery(activeOrgId?: string | null) { function useSuspenseBillingQuery (line 25) | function useSuspenseBillingQuery(activeOrgId?: string | null) { FILE: apps/app/lib/queries/session.test.ts function createQueryClient (line 5) | function createQueryClient() { FILE: apps/app/lib/queries/session.ts type SessionData (line 18) | interface SessionData { function sessionQueryOptions (line 28) | function sessionQueryOptions() { function useSessionQuery (line 49) | function useSessionQuery() { function useSuspenseSessionQuery (line 53) | function useSuspenseSessionQuery() { function getCachedSession (line 57) | function getCachedSession( function isAuthenticated (line 65) | function isAuthenticated(queryClient: QueryClient): boolean { function signOut (line 75) | async function signOut( function revalidateSession (line 94) | async function revalidateSession( FILE: apps/app/lib/routeTree.gen.ts type FileRoutesByFullPath (line 73) | interface FileRoutesByFullPath { type FileRoutesByTo (line 84) | interface FileRoutesByTo { type FileRoutesById (line 95) | interface FileRoutesById { type FileRouteTypes (line 108) | interface FileRouteTypes { type RootRouteChildren (line 145) | interface RootRouteChildren { type FileRoutesByPath (line 152) | interface FileRoutesByPath { type appRouteRouteChildren (line 226) | interface appRouteRouteChildren { FILE: apps/app/lib/store.ts function StoreProvider (line 11) | function StoreProvider(props: StoreProviderProps) { type StoreProviderProps (line 15) | type StoreProviderProps = { FILE: apps/app/lib/trpc.ts method headers (line 30) | headers() { method fetch (line 36) | fetch(url, options) { FILE: apps/app/routes/(app)/about.tsx function About (line 16) | function About() { FILE: apps/app/routes/(app)/analytics.tsx function Analytics (line 15) | function Analytics() { FILE: apps/app/routes/(app)/index.tsx function Dashboard (line 15) | function Dashboard() { FILE: apps/app/routes/(app)/reports.tsx function Reports (line 21) | function Reports() { FILE: apps/app/routes/(app)/route.tsx function AppLayout (line 29) | function AppLayout() { FILE: apps/app/routes/(app)/settings.tsx function Settings (line 23) | function Settings() { function BillingCard (line 146) | function BillingCard() { FILE: apps/app/routes/(app)/users.tsx function Users (line 24) | function Users() { FILE: apps/app/routes/(auth)/login.tsx function LoginPage (line 45) | function LoginPage() { FILE: apps/app/routes/(auth)/signup.tsx function SignupPage (line 45) | function SignupPage() { FILE: apps/app/routes/__root.tsx function Root (line 14) | function Root() { FILE: apps/app/vite.config.ts method configure (line 81) | configure(proxy) { FILE: apps/email/components/BaseTemplate.tsx type BaseTemplateProps (line 15) | interface BaseTemplateProps { function BaseTemplate (line 36) | function BaseTemplate({ FILE: apps/email/emails/email-verification.tsx function EmailVerificationPreview (line 3) | function EmailVerificationPreview() { FILE: apps/email/emails/otp-password-reset.tsx function OTPPasswordResetPreview (line 3) | function OTPPasswordResetPreview() { FILE: apps/email/emails/otp-sign-in.tsx function OTPSignInPreview (line 3) | function OTPSignInPreview() { FILE: apps/email/emails/otp-verification.tsx function OTPVerificationPreview (line 3) | function OTPVerificationPreview() { FILE: apps/email/emails/password-reset.tsx function PasswordResetPreview (line 3) | function PasswordResetPreview() { FILE: apps/email/templates/email-verification.tsx type EmailVerificationProps (line 4) | interface EmailVerificationProps { function EmailVerification (line 11) | function EmailVerification({ FILE: apps/email/templates/otp-email.tsx type OTPEmailProps (line 4) | interface OTPEmailProps { function OTPEmail (line 12) | function OTPEmail({ FILE: apps/email/templates/password-reset.tsx type PasswordResetProps (line 4) | interface PasswordResetProps { function PasswordReset (line 11) | function PasswordReset({ FILE: apps/email/utils/render.ts function renderEmailToHtml (line 9) | async function renderEmailToHtml( function renderEmailToText (line 20) | async function renderEmailToText( FILE: apps/web/worker.ts type Env (line 14) | interface Env { FILE: db/index.ts type DatabaseSchema (line 11) | type DatabaseSchema = typeof schema; FILE: db/migrations/0000_init.sql type "invitation" (line 1) | CREATE TABLE "invitation" ( type "passkey" (line 16) | CREATE TABLE "passkey" ( type "member" (line 35) | CREATE TABLE "member" ( type "organization" (line 45) | CREATE TABLE "organization" ( type "identity" (line 57) | CREATE TABLE "identity" ( type "session" (line 74) | CREATE TABLE "session" ( type "subscription" (line 87) | CREATE TABLE "subscription" ( type "user" (line 110) | CREATE TABLE "user" ( type "verification" (line 123) | CREATE TABLE "verification" ( type "invitation" (line 140) | CREATE INDEX "invitation_email_idx" ON "invitation" USING btree ("email") type "invitation" (line 141) | CREATE INDEX "invitation_inviter_id_idx" ON "invitation" USING btree ("i... type "invitation" (line 142) | CREATE INDEX "invitation_organization_id_idx" ON "invitation" USING btre... type "passkey" (line 143) | CREATE INDEX "passkey_user_id_idx" ON "passkey" USING btree ("user_id") type "member" (line 144) | CREATE INDEX "member_user_id_idx" ON "member" USING btree ("user_id") type "member" (line 145) | CREATE INDEX "member_organization_id_idx" ON "member" USING btree ("orga... type "identity" (line 146) | CREATE INDEX "identity_user_id_idx" ON "identity" USING btree ("user_id") type "session" (line 147) | CREATE INDEX "session_user_id_idx" ON "session" USING btree ("user_id") type "session" (line 148) | CREATE INDEX "session_active_org_id_idx" ON "session" USING btree ("acti... type "subscription" (line 149) | CREATE INDEX "subscription_reference_id_idx" ON "subscription" USING btr... type "subscription" (line 150) | CREATE INDEX "subscription_stripe_customer_id_idx" ON "subscription" USI... type "verification" (line 151) | CREATE INDEX "verification_identifier_idx" ON "verification" USING btree... type "verification" (line 152) | CREATE INDEX "verification_value_idx" ON "verification" USING btree ("va... type "verification" (line 153) | CREATE INDEX "verification_expires_at_idx" ON "verification" USING btree... FILE: db/schema/id.ts constant AUTH_PREFIX (line 9) | const AUTH_PREFIX = { type AuthModel (line 21) | type AuthModel = keyof typeof AUTH_PREFIX; constant ID_LENGTH (line 23) | const ID_LENGTH = 16; function createId (line 26) | function createId(): string { function generateAuthId (line 32) | function generateAuthId(model: AuthModel): string { function generateId (line 43) | function generateId(prefix: string): string { FILE: db/schema/invitation.ts type Invitation (line 51) | type Invitation = typeof invitation.$inferSelect; type NewInvitation (line 52) | type NewInvitation = typeof invitation.$inferInsert; FILE: db/schema/organization.ts type Organization (line 30) | type Organization = typeof organization.$inferSelect; type NewOrganization (line 31) | type NewOrganization = typeof organization.$inferInsert; type Member (line 72) | type Member = typeof member.$inferSelect; type NewMember (line 73) | type NewMember = typeof member.$inferInsert; FILE: db/schema/passkey.ts type Passkey (line 55) | type Passkey = typeof passkey.$inferSelect; type NewPasskey (line 56) | type NewPasskey = typeof passkey.$inferInsert; FILE: db/schema/subscription.ts type Subscription (line 51) | type Subscription = typeof subscription.$inferSelect; type NewSubscription (line 52) | type NewSubscription = typeof subscription.$inferInsert; FILE: db/schema/user.ts type User (line 51) | type User = typeof user.$inferSelect; type NewUser (line 52) | type NewUser = typeof user.$inferInsert; type Session (line 86) | type Session = typeof session.$inferSelect; type NewSession (line 87) | type NewSession = typeof session.$inferInsert; type Identity (line 128) | type Identity = typeof identity.$inferSelect; type NewIdentity (line 129) | type NewIdentity = typeof identity.$inferInsert; type Verification (line 163) | type Verification = typeof verification.$inferSelect; type NewVerification (line 164) | type NewVerification = typeof verification.$inferInsert; FILE: db/scripts/generate-auth-schema.ts function generateAuthSchema (line 10) | async function generateAuthSchema() { function main (line 70) | async function main() { FILE: db/seeds/users.ts function seedUsers (line 8) | async function seedUsers(db: PostgresJsDatabase) { FILE: docs/.vitepress/config.ts method config (line 13) | config(md) { FILE: docs/.vitepress/theme/index.ts method enhanceApp (line 21) | enhanceApp({ app }) { FILE: packages/ui/components/button.tsx type ButtonProps (line 37) | interface ButtonProps FILE: packages/ui/components/skeleton.tsx function Skeleton (line 3) | function Skeleton({ FILE: packages/ui/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: packages/ui/scripts/add.ts function addComponent (line 4) | async function addComponent(): Promise { FILE: packages/ui/scripts/essentials.ts constant ESSENTIAL_COMPONENTS (line 5) | const ESSENTIAL_COMPONENTS = [ function installEssentials (line 38) | async function installEssentials(): Promise { FILE: packages/ui/scripts/format-utils.ts function execCommand (line 8) | async function execCommand( function formatGeneratedFiles (line 25) | async function formatGeneratedFiles(): Promise { FILE: packages/ui/scripts/list.ts type ComponentInfo (line 6) | interface ComponentInfo { function getComponentInfo (line 12) | async function getComponentInfo(filePath: string): Promise { function listComponents (line 23) | async function listComponents(): Promise { FILE: packages/ui/scripts/update.ts function getInstalledComponents (line 7) | async function getInstalledComponents(): Promise { function updateComponents (line 20) | async function updateComponents(): Promise { function updateSpecificComponent (line 62) | async function updateSpecificComponent(component: string): Promise { function main (line 80) | async function main(): Promise { FILE: packages/ws-protocol/example.ts method authenticate (line 19) | authenticate() { method fetch (line 27) | fetch(req, server) { FILE: packages/ws-protocol/router.ts type AppData (line 34) | interface AppData extends Record { function createAppRouter (line 58) | function createAppRouter(): Router {