UNPKG

adk-typescript

Version:

TypeScript port of Google's Agent Development Kit (ADK)

66 lines (65 loc) 1.86 kB
import { BaseTool } from '../BaseTool'; import { ToolContext } from '../ToolContext'; /** * Auth credential types enum */ export declare enum AuthCredentialTypes { OPEN_ID_CONNECT = "open_id_connect" } /** * OAuth2 Auth interface */ export interface OAuth2Auth { clientId: string; clientSecret: string; accessToken?: string; refreshToken?: string; } /** * Auth credential interface */ export interface AuthCredential { authType: AuthCredentialTypes; oauth2: OAuth2Auth; } /** * RestApiTool interface (placeholder for actual implementation) */ export interface RestApiTool { name: string; description: string; isLongRunning: boolean; execute: (params: Record<string, any>, context: ToolContext) => Promise<any>; getDeclaration: () => any; authCredential?: AuthCredential; } /** * GoogleApiTool class * A wrapper around RestApiTool that adds Google API specific functionality */ export declare class GoogleApiTool extends BaseTool { private restApiTool; /** * Create a new GoogleApiTool * @param restApiTool The underlying RestApiTool to wrap */ constructor(restApiTool: RestApiTool); /** * Get the function declaration * @returns The function declaration from the underlying RestApiTool */ protected _getDeclaration(): any; /** * Execute the tool * @param params The parameters for the tool execution * @param context The context for the tool execution * @returns The result of executing the underlying RestApiTool */ execute(params: Record<string, any>, context: ToolContext): Promise<any>; /** * Configure authentication for the tool * @param clientId The OAuth2 client ID * @param clientSecret The OAuth2 client secret */ configureAuth(clientId: string, clientSecret: string): void; }