UNPKG

graphlit-client

Version:
61 lines (60 loc) 1.53 kB
import { ConversationMessage, ConversationToolCall } from "../generated/graphql-types.js"; export type ToolHandler = (args: any) => Promise<any>; export interface AgentOptions { maxToolRounds?: number; timeout?: number; } export interface AgentMetrics { totalTime: number; llmTime?: number; toolTime?: number; ttft?: number; tokensPerSecond?: number; toolExecutions?: number; rounds?: number; } export interface ContextWindowUsage { usedTokens: number; maxTokens: number; percentage: number; remainingTokens: number; } export interface AgentResult { message: string; conversationId: string; conversationMessage?: ConversationMessage; toolCalls?: ConversationToolCall[]; toolResults?: ToolCallResult[]; metrics?: AgentMetrics; usage?: UsageInfo; contextWindow?: ContextWindowUsage; error?: AgentError; } export interface StreamAgentOptions { maxToolRounds?: number; abortSignal?: AbortSignal; smoothingEnabled?: boolean; chunkingStrategy?: "character" | "word" | "sentence"; smoothingDelay?: number; } export interface ToolCallResult { id: string; name: string; arguments: any; result?: any; error?: string; duration?: number; } export interface UsageInfo { promptTokens: number; completionTokens: number; totalTokens: number; cost?: number; model?: string; } export interface AgentError { message: string; code?: string; recoverable: boolean; details?: any; }