bc-code-intelligence-mcp
Version:
BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows
77 lines • 2.45 kB
TypeScript
/**
* Git Knowledge Layer - Load knowledge from Git repositories
* Supports authentication, branch selection, and caching
*/
import { BaseKnowledgeLayer } from './base-layer.js';
import { AtomicTopic } from '../types/bc-knowledge.js';
import { LayerLoadResult, ConfigGitLayerSource, AuthConfiguration } from '../types/index.js';
export declare class GitKnowledgeLayer extends BaseKnowledgeLayer {
private readonly gitConfig;
private readonly auth?;
private readonly cacheDir;
private git;
private localPath;
private lastUpdated?;
constructor(name: string, priority: number, gitConfig: ConfigGitLayerSource, auth?: AuthConfiguration, cacheDir?: string);
initialize(): Promise<LayerLoadResult>;
private ensureCacheDirectory;
private setupGitWithAuth;
private configureAuthentication;
private ensureRepository;
private prepareUrlWithAuth;
/**
* Verify Azure CLI is installed on the system
*/
private verifyAzCliInstalled;
/**
* Verify user is authenticated with Azure CLI
*/
private verifyAzCliAuthenticated;
private checkoutBranch;
private loadFromDirectory;
/**
* Load topics from domains/ subdirectories (or topics/ as fallback)
*/
protected loadTopics(): Promise<number>;
/**
* Load specialists from specialists/ directory
*/
protected loadSpecialists(): Promise<number>;
/**
* Load methodologies from methodologies/ directory
*/
protected loadMethodologies(): Promise<number>;
/**
* Load a single specialist from a markdown file
*/
private loadSpecialist;
private loadTopicsFromDirectory;
private getRelativePath;
private getCurrentCommitHash;
private getRepositorySize;
private generateUrlHash;
refresh(): Promise<boolean>;
protected loadIndexes(): Promise<number>;
/**
* Load a single atomic topic from a markdown file
*/
private loadAtomicTopic;
/**
* Normalize topic ID from file path
*/
protected normalizeTopicId(filePath: string, basePath?: string): string;
/**
* Validate topic structure
*/
protected validateTopic(topic: AtomicTopic): boolean;
getSourceInfo(): {
type: "git";
url: string;
branch: string;
subpath: string;
localPath: string;
lastUpdated: Date;
hasAuth: boolean;
};
}
//# sourceMappingURL=git-layer.d.ts.map