UNPKG

donobu

Version:

Create browser automations with an LLM agent and replay them as Playwright scripts.

37 lines 1.56 kB
import type { GptConfigInput } from '../models/GptConfig'; import type { GptClient } from './GptClient'; import { GptClientPluginRegistry } from './GptClientPlugin'; /** * Interface for creating GPT clients from configuration objects. * This allows for dependency injection and easier testing. */ export interface GptClientFactory { /** * Creates and validates a GPT client from the given configuration. * @param config The GPT configuration to create a client from * @returns A validated GPT client instance * @throws Error if the configuration is invalid or the client cannot be created */ createClient(config: GptConfigInput): Promise<GptClient>; } /** * Default implementation of GptClientFactory that creates GPT clients * based on configuration and validates them by performing a ping. * * Built-in types are handled directly; unknown types are delegated to * the GPT client plugin registry. */ export declare class GptClientFactoryImpl implements GptClientFactory { private readonly gptClientPlugins; constructor(gptClientPlugins?: GptClientPluginRegistry); createClient(config: GptConfigInput): Promise<GptClient>; /** * Resolves the correct GptClient implementation for the given config. * Built-in config types (matching {@link GptConfigSchema}) are handled * by known implementations; everything else is delegated to the * GPT client plugin registry. */ private resolveClient; private createBuiltInClient; } //# sourceMappingURL=GptClientFactory.d.ts.map