Types
Message Types
Section titled “Message Types”Message
Section titled “Message”interface Message { id: string; role: 'user' | 'assistant' | 'system' | 'tool'; content: string; createdAt?: Date;}ToolMessage
Section titled “ToolMessage”interface ToolMessage extends Message { role: 'tool'; toolCallId: string; toolName: string;}Agent Types
Section titled “Agent Types”AgentConfig
Section titled “AgentConfig”interface AgentConfig { name: string; model: string; systemPrompt?: string; tools?: Tool[]; temperature?: number; maxTokens?: number; topP?: number; frequencyPenalty?: number; presencePenalty?: number;}StreamTextResult
Section titled “StreamTextResult”interface StreamTextResult { textStream: AsyncIterable<string>; fullStream: AsyncIterable<StreamEvent>; text: Promise<string>; usage: Promise<TokenUsage>;}Tool Types
Section titled “Tool Types”interface Tool<TParams = unknown, TResult = unknown> { name: string; description: string; parameters: ZodSchema<TParams>; execute: (params: TParams) => Promise<TResult>;}ToolCall
Section titled “ToolCall”interface ToolCall { id: string; name: string; arguments: Record<string, unknown>;}ToolResult
Section titled “ToolResult”interface ToolResult { toolCallId: string; result: unknown;}Space Types
Section titled “Space Types”SpaceConfig
Section titled “SpaceConfig”interface SpaceConfig { name: string; rootPath: string; maxHistoryItems?: number; autoSaveInterval?: number;}Artifact
Section titled “Artifact”interface Artifact { name: string; path: string; size: number; createdAt: Date; updatedAt: Date;}Stream Event Types
Section titled “Stream Event Types”StreamEvent
Section titled “StreamEvent”type StreamEvent = | { type: 'text-delta'; textDelta: string } | { type: 'tool-call'; toolCallId: string; toolName: string; args: unknown } | { type: 'tool-result'; toolCallId: string; result: unknown } | { type: 'finish'; usage: TokenUsage };TokenUsage
Section titled “TokenUsage”interface TokenUsage { promptTokens: number; completionTokens: number; totalTokens: number;}