export { EventStream } from './event-stream.js'; export type ThinkingLevel = 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh'; export type StopReason = 'stop' | 'length' | 'toolUse' | 'error' | 'aborted'; export interface TextContent { type: 'text'; text: string; textSignature?: string; } export interface ThinkingContent { type: 'thinking'; thinking: string; thinkingSignature?: string; redacted?: boolean; } export interface ImageContent { type: 'image'; data: string; mimeType: string; filename?: string; } export interface ToolCall { type: 'toolCall'; id: string; name: string; arguments: Record; thoughtSignature?: string; } export interface Usage { input: number; output: number; cacheRead: number; cacheWrite: number; totalTokens: number; cost: { input: number; output: number; cacheRead: number; cacheWrite: number; total: number; }; } export interface UserMessage { role: 'user'; content: string | Array; timestamp: number; } export interface AssistantMessage { role: 'assistant'; content: Array; api: string; provider: string; model: string; responseModel?: string; responseId?: string; usage: Usage; stopReason: StopReason; errorMessage?: string; timestamp: number; [key: string]: unknown; } export interface ToolResultMessage { role: 'toolResult'; toolCallId: string; toolName?: string; content: Array; isError: boolean; timestamp: number; details?: unknown; } export type Message = UserMessage | AssistantMessage | ToolResultMessage; export interface Model { api: TApi; provider: string; id: string; name?: string; maxTokens?: number; baseUrl?: string; input?: string[]; cost?: Partial; reasoning?: unknown; [key: string]: unknown; } export interface Context { systemPrompt?: string; systemPromptParts?: { stable?: string; dynamic?: string; }; messages: Message[]; tools?: Array<{ name: string; description: string; parameters?: Record; }>; [key: string]: unknown; } export interface SimpleStreamOptions { temperature?: number; maxTokens?: number; signal?: AbortSignal; apiKey?: string; reasoning?: ThinkingLevel | null; onPayload?: (payload: unknown) => void; [key: string]: unknown; } export interface AssistantMessageEventBase { type: string; partial?: Partial; contentIndex?: number; [key: string]: unknown; } export type AssistantMessageEvent = (AssistantMessageEventBase & { type: 'text_delta'; delta: string; }) | (AssistantMessageEventBase & { type: 'text_end'; content: string; }) | (AssistantMessageEventBase & { type: 'thinking_delta'; delta: string; }) | (AssistantMessageEventBase & { type: 'thinking_end'; content: string; }) | (AssistantMessageEventBase & { type: 'toolcall_start'; toolCall?: ToolCall; }) | (AssistantMessageEventBase & { type: 'toolcall_delta'; toolCall: ToolCall; }) | (AssistantMessageEventBase & { type: 'toolcall_end'; toolCall: ToolCall; }) | (AssistantMessageEventBase & { type: 'done'; message: AssistantMessage; }) | (AssistantMessageEventBase & { type: 'error'; error: AssistantMessage; }); export interface AssistantMessageEventStream extends AsyncIterable { result(): Promise; push(event: AssistantMessageEvent): void; end(result?: AssistantMessage): void; } export type StreamFunction = (model: Model, context: Context, options?: TOptions) => AssistantMessageEventStream; export type { PiAiModelInfo, PiAiStreamEvent } from './pi-ai-wire-format.js'; export type { PiAiStreamFunction, PiAiLLMProviderConfig } from './pi-ai-adapter.js'; //# sourceMappingURL=pi-ai-types.d.ts.map