donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
26 lines • 1.08 kB
TypeScript
import type { GptClient } from './GptClient';
/**
* A GPT client plugin provides a factory for creating {@link GptClient}
* instances for a custom config type. Plugins are registered with a string
* key that matches the `type` field on configuration objects.
*
* Plugins are self-contained — they define their own config shape and
* validate it internally.
*/
export interface GptClientPlugin {
/** The config type string this plugin handles (e.g., 'MY_CUSTOM_GPT'). */
type: string;
/** Creates a GptClient instance from the given configuration object. */
createClient(config: Record<string, unknown>): Promise<GptClient>;
}
/**
* An immutable registry of GPT client plugins, keyed by config type.
* Created once at startup and threaded through the application.
*/
export declare class GptClientPluginRegistry {
private readonly plugins;
constructor(plugins: GptClientPlugin[]);
/** Look up a registered GPT client plugin by config type. */
get(type: string): GptClientPlugin | undefined;
}
//# sourceMappingURL=GptClientPlugin.d.ts.map