UNPKG

mnemos-coder

Version:

CLI-based coding agent with graph-based execution loop and terminal UI

79 lines 2.39 kB
/** * Main Agent class - TypeScript version of seahorse agent.py * Implements the same processing pattern with tool calling support */ import { MCPClient } from './mcp-client-sdk.js'; export interface AgentResponse { type: 'llm_response' | 'tool_call' | 'tool_response' | 'tool_error' | 'status' | 'error' | 'delegation' | 'subagent_response' | 'completion'; content: any; iteration?: number; subagentName?: string; } export interface ToolCall { name: string; arguments: Record<string, any>; } export interface ToolResult { server_name?: string; tool_name: string; arguments: Record<string, any>; result?: any; error?: string; success: boolean; } export declare class SeahorseAgent { private llmClient; private mcpClient; private subagentManager; private contextMemory; private enhancedContext; private autoContext; private maxIterations; private systemPrompt; private sessionId; private projectRoot; private logger; constructor(sessionId?: string, projectRoot?: string); private generateSessionId; initialize(): Promise<void>; processQuery(query: string, stream?: boolean): AsyncGenerator<AgentResponse, void, unknown>; private simplifiedProcess; private buildSystemPrompt; private parseToolCalls; executeToolCall(toolCall: ToolCall): Promise<ToolResult>; /** * Execute Task tool for subagent delegation */ private executeTaskTool; private formatToolResults; /** * 사용 가능한 subagent 목록 반환 */ getAvailableSubagents(): import("./subagents/types.js").SubagentConfig[]; /** * 특정 subagent로 직접 실행 (CLI나 테스트용) */ executeWithSubagent(subagentName: string, query: string): AsyncGenerator<AgentResponse, void, unknown>; shutdown(): Promise<void>; /** * Get MCP client for direct access */ getMcpClient(): MCPClient; /** * Update session ID (for session switching) */ setSessionId(sessionId: string): Promise<void>; /** * Get current session ID */ getSessionId(): string; /** * Get conversation history for display */ getConversationHistory(limit?: number): Promise<any[]>; /** * Clear current session history */ clearSession(): Promise<void>; } //# sourceMappingURL=agent.d.ts.map