Agent Types
Copy
interface AgentInput {
message: string;
file?: MediaFile;
companyId?: string;
userId?: string;
sessionId?: string;
executionId?: string;
threadId?: string;
entityType?: string;
entityValue?: string;
channel?: string;
messages?: Message[];
metadata?: Record<string, any>;
}
interface AgentOutput {
message: string;
metadata?: Record<string, any>;
}
interface AgentConfig {
name: string;
instructions: string | PromptRef;
model: ModelProvider;
modelConfig?: ModelConfig;
tools?: Record<string, RunflowTool>;
maxToolIterations?: number;
rag?: RAGConfig;
memory?: MemoryConfig;
media?: MediaConfig;
streaming?: StreamingConfig;
agents?: Record<string, AgentConfig>;
debug?: boolean | DebugConfig;
observability?: ObservabilityMode | ObservabilityConfig;
}
interface ModelConfig {
temperature?: number;
maxTokens?: number;
topP?: number;
frequencyPenalty?: number;
presencePenalty?: number;
stop?: string[];
seed?: number;
}
interface DebugConfig {
enabled: boolean;
logMessages?: boolean;
logLLMCalls?: boolean;
logToolCalls?: boolean;
logRAG?: boolean;
logMemory?: boolean;
truncateAt?: number;
}