build-intelligence-tools.d.ts•5.85 kB
/**
* Build Intelligence Tools for WebSee MCP Server
*
* Provides advanced build artifact analysis capabilities including:
* - Webpack/Vite manifest parsing
* - Code chunk analysis
* - Module dependency tracking
* - Bundle size optimization
*
* @module build-intelligence-tools
*/
import { z } from 'zod';
import { Page } from 'playwright';
export declare const BuildGetManifestSchema: z.ZodObject<{
url: z.ZodString;
}, "strip", z.ZodTypeAny, {
url?: string;
}, {
url?: string;
}>;
export declare const BuildGetChunksSchema: z.ZodObject<{
url: z.ZodString;
}, "strip", z.ZodTypeAny, {
url?: string;
}, {
url?: string;
}>;
export declare const BuildFindModuleSchema: z.ZodObject<{
url: z.ZodString;
moduleName: z.ZodString;
}, "strip", z.ZodTypeAny, {
url?: string;
moduleName?: string;
}, {
url?: string;
moduleName?: string;
}>;
export declare const BuildGetDependenciesSchema: z.ZodObject<{
url: z.ZodString;
moduleName: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
url?: string;
moduleName?: string;
}, {
url?: string;
moduleName?: string;
}>;
export declare const BuildAnalyzeSizeSchema: z.ZodObject<{
url: z.ZodString;
threshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
url?: string;
threshold?: number;
}, {
url?: string;
threshold?: number;
}>;
export type BuildGetManifestParams = z.infer<typeof BuildGetManifestSchema>;
export type BuildGetChunksParams = z.infer<typeof BuildGetChunksSchema>;
export type BuildFindModuleParams = z.infer<typeof BuildFindModuleSchema>;
export type BuildGetDependenciesParams = z.infer<typeof BuildGetDependenciesSchema>;
export type BuildAnalyzeSizeParams = z.infer<typeof BuildAnalyzeSizeSchema>;
interface BuildManifestResult {
type: string;
version: string;
chunks: Array<{
id: string | number;
files: string[];
size: number;
entry?: boolean;
initial?: boolean;
}>;
assets: Array<{
name: string;
size: number;
chunks: (string | number)[];
}>;
modules: Array<{
id: string | number;
name: string;
size: number;
chunks: (string | number)[];
}>;
}
interface ChunkInfo {
id: string | number;
files: string[];
modules: string[];
size: number;
sizeKB: string;
entry?: boolean;
initial?: boolean;
}
interface ModuleInfo {
name: string;
id: string | number;
size: number;
sizeKB: string;
chunks: (string | number)[];
dependencies: string[];
source?: string;
}
interface DependencyNode {
name: string;
version?: string;
size: number;
sizeKB: string;
dependents: string[];
chunks: (string | number)[];
}
interface SizeAnalysis {
total: number;
totalKB: string;
totalMB: string;
byType: {
js: {
count: number;
size: number;
sizeKB: string;
};
css: {
count: number;
size: number;
sizeKB: string;
};
other: {
count: number;
size: number;
sizeKB: string;
};
};
large: Array<{
name: string;
size: number;
sizeKB: string;
type: string;
percentage: string;
}>;
recommendations: string[];
}
/**
* Tool 1: Get build manifest
* Returns complete build manifest with chunks, assets, and modules
*/
export declare function buildGetManifest(page: Page, params: BuildGetManifestParams): Promise<BuildManifestResult>;
/**
* Tool 2: Get all code chunks
* Returns detailed information about all chunks in the bundle
*/
export declare function buildGetChunks(page: Page, params: BuildGetChunksParams): Promise<{
chunks: ChunkInfo[];
}>;
/**
* Tool 3: Find specific module in bundle
* Searches for a module by name and returns its details
*/
export declare function buildFindModule(page: Page, params: BuildFindModuleParams): Promise<ModuleInfo | null>;
/**
* Tool 4: Get dependency graph
* Returns the dependency graph for all modules or a specific module
*/
export declare function buildGetDependencies(page: Page, params: BuildGetDependenciesParams): Promise<{
dependencies: DependencyNode[];
}>;
/**
* Tool 5: Analyze bundle sizes
* Analyzes bundle sizes and provides optimization recommendations
*/
export declare function buildAnalyzeSize(page: Page, params: BuildAnalyzeSizeParams): Promise<SizeAnalysis>;
/**
* MCP-compatible tool definitions for registration
*/
export declare const BUILD_INTELLIGENCE_TOOLS: ({
name: string;
description: string;
inputSchema: {
type: "object";
properties: {
url: {
type: string;
description: string;
};
moduleName?: undefined;
threshold?: undefined;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: "object";
properties: {
url: {
type: string;
description: string;
};
moduleName: {
type: string;
description: string;
};
threshold?: undefined;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: "object";
properties: {
url: {
type: string;
description: string;
};
threshold: {
type: string;
description: string;
};
moduleName?: undefined;
};
required: string[];
};
})[];
export {};
//# sourceMappingURL=build-intelligence-tools.d.ts.map