donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
37 lines • 1.69 kB
TypeScript
import { GptClient, ToolOption } from './GptClient';
import { JSONSchema7 } from 'json-schema';
import { GptMessage, AssistantMessage, StructuredOutputMessage, ProposedToolCallsMessage } from '../models/GptMessage';
import { AnthropicConfig } from '../models/GptConfig';
/**
* A GPT client implemented using the Anthropic API
* @see https://docs.anthropic.com/en/api/messages
*/
export declare class AnthropicGptClient extends GptClient {
private readonly anthropicConfig;
private static readonly API_URL;
private static readonly REQUEST_TIMEOUT_MILLISECONDS;
private static readonly API_KEY_HEADER_NAME;
private static readonly API_VERSION_HEADER_NAME;
private static readonly API_VERSION_HEADER_VALUE;
private static readonly CONTENT_TYPE_HEADER_VALUE;
private static readonly MAX_TOKENS;
private readonly headers;
/**
* Create a new instance.
*/
constructor(anthropicConfig: AnthropicConfig);
ping(): Promise<void>;
getMessage(messages: GptMessage[]): Promise<AssistantMessage>;
getStructuredOutput(messages: GptMessage[], jsonSchema: JSONSchema7): Promise<StructuredOutputMessage>;
getToolCalls(messages: GptMessage[], tools: ToolOption[]): Promise<ProposedToolCallsMessage>;
private mapErrorResponseToDonobuException;
private makeRequest;
/**
* Merges adjacent user messages because Anthropic will reject requests that do not delicately
* flip-flop between "user" and "assistant" roles.
*/
private static shenanigansUserMessageMerge;
private static chatRequestMessageFromGptMessage;
private static toolChoiceFromTool;
}
//# sourceMappingURL=AnthropicGptClient.d.ts.map