UNPKG

@brutalist/mcp

Version:

Deploy Claude, Codex & Gemini CLI agents to demolish your work before users do. Real file analysis. Brutal honesty. Now with intelligent pagination.

79 lines 3.84 kB
import { CLIAgentResponse } from './types/brutalist.js'; export type BrutalistPromptType = 'code' | 'codebase' | 'architecture' | 'idea' | 'research' | 'data' | 'security' | 'product' | 'infrastructure' | 'debate' | 'dependencies' | 'fileStructure' | 'gitHistory' | 'testCoverage'; export declare const AVAILABLE_MODELS: { readonly claude: { readonly default: undefined; readonly aliases: readonly ["opus", "sonnet", "haiku"]; readonly full: readonly ["claude-opus-4-1-20250805", "claude-sonnet-4-20250514"]; readonly recommended: "opus"; }; readonly codex: { readonly default: "gpt-5-codex"; readonly models: readonly ["gpt-5", "gpt-5-codex", "o3", "o3-mini", "o3-pro", "o4-mini"]; readonly recommended: "gpt-5-codex"; }; readonly gemini: { readonly default: "gemini-2.5-pro"; readonly models: readonly ["gemini-2.5-flash", "gemini-2.5-pro", "gemini-2.5-flash-lite"]; readonly recommended: "gemini-2.5-pro"; }; }; export interface CLIAgentOptions { workingDirectory?: string; timeout?: number; preferredCLI?: 'claude' | 'codex' | 'gemini'; analysisType?: BrutalistPromptType; models?: { claude?: string; codex?: string; gemini?: string; }; onStreamingEvent?: (event: StreamingEvent) => void; progressToken?: string | number; onProgress?: (progress: number, total: number, message: string) => void; sessionId?: string; requestId?: string; } export interface StreamingEvent { type: 'agent_start' | 'agent_progress' | 'agent_complete' | 'agent_error'; agent: 'claude' | 'codex' | 'gemini' | 'system'; content?: string; timestamp: number; sessionId?: string; metadata?: Record<string, any>; } export interface CLIContext { availableCLIs: ('claude' | 'codex' | 'gemini')[]; } export declare class CLIAgentOrchestrator { private defaultTimeout; private defaultWorkingDir; private cliContext; private cliContextCached; private cliContextCacheTime; private readonly CLI_CACHE_TTL; private runningCLIs; private readonly MAX_CONCURRENT_CLIS; private streamingBuffers; private readonly STREAMING_FLUSH_INTERVAL; private readonly MAX_CHUNK_SIZE; constructor(); private parseClaudeStreamOutput; private decodeClaudeStreamJson; private extractCodexAgentMessage; private emitThrottledStreamingEvent; detectCLIContext(): Promise<CLIContext>; selectSingleCLI(preferredCLI?: 'claude' | 'codex' | 'gemini', analysisType?: BrutalistPromptType): 'claude' | 'codex' | 'gemini'; private _executeCLI; executeClaudeCode(userPrompt: string, systemPromptSpec: string, options?: CLIAgentOptions): Promise<CLIAgentResponse>; executeCodex(userPrompt: string, systemPromptSpec: string, options?: CLIAgentOptions): Promise<CLIAgentResponse>; executeGemini(userPrompt: string, systemPromptSpec: string, options?: CLIAgentOptions): Promise<CLIAgentResponse>; executeSingleCLI(cli: 'claude' | 'codex' | 'gemini', userPrompt: string, systemPromptSpec: string, options?: CLIAgentOptions): Promise<CLIAgentResponse>; private waitForAvailableSlot; executeCLIAgents(cliAgents: string[], systemPrompt: string, userPrompt: string, options?: CLIAgentOptions): Promise<CLIAgentResponse[]>; executeCLIAgent(agent: string, systemPrompt: string, userPrompt: string, options?: CLIAgentOptions): Promise<CLIAgentResponse>; executeBrutalistAnalysis(analysisType: BrutalistPromptType, primaryContent: string, systemPromptSpec: string, context?: string, options?: CLIAgentOptions): Promise<CLIAgentResponse[]>; synthesizeBrutalistFeedback(responses: CLIAgentResponse[], analysisType: string): string; private constructUserPrompt; } //# sourceMappingURL=cli-agents.d.ts.map