/** * AuthProviders Context Extension * * Provides module augmentation and context extension configuration * for adding `this.authProviders` to ExecutionContextBase. */ import type { ContextExtension } from '../../common/metadata/plugin.metadata'; import { type AuthProvidersAccessor } from '@frontmcp/auth'; /** * Module augmentation to add type safety for this.authProviders */ declare module '../../common/interfaces/execution-context.interface' { interface ExecutionContextBase { /** * Access auth providers for credential retrieval. * * @example * ```typescript * @Tool({ name: 'my_tool' }) * class MyTool extends ToolContext { * async execute(input: Input): Promise { * // Get a specific credential * const github = await this.authProviders.get('github'); * * // Get headers for HTTP requests * const headers = await this.authProviders.headers('github'); * * // Check if credential is available * if (await this.authProviders.has('jira')) { * const jira = await this.authProviders.get('jira'); * } * * // Force refresh a credential * const refreshed = await this.authProviders.refresh('github'); * } * } * ``` */ readonly authProviders: AuthProvidersAccessor; } } /** * Context extension configuration for authProviders. * Used to register the lazy getter on ExecutionContextBase.prototype. */ export declare const authProvidersContextExtension: ContextExtension; /** * Get AuthProvidersAccessor from context. * Throws if not available. * * @param ctx - Execution context * @returns AuthProvidersAccessor * @throws AuthProvidersNotConfiguredError if AuthProviders not configured */ export declare function getAuthProviders(ctx: { get: (token: unknown) => T; }): AuthProvidersAccessor; /** * Try to get AuthProvidersAccessor from context. * Returns undefined if not available (graceful degradation). * * @param ctx - Execution context * @returns AuthProvidersAccessor or undefined */ export declare function tryGetAuthProviders(ctx: { get: (token: unknown) => T; }): AuthProvidersAccessor | undefined; //# sourceMappingURL=auth-providers.context-extension.d.ts.map