@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
53 lines • 1.55 kB
TypeScript
/**
* Plugin Client for dot-ai Plugin System
*
* HTTP client for communicating with agentic plugins.
* Handles describe and invoke hooks via POST /execute endpoint.
*
* PRD #343: kubectl Plugin Migration
*/
import { PluginConfig, DescribeResponse, InvokeResponse } from './plugin-types';
import { Logger } from './error-handling';
/**
* Error thrown when plugin communication fails
*/
export declare class PluginClientError extends Error {
readonly pluginName: string;
readonly pluginUrl: string;
readonly cause?: Error | undefined;
constructor(message: string, pluginName: string, pluginUrl: string, cause?: Error | undefined);
}
/**
* HTTP client for a single plugin
*/
export declare class PluginClient {
private readonly config;
private readonly logger;
private readonly timeout;
constructor(config: PluginConfig, logger: Logger);
/**
* Get plugin name
*/
get name(): string;
/**
* Get plugin URL
*/
get url(): string;
/**
* Call the describe hook to get tool definitions
*/
describe(): Promise<DescribeResponse>;
/**
* Call the invoke hook to execute a tool
*/
invoke(tool: string, args: Record<string, unknown>, state?: Record<string, unknown>, sessionId?: string): Promise<InvokeResponse>;
/**
* Check if plugin is healthy/reachable
*/
healthCheck(): Promise<boolean>;
/**
* Execute a request to the plugin's /execute endpoint
*/
private execute;
}
//# sourceMappingURL=plugin-client.d.ts.map