//#region src/auth/types.d.ts type Maybe = T | null | undefined; type PromiseMaybe = Promise | T; interface AssistantConfig { tags?: Maybe; recursion_limit?: Maybe; configurable?: Maybe<{ thread_id?: Maybe; thread_ts?: Maybe; [key: string]: unknown; }>; } /** * @inline */ interface AssistantCreate { assistant_id?: Maybe; metadata?: Maybe>; config?: Maybe; context?: Maybe; if_exists?: Maybe<"raise" | "do_nothing">; name?: Maybe; description?: Maybe; graph_id: string; } /** * @inline */ interface AssistantRead { assistant_id: string; metadata?: Maybe>; } /** * @inline */ interface AssistantUpdate { assistant_id: string; metadata?: Maybe>; config?: Maybe; context?: Maybe; graph_id?: Maybe; name?: Maybe; description?: Maybe; version?: Maybe; } /** * @inline */ interface AssistantDelete { assistant_id: string; } /** * @inline */ interface AssistantSearch { graph_id?: Maybe; metadata?: Maybe>; limit?: Maybe; offset?: Maybe; } /** * @inline */ interface ThreadCreate { thread_id?: Maybe; metadata?: Maybe>; if_exists?: Maybe<"raise" | "do_nothing">; } /** * @inline */ interface ThreadRead { thread_id?: Maybe; } /** * @inline */ interface ThreadUpdate { thread_id?: Maybe; metadata?: Maybe>; action?: Maybe<"interrupt" | "rollback">; } /** * @inline */ interface ThreadDelete { thread_id?: Maybe; run_id?: Maybe; } /** * @inline */ interface ThreadSearch { thread_id?: Maybe; ids?: Maybe; status?: Maybe<"idle" | "busy" | "interrupted" | "error" | (string & {})>; metadata?: Maybe>; values?: Maybe>; limit?: Maybe; offset?: Maybe; } /** * @inline */ interface CronCreate { payload?: Maybe>; schedule: string; cron_id?: Maybe; thread_id?: Maybe; user_id?: Maybe; end_time?: Maybe; } /** * @inline */ interface CronRead { cron_id: string; } /** * @inline */ interface CronUpdate { cron_id: string; payload?: Maybe>; schedule?: Maybe; } /** * @inline */ interface CronDelete { cron_id: string; } /** * @inline */ interface CronSearch { assistant_id?: Maybe; thread_id?: Maybe; limit?: Maybe; offset?: Maybe; } /** * @inline */ interface StorePut { namespace: string[]; key: string; value: Record; } /** * @inline */ interface StoreGet { namespace: Maybe; key: string; } /** * @inline */ interface StoreSearch { namespace?: Maybe; filter?: Maybe>; limit?: Maybe; offset?: Maybe; query?: Maybe; } /** * @inline */ interface StoreListNamespaces { namespace?: Maybe; suffix?: Maybe; max_depth?: Maybe; limit?: Maybe; offset?: Maybe; } /** * @inline */ interface StoreDelete { namespace?: Maybe; key: string; } /** * @inline */ interface RunsCreate { thread_id?: Maybe; assistant_id: string; run_id: string; status: Maybe<"pending" | "running" | "error" | "success" | "timeout" | "interrupted">; metadata?: Maybe>; prevent_insert_if_inflight?: Maybe; multitask_strategy?: Maybe<"interrupt" | "rollback" | "reject" | "enqueue">; if_not_exists?: Maybe<"reject" | "create">; after_seconds?: Maybe; kwargs: Record; } interface EventValueMap { ["threads:create"]: ThreadCreate; ["threads:read"]: ThreadRead; ["threads:update"]: ThreadUpdate; ["threads:delete"]: ThreadDelete; ["threads:search"]: ThreadSearch; ["threads:create_run"]: RunsCreate; ["assistants:create"]: AssistantCreate; ["assistants:read"]: AssistantRead; ["assistants:update"]: AssistantUpdate; ["assistants:delete"]: AssistantDelete; ["assistants:search"]: AssistantSearch; ["crons:create"]: CronCreate; ["crons:read"]: CronRead; ["crons:update"]: CronUpdate; ["crons:delete"]: CronDelete; ["crons:search"]: CronSearch; ["store:put"]: StorePut; ["store:get"]: StoreGet; ["store:search"]: StoreSearch; ["store:list_namespaces"]: StoreListNamespaces; ["store:delete"]: StoreDelete; } interface ResourceType { threads: "threads:create" | "threads:read" | "threads:update" | "threads:delete" | "threads:search" | "threads:create_run"; assistants: "assistants:create" | "assistants:read" | "assistants:update" | "assistants:delete" | "assistants:search"; crons: "crons:create" | "crons:read" | "crons:update" | "crons:delete" | "crons:search"; store: "store:put" | "store:get" | "store:search" | "store:list_namespaces" | "store:delete"; } interface ActionType { "*:create": "threads:create" | "assistants:create" | "crons:create"; "*:read": "threads:read" | "assistants:read" | "crons:read"; "*:update": "threads:update" | "assistants:update" | "crons:update"; "*:delete": "threads:delete" | "assistants:delete" | "crons:delete" | "store:delete"; "*:search": "threads:search" | "assistants:search" | "crons:search" | "store:search"; "*:create_run": "threads:create_run"; "*:put": "store:put"; "*:get": "store:get"; "*:list_namespaces": "store:list_namespaces"; } type BaseAuthReturn = { is_authenticated?: boolean; display_name?: string; identity: string; permissions: string[]; } | string; interface BaseUser { is_authenticated: boolean; display_name: string; identity: string; permissions: string[]; } type ToUserLike = T extends string ? { is_authenticated: boolean; display_name: string; identity: string; permissions: string[]; } : Omit & { is_authenticated: boolean; display_name: string; }; type CallbackParameter = { event: Event; resource: Resource; action: Action; value: Value; user: TUser; permissions: string[]; }; type ContextMap = { [EventType in keyof EventValueMap]: CallbackParameter }; type ActionCallbackParameter = ContextMap[ActionType[T]] & { user: TUser; }; type AuthCallbackParameter = ContextMap[T] & { user: TUser; }; type ResourceCallbackParameter = ContextMap[ResourceType[T]] & { user: TUser; }; type Filters = { [key in TKey]: string | { [op in "$contains" | "$eq"]?: string } }; interface AuthenticateCallback { (request: Request): PromiseMaybe; } type OnKey = keyof ResourceType | keyof ActionType | keyof EventValueMap; type OnSingleParameter = T extends keyof ResourceType ? ResourceCallbackParameter : T extends keyof ActionType ? ActionCallbackParameter : T extends keyof EventValueMap ? AuthCallbackParameter : never; type OnParameter = T extends OnKey[] ? OnSingleParameter : T extends "*" ? AuthCallbackParameter : T extends OnKey ? OnSingleParameter : never; type AnyCallback = { (request: CallbackParameter): void | PromiseMaybe | PromiseMaybe>; }; type CallbackEvent = "*" | OnKey | OnKey[]; type OnCallback = Record> = { (request: OnParameter): void | PromiseMaybe | PromiseMaybe>; }; //#endregion export { AnyCallback, AuthenticateCallback, BaseAuthReturn, BaseUser, CallbackEvent, EventValueMap, Filters, OnCallback, ToUserLike }; //# sourceMappingURL=types.d.ts.map