UNPKG

github-mcp-auto-git

Version:

GitHub MCP Auto Git v3.0 - メモリ効率化・統合MCP・モジュール化完了の完全自動Git操作システム

121 lines 3.58 kB
/** * Unified MCP Manager - Centralized MCP Client Management * Consolidates all MCP operations following Constitutional AI principles */ import { GitConfig } from '../types/index.js'; export interface MCPServer { name: string; command: string; args: string[]; env: Record<string, string>; enabled: boolean; } export interface MCPRequest { method: string; params: { name: string; arguments: Record<string, any>; }; } export interface MCPResponse { success: boolean; data?: any; error?: string; warnings?: string[]; } export interface MCPOperation { server: string; operation: string; params: Record<string, any>; timeout?: number; } export declare class UnifiedMCPManager { private servers; private serverConfigs; private initialized; private config; constructor(config: GitConfig); /** * Initialize all configured MCP servers * Fail Fast: Comprehensive validation and early error detection * Be Lazy: Initialize only enabled servers * TypeScript First: Complete type safety for server management */ initialize(): Promise<void>; /** * Execute MCP operation with automatic fallback * Fail Fast: Immediate server validation and error handling * Be Lazy: Smart server selection and operation optimization */ executeOperation(operation: MCPOperation): Promise<MCPResponse>; /** * GitHub-specific operations with unified interface * TypeScript First: Strongly typed GitHub operations */ createPullRequest(options: { title: string; body: string; head: string; base: string; draft?: boolean; maintainer_can_modify?: boolean; }): Promise<MCPResponse>; mergePullRequest(options: { pullNumber: number; mergeMethod?: 'merge' | 'squash' | 'rebase'; commitTitle?: string; commitMessage?: string; }): Promise<MCPResponse>; getPullRequestStatus(pullNumber: number): Promise<MCPResponse>; deleteBranch(branchName: string): Promise<MCPResponse>; /** * Check if a specific server is available * Be Lazy: Efficient server availability checking */ isServerAvailable(serverName: string): boolean; /** * Get status of all MCP servers * TypeScript First: Type-safe status reporting */ getServerStatus(): { server: string; status: 'active' | 'inactive' | 'error'; enabled: boolean; }[]; /** * Cleanup all MCP servers * Fail Fast: Comprehensive cleanup with error handling */ cleanup(): Promise<void>; /** * Setup server configurations * Be Lazy: Configuration-driven server setup */ private setupServerConfigurations; /** * Initialize a specific MCP server * Fail Fast: Immediate server validation and error handling */ private initializeServer; /** * Send request to MCP server * TypeScript First: Type-safe request/response handling */ private sendRequest; /** * Wait for server initialization * Fail Fast: Timeout-based initialization validation */ private waitForServerInitialization; /** * Wait for process to exit * Be Lazy: Efficient process cleanup with timeout */ private waitForProcessExit; /** * Handle server errors with recovery attempts * Fail Fast: Immediate error detection and recovery */ private handleServerError; } //# sourceMappingURL=unified-mcp-manager.d.ts.map