Add Claude Code plugin support with MCP prompts and resources
- Add .claude-plugin/plugin.json manifest (name: browse) - Add 11 slash commands: start, end, goto, screenshot, scrape, analyze, extract, fill, compare, save, restore - Add MCP resources: browser://state, browser://html, browser://screenshot - Add MCP prompts: analyze_page, extract_data, navigate_to, fill_form, compare_screenshots - Add session management tools: close, session_save, session_restore - Include dist/ for plugin installation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Vendored
+125
@@ -0,0 +1,125 @@
|
||||
export interface BrowserOptions {
|
||||
headless?: boolean;
|
||||
width?: number;
|
||||
height?: number;
|
||||
}
|
||||
export interface ElementInfo {
|
||||
tag: string;
|
||||
text: string;
|
||||
attributes: Record<string, string>;
|
||||
}
|
||||
export interface GotoCommand {
|
||||
cmd: 'goto';
|
||||
url: string;
|
||||
}
|
||||
export interface ClickCommand {
|
||||
cmd: 'click';
|
||||
selector: string;
|
||||
}
|
||||
export interface TypeCommand {
|
||||
cmd: 'type';
|
||||
selector: string;
|
||||
text: string;
|
||||
}
|
||||
export interface QueryCommand {
|
||||
cmd: 'query';
|
||||
selector: string;
|
||||
}
|
||||
export interface ScreenshotCommand {
|
||||
cmd: 'screenshot';
|
||||
path?: string;
|
||||
fullPage?: boolean;
|
||||
}
|
||||
export interface UrlCommand {
|
||||
cmd: 'url';
|
||||
}
|
||||
export interface HtmlCommand {
|
||||
cmd: 'html';
|
||||
full?: boolean;
|
||||
}
|
||||
export interface BackCommand {
|
||||
cmd: 'back';
|
||||
}
|
||||
export interface ForwardCommand {
|
||||
cmd: 'forward';
|
||||
}
|
||||
export interface ReloadCommand {
|
||||
cmd: 'reload';
|
||||
}
|
||||
export interface WaitCommand {
|
||||
cmd: 'wait';
|
||||
ms?: number;
|
||||
}
|
||||
export interface NewPageCommand {
|
||||
cmd: 'newpage';
|
||||
}
|
||||
export interface CloseCommand {
|
||||
cmd: 'close';
|
||||
}
|
||||
export interface EvalCommand {
|
||||
cmd: 'eval';
|
||||
script: string;
|
||||
}
|
||||
export interface FaviconCommand {
|
||||
cmd: 'favicon';
|
||||
input: string;
|
||||
outputDir: string;
|
||||
}
|
||||
export interface ConvertCommand {
|
||||
cmd: 'convert';
|
||||
input: string;
|
||||
output: string;
|
||||
format: 'png' | 'jpeg' | 'webp' | 'avif';
|
||||
}
|
||||
export interface ResizeCommand {
|
||||
cmd: 'resize';
|
||||
input: string;
|
||||
output: string;
|
||||
width: number;
|
||||
height?: number;
|
||||
fit?: 'cover' | 'contain' | 'fill' | 'inside' | 'outside';
|
||||
}
|
||||
export interface CropCommand {
|
||||
cmd: 'crop';
|
||||
input: string;
|
||||
output: string;
|
||||
left: number;
|
||||
top: number;
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
export interface CompressCommand {
|
||||
cmd: 'compress';
|
||||
input: string;
|
||||
output: string;
|
||||
quality?: number;
|
||||
}
|
||||
export interface ThumbnailCommand {
|
||||
cmd: 'thumbnail';
|
||||
input: string;
|
||||
output: string;
|
||||
size?: 'small' | 'medium' | 'large';
|
||||
}
|
||||
export type BrowserCommand = GotoCommand | ClickCommand | TypeCommand | QueryCommand | ScreenshotCommand | UrlCommand | HtmlCommand | BackCommand | ForwardCommand | ReloadCommand | WaitCommand | NewPageCommand | CloseCommand | EvalCommand | FaviconCommand | ConvertCommand | ResizeCommand | CropCommand | CompressCommand | ThumbnailCommand;
|
||||
export interface SuccessResponse {
|
||||
ok: true;
|
||||
url?: string;
|
||||
title?: string;
|
||||
path?: string;
|
||||
html?: string;
|
||||
count?: number;
|
||||
elements?: ElementInfo[];
|
||||
result?: unknown;
|
||||
files?: string[];
|
||||
outputDir?: string;
|
||||
width?: number;
|
||||
height?: number;
|
||||
format?: string;
|
||||
size?: number;
|
||||
}
|
||||
export interface ErrorResponse {
|
||||
ok: false;
|
||||
error: string;
|
||||
}
|
||||
export type CommandResponse = SuccessResponse | ErrorResponse;
|
||||
//# sourceMappingURL=types.d.ts.map
|
||||
Reference in New Issue
Block a user