import { ChatMessage, FileUploadCallbacks, ToolDefinition } from './types.js'; import { EventEmitter, Subscription } from './event-emitter.js'; export interface MessageStartEvent { messageId: string; rawEvent?: unknown; } export interface MessageDeltaEvent { messageId: string; delta: string; rawEvent?: unknown; } export interface MessageEndEvent { messageId: string; rawEvent?: unknown; } export interface ToolCallEvent { id: string; messageId: string; name: string; args: Record; rawEvent?: unknown; } export interface ToolCallStartEvent { id: string; messageId: string; name: string; rawEvent?: unknown; } export interface ToolCallArgsEvent { id: string; messageId: string; name: string; argsBuffer: string; partialArgs?: Record; rawEvent?: unknown; } export interface ToolCallEndEvent { id: string; messageId: string; name: string; args: Record; rawEvent?: unknown; } export interface ToolResultEvent { toolCallId: string; result: unknown; message: ChatMessage; rawEvent?: unknown; } export interface AdapterState { isConnected: boolean; isConnecting: boolean; isRunning: boolean; } export interface FileUploadEvent extends FileUploadCallbacks { file: File; } export interface FileRemoveEvent { fileId: string; onSuccess: () => void; onError: (error: string) => void; } export interface ErrorEvent { message: string; } export interface CustomAgentEvent { name: string; value: unknown; rawEvent?: unknown; } export interface RawAgentEvent { event: unknown; rawEvent?: unknown; } export interface RunStartedAgentEvent { threadId: string; runId: string; rawEvent?: unknown; } export interface StepStartedAgentEvent { stepName: string; rawEvent?: unknown; } export interface StepFinishedAgentEvent { stepName: string; rawEvent?: unknown; } export interface StateSnapshotAgentEvent { state: unknown; rawEvent?: unknown; } export interface StateDeltaAgentEvent { delta: unknown[]; rawEvent?: unknown; } export interface ActivitySnapshotAgentEvent { activity: unknown; activityMessage?: unknown; existingMessage?: unknown; rawEvent?: unknown; } export interface ActivityDeltaAgentEvent { delta: unknown; activityMessage?: unknown; rawEvent?: unknown; } export declare abstract class AgentAdapter { protected _state: AdapterState; protected _tools: ToolDefinition[]; protected _events: { runStarted: EventEmitter; runFinished: EventEmitter; runAborted: EventEmitter; messageStart: EventEmitter; messageDelta: EventEmitter; messageEnd: EventEmitter; toolCall: EventEmitter; toolCallStart: EventEmitter; toolCallArgs: EventEmitter; toolCallEnd: EventEmitter; toolResult: EventEmitter; fileUpload: EventEmitter; fileRemove: EventEmitter; error: EventEmitter; stateChange: EventEmitter; customEvent: EventEmitter; rawEvent: EventEmitter; runStartedEvent: EventEmitter; stepStarted: EventEmitter; stepFinished: EventEmitter; stateSnapshot: EventEmitter; stateDelta: EventEmitter; activitySnapshot: EventEmitter; activityDelta: EventEmitter; }; abstract connect(): Promise; abstract disconnect(): Promise; abstract sendMessage(messages: ChatMessage[]): void; abstract sendToolResult(toolCallId: string, result: unknown, messages: ChatMessage[]): void; abstract abort(): void; abstract get threadId(): string; abstract set threadId(value: string); clearMemory?(): Promise; setTools(tools: ToolDefinition[]): void; getTools(): ToolDefinition[]; getState(): AdapterState; get isConnected(): boolean; get isConnecting(): boolean; get isRunning(): boolean; onRunStarted(callback: () => void): Subscription; onRunFinished(callback: () => void): Subscription; onRunAborted(callback: () => void): Subscription; onMessageStart(callback: (event: MessageStartEvent) => void): Subscription; onMessageDelta(callback: (event: MessageDeltaEvent) => void): Subscription; onMessageEnd(callback: (event: MessageEndEvent) => void): Subscription; onToolCall(callback: (event: ToolCallEvent) => void): Subscription; onToolCallStart(callback: (event: ToolCallStartEvent) => void): Subscription; onToolCallArgs(callback: (event: ToolCallArgsEvent) => void): Subscription; onToolCallEnd(callback: (event: ToolCallEndEvent) => void): Subscription; onToolCallResult(callback: (event: ToolResultEvent) => void): Subscription; onFileUpload(callback: (event: FileUploadEvent) => void): Subscription; onFileRemove(callback: (event: FileRemoveEvent) => void): Subscription; onError(callback: (event: ErrorEvent) => void): Subscription; onStateChange(callback: (state: AdapterState) => void): Subscription; onCustomEvent(callback: (event: CustomAgentEvent) => void): Subscription; onRawEvent(callback: (event: RawAgentEvent) => void): Subscription; onRunStartedEvent(callback: (event: RunStartedAgentEvent) => void): Subscription; onStepStarted(callback: (event: StepStartedAgentEvent) => void): Subscription; onStepFinished(callback: (event: StepFinishedAgentEvent) => void): Subscription; onStateSnapshot(callback: (event: StateSnapshotAgentEvent) => void): Subscription; onStateDelta(callback: (event: StateDeltaAgentEvent) => void): Subscription; onActivitySnapshot(callback: (event: ActivitySnapshotAgentEvent) => void): Subscription; onActivityDelta(callback: (event: ActivityDeltaAgentEvent) => void): Subscription; protected _emitRunStarted(): void; protected _emitRunFinished(): void; protected _emitRunAborted(): void; protected _emitMessageStart(messageId: string, rawEvent?: unknown): void; protected _emitMessageDelta(messageId: string, delta: string, rawEvent?: unknown): void; protected _emitMessageEnd(messageId: string, rawEvent?: unknown): void; protected _emitToolCall(event: ToolCallEvent, rawEvent?: unknown): void; protected _emitToolCallStart(event: ToolCallStartEvent, rawEvent?: unknown): void; protected _emitToolCallArgs(event: ToolCallArgsEvent, rawEvent?: unknown): void; protected _emitToolCallEnd(event: ToolCallEndEvent, rawEvent?: unknown): void; protected _emitToolResult(event: ToolResultEvent, rawEvent?: unknown): void; emitFileUpload(file: File, callbacks: FileUploadCallbacks): void; emitFileRemove(fileId: string, callbacks: { onSuccess: () => void; onError: (error: string) => void; }): void; protected _emitError(message: string): void; protected _emitCustomEvent(name: string, value: unknown, rawEvent?: unknown): void; protected _emitRawEvent(event: unknown, rawEvent?: unknown): void; protected _emitRunStartedEvent(threadId: string, runId: string, rawEvent?: unknown): void; protected _emitStepStarted(stepName: string, rawEvent?: unknown): void; protected _emitStepFinished(stepName: string, rawEvent?: unknown): void; protected _emitStateSnapshot(state: unknown, rawEvent?: unknown): void; protected _emitStateDelta(delta: unknown[], rawEvent?: unknown): void; protected _emitActivitySnapshot(activity: unknown, activityMessage?: unknown, existingMessage?: unknown, rawEvent?: unknown): void; protected _emitActivityDelta(delta: unknown, activityMessage?: unknown, rawEvent?: unknown): void; protected _updateState(updates: Partial): void; }