@mcp-abap-adt/connection
Version:
ABAP connection layer for MCP ABAP ADT server
38 lines • 1.7 kB
TypeScript
import type { ITokenRefresher } from '@mcp-abap-adt/interfaces';
import { type AxiosResponse } from 'axios';
import type { SapConfig } from '../config/sapConfig.js';
import type { ILogger } from '../logger.js';
import type { AbapRequestOptions } from './AbapConnection.js';
import { AbstractAbapConnection } from './AbstractAbapConnection.js';
/**
* JWT Authentication connection for SAP BTP Cloud systems
*
* Supports automatic token refresh via ITokenRefresher injection:
* - If tokenRefresher is provided, 401/403 errors trigger automatic token refresh
* - If tokenRefresher is not provided, 401/403 errors throw an error (legacy behavior)
*/
export declare class JwtAbapConnection extends AbstractAbapConnection {
private tokenRefresher?;
private currentToken;
constructor(config: SapConfig, logger?: ILogger | null, sessionId?: string, tokenRefresher?: ITokenRefresher);
protected buildAuthorizationHeader(): string;
/**
* Refresh the JWT token using the injected tokenRefresher
* @returns true if token was refreshed, false if no refresher available
*/
private tryRefreshToken;
/**
* Override connect to handle JWT token refresh on errors
*/
connect(): Promise<void>;
/**
* Override makeAdtRequest to handle JWT auth errors with automatic token refresh
*/
makeAdtRequest(options: AbapRequestOptions): Promise<AxiosResponse>;
/**
* Override fetchCsrfToken to handle JWT auth errors with automatic token refresh
*/
protected fetchCsrfToken(url: string, retryCount?: number, retryDelay?: number): Promise<string>;
private static validateConfig;
}
//# sourceMappingURL=JwtAbapConnection.d.ts.map