{"mappings":"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","names":["version","JS_ENV","DEFAULT_HEADERS","DEFAULT_GLOBAL_OPTIONS","DEFAULT_DB_OPTIONS","DEFAULT_AUTH_OPTIONS: SupabaseAuthClientOptions","DEFAULT_REALTIME_OPTIONS: RealtimeClientOptions","resolveFetch","customFetch","args","resolveHeadersConstructor","fetchWithAuth","supabaseKey","getAccessToken","fetch","HeadersConstructor","input","init","accessToken","_await$getAccessToken","headers","_objectSpread2","ensureTrailingSlash","url","applySettingDefaults","options","defaults","dbOptions","authOptions","realtimeOptions","globalOptions","DEFAULT_AUTH_OPTIONS","DEFAULT_REALTIME_OPTIONS","result: Required\u003cSupabaseClientOptions\u003cSchemaName\u003e\u003e","_DEFAULT_GLOBAL_OPTIO","_globalOptions$header","result","validateSupabaseUrl","supabaseUrl","trimmedUrl","SupabaseAuthClient","AuthClient","SupabaseClient","supabaseUrl: string","supabaseKey: string","baseUrl","defaultStorageKey","DEFAULTS","settings","_settings$auth$storag","_settings$global$head","_","prop","_settings$auth","token","e","PostgrestClient","SupabaseStorageClient","FunctionsClient","relation","schema","fn","name","opts","channel","this","data","_data$session$access_","_data$session","autoRefreshToken","persistSession","detectSessionInUrl","storage","userStorage","storageKey","flowType","lock","debug","throwOnError","experimental","lockAcquireTimeout","skipAutoInitialize","fetch$1","authHeaders","key","RealtimeClient","event","session","source","createClient","shouldShowDeprecationWarning","_process","processVersion","versionMatch"],"sources":["../esm/npm/@supabase/supabase-js@2.105.4/node_modules/@supabase/supabase-js/src/lib/version.ts","../esm/npm/@supabase/supabase-js@2.105.4/node_modules/@supabase/supabase-js/src/lib/constants.ts","../esm/npm/@supabase/supabase-js@2.105.4/node_modules/@supabase/supabase-js/src/lib/fetch.ts","../esm/npm/@supabase/supabase-js@2.105.4/node_modules/@supabase/supabase-js/src/lib/helpers.ts","../esm/npm/@supabase/supabase-js@2.105.4/node_modules/@supabase/supabase-js/src/lib/SupabaseAuthClient.ts","../esm/npm/@supabase/supabase-js@2.105.4/node_modules/@supabase/supabase-js/src/SupabaseClient.ts","../esm/npm/@supabase/supabase-js@2.105.4/node_modules/@supabase/supabase-js/src/index.ts"],"sourcesContent":["// Generated automatically during releases by scripts/update-version-files.ts\n// This file provides runtime access to the package version for:\n// - HTTP request headers (e.g., X-Client-Info header for API requests)\n// - Debugging and support (identifying which version is running)\n// - Telemetry and logging (version reporting in errors/analytics)\n// - Ensuring build artifacts match the published package version\nexport const version = '2.105.4'\n","// constants.ts\nimport { RealtimeClientOptions } from '@supabase/realtime-js'\nimport { SupabaseAuthClientOptions } from './types'\nimport { version } from './version'\n\nlet JS_ENV = ''\n// @ts-ignore\nif (typeof Deno !== 'undefined') {\n  JS_ENV = 'deno'\n} else if (typeof document !== 'undefined') {\n  JS_ENV = 'web'\n} else if (typeof navigator !== 'undefined' \u0026\u0026 navigator.product === 'ReactNative') {\n  JS_ENV = 'react-native'\n} else {\n  JS_ENV = 'node'\n}\n\nexport const DEFAULT_HEADERS = { 'X-Client-Info': `supabase-js-${JS_ENV}/${version}` }\n\nexport const DEFAULT_GLOBAL_OPTIONS = {\n  headers: DEFAULT_HEADERS,\n}\n\nexport const DEFAULT_DB_OPTIONS = {\n  schema: 'public',\n}\n\nexport const DEFAULT_AUTH_OPTIONS: SupabaseAuthClientOptions = {\n  autoRefreshToken: true,\n  persistSession: true,\n  detectSessionInUrl: true,\n  flowType: 'implicit',\n}\n\nexport const DEFAULT_REALTIME_OPTIONS: RealtimeClientOptions = {}\n","type Fetch = typeof fetch\n\nexport const resolveFetch = (customFetch?: Fetch): Fetch =\u003e {\n  if (customFetch) {\n    return (...args: Parameters\u003cFetch\u003e) =\u003e customFetch(...args)\n  }\n  return (...args: Parameters\u003cFetch\u003e) =\u003e fetch(...args)\n}\n\nexport const resolveHeadersConstructor = () =\u003e {\n  return Headers\n}\n\nexport const fetchWithAuth = (\n  supabaseKey: string,\n  getAccessToken: () =\u003e Promise\u003cstring | null\u003e,\n  customFetch?: Fetch\n): Fetch =\u003e {\n  const fetch = resolveFetch(customFetch)\n  const HeadersConstructor = resolveHeadersConstructor()\n\n  return async (input, init) =\u003e {\n    const accessToken = (await getAccessToken()) ?? supabaseKey\n    let headers = new HeadersConstructor(init?.headers)\n\n    if (!headers.has('apikey')) {\n      headers.set('apikey', supabaseKey)\n    }\n\n    if (!headers.has('Authorization')) {\n      headers.set('Authorization', `Bearer ${accessToken}`)\n    }\n\n    return fetch(input, { ...init, headers })\n  }\n}\n","// helpers.ts\nimport { SupabaseClientOptions } from './types'\n\nexport function uuid() {\n  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n    var r = (Math.random() * 16) | 0,\n      v = c == 'x' ? r : (r \u0026 0x3) | 0x8\n    return v.toString(16)\n  })\n}\n\nexport function ensureTrailingSlash(url: string): string {\n  return url.endsWith('/') ? url : url + '/'\n}\n\nexport const isBrowser = () =\u003e typeof window !== 'undefined'\n\nexport function applySettingDefaults\u003c\n  Database = any,\n  SchemaName extends string \u0026 keyof Database = 'public' extends keyof Database\n    ? 'public'\n    : string \u0026 keyof Database,\n\u003e(\n  options: SupabaseClientOptions\u003cSchemaName\u003e,\n  defaults: SupabaseClientOptions\u003cany\u003e\n): Required\u003cSupabaseClientOptions\u003cSchemaName\u003e\u003e {\n  const {\n    db: dbOptions,\n    auth: authOptions,\n    realtime: realtimeOptions,\n    global: globalOptions,\n  } = options\n  const {\n    db: DEFAULT_DB_OPTIONS,\n    auth: DEFAULT_AUTH_OPTIONS,\n    realtime: DEFAULT_REALTIME_OPTIONS,\n    global: DEFAULT_GLOBAL_OPTIONS,\n  } = defaults\n\n  const result: Required\u003cSupabaseClientOptions\u003cSchemaName\u003e\u003e = {\n    db: {\n      ...DEFAULT_DB_OPTIONS,\n      ...dbOptions,\n    },\n    auth: {\n      ...DEFAULT_AUTH_OPTIONS,\n      ...authOptions,\n    },\n    realtime: {\n      ...DEFAULT_REALTIME_OPTIONS,\n      ...realtimeOptions,\n    },\n    storage: {},\n    global: {\n      ...DEFAULT_GLOBAL_OPTIONS,\n      ...globalOptions,\n      headers: {\n        ...(DEFAULT_GLOBAL_OPTIONS?.headers ?? {}),\n        ...(globalOptions?.headers ?? {}),\n      },\n    },\n    accessToken: async () =\u003e '',\n  }\n\n  if (options.accessToken) {\n    result.accessToken = options.accessToken\n  } else {\n    // hack around Required\u003c\u003e\n    delete (result as any).accessToken\n  }\n\n  return result\n}\n\n/**\n * Validates a Supabase client URL\n *\n * @param {string} supabaseUrl - The Supabase client URL string.\n * @returns {URL} - The validated base URL.\n * @throws {Error}\n */\nexport function validateSupabaseUrl(supabaseUrl: string): URL {\n  const trimmedUrl = supabaseUrl?.trim()\n\n  if (!trimmedUrl) {\n    throw new Error('supabaseUrl is required.')\n  }\n\n  if (!trimmedUrl.match(/^https?:\\/\\//i)) {\n    throw new Error('Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.')\n  }\n\n  try {\n    return new URL(ensureTrailingSlash(trimmedUrl))\n  } catch {\n    throw Error('Invalid supabaseUrl: Provided URL is malformed.')\n  }\n}\n","import { AuthClient } from '@supabase/auth-js'\nimport { SupabaseAuthClientOptions } from './types'\n\nexport class SupabaseAuthClient extends AuthClient {\n  constructor(options: SupabaseAuthClientOptions) {\n    super(options)\n  }\n}\n","import type { AuthChangeEvent } from '@supabase/auth-js'\nimport { FunctionsClient } from '@supabase/functions-js'\nimport {\n  PostgrestClient,\n  type PostgrestFilterBuilder,\n  type PostgrestQueryBuilder,\n} from '@supabase/postgrest-js'\nimport {\n  type RealtimeChannel,\n  type RealtimeChannelOptions,\n  RealtimeClient,\n  type RealtimeClientOptions,\n  type RealtimeRemoveChannelResponse,\n} from '@supabase/realtime-js'\nimport { StorageClient as SupabaseStorageClient } from '@supabase/storage-js'\nimport {\n  DEFAULT_AUTH_OPTIONS,\n  DEFAULT_DB_OPTIONS,\n  DEFAULT_GLOBAL_OPTIONS,\n  DEFAULT_REALTIME_OPTIONS,\n} from './lib/constants'\nimport { fetchWithAuth } from './lib/fetch'\nimport { applySettingDefaults, validateSupabaseUrl } from './lib/helpers'\nimport { SupabaseAuthClient } from './lib/SupabaseAuthClient'\nimport type {\n  Fetch,\n  GenericSchema,\n  SupabaseAuthClientOptions,\n  SupabaseClientOptions,\n} from './lib/types'\nimport { GetRpcFunctionFilterBuilderByArgs } from './lib/rest/types/common/rpc'\n\n/**\n * Supabase Client.\n *\n * An isomorphic Javascript client for interacting with Postgres.\n */\nexport default class SupabaseClient\u003c\n  Database = any,\n  // The second type parameter is also used for specifying db_schema, so we\n  // support both cases.\n  // TODO: Allow setting db_schema from ClientOptions.\n  SchemaNameOrClientOptions extends\n    | (string \u0026 keyof Omit\u003cDatabase, '__InternalSupabase'\u003e)\n    | { PostgrestVersion: string } = 'public' extends keyof Omit\u003cDatabase, '__InternalSupabase'\u003e\n    ? 'public'\n    : string \u0026 keyof Omit\u003cDatabase, '__InternalSupabase'\u003e,\n  SchemaName extends string \u0026\n    keyof Omit\u003cDatabase, '__InternalSupabase'\u003e = SchemaNameOrClientOptions extends string \u0026\n    keyof Omit\u003cDatabase, '__InternalSupabase'\u003e\n    ? SchemaNameOrClientOptions\n    : 'public' extends keyof Omit\u003cDatabase, '__InternalSupabase'\u003e\n      ? 'public'\n      : string \u0026 keyof Omit\u003cOmit\u003cDatabase, '__InternalSupabase'\u003e, '__InternalSupabase'\u003e,\n  Schema extends Omit\u003cDatabase, '__InternalSupabase'\u003e[SchemaName] extends GenericSchema\n    ? Omit\u003cDatabase, '__InternalSupabase'\u003e[SchemaName]\n    : never = Omit\u003cDatabase, '__InternalSupabase'\u003e[SchemaName] extends GenericSchema\n    ? Omit\u003cDatabase, '__InternalSupabase'\u003e[SchemaName]\n    : never,\n  ClientOptions extends { PostgrestVersion: string } = SchemaNameOrClientOptions extends string \u0026\n    keyof Omit\u003cDatabase, '__InternalSupabase'\u003e\n    ? // If the version isn't explicitly set, look for it in the __InternalSupabase object to infer the right version\n      Database extends { __InternalSupabase: { PostgrestVersion: string } }\n      ? Database['__InternalSupabase']\n      : // otherwise default to 12\n        { PostgrestVersion: '12' }\n    : SchemaNameOrClientOptions extends { PostgrestVersion: string }\n      ? SchemaNameOrClientOptions\n      : never,\n\u003e {\n  /**\n   * Supabase Auth allows you to create and manage user sessions for access to data that is secured by access policies.\n   */\n  auth: SupabaseAuthClient\n  realtime: RealtimeClient\n  /**\n   * Supabase Storage allows you to manage user-generated content, such as photos or videos.\n   */\n  storage: SupabaseStorageClient\n\n  protected realtimeUrl: URL\n  protected authUrl: URL\n  protected storageUrl: URL\n  protected functionsUrl: URL\n  protected rest: PostgrestClient\u003cDatabase, ClientOptions, SchemaName\u003e\n  protected storageKey: string\n  protected fetch?: Fetch\n  protected changedAccessToken?: string\n  protected accessToken?: () =\u003e Promise\u003cstring | null\u003e\n\n  protected headers: Record\u003cstring, string\u003e\n\n  /**\n   * Create a new client for use in the browser.\n   *\n   * @category Initializing\n   *\n   * @param supabaseUrl The unique Supabase URL which is supplied when you create a new project in your project dashboard.\n   * @param supabaseKey The unique Supabase Key which is supplied when you create a new project in your project dashboard.\n   * @param options.db.schema You can switch in between schemas. The schema needs to be on the list of exposed schemas inside Supabase.\n   * @param options.auth.autoRefreshToken Set to \"true\" if you want to automatically refresh the token before expiring.\n   * @param options.auth.persistSession Set to \"true\" if you want to automatically save the user session into local storage.\n   * @param options.auth.detectSessionInUrl Set to \"true\" if you want to automatically detects OAuth grants in the URL and signs in the user.\n   * @param options.realtime Options passed along to realtime-js constructor.\n   * @param options.storage Options passed along to the storage-js constructor.\n   * @param options.global.fetch A custom fetch implementation.\n   * @param options.global.headers Any additional headers to send with each network request.\n   *\n   * @example Creating a client\n   * ```js\n   * import { createClient } from '@supabase/supabase-js'\n   *\n   * // Create a single supabase client for interacting with your database\n   * const supabase = createClient('https://xyzcompany.supabase.co', 'your-publishable-key')\n   * ```\n   *\n   * @example With a custom domain\n   * ```js\n   * import { createClient } from '@supabase/supabase-js'\n   *\n   * // Use a custom domain as the supabase URL\n   * const supabase = createClient('https://my-custom-domain.com', 'your-publishable-key')\n   * ```\n   *\n   * @example With additional parameters\n   * ```js\n   * import { createClient } from '@supabase/supabase-js'\n   *\n   * const options = {\n   *   db: {\n   *     schema: 'public',\n   *   },\n   *   auth: {\n   *     autoRefreshToken: true,\n   *     persistSession: true,\n   *     detectSessionInUrl: true\n   *   },\n   *   global: {\n   *     headers: { 'x-my-custom-header': 'my-app-name' },\n   *   },\n   * }\n   * const supabase = createClient(\"https://xyzcompany.supabase.co\", \"your-publishable-key\", options)\n   * ```\n   *\n   * @exampleDescription With custom schemas\n   * By default the API server points to the `public` schema. You can enable other database schemas within the Dashboard.\n   * Go to [Settings \u003e API \u003e Exposed schemas](/dashboard/project/_/settings/api) and add the schema which you want to expose to the API.\n   *\n   * Note: each client connection can only access a single schema, so the code above can access the `other_schema` schema but cannot access the `public` schema.\n   *\n   * @example With custom schemas\n   * ```js\n   * import { createClient } from '@supabase/supabase-js'\n   *\n   * const supabase = createClient('https://xyzcompany.supabase.co', 'your-publishable-key', {\n   *   // Provide a custom schema. Defaults to \"public\".\n   *   db: { schema: 'other_schema' }\n   * })\n   * ```\n   *\n   * @exampleDescription Custom fetch implementation\n   * `supabase-js` uses the [`cross-fetch`](https://www.npmjs.com/package/cross-fetch) library to make HTTP requests,\n   * but an alternative `fetch` implementation can be provided as an option.\n   * This is most useful in environments where `cross-fetch` is not compatible (for instance Cloudflare Workers).\n   *\n   * @example Custom fetch implementation\n   * ```js\n   * import { createClient } from '@supabase/supabase-js'\n   *\n   * const supabase = createClient('https://xyzcompany.supabase.co', 'your-publishable-key', {\n   *   global: { fetch: fetch.bind(globalThis) }\n   * })\n   * ```\n   *\n   * @exampleDescription React Native options with AsyncStorage\n   * For React Native we recommend using `AsyncStorage` as the storage implementation for Supabase Auth.\n   *\n   * @example React Native options with AsyncStorage\n   * ```js\n   * import 'react-native-url-polyfill/auto'\n   * import { createClient } from '@supabase/supabase-js'\n   * import AsyncStorage from \"@react-native-async-storage/async-storage\";\n   *\n   * const supabase = createClient(\"https://xyzcompany.supabase.co\", \"your-publishable-key\", {\n   *   auth: {\n   *     storage: AsyncStorage,\n   *     autoRefreshToken: true,\n   *     persistSession: true,\n   *     detectSessionInUrl: false,\n   *   },\n   * });\n   * ```\n   *\n   * @exampleDescription React Native options with Expo SecureStore\n   * If you wish to encrypt the user's session information, you can use `aes-js` and store the encryption key in Expo SecureStore.\n   * The `aes-js` library, a reputable JavaScript-only implementation of the AES encryption algorithm in CTR mode.\n   * A new 256-bit encryption key is generated using the `react-native-get-random-values` library.\n   * This key is stored inside Expo's SecureStore, while the value is encrypted and placed inside AsyncStorage.\n   *\n   * Please make sure that:\n   * - You keep the `expo-secure-store`, `aes-js` and `react-native-get-random-values` libraries up-to-date.\n   * - Choose the correct [`SecureStoreOptions`](https://docs.expo.dev/versions/latest/sdk/securestore/#securestoreoptions) for your app's needs.\n   *   E.g. [`SecureStore.WHEN_UNLOCKED`](https://docs.expo.dev/versions/latest/sdk/securestore/#securestorewhen_unlocked) regulates when the data can be accessed.\n   * - Carefully consider optimizations or other modifications to the above example, as those can lead to introducing subtle security vulnerabilities.\n   *\n   * @example React Native options with Expo SecureStore\n   * ```ts\n   * import 'react-native-url-polyfill/auto'\n   * import { createClient } from '@supabase/supabase-js'\n   * import AsyncStorage from '@react-native-async-storage/async-storage';\n   * import * as SecureStore from 'expo-secure-store';\n   * import * as aesjs from 'aes-js';\n   * import 'react-native-get-random-values';\n   *\n   * // As Expo's SecureStore does not support values larger than 2048\n   * // bytes, an AES-256 key is generated and stored in SecureStore, while\n   * // it is used to encrypt/decrypt values stored in AsyncStorage.\n   * class LargeSecureStore {\n   *   private async _encrypt(key: string, value: string) {\n   *     const encryptionKey = crypto.getRandomValues(new Uint8Array(256 / 8));\n   *\n   *     const cipher = new aesjs.ModeOfOperation.ctr(encryptionKey, new aesjs.Counter(1));\n   *     const encryptedBytes = cipher.encrypt(aesjs.utils.utf8.toBytes(value));\n   *\n   *     await SecureStore.setItemAsync(key, aesjs.utils.hex.fromBytes(encryptionKey));\n   *\n   *     return aesjs.utils.hex.fromBytes(encryptedBytes);\n   *   }\n   *\n   *   private async _decrypt(key: string, value: string) {\n   *     const encryptionKeyHex = await SecureStore.getItemAsync(key);\n   *     if (!encryptionKeyHex) {\n   *       return encryptionKeyHex;\n   *     }\n   *\n   *     const cipher = new aesjs.ModeOfOperation.ctr(aesjs.utils.hex.toBytes(encryptionKeyHex), new aesjs.Counter(1));\n   *     const decryptedBytes = cipher.decrypt(aesjs.utils.hex.toBytes(value));\n   *\n   *     return aesjs.utils.utf8.fromBytes(decryptedBytes);\n   *   }\n   *\n   *   async getItem(key: string) {\n   *     const encrypted = await AsyncStorage.getItem(key);\n   *     if (!encrypted) { return encrypted; }\n   *\n   *     return await this._decrypt(key, encrypted);\n   *   }\n   *\n   *   async removeItem(key: string) {\n   *     await AsyncStorage.removeItem(key);\n   *     await SecureStore.deleteItemAsync(key);\n   *   }\n   *\n   *   async setItem(key: string, value: string) {\n   *     const encrypted = await this._encrypt(key, value);\n   *\n   *     await AsyncStorage.setItem(key, encrypted);\n   *   }\n   * }\n   *\n   * const supabase = createClient(\"https://xyzcompany.supabase.co\", \"your-publishable-key\", {\n   *   auth: {\n   *     storage: new LargeSecureStore(),\n   *     autoRefreshToken: true,\n   *     persistSession: true,\n   *     detectSessionInUrl: false,\n   *   },\n   * });\n   * ```\n   *\n   * @example With a database query\n   * ```ts\n   * import { createClient } from '@supabase/supabase-js'\n   *\n   * const supabase = createClient('https://xyzcompany.supabase.co', 'your-publishable-key')\n   *\n   * const { data } = await supabase.from('profiles').select('*')\n   * ```\n   */\n  constructor(\n    protected supabaseUrl: string,\n    protected supabaseKey: string,\n    options?: SupabaseClientOptions\u003cSchemaName\u003e\n  ) {\n    const baseUrl = validateSupabaseUrl(supabaseUrl)\n    if (!supabaseKey) throw new Error('supabaseKey is required.')\n\n    this.realtimeUrl = new URL('realtime/v1', baseUrl)\n    this.realtimeUrl.protocol = this.realtimeUrl.protocol.replace('http', 'ws')\n    this.authUrl = new URL('auth/v1', baseUrl)\n    this.storageUrl = new URL('storage/v1', baseUrl)\n    this.functionsUrl = new URL('functions/v1', baseUrl)\n\n    // default storage key uses the supabase project ref as a namespace\n    const defaultStorageKey = `sb-${baseUrl.hostname.split('.')[0]}-auth-token`\n    const DEFAULTS = {\n      db: DEFAULT_DB_OPTIONS,\n      realtime: DEFAULT_REALTIME_OPTIONS,\n      auth: { ...DEFAULT_AUTH_OPTIONS, storageKey: defaultStorageKey },\n      global: DEFAULT_GLOBAL_OPTIONS,\n    }\n\n    const settings = applySettingDefaults(options ?? {}, DEFAULTS)\n\n    this.storageKey = settings.auth.storageKey ?? ''\n    this.headers = settings.global.headers ?? {}\n\n    if (!settings.accessToken) {\n      this.auth = this._initSupabaseAuthClient(\n        settings.auth ?? {},\n        this.headers,\n        settings.global.fetch\n      )\n    } else {\n      this.accessToken = settings.accessToken\n\n      this.auth = new Proxy\u003cSupabaseAuthClient\u003e({} as any, {\n        get: (_, prop) =\u003e {\n          throw new Error(\n            `@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(\n              prop\n            )} is not possible`\n          )\n        },\n      })\n    }\n\n    this.fetch = fetchWithAuth(supabaseKey, this._getAccessToken.bind(this), settings.global.fetch)\n    this.realtime = this._initRealtimeClient({\n      headers: this.headers,\n      accessToken: this._getAccessToken.bind(this),\n      fetch: this.fetch,\n      ...settings.realtime,\n    })\n    if (this.accessToken) {\n      // Start auth immediately to avoid race condition with channel subscriptions\n      // Wrap Promise to avoid Firefox extension cross-context Promise access errors\n      Promise.resolve(this.accessToken())\n        .then((token) =\u003e this.realtime.setAuth(token))\n        .catch((e) =\u003e console.warn('Failed to set initial Realtime auth token:', e))\n    }\n\n    this.rest = new PostgrestClient(new URL('rest/v1', baseUrl).href, {\n      headers: this.headers,\n      schema: settings.db.schema,\n      fetch: this.fetch,\n      timeout: settings.db.timeout,\n      urlLengthLimit: settings.db.urlLengthLimit,\n    })\n\n    this.storage = new SupabaseStorageClient(\n      this.storageUrl.href,\n      this.headers,\n      this.fetch,\n      options?.storage\n    )\n\n    if (!settings.accessToken) {\n      this._listenForAuthEvents()\n    }\n  }\n\n  /**\n   * Supabase Functions allows you to deploy and invoke edge functions.\n   */\n  get functions(): FunctionsClient {\n    return new FunctionsClient(this.functionsUrl.href, {\n      headers: this.headers,\n      customFetch: this.fetch,\n    })\n  }\n\n  // NOTE: signatures must be kept in sync with PostgrestClient.from\n  from\u003c\n    TableName extends string \u0026 keyof Schema['Tables'],\n    Table extends Schema['Tables'][TableName],\n  \u003e(relation: TableName): PostgrestQueryBuilder\u003cClientOptions, Schema, Table, TableName\u003e\n  from\u003cViewName extends string \u0026 keyof Schema['Views'], View extends Schema['Views'][ViewName]\u003e(\n    relation: ViewName\n  ): PostgrestQueryBuilder\u003cClientOptions, Schema, View, ViewName\u003e\n  /**\n   * Perform a query on a table or a view.\n   *\n   * @param relation - The table or view name to query\n   */\n  from(relation: string): PostgrestQueryBuilder\u003cClientOptions, Schema, any\u003e {\n    return this.rest.from(relation)\n  }\n\n  // NOTE: signatures must be kept in sync with PostgrestClient.schema\n  /**\n   * Select a schema to query or perform an function (rpc) call.\n   *\n   * The schema needs to be on the list of exposed schemas inside Supabase.\n   *\n   * @param schema - The schema to query\n   */\n  schema\u003cDynamicSchema extends string \u0026 keyof Omit\u003cDatabase, '__InternalSupabase'\u003e\u003e(\n    schema: DynamicSchema\n  ): PostgrestClient\u003c\n    Database,\n    ClientOptions,\n    DynamicSchema,\n    Database[DynamicSchema] extends GenericSchema ? Database[DynamicSchema] : any\n  \u003e {\n    return this.rest.schema\u003cDynamicSchema\u003e(schema)\n  }\n\n  // NOTE: signatures must be kept in sync with PostgrestClient.rpc\n  /**\n   * Perform a function call.\n   *\n   * @param fn - The function name to call\n   * @param args - The arguments to pass to the function call\n   * @param options - Named parameters\n   * @param options.head - When set to `true`, `data` will not be returned.\n   * Useful if you only need the count.\n   * @param options.get - When set to `true`, the function will be called with\n   * read-only access mode.\n   * @param options.count - Count algorithm to use to count rows returned by the\n   * function. Only applicable for [set-returning\n   * functions](https://www.postgresql.org/docs/current/functions-srf.html).\n   *\n   * `\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\n   * hood.\n   *\n   * `\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\n   * statistics under the hood.\n   *\n   * `\"estimated\"`: Uses exact count for low numbers and planned count for high\n   * numbers.\n   */\n  rpc\u003c\n    FnName extends string \u0026 keyof Schema['Functions'],\n    Args extends Schema['Functions'][FnName]['Args'] = never,\n    FilterBuilder extends GetRpcFunctionFilterBuilderByArgs\u003c\n      Schema,\n      FnName,\n      Args\n    \u003e = GetRpcFunctionFilterBuilderByArgs\u003cSchema, FnName, Args\u003e,\n  \u003e(\n    fn: FnName,\n    args: Args = {} as Args,\n    options: {\n      head?: boolean\n      get?: boolean\n      count?: 'exact' | 'planned' | 'estimated'\n    } = {\n      head: false,\n      get: false,\n      count: undefined,\n    }\n  ): PostgrestFilterBuilder\u003c\n    ClientOptions,\n    Schema,\n    FilterBuilder['Row'],\n    FilterBuilder['Result'],\n    FilterBuilder['RelationName'],\n    FilterBuilder['Relationships'],\n    'RPC'\n  \u003e {\n    return this.rest.rpc(fn, args, options) as unknown as PostgrestFilterBuilder\u003c\n      ClientOptions,\n      Schema,\n      FilterBuilder['Row'],\n      FilterBuilder['Result'],\n      FilterBuilder['RelationName'],\n      FilterBuilder['Relationships'],\n      'RPC'\n    \u003e\n  }\n\n  /**\n   * Creates a Realtime channel with Broadcast, Presence, and Postgres Changes.\n   *\n   * @param {string} name - The name of the Realtime channel.\n   * @param {Object} opts - The options to pass to the Realtime channel.\n   *\n   * @category Realtime\n   */\n  channel(name: string, opts: RealtimeChannelOptions = { config: {} }): RealtimeChannel {\n    return this.realtime.channel(name, opts)\n  }\n\n  /**\n   * Returns all Realtime channels.\n   *\n   * @category Realtime\n   *\n   * @example Get all channels\n   * ```js\n   * const channels = supabase.getChannels()\n   * ```\n   */\n  getChannels(): RealtimeChannel[] {\n    return this.realtime.getChannels()\n  }\n\n  /**\n   * Unsubscribes and removes Realtime channel from Realtime client.\n   *\n   * @param {RealtimeChannel} channel - The name of the Realtime channel.\n   *\n   *\n   * @category Realtime\n   *\n   * @remarks\n   * - Removing a channel is a great way to maintain the performance of your project's Realtime service as well as your database if you're listening to Postgres changes. Supabase will automatically handle cleanup 30 seconds after a client is disconnected, but unused channels may cause degradation as more clients are simultaneously subscribed.\n   *\n   * @example Removes a channel\n   * ```js\n   * supabase.removeChannel(myChannel)\n   * ```\n   */\n  removeChannel(channel: RealtimeChannel): Promise\u003cRealtimeRemoveChannelResponse\u003e {\n    return this.realtime.removeChannel(channel)\n  }\n\n  /**\n   * Unsubscribes and removes all Realtime channels from Realtime client.\n   *\n   * @category Realtime\n   *\n   * @remarks\n   * - Removing channels is a great way to maintain the performance of your project's Realtime service as well as your database if you're listening to Postgres changes. Supabase will automatically handle cleanup 30 seconds after a client is disconnected, but unused channels may cause degradation as more clients are simultaneously subscribed.\n   *\n   * @example Remove all channels\n   * ```js\n   * supabase.removeAllChannels()\n   * ```\n   */\n  removeAllChannels(): Promise\u003cRealtimeRemoveChannelResponse[]\u003e {\n    return this.realtime.removeAllChannels()\n  }\n\n  private async _getAccessToken() {\n    if (this.accessToken) {\n      return await this.accessToken()\n    }\n\n    const { data } = await this.auth.getSession()\n\n    return data.session?.access_token ?? this.supabaseKey\n  }\n\n  private _initSupabaseAuthClient(\n    {\n      autoRefreshToken,\n      persistSession,\n      detectSessionInUrl,\n      storage,\n      userStorage,\n      storageKey,\n      flowType,\n      lock,\n      debug,\n      throwOnError,\n      experimental,\n      lockAcquireTimeout,\n      skipAutoInitialize,\n    }: SupabaseAuthClientOptions,\n    headers?: Record\u003cstring, string\u003e,\n    fetch?: Fetch\n  ) {\n    const authHeaders = {\n      Authorization: `Bearer ${this.supabaseKey}`,\n      apikey: `${this.supabaseKey}`,\n    }\n    return new SupabaseAuthClient({\n      url: this.authUrl.href,\n      headers: { ...authHeaders, ...headers },\n      storageKey: storageKey,\n      autoRefreshToken,\n      persistSession,\n      detectSessionInUrl,\n      storage,\n      userStorage,\n      flowType,\n      lock,\n      debug,\n      throwOnError,\n      experimental,\n      fetch,\n      lockAcquireTimeout,\n      skipAutoInitialize,\n      // auth checks if there is a custom authorizaiton header using this flag\n      // so it knows whether to return an error when getUser is called with no session\n      hasCustomAuthorizationHeader: Object.keys(this.headers).some(\n        (key) =\u003e key.toLowerCase() === 'authorization'\n      ),\n    })\n  }\n\n  private _initRealtimeClient(options: RealtimeClientOptions) {\n    return new RealtimeClient(this.realtimeUrl.href, {\n      ...options,\n      params: { ...{ apikey: this.supabaseKey }, ...options?.params },\n    })\n  }\n\n  private _listenForAuthEvents() {\n    const data = this.auth.onAuthStateChange((event, session) =\u003e {\n      this._handleTokenChanged(event, 'CLIENT', session?.access_token)\n    })\n    return data\n  }\n\n  private _handleTokenChanged(\n    event: AuthChangeEvent,\n    source: 'CLIENT' | 'STORAGE',\n    token?: string\n  ) {\n    if (\n      (event === 'TOKEN_REFRESHED' || event === 'SIGNED_IN') \u0026\u0026\n      this.changedAccessToken !== token\n    ) {\n      this.changedAccessToken = token\n      this.realtime.setAuth(token)\n    } else if (event === 'SIGNED_OUT') {\n      this.realtime.setAuth()\n      if (source == 'STORAGE') this.auth.signOut()\n      this.changedAccessToken = undefined\n    }\n  }\n}\n","import SupabaseClient from './SupabaseClient'\nimport type { SupabaseClientOptions } from './lib/types'\n\nexport * from '@supabase/auth-js'\nexport type { User as AuthUser, Session as AuthSession } from '@supabase/auth-js'\nexport type {\n  PostgrestResponse,\n  PostgrestSingleResponse,\n  PostgrestMaybeSingleResponse,\n  PostgrestBuilder,\n  PostgrestFilterBuilder,\n  PostgrestTransformBuilder,\n  PostgrestQueryBuilder,\n} from '@supabase/postgrest-js'\nexport { PostgrestError } from '@supabase/postgrest-js'\nexport { StorageApiError } from '@supabase/storage-js'\nexport type { FunctionInvokeOptions } from '@supabase/functions-js'\nexport {\n  FunctionsHttpError,\n  FunctionsFetchError,\n  FunctionsRelayError,\n  FunctionsError,\n  FunctionRegion,\n} from '@supabase/functions-js'\nexport * from '@supabase/realtime-js'\nexport { default as SupabaseClient } from './SupabaseClient'\nexport type {\n  SupabaseClientOptions,\n  QueryResult,\n  QueryData,\n  QueryError,\n  DatabaseWithoutInternals,\n} from './lib/types'\n\n/**\n * Creates a new Supabase Client.\n *\n * @example Creating a Supabase client\n * ```ts\n * import { createClient } from '@supabase/supabase-js'\n *\n * const supabase = createClient('https://xyzcompany.supabase.co', 'your-publishable-key')\n * const { data, error } = await supabase.from('profiles').select('*')\n * ```\n */\nexport const createClient = \u003c\n  Database = any,\n  SchemaNameOrClientOptions extends\n    | (string \u0026 keyof Omit\u003cDatabase, '__InternalSupabase'\u003e)\n    | { PostgrestVersion: string } = 'public' extends keyof Omit\u003cDatabase, '__InternalSupabase'\u003e\n    ? 'public'\n    : string \u0026 keyof Omit\u003cDatabase, '__InternalSupabase'\u003e,\n  SchemaName extends string \u0026\n    keyof Omit\u003cDatabase, '__InternalSupabase'\u003e = SchemaNameOrClientOptions extends string \u0026\n    keyof Omit\u003cDatabase, '__InternalSupabase'\u003e\n    ? SchemaNameOrClientOptions\n    : 'public' extends keyof Omit\u003cDatabase, '__InternalSupabase'\u003e\n      ? 'public'\n      : string \u0026 keyof Omit\u003cOmit\u003cDatabase, '__InternalSupabase'\u003e, '__InternalSupabase'\u003e,\n\u003e(\n  supabaseUrl: string,\n  supabaseKey: string,\n  options?: SupabaseClientOptions\u003cSchemaName\u003e\n): SupabaseClient\u003cDatabase, SchemaNameOrClientOptions, SchemaName\u003e =\u003e {\n  return new SupabaseClient\u003cDatabase, SchemaNameOrClientOptions, SchemaName\u003e(\n    supabaseUrl,\n    supabaseKey,\n    options\n  )\n}\n\n// Check for Node.js \u003c= 18 deprecation\nfunction shouldShowDeprecationWarning(): boolean {\n  // Skip in browser environments\n  if (typeof window !== 'undefined') {\n    return false\n  }\n\n  // Skip if process is not available (e.g., Edge Runtime)\n  // Use dynamic property access to avoid Next.js Edge Runtime static analysis warnings\n  const _process = (globalThis as any)['process']\n  if (!_process) {\n    return false\n  }\n\n  const processVersion = _process['version']\n  if (processVersion === undefined || processVersion === null) {\n    return false\n  }\n\n  const versionMatch = processVersion.match(/^v(\\d+)\\./)\n  if (!versionMatch) {\n    return false\n  }\n\n  const majorVersion = parseInt(versionMatch[1], 10)\n  return majorVersion \u003c= 18\n}\n\nif (shouldShowDeprecationWarning()) {\n  console.warn(\n    `⚠️  Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. ` +\n      `Please upgrade to Node.js 20 or later. ` +\n      `For more information, visit: https://github.com/orgs/supabase/discussions/37217`\n  )\n}\n"],"version":3}
