{"version":3,"file":"index.cjs","names":[],"sources":["../../src/auth/index.ts"],"sourcesContent":["import type {\n  AuthenticateCallback,\n  AnyCallback,\n  CallbackEvent,\n  OnCallback,\n  BaseAuthReturn,\n  ToUserLike,\n  BaseUser,\n} from \"./types.js\";\n\nexport class Auth<\n  TExtra = {}, // eslint-disable-line @typescript-eslint/ban-types\n  TAuthReturn extends BaseAuthReturn = BaseAuthReturn,\n  TUser extends BaseUser = ToUserLike<TAuthReturn>,\n> {\n  /**\n   * @internal\n   * @ignore\n   */\n  \"~handlerCache\": {\n    authenticate?: AuthenticateCallback<BaseAuthReturn>;\n    callbacks?: Record<string, AnyCallback>;\n  } = {};\n\n  authenticate<T extends BaseAuthReturn>(\n    cb: AuthenticateCallback<T>\n  ): Auth<TExtra, T> {\n    this[\"~handlerCache\"].authenticate = cb;\n    return this as unknown as Auth<TExtra, T>;\n  }\n\n  on<T extends CallbackEvent>(event: T, callback: OnCallback<T, TUser>): this {\n    this[\"~handlerCache\"].callbacks ??= {};\n    const events: string[] = Array.isArray(event) ? event : [event];\n    for (const event of events) {\n      this[\"~handlerCache\"].callbacks[event] = callback as AnyCallback;\n    }\n    return this;\n  }\n}\n\n/**\n * Check if the provided user was provided by LangGraph Studio.\n *\n * By default, if you add custom authorization on your resources, this will also apply to interactions made from the Studio.\n * If you want, you can handle logged-in Studio users in a special way.\n *\n * @param user - The user to check\n * @returns True if the user is a studio user, false otherwise\n */\nexport function isStudioUser(user: BaseUser) {\n  if (\"kind\" in user && user.kind === \"StudioUser\") return true;\n  return user.identity === \"langgraph-studio-user\";\n}\n\nexport type {\n  Filters as AuthFilters,\n  EventValueMap as AuthEventValueMap,\n} from \"./types.js\";\nexport { HTTPException } from \"./error.js\";\n"],"mappings":";;;AAUA,IAAa,OAAb,MAIE;;;;;CAKA,kBAGI,EAAE;CAEN,aACE,IACiB;AACjB,OAAK,iBAAiB,eAAe;AACrC,SAAO;;CAGT,GAA4B,OAAU,UAAsC;AAC1E,OAAK,iBAAiB,cAAc,EAAE;EACtC,MAAM,SAAmB,MAAM,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM;AAC/D,OAAK,MAAM,SAAS,OAClB,MAAK,iBAAiB,UAAU,SAAS;AAE3C,SAAO;;;;;;;;;;;;AAaX,SAAgB,aAAa,MAAgB;AAC3C,KAAI,UAAU,QAAQ,KAAK,SAAS,aAAc,QAAO;AACzD,QAAO,KAAK,aAAa"}