bc-symbols-mcp
Version:
MCP server for analyzing Business Central .app files and BC object structures
59 lines • 1.93 kB
TypeScript
import { BCApp } from '../types/bc-types.js';
import { LazyMemoryCache } from '../cache/lazy-cache.js';
export declare class OptimizedAppExtractor {
private lazyCache;
constructor(cache?: LazyMemoryCache);
/**
* Extract and process a Business Central .app file with lazy loading
* @param filePath Path to the .app file
* @returns Promise<BCApp> Processed app data with lazy-loaded symbols
*/
extractAppLazy(filePath: string): Promise<BCApp>;
/**
* Load objects of specific type for an app
*/
loadObjectsByType(filePath: string, objectType: string): Promise<any[]>;
/**
* Load specific object for an app
*/
loadObject(filePath: string, objectType: string, objectId: number, objectName: string): Promise<any | null>;
/**
* Get object metadata without loading full objects
*/
getObjectMetadata(filePath: string, objectType: string, objectId?: number, objectName?: string): any[];
/**
* Get loading statistics for an app
*/
getLoadingStats(filePath: string): any;
/**
* Pre-load commonly used object types for better performance
*/
preloadCommonObjects(filePath: string): Promise<void>;
/**
* Get cache statistics
*/
getCacheStats(): any;
/**
* Calculate SHA-256 hash of file buffer
*/
private calculateFileHash;
/**
* Extract a specific file from the ZIP archive
*/
private extractFileFromZip;
/**
* Parse NavxManifest.xml content
*/
private parseManifest;
/**
* Transform parsed XML manifest to our BCManifest format
*/
private transformManifest;
private transformIdRanges;
private transformDependencies;
private transformFeatures;
private transformSuppressWarnings;
private transformResourceExposurePolicy;
private transformBuildInfo;
}
//# sourceMappingURL=app-extractor-optimized.d.ts.map