component-intelligence-tools.d.ts•8.59 kB
/**
* Component Intelligence Tools for WebSee MCP Server
*
* Provides granular component inspection tools for React, Vue, and Angular applications.
* These tools integrate with the ComponentTracker to provide detailed component analysis.
*
* @module component-intelligence-tools
*/
import { Page } from 'playwright';
import { z } from 'zod';
export declare const ComponentTreeSchema: z.ZodObject<{
url: z.ZodString;
includeDepth: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
filterFramework: z.ZodDefault<z.ZodOptional<z.ZodEnum<["react", "vue", "angular", "svelte", "all"]>>>;
}, "strip", z.ZodTypeAny, {
url?: string;
includeDepth?: boolean;
filterFramework?: "react" | "vue" | "angular" | "svelte" | "all";
}, {
url?: string;
includeDepth?: boolean;
filterFramework?: "react" | "vue" | "angular" | "svelte" | "all";
}>;
export declare const ComponentGetPropsSchema: z.ZodObject<{
url: z.ZodString;
selector: z.ZodString;
}, "strip", z.ZodTypeAny, {
url?: string;
selector?: string;
}, {
url?: string;
selector?: string;
}>;
export declare const ComponentGetStateSchema: z.ZodObject<{
url: z.ZodString;
selector: z.ZodString;
}, "strip", z.ZodTypeAny, {
url?: string;
selector?: string;
}, {
url?: string;
selector?: string;
}>;
export declare const ComponentFindByNameSchema: z.ZodObject<{
url: z.ZodString;
componentName: z.ZodString;
includeProps: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
includeState: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
url?: string;
componentName?: string;
includeProps?: boolean;
includeState?: boolean;
}, {
url?: string;
componentName?: string;
includeProps?: boolean;
includeState?: boolean;
}>;
export declare const ComponentGetSourceSchema: z.ZodObject<{
url: z.ZodString;
selector: z.ZodString;
}, "strip", z.ZodTypeAny, {
url?: string;
selector?: string;
}, {
url?: string;
selector?: string;
}>;
export declare const ComponentTrackRendersSchema: z.ZodObject<{
url: z.ZodString;
selector: z.ZodString;
duration: z.ZodDefault<z.ZodNumber>;
captureReasons: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
url?: string;
duration?: number;
selector?: string;
captureReasons?: boolean;
}, {
url?: string;
duration?: number;
selector?: string;
captureReasons?: boolean;
}>;
export declare const ComponentGetContextSchema: z.ZodObject<{
url: z.ZodString;
selector: z.ZodString;
}, "strip", z.ZodTypeAny, {
url?: string;
selector?: string;
}, {
url?: string;
selector?: string;
}>;
export declare const ComponentGetHooksSchema: z.ZodObject<{
url: z.ZodString;
selector: z.ZodString;
}, "strip", z.ZodTypeAny, {
url?: string;
selector?: string;
}, {
url?: string;
selector?: string;
}>;
interface ComponentTreeNode {
name: string;
type: string;
depth: number;
children: ComponentTreeNode[];
props?: Record<string, any>;
state?: Record<string, any>;
source?: {
file: string;
line?: number;
column?: number;
};
}
interface ComponentInstance {
selector: string;
props: Record<string, any>;
state?: Record<string, any>;
domId?: string;
}
interface RenderEvent {
timestamp: number;
reason?: string;
props?: Record<string, any>;
state?: Record<string, any>;
duration?: number;
}
interface ContextValue {
name: string;
value: any;
provider?: string;
}
interface HookInfo {
type: string;
value: any;
dependencies?: any[];
index: number;
}
/**
* Get full component hierarchy as a tree structure
*/
export declare function componentTree(page: Page, params: z.infer<typeof ComponentTreeSchema>): Promise<{
components: ComponentTreeNode[];
totalCount: number;
frameworks: string[];
}>;
/**
* Get component props only
*/
export declare function componentGetProps(page: Page, params: z.infer<typeof ComponentGetPropsSchema>): Promise<{
componentName: string;
props: Record<string, any>;
}>;
/**
* Get component state only
*/
export declare function componentGetState(page: Page, params: z.infer<typeof ComponentGetStateSchema>): Promise<{
componentName: string;
state: Record<string, any> | null;
}>;
/**
* Find all instances of a component by name
*/
export declare function componentFindByName(page: Page, params: z.infer<typeof ComponentFindByNameSchema>): Promise<{
instances: ComponentInstance[];
count: number;
}>;
/**
* Map component to source file
*/
export declare function componentGetSource(page: Page, params: z.infer<typeof ComponentGetSourceSchema>): Promise<{
file: string;
line?: number;
column?: number;
framework: string;
}>;
/**
* Track component re-renders over time
*/
export declare function componentTrackRenders(page: Page, params: z.infer<typeof ComponentTrackRendersSchema>): Promise<{
componentName: string;
renders: RenderEvent[];
totalRenders: number;
averageInterval: number;
}>;
/**
* Get React context values for a component
*/
export declare function componentGetContext(page: Page, params: z.infer<typeof ComponentGetContextSchema>): Promise<{
contexts: ContextValue[];
}>;
/**
* Get React hooks state for a component
*/
export declare function componentGetHooks(page: Page, params: z.infer<typeof ComponentGetHooksSchema>): Promise<{
hooks: HookInfo[];
}>;
export declare const COMPONENT_INTELLIGENCE_TOOLS: ({
name: string;
description: string;
inputSchema: {
type: "object";
properties: {
url: {
type: string;
description: string;
};
includeDepth: {
type: string;
description: string;
};
filterFramework: {
type: string;
enum: string[];
description: string;
};
selector?: undefined;
componentName?: undefined;
includeProps?: undefined;
includeState?: undefined;
duration?: undefined;
captureReasons?: undefined;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: "object";
properties: {
url: {
type: string;
description: string;
};
selector: {
type: string;
description: string;
};
includeDepth?: undefined;
filterFramework?: undefined;
componentName?: undefined;
includeProps?: undefined;
includeState?: undefined;
duration?: undefined;
captureReasons?: undefined;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: "object";
properties: {
url: {
type: string;
description: string;
};
componentName: {
type: string;
description: string;
};
includeProps: {
type: string;
description: string;
};
includeState: {
type: string;
description: string;
};
includeDepth?: undefined;
filterFramework?: undefined;
selector?: undefined;
duration?: undefined;
captureReasons?: undefined;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: "object";
properties: {
url: {
type: string;
description: string;
};
selector: {
type: string;
description: string;
};
duration: {
type: string;
description: string;
};
captureReasons: {
type: string;
description: string;
};
includeDepth?: undefined;
filterFramework?: undefined;
componentName?: undefined;
includeProps?: undefined;
includeState?: undefined;
};
required: string[];
};
})[];
export {};
//# sourceMappingURL=component-intelligence-tools.d.ts.map