export type HostedChatRole = "system" | "user" | "assistant" | "tool"; export type HostedChatToolCall = { id?: string; type: "function" | string; function?: { name?: string; arguments?: string; [key: string]: unknown; }; [key: string]: unknown; }; export type HostedChatTool = { type: "function" | string; function?: { name: string; description?: string; parameters?: Record; [key: string]: unknown; }; [key: string]: unknown; }; export type HostedChatToolChoice = "none" | "auto" | "required" | { type: "function"; function: { name: string; }; }; export type HostedChatContinuation = { kind: "chat_completions_reasoning"; reasoningContent: string; } | { kind: "responses_reasoning_items"; items: Array>; }; export type HostedChatImageInput = { url: string; detail?: "low" | "high" | "auto"; }; export type HostedChatMessage = { role: HostedChatRole; content?: string | null; images?: HostedChatImageInput[]; continuation?: HostedChatContinuation; name?: string; tool_call_id?: string; tool_calls?: HostedChatToolCall[]; }; export type HostedModel = { id: string; object?: string; created?: number; owned_by?: string; [key: string]: unknown; }; export type HostedProvider = { id: string; object?: string; display_name?: string; owned_by?: string; lifecycle_status?: string; credential_modes?: string[]; routing?: Record; default_model?: string | null; model_ids?: string[]; capabilities?: Record; metadata?: Record; [key: string]: unknown; }; export type HostedModelsResponse = { object: "list" | string; data: HostedModel[]; }; export type HostedProvidersResponse = { object: "list" | string; data: HostedProvider[]; }; export type HostedChatUsage = { prompt_tokens?: number; completion_tokens?: number; total_tokens?: number; input_tokens?: number; output_tokens?: number; cached_input_tokens?: number; cache_read_input_tokens?: number; cache_creation_input_tokens?: number; prompt_cache_hit_tokens?: number; prompt_cache_miss_tokens?: number; cache_telemetry_source?: "provider_usage_body" | "provider_response_headers"; prompt_tokens_details?: { cached_tokens?: number; [key: string]: unknown; }; input_tokens_details?: { cached_tokens?: number; [key: string]: unknown; }; [key: string]: unknown; }; export type HostedChatCompletion = { id?: string; object?: string; created?: number; model?: string; choices?: Array<{ index?: number; message?: { role?: string; content?: string | null; tool_calls?: HostedChatToolCall[]; }; finish_reason?: string | null; }>; usage?: HostedChatUsage; [key: string]: unknown; }; export type HostedChatStreamDelta = { type: "text_delta"; text: string; raw: unknown; } | { type: "reasoning_delta"; text: string; raw: unknown; } | { type: "continuation"; continuation: HostedChatContinuation; raw: unknown; } | { type: "tool_call_delta"; toolCalls: HostedChatToolCall[]; raw: unknown; } | { type: "usage"; usage: HostedChatUsage; raw: unknown; } | { type: "finish"; finishReason: string | null; raw: unknown; }; /** Transport metadata only: never headers, SSE contents or request credentials. */ type HostedChatStreamDiagnosticDetails = { type: "request"; } | { type: "headers"; status: number; eventStream: boolean; noCache: boolean; noTransform: boolean; bufferingDisabled: boolean; } | { type: "bytes"; byteLength: number; } | { type: "comment"; } | { type: "data"; errorFrame: boolean; } | { type: "done"; }; export type HostedChatStreamDiagnostic = HostedChatStreamDiagnosticDetails & { elapsedMs: number; }; export type HostedChatRequestOptions = { apiBaseUrl: string; token: string; teamId?: string; model: string; messages: HostedChatMessage[]; requestId?: string; signal?: AbortSignal; temperature?: number; maxTokens?: number; reasoningEffort?: "off" | "low" | "medium" | "high" | "xhigh" | "max"; tools?: HostedChatTool[]; toolChoice?: HostedChatToolChoice; tool_choice?: HostedChatToolChoice; metadata?: Record; onStreamDiagnostic?: (event: HostedChatStreamDiagnostic) => void; }; export type HostedModelsRequestOptions = { apiBaseUrl: string; token: string; teamId?: string; signal?: AbortSignal; }; export type HostedModelRequestOptions = HostedModelsRequestOptions & { model: string; }; export type HostedProvidersRequestOptions = HostedModelsRequestOptions; export type HostedProviderRequestOptions = HostedModelsRequestOptions & { provider: string; }; export type HostedChatApiBaseUrlOptions = { apiBaseUrl?: string | null; chatApiBaseUrl?: string | null; opChatApiBaseUrl?: string | null; env?: Record; }; export declare function resolveOpChatApiBaseUrl(options?: HostedChatApiBaseUrlOptions): string; export declare function resolveHostedChatApiBaseUrl(options?: HostedChatApiBaseUrlOptions): string; export declare function listOpChatModels(options: HostedModelsRequestOptions): Promise; export declare function getOpChatModel(options: HostedModelRequestOptions): Promise; export declare const listHostedModels: typeof listOpChatModels; export declare function listOpChatProviders(options: HostedProvidersRequestOptions): Promise; export declare function getOpChatProvider(options: HostedProviderRequestOptions): Promise; export declare const listHostedProviders: typeof listOpChatProviders; export declare function sendHostedChatTurn(options: HostedChatRequestOptions): Promise; export declare function streamHostedChatTurn(options: HostedChatRequestOptions): AsyncGenerator; export {}; //# sourceMappingURL=hosted-chat.d.ts.map