/** * CLI context information that replaces IDE-specific data * This provides the same information that backend services need * but sourced from CLI environment instead of IDE */ export interface CLIContext { repoName: string; repoPath: string; branchName: string; filePath?: string; } /** * CLI-compatible abstraction layer that replaces IDE interface dependencies * Provides the same functionality as IDE interface but for CLI environment */ export declare class CLIContextProvider { private gitAnalyzer; private context; constructor(repoPath: string); /** * Initialize the context by gathering git information * This replaces the IDE-based project analysis */ initialize(): Promise; /** * Get project context for API calls * This replaces the addProjectToCall() method from DebuggTransport */ getProjectContext(): Promise<{ repoName: string; repoPath: string; branchName: string; filePath?: string; }>; /** * Set the current file path context * This replaces IDE.getCurrentFile() */ setCurrentFile(filePath?: string): void; /** * Get repository information * This replaces IDE git methods */ getRepoInfo(): Promise<{ repoName: string; repoPath: string; branchName: string; }>; /** * Convert absolute path to relative path based on repo * This preserves the proven path normalization logic from backend services */ normalizeFilePath(absolutePath: string): { relativePath: string; absolutePath: string; }; /** * Process parameters for API calls with path normalization * This preserves the proven paramsToBody logic from backend services */ processParams(params: Record): Record; /** * Get current context */ getContext(): CLIContext; /** * Update context */ updateContext(updates: Partial): void; } /** * Enhanced CLI transport that includes context * This combines the proven transport layer with CLI context */ export declare class CLIContextTransport { private transport; private contextProvider; constructor(transport: any, // CLITransport - using any to avoid circular imports contextProvider: CLIContextProvider); /** * GET request with automatic context injection */ get(url: string, params?: any, addProjectToCall?: boolean): Promise; /** * POST request with automatic context injection */ post(url: string, data?: any, cfg?: any, addProjectToCall?: boolean): Promise; /** * PUT request with automatic context injection */ put(url: string, data?: any, cfg?: any, addProjectToCall?: boolean): Promise; /** * DELETE request */ delete(url: string, cfg?: any): Promise; /** * Direct access to underlying transport for special cases */ getTransport(): any; /** * Get context provider for direct access */ getContextProvider(): CLIContextProvider; } //# sourceMappingURL=context.d.ts.map