UNPKG

ai-debug-local-mcp

Version:

🎯 ENHANCED AI GUIDANCE v4.1.2: Dramatically improved tool descriptions help AI users choose the right tools instead of 'close enough' options. Ultra-fast keyboard automation (10x speed), universal recording, multi-ecosystem debugging support, and compreh

78 lines • 3.23 kB
export class FlutterCoreModule { page; async attachToPage(page) { this.page = page; await this.injectBasicMonitoring(); } async detectFlutter(page) { return await page.evaluate(() => { // Multiple Flutter detection methods return !!(window.flutterConfiguration || window._flutter || document.querySelector('flt-scene-host') || document.querySelector('flutter-view') || document.querySelector('[data-name="flutter"]') || document.querySelector('canvas[aria-label*="flutter"]')); }); } async getFlutterConfig() { if (!this.page) return null; return await this.page.evaluate(() => { const config = window.flutterConfiguration || {}; return { framework: 'Flutter', version: config.version || 'unknown', renderer: config.renderer || 'auto', buildMode: config.buildMode || 'release', dartVersion: config.dartVersion || 'unknown', flutterChannel: config.channel || 'stable', webConfig: { serviceWorker: !!config.serviceWorker, canvasKitUrl: config.canvasKitBaseUrl, fontManifest: config.fontManifest } }; }); } async getFlutterDiagnostics() { if (!this.page) { return { renderer: { type: 'HTML', wasmLoaded: false, loadTime: 0 }, platformChannels: [], fonts: { manifest: [], loaded: [], failed: [], loadTime: 0 }, gestureHandling: { glassPane: false, pointerEvents: 'none', touchSupport: false, conflictingGestures: 0 }, textInput: { mode: 'native', focusIssues: 0, imeSupport: false } }; } return await this.page.evaluate(() => { const flutter = window._flutter || {}; return { renderer: { type: flutter.renderer?.name || 'HTML', wasmLoaded: !!flutter.canvasKit, loadTime: flutter.renderer?.loadTime || 0, canvasKitVersion: flutter.canvasKit?.version }, platformChannels: flutter.platformChannels || [], fonts: flutter.fontManager || { manifest: [], loaded: [], failed: [], loadTime: 0 }, gestureHandling: flutter.gestureBinding || { glassPane: false, pointerEvents: 'none', touchSupport: false, conflictingGestures: 0 }, textInput: flutter.textInput || { mode: 'native', focusIssues: 0, imeSupport: false } }; }); } async injectBasicMonitoring() { if (!this.page) return; await this.page.evaluate(() => { // Basic Flutter monitoring setup if (!window.__flutterDebugCore__) { window.__flutterDebugCore__ = { initialized: true, startTime: Date.now() }; } }); } } //# sourceMappingURL=flutter-core.js.map