From 3b6e915b47212766fe2d6fb263de207620176881 Mon Sep 17 00:00:00 2001 From: Adam Ladachowski Date: Wed, 11 Feb 2026 17:42:44 +0100 Subject: [PATCH] Add fullscreen and preview modes - Add --fullscreen flag for macOS native fullscreen (AppleScript) - Add --preview flag to highlight elements before actions - Add --preview-delay to configure highlight duration - Update README with new options Co-Authored-By: Claude Opus 4.5 --- README.md | 12 ++++- dist/browser.d.ts | 2 + dist/browser.d.ts.map | 2 +- dist/browser.js | 95 ++++++++++++++++++++++++++++++++++++++ dist/browser.js.map | 2 +- dist/cli.js | 15 +++++- dist/cli.js.map | 2 +- dist/types.d.ts | 3 ++ dist/types.d.ts.map | 2 +- package-lock.json | 4 +- package.json | 2 +- screenshot.png | Bin 0 -> 99013 bytes src/browser.ts | 104 ++++++++++++++++++++++++++++++++++++++++++ src/cli.ts | 15 +++++- src/types.ts | 3 ++ 15 files changed, 253 insertions(+), 10 deletions(-) create mode 100644 screenshot.png diff --git a/README.md b/README.md index f5ddafe..6f1f605 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,13 @@ browse -c ".cookie-accept" -c "a.nav-link" -q "h1" https://example.com # Interactive mode (visible browser) browse -i --headed https://example.com + +# Fullscreen mode (macOS native fullscreen) +browse --fullscreen -i https://example.com + +# Preview mode (highlights elements before actions) +browse -p -c "button.submit" https://example.com +browse -p --preview-delay 3000 -c ".nav-link" https://example.com ``` ## MCP Server (Standalone) @@ -185,9 +192,12 @@ Add to Claude Code's MCP config (`~/.claude/settings.json`): import { ClaudeBrowser } from '@saiden/browse'; const browser = new ClaudeBrowser({ - headless: true, + headless: true, // Set false to show browser window width: 1280, height: 800, + fullscreen: false, // macOS native fullscreen (implies headless: false) + preview: false, // Highlight elements before actions + previewDelay: 2000, // Preview highlight duration in ms }); await browser.launch(); diff --git a/dist/browser.d.ts b/dist/browser.d.ts index add5562..2942d3d 100644 --- a/dist/browser.d.ts +++ b/dist/browser.d.ts @@ -13,6 +13,8 @@ export declare class ClaudeBrowser { private interceptPatterns; constructor(options?: BrowserOptions); launch(): Promise; + private enterFullscreen; + private previewAction; private setupErrorListener; private setupDialogListener; private setupConsoleListener; diff --git a/dist/browser.d.ts.map b/dist/browser.d.ts.map index 128d0c7..1c46c8c 100644 --- a/dist/browser.d.ts.map +++ b/dist/browser.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/browser.js b/dist/browser.js index ef81bb5..5c3ac03 100644 --- a/dist/browser.js +++ b/dist/browser.js @@ -1,5 +1,8 @@ +import { exec } from 'node:child_process'; import { resolve } from 'node:path'; +import { promisify } from 'node:util'; import { webkit } from 'playwright'; +const execAsync = promisify(exec); import * as image from './image.js'; export class ClaudeBrowser { browser = null; @@ -17,6 +20,9 @@ export class ClaudeBrowser { headless: options.headless ?? true, width: options.width ?? 1280, height: options.height ?? 800, + fullscreen: options.fullscreen ?? false, + preview: options.preview ?? false, + previewDelay: options.previewDelay ?? 2000, }; } async launch() { @@ -32,6 +38,90 @@ export class ClaudeBrowser { this.setupNetworkListener(this.page); this.setupErrorListener(this.page); this.setupDialogListener(this.page); + if (this.options.fullscreen && !this.options.headless) { + await this.enterFullscreen(); + } + } + async enterFullscreen() { + if (process.platform !== 'darwin') { + console.warn('Native fullscreen only supported on macOS'); + return; + } + // AppleScript to fullscreen the Playwright window by process name + const script = ` + tell application "System Events" + tell process "Playwright" + set value of attribute "AXFullScreen" of window 1 to true + end tell + end tell + `; + // Retry logic: wait for window to appear, then fullscreen + const maxAttempts = 5; + const delayMs = 500; + for (let attempt = 1; attempt <= maxAttempts; attempt++) { + try { + await new Promise((resolve) => setTimeout(resolve, delayMs)); + await execAsync(`osascript -e '${script}'`); + return; // Success + } + catch (err) { + if (attempt === maxAttempts) { + console.warn('Failed to enter fullscreen:', err.message); + } + // Window may not be ready yet, retry + } + } + } + async previewAction(selector, action) { + if (!this.options.preview) + return; + const page = this.ensurePage(); + const escapedSelector = JSON.stringify(selector); + const escapedAction = JSON.stringify(action); + // Highlight the element with a pulsing red border + const highlightScript = ` + (() => { + const selector = ${escapedSelector}; + const action = ${escapedAction}; + const el = document.querySelector(selector); + if (!el) return; + + el.scrollIntoView({ behavior: 'smooth', block: 'center' }); + + const overlay = document.createElement('div'); + overlay.id = '__claude_preview_overlay__'; + overlay.style.cssText = 'position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);z-index:999998;pointer-events:none'; + + const label = document.createElement('div'); + label.id = '__claude_preview_label__'; + label.textContent = action + ': ' + selector; + label.style.cssText = 'position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#e11d48;color:white;padding:12px 24px;border-radius:8px;font-family:system-ui,sans-serif;font-size:16px;font-weight:600;z-index:1000001;box-shadow:0 4px 12px rgba(0,0,0,0.3)'; + + const rect = el.getBoundingClientRect(); + const highlight = document.createElement('div'); + highlight.id = '__claude_preview_highlight__'; + highlight.style.cssText = 'position:fixed;top:' + (rect.top - 4) + 'px;left:' + (rect.left - 4) + 'px;width:' + (rect.width + 8) + 'px;height:' + (rect.height + 8) + 'px;border:3px solid #e11d48;border-radius:4px;z-index:1000000;pointer-events:none;box-shadow:0 0 0 4px rgba(225,29,72,0.3);animation:__claude_pulse__ 1s ease-in-out infinite'; + + const style = document.createElement('style'); + style.id = '__claude_preview_style__'; + style.textContent = '@keyframes __claude_pulse__{0%,100%{box-shadow:0 0 0 4px rgba(225,29,72,0.3)}50%{box-shadow:0 0 0 8px rgba(225,29,72,0.5)}}'; + + document.head.appendChild(style); + document.body.appendChild(overlay); + document.body.appendChild(highlight); + document.body.appendChild(label); + })() + `; + await page.evaluate(highlightScript); + await page.waitForTimeout(this.options.previewDelay); + // Clean up highlight + const cleanupScript = ` + (() => { + ['__claude_preview_overlay__', '__claude_preview_highlight__', '__claude_preview_label__', '__claude_preview_style__'] + .forEach(id => document.getElementById(id)?.remove()); + })() + `; + await page.evaluate(cleanupScript); } setupErrorListener(page) { page.on('pageerror', (error) => { @@ -155,12 +245,14 @@ export class ClaudeBrowser { } async click(selector) { const page = this.ensurePage(); + await this.previewAction(selector, 'CLICK'); await page.click(selector); await page.waitForLoadState('networkidle').catch(() => { }); return { url: page.url() }; } async type(selector, text) { const page = this.ensurePage(); + await this.previewAction(selector, `TYPE "${text}"`); await page.fill(selector, text); } async query(selector) { @@ -463,10 +555,13 @@ export class ClaudeBrowser { // Phase 7: Advanced Interactions async hover(selector) { const page = this.ensurePage(); + await this.previewAction(selector, 'HOVER'); await page.hover(selector); } async select(selector, value) { const page = this.ensurePage(); + const valueStr = Array.isArray(value) ? value.join(', ') : value; + await this.previewAction(selector, `SELECT "${valueStr}"`); return page.selectOption(selector, value); } async keys(keys) { diff --git a/dist/browser.js.map b/dist/browser.js.map index e8db28e..de24fe8 100644 --- a/dist/browser.js.map +++ b/dist/browser.js.map @@ -1 +1 @@ -{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cli.js b/dist/cli.js index 43a4097..e4b0166 100755 --- a/dist/cli.js +++ b/dist/cli.js @@ -16,6 +16,9 @@ const { values, positionals } = parseArgs({ fullpage: { type: 'boolean', short: 'f', default: false }, wait: { type: 'string', default: '2000' }, headed: { type: 'boolean', default: false }, + fullscreen: { type: 'boolean', default: false }, + preview: { type: 'boolean', short: 'p', default: false }, + 'preview-delay': { type: 'string', default: '2000' }, interactive: { type: 'boolean', short: 'i', default: false }, query: { type: 'string', short: 'q' }, json: { type: 'boolean', short: 'j', default: false }, @@ -40,6 +43,9 @@ Options: -f, --fullpage Capture full page scroll --wait Wait time after load (default: 2000) --headed Show browser window + --fullscreen Launch in native fullscreen mode (macOS only, implies --headed) + -p, --preview Highlight elements before actions (click, type, etc.) + --preview-delay Preview highlight duration (default: 2000) -i, --interactive Keep browser open for manual interaction -q, --query Query elements by CSS selector and show attributes -j, --json Output query results as JSON @@ -58,11 +64,13 @@ Examples: browse https://example.com browse -o page.png -w 1920 -h 1080 https://example.com browse -i --headed https://example.com + browse -i --fullscreen https://example.com browse -q "a[href]" https://example.com browse -q "img" -j https://example.com browse -c "button.submit" https://example.com browse -t "input[name=q]=hello" -c "button[type=submit]" https://google.com browse -c ".cookie-accept" -c "a.nav-link" -q "h1" https://example.com + browse -p -c "button.submit" https://example.com Image processing examples: browse https://example.com --favicon ./favicons/ @@ -74,10 +82,15 @@ MCP Server (for Claude Code integration): browse-mcp # Run as MCP server (stdio transport) `; function getViewportConfig() { + const fullscreen = values.fullscreen; + const preview = values.preview; return { - headless: !values.headed, + headless: fullscreen || preview ? false : !values.headed, width: Number.parseInt(values.width), height: Number.parseInt(values.height), + fullscreen, + preview, + previewDelay: Number.parseInt(values['preview-delay']), }; } async function processTypeActions(browser) { diff --git a/dist/cli.js.map b/dist/cli.js.map index 1a915cb..36998b7 100644 --- a/dist/cli.js.map +++ b/dist/cli.js.map @@ -1 +1 @@ -{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAGpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAErF,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IACxC,gBAAgB,EAAE,IAAI;IACtB,OAAO,EAAE;QACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE;QACjE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE;QACtD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;QACtD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;QACzD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;QACzC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;QAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;QACrD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACzC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;QACxD,2BAA2B;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7B;CACF,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CZ,CAAC;AAEF,SAAS,iBAAiB;IACxB,OAAO;QACL,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM;QACxB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAe,CAAC;QAC9C,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAgB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAsB;IACtD,MAAM,WAAW,GAAG,MAAM,CAAC,IAA4B,CAAC;IACxD,IAAI,CAAC,WAAW,EAAE,MAAM;QAAE,OAAO;IAEjC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,2BAA2B,UAAU,4BAA4B,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,WAAW,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAsB;IACvD,MAAM,YAAY,GAAG,MAAM,CAAC,KAA6B,CAAC;IAC1D,IAAI,CAAC,YAAY,EAAE,MAAM;QAAE,OAAO;IAElC,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QACrC,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,EAAe,EAAE,KAAa;IAClD,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,GAAG,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAsB;IAChD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAe,CAAC,CAAC;IAE7D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,MAAM,yBAAyB,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;QACjF,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAsB;IACtD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAErC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,cAAsB;IACvD,0CAA0C;IAC1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,OAAiB,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,CAAC,OAA2C,CAAC;QAClE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,MAAM,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,KAAK,UAAU,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAgB,CAAC;QAC5C,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAkB,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAsB;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEtC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEvD,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;IACrC,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC,CAAC;IAE3D,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/types.d.ts b/dist/types.d.ts index d9978dc..6dcba8c 100644 --- a/dist/types.d.ts +++ b/dist/types.d.ts @@ -2,6 +2,9 @@ export interface BrowserOptions { headless?: boolean; width?: number; height?: number; + fullscreen?: boolean; + preview?: boolean; + previewDelay?: number; } export interface ElementInfo { tag: string; diff --git a/dist/types.d.ts.map b/dist/types.d.ts.map index 5063b8b..900da59 100644 --- a/dist/types.d.ts.map +++ b/dist/types.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 63214e0..b7c64a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@saiden/browse", - "version": "0.2.13-pre.0", + "version": "0.2.13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@saiden/browse", - "version": "0.2.13-pre.0", + "version": "0.2.13", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.26.0", diff --git a/package.json b/package.json index 7f5e284..fe1e690 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@saiden/browse", - "version": "0.2.13-pre.0", + "version": "0.2.13", "description": "Headless browser automation for Claude Code using Playwright WebKit", "type": "module", "main": "dist/index.js", diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b21acb08fad3bad03139034bc88b11371538cc8c GIT binary patch literal 99013 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 literal 0 HcmV?d00001 diff --git a/src/browser.ts b/src/browser.ts index e616ef5..2e93338 100644 --- a/src/browser.ts +++ b/src/browser.ts @@ -1,5 +1,9 @@ +import { exec } from 'node:child_process'; import { resolve } from 'node:path'; +import { promisify } from 'node:util'; import { type Browser, type BrowserContext, type Page, type Route, webkit } from 'playwright'; + +const execAsync = promisify(exec); import * as image from './image.js'; import type { A11yNode, @@ -40,6 +44,9 @@ export class ClaudeBrowser { headless: options.headless ?? true, width: options.width ?? 1280, height: options.height ?? 800, + fullscreen: options.fullscreen ?? false, + preview: options.preview ?? false, + previewDelay: options.previewDelay ?? 2000, }; } @@ -56,6 +63,98 @@ export class ClaudeBrowser { this.setupNetworkListener(this.page); this.setupErrorListener(this.page); this.setupDialogListener(this.page); + + if (this.options.fullscreen && !this.options.headless) { + await this.enterFullscreen(); + } + } + + private async enterFullscreen(): Promise { + if (process.platform !== 'darwin') { + console.warn('Native fullscreen only supported on macOS'); + return; + } + + // AppleScript to fullscreen the Playwright window by process name + const script = ` + tell application "System Events" + tell process "Playwright" + set value of attribute "AXFullScreen" of window 1 to true + end tell + end tell + `; + + // Retry logic: wait for window to appear, then fullscreen + const maxAttempts = 5; + const delayMs = 500; + + for (let attempt = 1; attempt <= maxAttempts; attempt++) { + try { + await new Promise((resolve) => setTimeout(resolve, delayMs)); + await execAsync(`osascript -e '${script}'`); + return; // Success + } catch (err) { + if (attempt === maxAttempts) { + console.warn('Failed to enter fullscreen:', (err as Error).message); + } + // Window may not be ready yet, retry + } + } + } + + private async previewAction(selector: string, action: string): Promise { + if (!this.options.preview) return; + + const page = this.ensurePage(); + const escapedSelector = JSON.stringify(selector); + const escapedAction = JSON.stringify(action); + + // Highlight the element with a pulsing red border + const highlightScript = ` + (() => { + const selector = ${escapedSelector}; + const action = ${escapedAction}; + const el = document.querySelector(selector); + if (!el) return; + + el.scrollIntoView({ behavior: 'smooth', block: 'center' }); + + const overlay = document.createElement('div'); + overlay.id = '__claude_preview_overlay__'; + overlay.style.cssText = 'position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);z-index:999998;pointer-events:none'; + + const label = document.createElement('div'); + label.id = '__claude_preview_label__'; + label.textContent = action + ': ' + selector; + label.style.cssText = 'position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#e11d48;color:white;padding:12px 24px;border-radius:8px;font-family:system-ui,sans-serif;font-size:16px;font-weight:600;z-index:1000001;box-shadow:0 4px 12px rgba(0,0,0,0.3)'; + + const rect = el.getBoundingClientRect(); + const highlight = document.createElement('div'); + highlight.id = '__claude_preview_highlight__'; + highlight.style.cssText = 'position:fixed;top:' + (rect.top - 4) + 'px;left:' + (rect.left - 4) + 'px;width:' + (rect.width + 8) + 'px;height:' + (rect.height + 8) + 'px;border:3px solid #e11d48;border-radius:4px;z-index:1000000;pointer-events:none;box-shadow:0 0 0 4px rgba(225,29,72,0.3);animation:__claude_pulse__ 1s ease-in-out infinite'; + + const style = document.createElement('style'); + style.id = '__claude_preview_style__'; + style.textContent = '@keyframes __claude_pulse__{0%,100%{box-shadow:0 0 0 4px rgba(225,29,72,0.3)}50%{box-shadow:0 0 0 8px rgba(225,29,72,0.5)}}'; + + document.head.appendChild(style); + document.body.appendChild(overlay); + document.body.appendChild(highlight); + document.body.appendChild(label); + })() + `; + + await page.evaluate(highlightScript); + await page.waitForTimeout(this.options.previewDelay); + + // Clean up highlight + const cleanupScript = ` + (() => { + ['__claude_preview_overlay__', '__claude_preview_highlight__', '__claude_preview_label__', '__claude_preview_style__'] + .forEach(id => document.getElementById(id)?.remove()); + })() + `; + await page.evaluate(cleanupScript); } private setupErrorListener(page: Page): void { @@ -191,6 +290,7 @@ export class ClaudeBrowser { async click(selector: string): Promise<{ url: string }> { const page = this.ensurePage(); + await this.previewAction(selector, 'CLICK'); await page.click(selector); await page.waitForLoadState('networkidle').catch(() => {}); return { url: page.url() }; @@ -198,6 +298,7 @@ export class ClaudeBrowser { async type(selector: string, text: string): Promise { const page = this.ensurePage(); + await this.previewAction(selector, `TYPE "${text}"`); await page.fill(selector, text); } @@ -540,11 +641,14 @@ export class ClaudeBrowser { // Phase 7: Advanced Interactions async hover(selector: string): Promise { const page = this.ensurePage(); + await this.previewAction(selector, 'HOVER'); await page.hover(selector); } async select(selector: string, value: string | string[]): Promise { const page = this.ensurePage(); + const valueStr = Array.isArray(value) ? value.join(', ') : value; + await this.previewAction(selector, `SELECT "${valueStr}"`); return page.selectOption(selector, value); } diff --git a/src/cli.ts b/src/cli.ts index 1fbc6a5..34c04cb 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -19,6 +19,9 @@ const { values, positionals } = parseArgs({ fullpage: { type: 'boolean', short: 'f', default: false }, wait: { type: 'string', default: '2000' }, headed: { type: 'boolean', default: false }, + fullscreen: { type: 'boolean', default: false }, + preview: { type: 'boolean', short: 'p', default: false }, + 'preview-delay': { type: 'string', default: '2000' }, interactive: { type: 'boolean', short: 'i', default: false }, query: { type: 'string', short: 'q' }, json: { type: 'boolean', short: 'j', default: false }, @@ -44,6 +47,9 @@ Options: -f, --fullpage Capture full page scroll --wait Wait time after load (default: 2000) --headed Show browser window + --fullscreen Launch in native fullscreen mode (macOS only, implies --headed) + -p, --preview Highlight elements before actions (click, type, etc.) + --preview-delay Preview highlight duration (default: 2000) -i, --interactive Keep browser open for manual interaction -q, --query Query elements by CSS selector and show attributes -j, --json Output query results as JSON @@ -62,11 +68,13 @@ Examples: browse https://example.com browse -o page.png -w 1920 -h 1080 https://example.com browse -i --headed https://example.com + browse -i --fullscreen https://example.com browse -q "a[href]" https://example.com browse -q "img" -j https://example.com browse -c "button.submit" https://example.com browse -t "input[name=q]=hello" -c "button[type=submit]" https://google.com browse -c ".cookie-accept" -c "a.nav-link" -q "h1" https://example.com + browse -p -c "button.submit" https://example.com Image processing examples: browse https://example.com --favicon ./favicons/ @@ -79,10 +87,15 @@ MCP Server (for Claude Code integration): `; function getViewportConfig() { + const fullscreen = values.fullscreen as boolean; + const preview = values.preview as boolean; return { - headless: !values.headed, + headless: fullscreen || preview ? false : !values.headed, width: Number.parseInt(values.width as string), height: Number.parseInt(values.height as string), + fullscreen, + preview, + previewDelay: Number.parseInt(values['preview-delay'] as string), }; } diff --git a/src/types.ts b/src/types.ts index 4579e5f..e0dc553 100644 --- a/src/types.ts +++ b/src/types.ts @@ -2,6 +2,9 @@ export interface BrowserOptions { headless?: boolean; width?: number; height?: number; + fullscreen?: boolean; + preview?: boolean; + previewDelay?: number; } export interface ElementInfo {