{"version":3,"sources":["../../node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/web/spec-extension/adapters/request-cookies.ts","../../node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/create-deduped-by-callsite-server-error-logger.ts","../../node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/request/cookies.ts","../../node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/web/spec-extension/adapters/headers.ts","../../node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/request/headers.ts","../../node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/src/server/request/draft-mode.ts","../../node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/next/headers.js","../../src/server/index.ts"],"names":["MutableRequestCookiesAdapter","ReadonlyRequestCookiesError","RequestCookiesAdapter","appendMutableCookies","areCookiesMutableInCurrentPhase","getModifiedCookieValues","responseCookiesToRequestCookies","wrapWithMutableAccessCheck","Error","constructor","callable","seal","cookies","Proxy","get","target","prop","receiver","ReflectAdapter","SYMBOL_MODIFY_COOKIE_VALUES","Symbol","for","modified","Array","isArray","length","headers","mutableCookies","modifiedCookieValues","resCookies","ResponseCookies","returnedCookies","getAll","cookie","set","wrap","onUpdateCookies","responseCookies","Headers","modifiedValues","modifiedCookies","Set","updateResponseCookies","workStore","workAsyncStorage","getStore","pathWasRevalidated","allCookies","filter","c","has","name","serializedCookies","tempCookies","push","toString","wrappedCookies","args","add","delete","ensureCookiesAreStillMutable","requestStore","phase","callingExpression","getExpectedRequestStore","requestCookies","RequestCookies","createDedupedByCallsiteServerErrorLoggerDev","errorRef","current","cache","React","fn","logErrorOrWarn","process","env","__NEXT_DYNAMIC_IO","console","error","warn","flushCurrentErrorIfNew","key","getMessage","logDedupedError","message","NODE_ENV","callStackFrames","stack","split","undefined","workUnitStore","workUnitAsyncStorage","isRequestAPICallableInsideAfter","route","forceStatic","underlyingCookies","createEmptyCookies","makeUntrackedExoticCookies","type","dynamicShouldError","StaticGenBailoutError","makeDynamicallyTrackedExoticCookies","postponeWithTracking","dynamicTracking","throwToInterruptStaticGeneration","trackDynamicDataInDynamicRender","userspaceMutableCookies","isPrefetchRequest","makeUntrackedExoticCookiesWithDevWarnings","CachedCookies","WeakMap","prerenderStore","cachedPromise","promise","makeHangingPromise","renderSignal","Object","defineProperties","iterator","value","expression","createCookiesAccessError","abortAndThrowOnSynchronousRequestDataAccess","size","arguments","describeNameArg","arg","clear","cachedCookies","Promise","resolve","bind","polyfilledResponseCookiesIterator","polyfilledResponseCookiesClear","scheduleImmediate","syncIODev","apply","call","writable","prerenderPhase","trackSynchronousRequestDataAccessInDev","warnForSyncAccess","prefix","map","values","returnable","HeadersAdapter","ReadonlyHeadersError","lowercased","toLowerCase","original","keys","find","o","deleteProperty","merge","join","from","append","existing","forEach","callbackfn","thisArg","entries","underlyingHeaders","makeUntrackedExoticHeaders","makeDynamicallyTrackedExoticHeaders","makeUntrackedExoticHeadersWithDevWarnings","CachedHeaders","cachedHeaders","createHeadersAccessError","_delete","getSetCookie","draftMode","throwForMissingRequestStore","createOrGetCachedExoticDraftMode","draftModeProvider","getDraftModeProviderForCacheScope","createExoticDraftModeWithDevWarnings","createExoticDraftMode","_exhaustiveCheck","cachedDraftMode","CachedDraftModes","underlyingProvider","instance","DraftMode","defineProperty","isEnabled","newValue","enumerable","configurable","enable","disable","provider","_provider","trackDynamicDraftMode","createDraftModeAccessError","store","revalidate","err","DynamicServerError","dynamicUsageDescription","dynamicUsageStack","usedDynamic","require_headers"],"mappings":"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","file":"index.mjs","sourcesContent":["import { RequestCookies } from '../cookies'\n\nimport { ResponseCookies } from '../cookies'\nimport { ReflectAdapter } from './reflect'\nimport { workAsyncStorage } from '../../../app-render/work-async-storage.external'\nimport {\n  getExpectedRequestStore,\n  type RequestStore,\n} from '../../../app-render/work-unit-async-storage.external'\n\n/**\n * @internal\n */\nexport class ReadonlyRequestCookiesError extends Error {\n  constructor() {\n    super(\n      'Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options'\n    )\n  }\n\n  public static callable() {\n    throw new ReadonlyRequestCookiesError()\n  }\n}\n\n// We use this to type some APIs but we don't construct instances directly\nexport type { ResponseCookies }\n\n// The `cookies()` API is a mix of request and response cookies. For `.get()` methods,\n// we want to return the request cookie if it exists. For mutative methods like `.set()`,\n// we want to return the response cookie.\nexport type ReadonlyRequestCookies = Omit<\n  RequestCookies,\n  'set' | 'clear' | 'delete'\n> &\n  Pick<ResponseCookies, 'set' | 'delete'>\n\nexport class RequestCookiesAdapter {\n  public static seal(cookies: RequestCookies): ReadonlyRequestCookies {\n    return new Proxy(cookies as any, {\n      get(target, prop, receiver) {\n        switch (prop) {\n          case 'clear':\n          case 'delete':\n          case 'set':\n            return ReadonlyRequestCookiesError.callable\n          default:\n            return ReflectAdapter.get(target, prop, receiver)\n        }\n      },\n    })\n  }\n}\n\nconst SYMBOL_MODIFY_COOKIE_VALUES = Symbol.for('next.mutated.cookies')\n\nexport function getModifiedCookieValues(\n  cookies: ResponseCookies\n): ResponseCookie[] {\n  const modified: ResponseCookie[] | undefined = (cookies as unknown as any)[\n    SYMBOL_MODIFY_COOKIE_VALUES\n  ]\n  if (!modified || !Array.isArray(modified) || modified.length === 0) {\n    return []\n  }\n\n  return modified\n}\n\ntype SetCookieArgs =\n  | [key: string, value: string, cookie?: Partial<ResponseCookie>]\n  | [options: ResponseCookie]\n\nexport function appendMutableCookies(\n  headers: Headers,\n  mutableCookies: ResponseCookies\n): boolean {\n  const modifiedCookieValues = getModifiedCookieValues(mutableCookies)\n  if (modifiedCookieValues.length === 0) {\n    return false\n  }\n\n  // Return a new response that extends the response with\n  // the modified cookies as fallbacks. `res` cookies\n  // will still take precedence.\n  const resCookies = new ResponseCookies(headers)\n  const returnedCookies = resCookies.getAll()\n\n  // Set the modified cookies as fallbacks.\n  for (const cookie of modifiedCookieValues) {\n    resCookies.set(cookie)\n  }\n\n  // Set the original cookies as the final values.\n  for (const cookie of returnedCookies) {\n    resCookies.set(cookie)\n  }\n\n  return true\n}\n\ntype ResponseCookie = NonNullable<\n  ReturnType<InstanceType<typeof ResponseCookies>['get']>\n>\n\nexport class MutableRequestCookiesAdapter {\n  public static wrap(\n    cookies: RequestCookies,\n    onUpdateCookies?: (cookies: string[]) => void\n  ): ResponseCookies {\n    const responseCookies = new ResponseCookies(new Headers())\n    for (const cookie of cookies.getAll()) {\n      responseCookies.set(cookie)\n    }\n\n    let modifiedValues: ResponseCookie[] = []\n    const modifiedCookies = new Set<string>()\n    const updateResponseCookies = () => {\n      // TODO-APP: change method of getting workStore\n      const workStore = workAsyncStorage.getStore()\n      if (workStore) {\n        workStore.pathWasRevalidated = true\n      }\n\n      const allCookies = responseCookies.getAll()\n      modifiedValues = allCookies.filter((c) => modifiedCookies.has(c.name))\n      if (onUpdateCookies) {\n        const serializedCookies: string[] = []\n        for (const cookie of modifiedValues) {\n          const tempCookies = new ResponseCookies(new Headers())\n          tempCookies.set(cookie)\n          serializedCookies.push(tempCookies.toString())\n        }\n\n        onUpdateCookies(serializedCookies)\n      }\n    }\n\n    const wrappedCookies = new Proxy(responseCookies, {\n      get(target, prop, receiver) {\n        switch (prop) {\n          // A special symbol to get the modified cookie values\n          case SYMBOL_MODIFY_COOKIE_VALUES:\n            return modifiedValues\n\n          // TODO: Throw error if trying to set a cookie after the response\n          // headers have been set.\n          case 'delete':\n            return function (...args: [string] | [ResponseCookie]) {\n              modifiedCookies.add(\n                typeof args[0] === 'string' ? args[0] : args[0].name\n              )\n              try {\n                target.delete(...args)\n                return wrappedCookies\n              } finally {\n                updateResponseCookies()\n              }\n            }\n          case 'set':\n            return function (...args: SetCookieArgs) {\n              modifiedCookies.add(\n                typeof args[0] === 'string' ? args[0] : args[0].name\n              )\n              try {\n                target.set(...args)\n                return wrappedCookies\n              } finally {\n                updateResponseCookies()\n              }\n            }\n\n          default:\n            return ReflectAdapter.get(target, prop, receiver)\n        }\n      },\n    })\n\n    return wrappedCookies\n  }\n}\n\nexport function wrapWithMutableAccessCheck(\n  responseCookies: ResponseCookies\n): ResponseCookies {\n  const wrappedCookies = new Proxy(responseCookies, {\n    get(target, prop, receiver) {\n      switch (prop) {\n        case 'delete':\n          return function (...args: [string] | [ResponseCookie]) {\n            ensureCookiesAreStillMutable('cookies().delete')\n            target.delete(...args)\n            return wrappedCookies\n          }\n        case 'set':\n          return function (...args: SetCookieArgs) {\n            ensureCookiesAreStillMutable('cookies().set')\n            target.set(...args)\n            return wrappedCookies\n          }\n\n        default:\n          return ReflectAdapter.get(target, prop, receiver)\n      }\n    },\n  })\n  return wrappedCookies\n}\n\nexport function areCookiesMutableInCurrentPhase(requestStore: RequestStore) {\n  return requestStore.phase === 'action'\n}\n\n/** Ensure that cookies() starts throwing on mutation\n * if we changed phases and can no longer mutate.\n *\n * This can happen when going:\n *   'render' -> 'after'\n *   'action' -> 'render'\n * */\nfunction ensureCookiesAreStillMutable(callingExpression: string) {\n  const requestStore = getExpectedRequestStore(callingExpression)\n  if (!areCookiesMutableInCurrentPhase(requestStore)) {\n    // TODO: maybe we can give a more precise error message based on callingExpression?\n    throw new ReadonlyRequestCookiesError()\n  }\n}\n\nexport function responseCookiesToRequestCookies(\n  responseCookies: ResponseCookies\n): RequestCookies {\n  const requestCookies = new RequestCookies(new Headers())\n  for (const cookie of responseCookies.getAll()) {\n    requestCookies.set(cookie)\n  }\n  return requestCookies\n}\n","import * as React from 'react'\n\nconst errorRef: { current: null | Error } = { current: null }\n\n// React.cache is currently only available in canary/experimental React channels.\nconst cache =\n  typeof React.cache === 'function'\n    ? React.cache\n    : (fn: (key: unknown) => void) => fn\n\n// When Dynamic IO is enabled, we record these as errors so that they\n// are captured by the dev overlay as it's more critical to fix these\n// when enabled.\nconst logErrorOrWarn = process.env.__NEXT_DYNAMIC_IO\n  ? console.error\n  : console.warn\n\n// We don't want to dedupe across requests.\n// The developer might've just attempted to fix the warning so we should warn again if it still happens.\nconst flushCurrentErrorIfNew = cache(\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars -- cache key\n  (key: unknown) => {\n    try {\n      logErrorOrWarn(errorRef.current)\n    } finally {\n      errorRef.current = null\n    }\n  }\n)\n\n/**\n * Creates a function that logs an error message that is deduped by the userland\n * callsite.\n * This requires no indirection between the call of this function and the userland\n * callsite i.e. there's only a single library frame above this.\n * Do not use on the Client where sourcemaps and ignore listing might be enabled.\n * Only use that for warnings need a fix independent of the callstack.\n *\n * @param getMessage\n * @returns\n */\nexport function createDedupedByCallsiteServerErrorLoggerDev<Args extends any[]>(\n  getMessage: (...args: Args) => Error\n) {\n  return function logDedupedError(...args: Args) {\n    const message = getMessage(...args)\n\n    if (process.env.NODE_ENV !== 'production') {\n      const callStackFrames = new Error().stack?.split('\\n')\n      if (callStackFrames === undefined || callStackFrames.length < 4) {\n        logErrorOrWarn(message)\n      } else {\n        // Error:\n        //   logDedupedError\n        //   asyncApiBeingAccessedSynchronously\n        //   <userland callsite>\n        // TODO: This breaks if sourcemaps with ignore lists are enabled.\n        const key = callStackFrames[4]\n        errorRef.current = message\n        flushCurrentErrorIfNew(key)\n      }\n    } else {\n      logErrorOrWarn(message)\n    }\n  }\n}\n","import {\n  type ReadonlyRequestCookies,\n  type ResponseCookies,\n  areCookiesMutableInCurrentPhase,\n  RequestCookiesAdapter,\n} from '../web/spec-extension/adapters/request-cookies'\nimport { RequestCookies } from '../web/spec-extension/cookies'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport {\n  workUnitAsyncStorage,\n  type PrerenderStoreModern,\n} from '../app-render/work-unit-async-storage.external'\nimport {\n  postponeWithTracking,\n  abortAndThrowOnSynchronousRequestDataAccess,\n  throwToInterruptStaticGeneration,\n  trackDynamicDataInDynamicRender,\n  trackSynchronousRequestDataAccessInDev,\n} from '../app-render/dynamic-rendering'\nimport { getExpectedRequestStore } from '../app-render/work-unit-async-storage.external'\nimport { StaticGenBailoutError } from '../../client/components/static-generation-bailout'\nimport { makeHangingPromise } from '../dynamic-rendering-utils'\nimport { createDedupedByCallsiteServerErrorLoggerDev } from '../create-deduped-by-callsite-server-error-logger'\nimport { scheduleImmediate } from '../../lib/scheduler'\nimport { isRequestAPICallableInsideAfter } from './utils'\n\n/**\n * In this version of Next.js `cookies()` returns a Promise however you can still reference the properties of the underlying cookies object\n * synchronously to facilitate migration. The `UnsafeUnwrappedCookies` type is added to your code by a codemod that attempts to automatically\n * updates callsites to reflect the new Promise return type. There are some cases where `cookies()` cannot be automatically converted, namely\n * when it is used inside a synchronous function and we can't be sure the function can be made async automatically. In these cases we add an\n * explicit type case to `UnsafeUnwrappedCookies` to enable typescript to allow for the synchronous usage only where it is actually necessary.\n *\n * You should should update these callsites to either be async functions where the `cookies()` value can be awaited or you should call `cookies()`\n * from outside and await the return value before passing it into this function.\n *\n * You can find instances that require manual migration by searching for `UnsafeUnwrappedCookies` in your codebase or by search for a comment that\n * starts with `@next-codemod-error`.\n *\n * In a future version of Next.js `cookies()` will only return a Promise and you will not be able to access the underlying cookies object directly\n * without awaiting the return value first. When this change happens the type `UnsafeUnwrappedCookies` will be updated to reflect that is it no longer\n * usable.\n *\n * This type is marked deprecated to help identify it as target for refactoring away.\n *\n * @deprecated\n */\nexport type UnsafeUnwrappedCookies = ReadonlyRequestCookies\n\nexport function cookies(): Promise<ReadonlyRequestCookies> {\n  const callingExpression = 'cookies'\n  const workStore = workAsyncStorage.getStore()\n  const workUnitStore = workUnitAsyncStorage.getStore()\n\n  if (workStore) {\n    if (\n      workUnitStore &&\n      workUnitStore.phase === 'after' &&\n      !isRequestAPICallableInsideAfter()\n    ) {\n      throw new Error(\n        // TODO(after): clarify that this only applies to pages?\n        `Route ${workStore.route} used \"cookies\" inside \"after(...)\". This is not supported. If you need this data inside an \"after\" callback, use \"cookies\" outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`\n      )\n    }\n\n    if (workStore.forceStatic) {\n      // When using forceStatic we override all other logic and always just return an empty\n      // cookies object without tracking\n      const underlyingCookies = createEmptyCookies()\n      return makeUntrackedExoticCookies(underlyingCookies)\n    }\n\n    if (workUnitStore) {\n      if (workUnitStore.type === 'cache') {\n        throw new Error(\n          `Route ${workStore.route} used \"cookies\" inside \"use cache\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \"cookies\" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`\n        )\n      } else if (workUnitStore.type === 'unstable-cache') {\n        throw new Error(\n          `Route ${workStore.route} used \"cookies\" inside a function cached with \"unstable_cache(...)\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \"cookies\" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`\n        )\n      }\n    }\n    if (workStore.dynamicShouldError) {\n      throw new StaticGenBailoutError(\n        `Route ${workStore.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`cookies\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`\n      )\n    }\n\n    if (workUnitStore) {\n      if (workUnitStore.type === 'prerender') {\n        // dynamicIO Prerender\n        // We don't track dynamic access here because access will be tracked when you access\n        // one of the properties of the cookies object.\n        return makeDynamicallyTrackedExoticCookies(\n          workStore.route,\n          workUnitStore\n        )\n      } else if (workUnitStore.type === 'prerender-ppr') {\n        // PPR Prerender (no dynamicIO)\n        // We are prerendering with PPR. We need track dynamic access here eagerly\n        // to keep continuity with how cookies has worked in PPR without dynamicIO.\n        postponeWithTracking(\n          workStore.route,\n          callingExpression,\n          workUnitStore.dynamicTracking\n        )\n      } else if (workUnitStore.type === 'prerender-legacy') {\n        // Legacy Prerender\n        // We track dynamic access here so we don't need to wrap the cookies in\n        // individual property access tracking.\n        throwToInterruptStaticGeneration(\n          callingExpression,\n          workStore,\n          workUnitStore\n        )\n      }\n    }\n    // We fall through to the dynamic context below but we still track dynamic access\n    // because in dev we can still error for things like using cookies inside a cache context\n    trackDynamicDataInDynamicRender(workStore, workUnitStore)\n  }\n\n  // cookies is being called in a dynamic context\n\n  const requestStore = getExpectedRequestStore(callingExpression)\n\n  let underlyingCookies: ReadonlyRequestCookies\n\n  if (areCookiesMutableInCurrentPhase(requestStore)) {\n    // We can't conditionally return different types here based on the context.\n    // To avoid confusion, we always return the readonly type here.\n    underlyingCookies =\n      requestStore.userspaceMutableCookies as unknown as ReadonlyRequestCookies\n  } else {\n    underlyingCookies = requestStore.cookies\n  }\n\n  if (process.env.NODE_ENV === 'development' && !workStore?.isPrefetchRequest) {\n    return makeUntrackedExoticCookiesWithDevWarnings(\n      underlyingCookies,\n      workStore?.route\n    )\n  } else {\n    return makeUntrackedExoticCookies(underlyingCookies)\n  }\n}\n\nfunction createEmptyCookies(): ReadonlyRequestCookies {\n  return RequestCookiesAdapter.seal(new RequestCookies(new Headers({})))\n}\n\ninterface CacheLifetime {}\nconst CachedCookies = new WeakMap<\n  CacheLifetime,\n  Promise<ReadonlyRequestCookies>\n>()\n\nfunction makeDynamicallyTrackedExoticCookies(\n  route: string,\n  prerenderStore: PrerenderStoreModern\n): Promise<ReadonlyRequestCookies> {\n  const cachedPromise = CachedCookies.get(prerenderStore)\n  if (cachedPromise) {\n    return cachedPromise\n  }\n\n  const promise = makeHangingPromise<ReadonlyRequestCookies>(\n    prerenderStore.renderSignal,\n    '`cookies()`'\n  )\n  CachedCookies.set(prerenderStore, promise)\n\n  Object.defineProperties(promise, {\n    [Symbol.iterator]: {\n      value: function () {\n        const expression = '`cookies()[Symbol.iterator]()`'\n        const error = createCookiesAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    size: {\n      get() {\n        const expression = '`cookies().size`'\n        const error = createCookiesAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    get: {\n      value: function get() {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().get()`'\n        } else {\n          expression = `\\`cookies().get(${describeNameArg(arguments[0])})\\``\n        }\n        const error = createCookiesAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    getAll: {\n      value: function getAll() {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().getAll()`'\n        } else {\n          expression = `\\`cookies().getAll(${describeNameArg(arguments[0])})\\``\n        }\n        const error = createCookiesAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    has: {\n      value: function has() {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().has()`'\n        } else {\n          expression = `\\`cookies().has(${describeNameArg(arguments[0])})\\``\n        }\n        const error = createCookiesAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    set: {\n      value: function set() {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().set()`'\n        } else {\n          const arg = arguments[0]\n          if (arg) {\n            expression = `\\`cookies().set(${describeNameArg(arg)}, ...)\\``\n          } else {\n            expression = '`cookies().set(...)`'\n          }\n        }\n        const error = createCookiesAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    delete: {\n      value: function () {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().delete()`'\n        } else if (arguments.length === 1) {\n          expression = `\\`cookies().delete(${describeNameArg(arguments[0])})\\``\n        } else {\n          expression = `\\`cookies().delete(${describeNameArg(arguments[0])}, ...)\\``\n        }\n        const error = createCookiesAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    clear: {\n      value: function clear() {\n        const expression = '`cookies().clear()`'\n        const error = createCookiesAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    toString: {\n      value: function toString() {\n        const expression = '`cookies().toString()`'\n        const error = createCookiesAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n  } satisfies CookieExtensions)\n\n  return promise\n}\n\nfunction makeUntrackedExoticCookies(\n  underlyingCookies: ReadonlyRequestCookies\n): Promise<ReadonlyRequestCookies> {\n  const cachedCookies = CachedCookies.get(underlyingCookies)\n  if (cachedCookies) {\n    return cachedCookies\n  }\n\n  const promise = Promise.resolve(underlyingCookies)\n  CachedCookies.set(underlyingCookies, promise)\n\n  Object.defineProperties(promise, {\n    [Symbol.iterator]: {\n      value: underlyingCookies[Symbol.iterator]\n        ? underlyingCookies[Symbol.iterator].bind(underlyingCookies)\n        : // TODO this is a polyfill for when the underlying type is ResponseCookies\n          // We should remove this and unify our cookies types. We could just let this continue to throw lazily\n          // but that's already a hard thing to debug so we may as well implement it consistently. The biggest problem with\n          // implementing this in this way is the underlying cookie type is a ResponseCookie and not a RequestCookie and so it\n          // has extra properties not available on RequestCookie instances.\n          polyfilledResponseCookiesIterator.bind(underlyingCookies),\n    },\n    size: {\n      get(): number {\n        return underlyingCookies.size\n      },\n    },\n    get: {\n      value: underlyingCookies.get.bind(underlyingCookies),\n    },\n    getAll: {\n      value: underlyingCookies.getAll.bind(underlyingCookies),\n    },\n    has: {\n      value: underlyingCookies.has.bind(underlyingCookies),\n    },\n    set: {\n      value: underlyingCookies.set.bind(underlyingCookies),\n    },\n    delete: {\n      value: underlyingCookies.delete.bind(underlyingCookies),\n    },\n    clear: {\n      value:\n        // @ts-expect-error clear is defined in RequestCookies implementation but not in the type\n        typeof underlyingCookies.clear === 'function'\n          ? // @ts-expect-error clear is defined in RequestCookies implementation but not in the type\n            underlyingCookies.clear.bind(underlyingCookies)\n          : // TODO this is a polyfill for when the underlying type is ResponseCookies\n            // We should remove this and unify our cookies types. We could just let this continue to throw lazily\n            // but that's already a hard thing to debug so we may as well implement it consistently. The biggest problem with\n            // implementing this in this way is the underlying cookie type is a ResponseCookie and not a RequestCookie and so it\n            // has extra properties not available on RequestCookie instances.\n            polyfilledResponseCookiesClear.bind(underlyingCookies, promise),\n    },\n    toString: {\n      value: underlyingCookies.toString.bind(underlyingCookies),\n    },\n  } satisfies CookieExtensions)\n\n  return promise\n}\n\nfunction makeUntrackedExoticCookiesWithDevWarnings(\n  underlyingCookies: ReadonlyRequestCookies,\n  route?: string\n): Promise<ReadonlyRequestCookies> {\n  const cachedCookies = CachedCookies.get(underlyingCookies)\n  if (cachedCookies) {\n    return cachedCookies\n  }\n\n  const promise = new Promise<ReadonlyRequestCookies>((resolve) =>\n    scheduleImmediate(() => resolve(underlyingCookies))\n  )\n  CachedCookies.set(underlyingCookies, promise)\n\n  Object.defineProperties(promise, {\n    [Symbol.iterator]: {\n      value: function () {\n        const expression = '`...cookies()` or similar iteration'\n        syncIODev(route, expression)\n        return underlyingCookies[Symbol.iterator]\n          ? underlyingCookies[Symbol.iterator].apply(\n              underlyingCookies,\n              arguments as any\n            )\n          : // TODO this is a polyfill for when the underlying type is ResponseCookies\n            // We should remove this and unify our cookies types. We could just let this continue to throw lazily\n            // but that's already a hard thing to debug so we may as well implement it consistently. The biggest problem with\n            // implementing this in this way is the underlying cookie type is a ResponseCookie and not a RequestCookie and so it\n            // has extra properties not available on RequestCookie instances.\n            polyfilledResponseCookiesIterator.call(underlyingCookies)\n      },\n      writable: false,\n    },\n    size: {\n      get(): number {\n        const expression = '`cookies().size`'\n        syncIODev(route, expression)\n        return underlyingCookies.size\n      },\n    },\n    get: {\n      value: function get() {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().get()`'\n        } else {\n          expression = `\\`cookies().get(${describeNameArg(arguments[0])})\\``\n        }\n        syncIODev(route, expression)\n        return underlyingCookies.get.apply(underlyingCookies, arguments as any)\n      },\n      writable: false,\n    },\n    getAll: {\n      value: function getAll() {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().getAll()`'\n        } else {\n          expression = `\\`cookies().getAll(${describeNameArg(arguments[0])})\\``\n        }\n        syncIODev(route, expression)\n        return underlyingCookies.getAll.apply(\n          underlyingCookies,\n          arguments as any\n        )\n      },\n      writable: false,\n    },\n    has: {\n      value: function get() {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().has()`'\n        } else {\n          expression = `\\`cookies().has(${describeNameArg(arguments[0])})\\``\n        }\n        syncIODev(route, expression)\n        return underlyingCookies.has.apply(underlyingCookies, arguments as any)\n      },\n      writable: false,\n    },\n    set: {\n      value: function set() {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().set()`'\n        } else {\n          const arg = arguments[0]\n          if (arg) {\n            expression = `\\`cookies().set(${describeNameArg(arg)}, ...)\\``\n          } else {\n            expression = '`cookies().set(...)`'\n          }\n        }\n        syncIODev(route, expression)\n        return underlyingCookies.set.apply(underlyingCookies, arguments as any)\n      },\n      writable: false,\n    },\n    delete: {\n      value: function () {\n        let expression: string\n        if (arguments.length === 0) {\n          expression = '`cookies().delete()`'\n        } else if (arguments.length === 1) {\n          expression = `\\`cookies().delete(${describeNameArg(arguments[0])})\\``\n        } else {\n          expression = `\\`cookies().delete(${describeNameArg(arguments[0])}, ...)\\``\n        }\n        syncIODev(route, expression)\n        return underlyingCookies.delete.apply(\n          underlyingCookies,\n          arguments as any\n        )\n      },\n      writable: false,\n    },\n    clear: {\n      value: function clear() {\n        const expression = '`cookies().clear()`'\n        syncIODev(route, expression)\n        // @ts-ignore clear is defined in RequestCookies implementation but not in the type\n        return typeof underlyingCookies.clear === 'function'\n          ? // @ts-ignore clear is defined in RequestCookies implementation but not in the type\n            underlyingCookies.clear.apply(underlyingCookies, arguments)\n          : // TODO this is a polyfill for when the underlying type is ResponseCookies\n            // We should remove this and unify our cookies types. We could just let this continue to throw lazily\n            // but that's already a hard thing to debug so we may as well implement it consistently. The biggest problem with\n            // implementing this in this way is the underlying cookie type is a ResponseCookie and not a RequestCookie and so it\n            // has extra properties not available on RequestCookie instances.\n            polyfilledResponseCookiesClear.call(underlyingCookies, promise)\n      },\n      writable: false,\n    },\n    toString: {\n      value: function toString() {\n        const expression = '`cookies().toString()` or implicit casting'\n        syncIODev(route, expression)\n        return underlyingCookies.toString.apply(\n          underlyingCookies,\n          arguments as any\n        )\n      },\n      writable: false,\n    },\n  } satisfies CookieExtensions)\n\n  return promise\n}\n\nfunction describeNameArg(arg: unknown) {\n  return typeof arg === 'object' &&\n    arg !== null &&\n    typeof (arg as any).name === 'string'\n    ? `'${(arg as any).name}'`\n    : typeof arg === 'string'\n      ? `'${arg}'`\n      : '...'\n}\n\nfunction syncIODev(route: string | undefined, expression: string) {\n  const workUnitStore = workUnitAsyncStorage.getStore()\n  if (\n    workUnitStore &&\n    workUnitStore.type === 'request' &&\n    workUnitStore.prerenderPhase === true\n  ) {\n    // When we're rendering dynamically in dev we need to advance out of the\n    // Prerender environment when we read Request data synchronously\n    const requestStore = workUnitStore\n    trackSynchronousRequestDataAccessInDev(requestStore)\n  }\n  // In all cases we warn normally\n  warnForSyncAccess(route, expression)\n}\n\nconst warnForSyncAccess = createDedupedByCallsiteServerErrorLoggerDev(\n  createCookiesAccessError\n)\n\nfunction createCookiesAccessError(\n  route: string | undefined,\n  expression: string\n) {\n  const prefix = route ? `Route \"${route}\" ` : 'This route '\n  return new Error(\n    `${prefix}used ${expression}. ` +\n      `\\`cookies()\\` should be awaited before using its value. ` +\n      `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`\n  )\n}\n\nfunction polyfilledResponseCookiesIterator(\n  this: ResponseCookies\n): ReturnType<ReadonlyRequestCookies[typeof Symbol.iterator]> {\n  return this.getAll()\n    .map((c) => [c.name, c] as [string, any])\n    .values()\n}\n\nfunction polyfilledResponseCookiesClear(\n  this: ResponseCookies,\n  returnable: Promise<ReadonlyRequestCookies>\n): typeof returnable {\n  for (const cookie of this.getAll()) {\n    this.delete(cookie.name)\n  }\n  return returnable\n}\n\ntype CookieExtensions = {\n  [K in keyof ReadonlyRequestCookies | 'clear']: unknown\n}\n","import type { IncomingHttpHeaders } from 'http'\n\nimport { ReflectAdapter } from './reflect'\n\n/**\n * @internal\n */\nexport class ReadonlyHeadersError extends Error {\n  constructor() {\n    super(\n      'Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers'\n    )\n  }\n\n  public static callable() {\n    throw new ReadonlyHeadersError()\n  }\n}\n\nexport type ReadonlyHeaders = Headers & {\n  /** @deprecated Method unavailable on `ReadonlyHeaders`. Read more: https://nextjs.org/docs/app/api-reference/functions/headers */\n  append(...args: any[]): void\n  /** @deprecated Method unavailable on `ReadonlyHeaders`. Read more: https://nextjs.org/docs/app/api-reference/functions/headers */\n  set(...args: any[]): void\n  /** @deprecated Method unavailable on `ReadonlyHeaders`. Read more: https://nextjs.org/docs/app/api-reference/functions/headers */\n  delete(...args: any[]): void\n}\nexport class HeadersAdapter extends Headers {\n  private readonly headers: IncomingHttpHeaders\n\n  constructor(headers: IncomingHttpHeaders) {\n    // We've already overridden the methods that would be called, so we're just\n    // calling the super constructor to ensure that the instanceof check works.\n    super()\n\n    this.headers = new Proxy(headers, {\n      get(target, prop, receiver) {\n        // Because this is just an object, we expect that all \"get\" operations\n        // are for properties. If it's a \"get\" for a symbol, we'll just return\n        // the symbol.\n        if (typeof prop === 'symbol') {\n          return ReflectAdapter.get(target, prop, receiver)\n        }\n\n        const lowercased = prop.toLowerCase()\n\n        // Let's find the original casing of the key. This assumes that there is\n        // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n        // headers object.\n        const original = Object.keys(headers).find(\n          (o) => o.toLowerCase() === lowercased\n        )\n\n        // If the original casing doesn't exist, return undefined.\n        if (typeof original === 'undefined') return\n\n        // If the original casing exists, return the value.\n        return ReflectAdapter.get(target, original, receiver)\n      },\n      set(target, prop, value, receiver) {\n        if (typeof prop === 'symbol') {\n          return ReflectAdapter.set(target, prop, value, receiver)\n        }\n\n        const lowercased = prop.toLowerCase()\n\n        // Let's find the original casing of the key. This assumes that there is\n        // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n        // headers object.\n        const original = Object.keys(headers).find(\n          (o) => o.toLowerCase() === lowercased\n        )\n\n        // If the original casing doesn't exist, use the prop as the key.\n        return ReflectAdapter.set(target, original ?? prop, value, receiver)\n      },\n      has(target, prop) {\n        if (typeof prop === 'symbol') return ReflectAdapter.has(target, prop)\n\n        const lowercased = prop.toLowerCase()\n\n        // Let's find the original casing of the key. This assumes that there is\n        // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n        // headers object.\n        const original = Object.keys(headers).find(\n          (o) => o.toLowerCase() === lowercased\n        )\n\n        // If the original casing doesn't exist, return false.\n        if (typeof original === 'undefined') return false\n\n        // If the original casing exists, return true.\n        return ReflectAdapter.has(target, original)\n      },\n      deleteProperty(target, prop) {\n        if (typeof prop === 'symbol')\n          return ReflectAdapter.deleteProperty(target, prop)\n\n        const lowercased = prop.toLowerCase()\n\n        // Let's find the original casing of the key. This assumes that there is\n        // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n        // headers object.\n        const original = Object.keys(headers).find(\n          (o) => o.toLowerCase() === lowercased\n        )\n\n        // If the original casing doesn't exist, return true.\n        if (typeof original === 'undefined') return true\n\n        // If the original casing exists, delete the property.\n        return ReflectAdapter.deleteProperty(target, original)\n      },\n    })\n  }\n\n  /**\n   * Seals a Headers instance to prevent modification by throwing an error when\n   * any mutating method is called.\n   */\n  public static seal(headers: Headers): ReadonlyHeaders {\n    return new Proxy<ReadonlyHeaders>(headers, {\n      get(target, prop, receiver) {\n        switch (prop) {\n          case 'append':\n          case 'delete':\n          case 'set':\n            return ReadonlyHeadersError.callable\n          default:\n            return ReflectAdapter.get(target, prop, receiver)\n        }\n      },\n    })\n  }\n\n  /**\n   * Merges a header value into a string. This stores multiple values as an\n   * array, so we need to merge them into a string.\n   *\n   * @param value a header value\n   * @returns a merged header value (a string)\n   */\n  private merge(value: string | string[]): string {\n    if (Array.isArray(value)) return value.join(', ')\n\n    return value\n  }\n\n  /**\n   * Creates a Headers instance from a plain object or a Headers instance.\n   *\n   * @param headers a plain object or a Headers instance\n   * @returns a headers instance\n   */\n  public static from(headers: IncomingHttpHeaders | Headers): Headers {\n    if (headers instanceof Headers) return headers\n\n    return new HeadersAdapter(headers)\n  }\n\n  public append(name: string, value: string): void {\n    const existing = this.headers[name]\n    if (typeof existing === 'string') {\n      this.headers[name] = [existing, value]\n    } else if (Array.isArray(existing)) {\n      existing.push(value)\n    } else {\n      this.headers[name] = value\n    }\n  }\n\n  public delete(name: string): void {\n    delete this.headers[name]\n  }\n\n  public get(name: string): string | null {\n    const value = this.headers[name]\n    if (typeof value !== 'undefined') return this.merge(value)\n\n    return null\n  }\n\n  public has(name: string): boolean {\n    return typeof this.headers[name] !== 'undefined'\n  }\n\n  public set(name: string, value: string): void {\n    this.headers[name] = value\n  }\n\n  public forEach(\n    callbackfn: (value: string, name: string, parent: Headers) => void,\n    thisArg?: any\n  ): void {\n    for (const [name, value] of this.entries()) {\n      callbackfn.call(thisArg, value, name, this)\n    }\n  }\n\n  public *entries(): HeadersIterator<[string, string]> {\n    for (const key of Object.keys(this.headers)) {\n      const name = key.toLowerCase()\n      // We assert here that this is a string because we got it from the\n      // Object.keys() call above.\n      const value = this.get(name) as string\n\n      yield [name, value] as [string, string]\n    }\n  }\n\n  public *keys(): HeadersIterator<string> {\n    for (const key of Object.keys(this.headers)) {\n      const name = key.toLowerCase()\n      yield name\n    }\n  }\n\n  public *values(): HeadersIterator<string> {\n    for (const key of Object.keys(this.headers)) {\n      // We assert here that this is a string because we got it from the\n      // Object.keys() call above.\n      const value = this.get(key) as string\n\n      yield value\n    }\n  }\n\n  public [Symbol.iterator](): HeadersIterator<[string, string]> {\n    return this.entries()\n  }\n}\n","import {\n  HeadersAdapter,\n  type ReadonlyHeaders,\n} from '../web/spec-extension/adapters/headers'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { getExpectedRequestStore } from '../app-render/work-unit-async-storage.external'\nimport {\n  workUnitAsyncStorage,\n  type PrerenderStoreModern,\n} from '../app-render/work-unit-async-storage.external'\nimport {\n  postponeWithTracking,\n  abortAndThrowOnSynchronousRequestDataAccess,\n  throwToInterruptStaticGeneration,\n  trackDynamicDataInDynamicRender,\n  trackSynchronousRequestDataAccessInDev,\n} from '../app-render/dynamic-rendering'\nimport { StaticGenBailoutError } from '../../client/components/static-generation-bailout'\nimport { makeHangingPromise } from '../dynamic-rendering-utils'\nimport { createDedupedByCallsiteServerErrorLoggerDev } from '../create-deduped-by-callsite-server-error-logger'\nimport { scheduleImmediate } from '../../lib/scheduler'\nimport { isRequestAPICallableInsideAfter } from './utils'\n\n/**\n * In this version of Next.js `headers()` returns a Promise however you can still reference the properties of the underlying Headers instance\n * synchronously to facilitate migration. The `UnsafeUnwrappedHeaders` type is added to your code by a codemod that attempts to automatically\n * updates callsites to reflect the new Promise return type. There are some cases where `headers()` cannot be automatically converted, namely\n * when it is used inside a synchronous function and we can't be sure the function can be made async automatically. In these cases we add an\n * explicit type case to `UnsafeUnwrappedHeaders` to enable typescript to allow for the synchronous usage only where it is actually necessary.\n *\n * You should should update these callsites to either be async functions where the `headers()` value can be awaited or you should call `headers()`\n * from outside and await the return value before passing it into this function.\n *\n * You can find instances that require manual migration by searching for `UnsafeUnwrappedHeaders` in your codebase or by search for a comment that\n * starts with `@next-codemod-error`.\n *\n * In a future version of Next.js `headers()` will only return a Promise and you will not be able to access the underlying Headers instance\n * without awaiting the return value first. When this change happens the type `UnsafeUnwrappedHeaders` will be updated to reflect that is it no longer\n * usable.\n *\n * This type is marked deprecated to help identify it as target for refactoring away.\n *\n * @deprecated\n */\nexport type UnsafeUnwrappedHeaders = ReadonlyHeaders\n\n/**\n * This function allows you to read the HTTP incoming request headers in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers) and\n * [Middleware](https://nextjs.org/docs/app/building-your-application/routing/middleware).\n *\n * Read more: [Next.js Docs: `headers`](https://nextjs.org/docs/app/api-reference/functions/headers)\n */\nexport function headers(): Promise<ReadonlyHeaders> {\n  const workStore = workAsyncStorage.getStore()\n  const workUnitStore = workUnitAsyncStorage.getStore()\n\n  if (workStore) {\n    if (\n      workUnitStore &&\n      workUnitStore.phase === 'after' &&\n      !isRequestAPICallableInsideAfter()\n    ) {\n      throw new Error(\n        `Route ${workStore.route} used \"headers\" inside \"after(...)\". This is not supported. If you need this data inside an \"after\" callback, use \"headers\" outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`\n      )\n    }\n\n    if (workStore.forceStatic) {\n      // When using forceStatic we override all other logic and always just return an empty\n      // headers object without tracking\n      const underlyingHeaders = HeadersAdapter.seal(new Headers({}))\n      return makeUntrackedExoticHeaders(underlyingHeaders)\n    }\n\n    if (workUnitStore) {\n      if (workUnitStore.type === 'cache') {\n        throw new Error(\n          `Route ${workStore.route} used \"headers\" inside \"use cache\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \"headers\" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`\n        )\n      } else if (workUnitStore.type === 'unstable-cache') {\n        throw new Error(\n          `Route ${workStore.route} used \"headers\" inside a function cached with \"unstable_cache(...)\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \"headers\" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`\n        )\n      }\n    }\n    if (workStore.dynamicShouldError) {\n      throw new StaticGenBailoutError(\n        `Route ${workStore.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`headers\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`\n      )\n    }\n\n    if (workUnitStore) {\n      if (workUnitStore.type === 'prerender') {\n        // dynamicIO Prerender\n        // We don't track dynamic access here because access will be tracked when you access\n        // one of the properties of the headers object.\n        return makeDynamicallyTrackedExoticHeaders(\n          workStore.route,\n          workUnitStore\n        )\n      } else if (workUnitStore.type === 'prerender-ppr') {\n        // PPR Prerender (no dynamicIO)\n        // We are prerendering with PPR. We need track dynamic access here eagerly\n        // to keep continuity with how headers has worked in PPR without dynamicIO.\n        // TODO consider switching the semantic to throw on property access instead\n        postponeWithTracking(\n          workStore.route,\n          'headers',\n          workUnitStore.dynamicTracking\n        )\n      } else if (workUnitStore.type === 'prerender-legacy') {\n        // Legacy Prerender\n        // We are in a legacy static generation mode while prerendering\n        // We track dynamic access here so we don't need to wrap the headers in\n        // individual property access tracking.\n        throwToInterruptStaticGeneration('headers', workStore, workUnitStore)\n      }\n    }\n    // We fall through to the dynamic context below but we still track dynamic access\n    // because in dev we can still error for things like using headers inside a cache context\n    trackDynamicDataInDynamicRender(workStore, workUnitStore)\n  }\n\n  const requestStore = getExpectedRequestStore('headers')\n  if (process.env.NODE_ENV === 'development' && !workStore?.isPrefetchRequest) {\n    return makeUntrackedExoticHeadersWithDevWarnings(\n      requestStore.headers,\n      workStore?.route\n    )\n  } else {\n    return makeUntrackedExoticHeaders(requestStore.headers)\n  }\n}\n\ninterface CacheLifetime {}\nconst CachedHeaders = new WeakMap<CacheLifetime, Promise<ReadonlyHeaders>>()\n\nfunction makeDynamicallyTrackedExoticHeaders(\n  route: string,\n  prerenderStore: PrerenderStoreModern\n): Promise<ReadonlyHeaders> {\n  const cachedHeaders = CachedHeaders.get(prerenderStore)\n  if (cachedHeaders) {\n    return cachedHeaders\n  }\n\n  const promise = makeHangingPromise<ReadonlyHeaders>(\n    prerenderStore.renderSignal,\n    '`headers()`'\n  )\n  CachedHeaders.set(prerenderStore, promise)\n\n  Object.defineProperties(promise, {\n    append: {\n      value: function append() {\n        const expression = `\\`headers().append(${describeNameArg(arguments[0])}, ...)\\``\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    delete: {\n      value: function _delete() {\n        const expression = `\\`headers().delete(${describeNameArg(arguments[0])})\\``\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    get: {\n      value: function get() {\n        const expression = `\\`headers().get(${describeNameArg(arguments[0])})\\``\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    has: {\n      value: function has() {\n        const expression = `\\`headers().has(${describeNameArg(arguments[0])})\\``\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    set: {\n      value: function set() {\n        const expression = `\\`headers().set(${describeNameArg(arguments[0])}, ...)\\``\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    getSetCookie: {\n      value: function getSetCookie() {\n        const expression = '`headers().getSetCookie()`'\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    forEach: {\n      value: function forEach() {\n        const expression = '`headers().forEach(...)`'\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    keys: {\n      value: function keys() {\n        const expression = '`headers().keys()`'\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    values: {\n      value: function values() {\n        const expression = '`headers().values()`'\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    entries: {\n      value: function entries() {\n        const expression = '`headers().entries()`'\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n    [Symbol.iterator]: {\n      value: function () {\n        const expression = '`headers()[Symbol.iterator]()`'\n        const error = createHeadersAccessError(route, expression)\n        abortAndThrowOnSynchronousRequestDataAccess(\n          route,\n          expression,\n          error,\n          prerenderStore\n        )\n      },\n    },\n  } satisfies HeadersExtensions)\n\n  return promise\n}\n\nfunction makeUntrackedExoticHeaders(\n  underlyingHeaders: ReadonlyHeaders\n): Promise<ReadonlyHeaders> {\n  const cachedHeaders = CachedHeaders.get(underlyingHeaders)\n  if (cachedHeaders) {\n    return cachedHeaders\n  }\n\n  const promise = Promise.resolve(underlyingHeaders)\n  CachedHeaders.set(underlyingHeaders, promise)\n\n  Object.defineProperties(promise, {\n    append: {\n      value: underlyingHeaders.append.bind(underlyingHeaders),\n    },\n    delete: {\n      value: underlyingHeaders.delete.bind(underlyingHeaders),\n    },\n    get: {\n      value: underlyingHeaders.get.bind(underlyingHeaders),\n    },\n    has: {\n      value: underlyingHeaders.has.bind(underlyingHeaders),\n    },\n    set: {\n      value: underlyingHeaders.set.bind(underlyingHeaders),\n    },\n    getSetCookie: {\n      value: underlyingHeaders.getSetCookie.bind(underlyingHeaders),\n    },\n    forEach: {\n      value: underlyingHeaders.forEach.bind(underlyingHeaders),\n    },\n    keys: {\n      value: underlyingHeaders.keys.bind(underlyingHeaders),\n    },\n    values: {\n      value: underlyingHeaders.values.bind(underlyingHeaders),\n    },\n    entries: {\n      value: underlyingHeaders.entries.bind(underlyingHeaders),\n    },\n    [Symbol.iterator]: {\n      value: underlyingHeaders[Symbol.iterator].bind(underlyingHeaders),\n    },\n  } satisfies HeadersExtensions)\n\n  return promise\n}\n\nfunction makeUntrackedExoticHeadersWithDevWarnings(\n  underlyingHeaders: ReadonlyHeaders,\n  route?: string\n): Promise<ReadonlyHeaders> {\n  const cachedHeaders = CachedHeaders.get(underlyingHeaders)\n  if (cachedHeaders) {\n    return cachedHeaders\n  }\n\n  const promise = new Promise<ReadonlyHeaders>((resolve) =>\n    scheduleImmediate(() => resolve(underlyingHeaders))\n  )\n\n  CachedHeaders.set(underlyingHeaders, promise)\n\n  Object.defineProperties(promise, {\n    append: {\n      value: function append() {\n        const expression = `\\`headers().append(${describeNameArg(arguments[0])}, ...)\\``\n        syncIODev(route, expression)\n        return underlyingHeaders.append.apply(\n          underlyingHeaders,\n          arguments as any\n        )\n      },\n    },\n    delete: {\n      value: function _delete() {\n        const expression = `\\`headers().delete(${describeNameArg(arguments[0])})\\``\n        syncIODev(route, expression)\n        return underlyingHeaders.delete.apply(\n          underlyingHeaders,\n          arguments as any\n        )\n      },\n    },\n    get: {\n      value: function get() {\n        const expression = `\\`headers().get(${describeNameArg(arguments[0])})\\``\n        syncIODev(route, expression)\n        return underlyingHeaders.get.apply(underlyingHeaders, arguments as any)\n      },\n    },\n    has: {\n      value: function has() {\n        const expression = `\\`headers().has(${describeNameArg(arguments[0])})\\``\n        syncIODev(route, expression)\n        return underlyingHeaders.has.apply(underlyingHeaders, arguments as any)\n      },\n    },\n    set: {\n      value: function set() {\n        const expression = `\\`headers().set(${describeNameArg(arguments[0])}, ...)\\``\n        syncIODev(route, expression)\n        return underlyingHeaders.set.apply(underlyingHeaders, arguments as any)\n      },\n    },\n    getSetCookie: {\n      value: function getSetCookie() {\n        const expression = '`headers().getSetCookie()`'\n        syncIODev(route, expression)\n        return underlyingHeaders.getSetCookie.apply(\n          underlyingHeaders,\n          arguments as any\n        )\n      },\n    },\n    forEach: {\n      value: function forEach() {\n        const expression = '`headers().forEach(...)`'\n        syncIODev(route, expression)\n        return underlyingHeaders.forEach.apply(\n          underlyingHeaders,\n          arguments as any\n        )\n      },\n    },\n    keys: {\n      value: function keys() {\n        const expression = '`headers().keys()`'\n        syncIODev(route, expression)\n        return underlyingHeaders.keys.apply(underlyingHeaders, arguments as any)\n      },\n    },\n    values: {\n      value: function values() {\n        const expression = '`headers().values()`'\n        syncIODev(route, expression)\n        return underlyingHeaders.values.apply(\n          underlyingHeaders,\n          arguments as any\n        )\n      },\n    },\n    entries: {\n      value: function entries() {\n        const expression = '`headers().entries()`'\n        syncIODev(route, expression)\n        return underlyingHeaders.entries.apply(\n          underlyingHeaders,\n          arguments as any\n        )\n      },\n    },\n    [Symbol.iterator]: {\n      value: function () {\n        const expression = '`...headers()` or similar iteration'\n        syncIODev(route, expression)\n        return underlyingHeaders[Symbol.iterator].apply(\n          underlyingHeaders,\n          arguments as any\n        )\n      },\n    },\n  } satisfies HeadersExtensions)\n\n  return promise\n}\n\nfunction describeNameArg(arg: unknown) {\n  return typeof arg === 'string' ? `'${arg}'` : '...'\n}\n\nfunction syncIODev(route: string | undefined, expression: string) {\n  const workUnitStore = workUnitAsyncStorage.getStore()\n  if (\n    workUnitStore &&\n    workUnitStore.type === 'request' &&\n    workUnitStore.prerenderPhase === true\n  ) {\n    // When we're rendering dynamically in dev we need to advance out of the\n    // Prerender environment when we read Request data synchronously\n    const requestStore = workUnitStore\n    trackSynchronousRequestDataAccessInDev(requestStore)\n  }\n  // In all cases we warn normally\n  warnForSyncAccess(route, expression)\n}\n\nconst warnForSyncAccess = createDedupedByCallsiteServerErrorLoggerDev(\n  createHeadersAccessError\n)\n\nfunction createHeadersAccessError(\n  route: string | undefined,\n  expression: string\n) {\n  const prefix = route ? `Route \"${route}\" ` : 'This route '\n  return new Error(\n    `${prefix}used ${expression}. ` +\n      `\\`headers()\\` should be awaited before using its value. ` +\n      `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`\n  )\n}\n\ntype HeadersExtensions = {\n  [K in keyof ReadonlyHeaders]: unknown\n}\n","import {\n  getDraftModeProviderForCacheScope,\n  throwForMissingRequestStore,\n} from '../app-render/work-unit-async-storage.external'\n\nimport type { DraftModeProvider } from '../async-storage/draft-mode-provider'\n\nimport {\n  workAsyncStorage,\n  type WorkStore,\n} from '../app-render/work-async-storage.external'\nimport { workUnitAsyncStorage } from '../app-render/work-unit-async-storage.external'\nimport {\n  abortAndThrowOnSynchronousRequestDataAccess,\n  postponeWithTracking,\n  trackSynchronousRequestDataAccessInDev,\n} from '../app-render/dynamic-rendering'\nimport { createDedupedByCallsiteServerErrorLoggerDev } from '../create-deduped-by-callsite-server-error-logger'\nimport { StaticGenBailoutError } from '../../client/components/static-generation-bailout'\nimport { DynamicServerError } from '../../client/components/hooks-server-context'\n\n/**\n * In this version of Next.js `draftMode()` returns a Promise however you can still reference the properties of the underlying draftMode object\n * synchronously to facilitate migration. The `UnsafeUnwrappedDraftMode` type is added to your code by a codemod that attempts to automatically\n * updates callsites to reflect the new Promise return type. There are some cases where `draftMode()` cannot be automatically converted, namely\n * when it is used inside a synchronous function and we can't be sure the function can be made async automatically. In these cases we add an\n * explicit type case to `UnsafeUnwrappedDraftMode` to enable typescript to allow for the synchronous usage only where it is actually necessary.\n *\n * You should should update these callsites to either be async functions where the `draftMode()` value can be awaited or you should call `draftMode()`\n * from outside and await the return value before passing it into this function.\n *\n * You can find instances that require manual migration by searching for `UnsafeUnwrappedDraftMode` in your codebase or by search for a comment that\n * starts with `@next-codemod-error`.\n *\n * In a future version of Next.js `draftMode()` will only return a Promise and you will not be able to access the underlying draftMode object directly\n * without awaiting the return value first. When this change happens the type `UnsafeUnwrappedDraftMode` will be updated to reflect that is it no longer\n * usable.\n *\n * This type is marked deprecated to help identify it as target for refactoring away.\n *\n * @deprecated\n */\nexport type UnsafeUnwrappedDraftMode = DraftMode\n\nexport function draftMode(): Promise<DraftMode> {\n  const callingExpression = 'draftMode'\n  const workStore = workAsyncStorage.getStore()\n  const workUnitStore = workUnitAsyncStorage.getStore()\n\n  if (!workStore || !workUnitStore) {\n    throwForMissingRequestStore(callingExpression)\n  }\n\n  switch (workUnitStore.type) {\n    case 'request':\n      return createOrGetCachedExoticDraftMode(\n        workUnitStore.draftMode,\n        workStore\n      )\n\n    case 'cache':\n    case 'unstable-cache':\n      // Inside of `\"use cache\"` or `unstable_cache`, draft mode is available if\n      // the outmost work unit store is a request store, and if draft mode is\n      // enabled.\n      const draftModeProvider = getDraftModeProviderForCacheScope(\n        workStore,\n        workUnitStore\n      )\n\n      if (draftModeProvider) {\n        return createOrGetCachedExoticDraftMode(draftModeProvider, workStore)\n      }\n\n    // Otherwise, we fall through to providing an empty draft mode.\n    // eslint-disable-next-line no-fallthrough\n    case 'prerender':\n    case 'prerender-ppr':\n    case 'prerender-legacy':\n      // Return empty draft mode\n      if (\n        process.env.NODE_ENV === 'development' &&\n        !workStore?.isPrefetchRequest\n      ) {\n        const route = workStore?.route\n        return createExoticDraftModeWithDevWarnings(null, route)\n      } else {\n        return createExoticDraftMode(null)\n      }\n\n    default:\n      const _exhaustiveCheck: never = workUnitStore\n      return _exhaustiveCheck\n  }\n}\n\nfunction createOrGetCachedExoticDraftMode(\n  draftModeProvider: DraftModeProvider,\n  workStore: WorkStore | undefined\n): Promise<DraftMode> {\n  const cachedDraftMode = CachedDraftModes.get(draftMode)\n\n  if (cachedDraftMode) {\n    return cachedDraftMode\n  }\n\n  let promise: Promise<DraftMode>\n\n  if (process.env.NODE_ENV === 'development' && !workStore?.isPrefetchRequest) {\n    const route = workStore?.route\n    promise = createExoticDraftModeWithDevWarnings(draftModeProvider, route)\n  } else {\n    promise = createExoticDraftMode(draftModeProvider)\n  }\n\n  CachedDraftModes.set(draftModeProvider, promise)\n\n  return promise\n}\n\ninterface CacheLifetime {}\nconst CachedDraftModes = new WeakMap<CacheLifetime, Promise<DraftMode>>()\n\nfunction createExoticDraftMode(\n  underlyingProvider: null | DraftModeProvider\n): Promise<DraftMode> {\n  const instance = new DraftMode(underlyingProvider)\n  const promise = Promise.resolve(instance)\n\n  Object.defineProperty(promise, 'isEnabled', {\n    get() {\n      return instance.isEnabled\n    },\n    set(newValue) {\n      Object.defineProperty(promise, 'isEnabled', {\n        value: newValue,\n        writable: true,\n        enumerable: true,\n      })\n    },\n    enumerable: true,\n    configurable: true,\n  })\n  ;(promise as any).enable = instance.enable.bind(instance)\n  ;(promise as any).disable = instance.disable.bind(instance)\n\n  return promise\n}\n\nfunction createExoticDraftModeWithDevWarnings(\n  underlyingProvider: null | DraftModeProvider,\n  route: undefined | string\n): Promise<DraftMode> {\n  const instance = new DraftMode(underlyingProvider)\n  const promise = Promise.resolve(instance)\n\n  Object.defineProperty(promise, 'isEnabled', {\n    get() {\n      const expression = '`draftMode().isEnabled`'\n      syncIODev(route, expression)\n      return instance.isEnabled\n    },\n    set(newValue) {\n      Object.defineProperty(promise, 'isEnabled', {\n        value: newValue,\n        writable: true,\n        enumerable: true,\n      })\n    },\n    enumerable: true,\n    configurable: true,\n  })\n\n  Object.defineProperty(promise, 'enable', {\n    value: function get() {\n      const expression = '`draftMode().enable()`'\n      syncIODev(route, expression)\n      return instance.enable.apply(instance, arguments as any)\n    },\n  })\n\n  Object.defineProperty(promise, 'disable', {\n    value: function get() {\n      const expression = '`draftMode().disable()`'\n      syncIODev(route, expression)\n      return instance.disable.apply(instance, arguments as any)\n    },\n  })\n\n  return promise\n}\n\nclass DraftMode {\n  /**\n   * @internal - this declaration is stripped via `tsc --stripInternal`\n   */\n  private readonly _provider: null | DraftModeProvider\n\n  constructor(provider: null | DraftModeProvider) {\n    this._provider = provider\n  }\n  get isEnabled() {\n    if (this._provider !== null) {\n      return this._provider.isEnabled\n    }\n    return false\n  }\n  public enable() {\n    // We have a store we want to track dynamic data access to ensure we\n    // don't statically generate routes that manipulate draft mode.\n    trackDynamicDraftMode('draftMode().enable()')\n    if (this._provider !== null) {\n      this._provider.enable()\n    }\n  }\n  public disable() {\n    trackDynamicDraftMode('draftMode().disable()')\n    if (this._provider !== null) {\n      this._provider.disable()\n    }\n  }\n}\n\nfunction syncIODev(route: string | undefined, expression: string) {\n  const workUnitStore = workUnitAsyncStorage.getStore()\n  if (\n    workUnitStore &&\n    workUnitStore.type === 'request' &&\n    workUnitStore.prerenderPhase === true\n  ) {\n    // When we're rendering dynamically in dev we need to advance out of the\n    // Prerender environment when we read Request data synchronously\n    const requestStore = workUnitStore\n    trackSynchronousRequestDataAccessInDev(requestStore)\n  }\n  // In all cases we warn normally\n  warnForSyncAccess(route, expression)\n}\n\nconst warnForSyncAccess = createDedupedByCallsiteServerErrorLoggerDev(\n  createDraftModeAccessError\n)\n\nfunction createDraftModeAccessError(\n  route: string | undefined,\n  expression: string\n) {\n  const prefix = route ? `Route \"${route}\" ` : 'This route '\n  return new Error(\n    `${prefix}used ${expression}. ` +\n      `\\`draftMode()\\` should be awaited before using its value. ` +\n      `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`\n  )\n}\n\nfunction trackDynamicDraftMode(expression: string) {\n  const store = workAsyncStorage.getStore()\n  const workUnitStore = workUnitAsyncStorage.getStore()\n  if (store) {\n    // We have a store we want to track dynamic data access to ensure we\n    // don't statically generate routes that manipulate draft mode.\n    if (workUnitStore) {\n      if (workUnitStore.type === 'cache') {\n        throw new Error(\n          `Route ${store.route} used \"${expression}\" inside \"use cache\". The enabled status of draftMode can be read in caches but you must not enable or disable draftMode inside a cache. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`\n        )\n      } else if (workUnitStore.type === 'unstable-cache') {\n        throw new Error(\n          `Route ${store.route} used \"${expression}\" inside a function cached with \"unstable_cache(...)\". The enabled status of draftMode can be read in caches but you must not enable or disable draftMode inside a cache. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`\n        )\n      } else if (workUnitStore.phase === 'after') {\n        throw new Error(\n          `Route ${store.route} used \"${expression}\" inside \\`after\\`. The enabled status of draftMode can be read inside \\`after\\` but you cannot enable or disable draftMode. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`\n        )\n      }\n    }\n\n    if (store.dynamicShouldError) {\n      throw new StaticGenBailoutError(\n        `Route ${store.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`\n      )\n    }\n\n    if (workUnitStore) {\n      if (workUnitStore.type === 'prerender') {\n        // dynamicIO Prerender\n        const error = new Error(\n          `Route ${store.route} used ${expression} without first calling \\`await connection()\\`. See more info here: https://nextjs.org/docs/messages/next-prerender-sync-headers`\n        )\n        abortAndThrowOnSynchronousRequestDataAccess(\n          store.route,\n          expression,\n          error,\n          workUnitStore\n        )\n      } else if (workUnitStore.type === 'prerender-ppr') {\n        // PPR Prerender\n        postponeWithTracking(\n          store.route,\n          expression,\n          workUnitStore.dynamicTracking\n        )\n      } else if (workUnitStore.type === 'prerender-legacy') {\n        // legacy Prerender\n        workUnitStore.revalidate = 0\n\n        const err = new DynamicServerError(\n          `Route ${store.route} couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`\n        )\n        store.dynamicUsageDescription = expression\n        store.dynamicUsageStack = err.stack\n\n        throw err\n      } else if (\n        process.env.NODE_ENV === 'development' &&\n        workUnitStore &&\n        workUnitStore.type === 'request'\n      ) {\n        workUnitStore.usedDynamic = true\n      }\n    }\n  }\n}\n","module.exports.cookies = require('./dist/server/request/cookies').cookies\nmodule.exports.headers = require('./dist/server/request/headers').headers\nmodule.exports.draftMode = require('./dist/server/request/draft-mode').draftMode\n","import { headers } from 'next/headers';\nimport {\n  PreprToolbarProps,\n  PreprSegment,\n  PreprHeaderName,\n  PreprErrorCode,\n} from '../types';\nimport pjson from '../../package.json';\nimport createPreprMiddleware from '../middleware';\n\n/**\n * Custom error class for Prepr-related errors\n */\nexport class PreprError extends Error {\n  constructor(\n    message: string,\n    public readonly code: PreprErrorCode,\n    public readonly context?: string,\n    public readonly originalError?: Error\n  ) {\n    super(message);\n    this.name = 'PreprError';\n  }\n}\n\n/**\n * Internal helper to get a specific Prepr header value\n * @param name - The header name to retrieve\n * @returns The header value or null if not found\n */\nasync function getPreprHeader(name: PreprHeaderName): Promise<string | null> {\n  const headersList = await headers();\n  return headersList.get(name);\n}\n\n/**\n * Returns the Prepr Customer ID from the headers\n * @returns Prepr Customer ID\n */\nexport async function getPreprUUID(): Promise<string | null> {\n  return getPreprHeader('prepr-customer-id');\n}\n\n/**\n * Returns the active segment from the headers\n * @returns Active segment\n */\nexport async function getActiveSegment(): Promise<string | null> {\n  return getPreprHeader('Prepr-Segments');\n}\n\n/**\n * Returns the active variant from the headers\n * @returns Active variant\n */\nexport async function getActiveVariant(): Promise<string | null> {\n  return getPreprHeader('Prepr-ABtesting');\n}\n\n/**\n * Helper function to retrieve all Prepr headers\n * @returns Object with Prepr headers\n */\nexport async function getPreprHeaders(): Promise<Record<string, string>> {\n  const preprHeaders: Record<string, string> = {};\n  const headersList = await headers();\n\n  headersList.forEach((value, key) => {\n    if (key.startsWith('prepr') || key.startsWith('Prepr')) {\n      preprHeaders[key] = value;\n    }\n  });\n\n  return preprHeaders;\n}\n\n/**\n * Validates a Prepr GraphQL token\n * @param token - The token to validate\n * @returns Validation result with error details if invalid\n */\nexport function validatePreprToken(token: string): {\n  valid: boolean;\n  error?: string;\n} {\n  if (!token) {\n    return { valid: false, error: 'Token is required' };\n  }\n  if (!token.startsWith('https://')) {\n    return { valid: false, error: 'Token must be a valid HTTPS URL' };\n  }\n  return { valid: true };\n}\n\n/**\n * Checks if the current environment is in preview mode\n * @returns True if in preview mode\n */\nexport function isPreviewMode(): boolean {\n  return process.env.PREPR_ENV === 'preview';\n}\n\n/**\n * Extracts the access token from a Prepr GraphQL URL\n * @param graphqlUrl - The full Prepr GraphQL URL\n * @returns The access token or null if invalid\n * @example\n * ```typescript\n * const token = extractAccessToken('https://graphql.prepr.io/abc123')\n * // Returns: 'abc123'\n * ```\n */\nexport function extractAccessToken(graphqlUrl: string): string | null {\n  if (!graphqlUrl) return null;\n\n  try {\n    const url = new URL(graphqlUrl);\n    if (url.hostname !== 'graphql.prepr.io') return null;\n\n    const pathParts = url.pathname.split('/');\n    const token = pathParts[pathParts.length - 1];\n\n    return token && token.length > 0 ? token : null;\n  } catch {\n    return null;\n  }\n}\n\n/**\n * Fetches the segments from the Prepr API\n * @param token Prepr GraphQL URL with scope 'segments'\n * @returns Array of PreprSegment\n * @throws PreprError if the request fails\n */\nexport async function getPreprEnvironmentSegments(\n  token: string\n): Promise<PreprSegment[]> {\n  const validation = validatePreprToken(token);\n  if (!validation.valid) {\n    throw new PreprError(\n      validation.error!,\n      'INVALID_TOKEN',\n      'getPreprEnvironmentSegments'\n    );\n  }\n\n  try {\n    const response = await fetch(token, {\n      headers: {\n        'User-Agent': `Prepr-Preview-Bar/${getPackageVersion()}`,\n        'Content-Type': 'application/json',\n      },\n      method: 'POST',\n      body: JSON.stringify({\n        query: `{\n                _Segments {\n                    _id\n                    name\n                }\n            }`,\n      }),\n    });\n\n    if (!response.ok) {\n      throw new PreprError(\n        `HTTP ${response.status}: ${response.statusText}`,\n        'HTTP_ERROR',\n        'getPreprEnvironmentSegments'\n      );\n    }\n\n    const json = await response.json();\n\n    if (!json || !json.data || !json.data._Segments) {\n      throw new PreprError(\n        'Invalid response format from Prepr API',\n        'INVALID_RESPONSE',\n        'getPreprEnvironmentSegments'\n      );\n    }\n\n    return json.data._Segments as PreprSegment[];\n  } catch (error) {\n    if (error instanceof PreprError) {\n      throw error;\n    }\n    throw new PreprError(\n      'Failed to fetch segments from Prepr API',\n      'FETCH_ERROR',\n      'getPreprEnvironmentSegments',\n      error instanceof Error ? error : new Error(String(error))\n    );\n  }\n}\n\n/**\n * Fetches all the necessary previewbar props\n * @param token Prepr GraphQL URL with scope 'segments'\n * @returns Object with activeSegment, activeVariant and data\n */\nexport async function getToolbarProps(\n  token: string\n): Promise<PreprToolbarProps> {\n  let data: PreprSegment[] = [];\n  let activeSegment: string | null = null;\n  let activeVariant: string | null = null;\n\n  // Prevent unnecessary function calling in production\n  if (isPreviewMode()) {\n    try {\n      data = await getPreprEnvironmentSegments(token);\n      activeSegment = await getActiveSegment();\n      activeVariant = await getActiveVariant();\n    } catch (error) {\n      // In preview mode, we should still return props even if API fails\n      console.error('Failed to fetch toolbar props:', error);\n      // Return empty data to prevent toolbar from crashing\n      data = [];\n    }\n  }\n\n  return {\n    activeSegment,\n    activeVariant,\n    data,\n  };\n}\n\nfunction getPackageVersion() {\n  return pjson.version;\n}\n\nexport { createPreprMiddleware };\n"]}