UNPKG

@langchain/langgraph-sdk

Version:

Client library for interacting with the LangGraph API

1 lines • 2.27 kB
{"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"}