/** * WebView Injection Scripts for LLM Platform Integrations * * This module exports all JavaScript scripts that are injected into WebViews * to extract conversation data from LLM platforms (ChatGPT, Claude, etc.) * and handle LinkedIn profile URL extraction. */ export { CHATGPT_EXPORT_SCRIPT, CHATGPT_SUCCESS_SCRIPT, CHATGPT_ERROR_SCRIPT, CHATGPT_FETCH_MEMORIES_SCRIPT, } from './chatgpt'; export { CLAUDE_CONSENT_POPUP_SCRIPT, CLAUDE_EXPORT_SCRIPT, CLAUDE_SUCCESS_SCRIPT, CLAUDE_ERROR_SCRIPT, } from './claude'; export { GEMINI_EXPORT_SCRIPT, GEMINI_SUCCESS_SCRIPT, GEMINI_ERROR_SCRIPT, } from './gemini'; export { LINKEDIN_APP_BLOCKER_SCRIPT, LINKEDIN_PROFILE_EXTRACTOR_SCRIPT, LINKEDIN_NAVIGATE_TO_PROFILE_SCRIPT, LINKEDIN_PROFILE_CONSENT_POPUP_SCRIPT, LINKEDIN_PROFILE_SCRAPER_SCRIPT, LINKEDIN_PROFILE_SUCCESS_SCRIPT, LINKEDIN_PROFILE_ERROR_SCRIPT, } from './linkedin'; export { HINGE_CONSENT_POPUP_SCRIPT, HINGE_EXPORT_SCRIPT, HINGE_SUCCESS_SCRIPT, HINGE_ERROR_SCRIPT, } from './hinge'; export { INSTAGRAM_CONSENT_POPUP_SCRIPT, INSTAGRAM_EXPORT_SCRIPT, INSTAGRAM_SUCCESS_SCRIPT, INSTAGRAM_ERROR_SCRIPT, } from './instagram'; export { SEPHORA_CONSENT_POPUP_SCRIPT, SEPHORA_EXPORT_SCRIPT, SEPHORA_SUCCESS_SCRIPT, SEPHORA_ERROR_SCRIPT, } from './sephora'; export { TELEGRAM_CONSENT_POPUP_SCRIPT, TELEGRAM_EXPORT_SCRIPT, TELEGRAM_SUCCESS_SCRIPT, TELEGRAM_ERROR_SCRIPT, } from './telegram'; export { NETFLIX_CONSENT_POPUP_SCRIPT, NETFLIX_EXPORT_SCRIPT, NETFLIX_SUCCESS_SCRIPT, NETFLIX_ERROR_SCRIPT, } from './netflix'; export { SPOTIFY_TOKEN_INTERCEPTOR_SCRIPT, SPOTIFY_CONSENT_POPUP_SCRIPT, SPOTIFY_EXPORT_SCRIPT, SPOTIFY_SUCCESS_SCRIPT, SPOTIFY_ERROR_SCRIPT, } from './spotify'; export { TIKTOK_EXPORT_SCRIPT, TIKTOK_SUCCESS_SCRIPT, TIKTOK_ERROR_SCRIPT, } from './tiktok'; /** * Anti-detection script to prevent WebView detection by platforms * This helps avoid bot detection and ensures smooth login experience */ export declare const ANTI_DETECTION_SCRIPT = "\n(function() {\n // Override webdriver detection\n Object.defineProperty(navigator, 'webdriver', {\n get: () => undefined\n });\n \n // Override automation detection\n Object.defineProperty(navigator, 'automationController', {\n get: () => undefined\n });\n \n // Ensure proper user agent and platform detection (configurable so platform-specific\n // overrides like Spotify's MacIntel can override it cleanly).\n try { Object.defineProperty(navigator, 'platform', { get: function(){ return 'iPhone'; }, configurable: true }); } catch(e) {}\n \n // Override plugins (empty in real mobile Safari)\n Object.defineProperty(navigator, 'plugins', {\n get: () => []\n });\n \n // Override languages\n Object.defineProperty(navigator, 'languages', {\n get: () => ['en-US', 'en']\n });\n \n // Remove automation-related properties\n delete window.cdc_adoQpoasnfa76pfcZLmcfl_Array;\n delete window.cdc_adoQpoasnfa76pfcZLmcfl_Promise;\n delete window.cdc_adoQpoasnfa76pfcZLmcfl_Symbol;\n \n console.log('\uD83D\uDEE1\uFE0F [ANTI-DETECTION] Script injected successfully');\n})();\ntrue;\n"; /** * Get platform-specific anti-detection script * Some platforms may need additional overrides */ export declare const getAntiDetectionScript: (platform: string) => string; /** * LLM Platform URLs */ export declare const LLM_PLATFORM_URLS: { readonly chatgpt: "https://chatgpt.com/auth/login"; readonly openai: "https://chatgpt.com/auth/login"; readonly claude: "https://claude.ai/login"; readonly anthropic: "https://claude.ai/login"; readonly gemini: "https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fgemini.google.com%2Fapp&flowName=GlifWebSignIn&flowEntry=ServiceLogin"; readonly grok: "https://x.com/i/grok"; }; /** * Social/App Platform URLs (WebView-based extraction) */ export declare const APP_PLATFORM_URLS: { readonly hinge: "https://hinge.co"; readonly instagram: "https://www.instagram.com"; readonly sephora: "https://www.sephora.com/profile/MyAccount"; readonly telegram: "https://web.telegram.org/k/"; readonly netflix: "https://www.netflix.com/login"; readonly spotify: "https://accounts.spotify.com/login?continue=https%3A%2F%2Fopen.spotify.com%2F"; readonly tiktok: "https://www.tiktok.com/login/phone-or-email/password?lang=en"; }; /** * Get the login URL for an LLM platform */ export declare const getLLMPlatformUrl: (platform: string) => string | null; /** * Check if a platform is an LLM platform */ export declare const isLLMPlatform: (platform: string) => boolean; /** * Check if a platform is a WebView-extraction platform (non-LLM) * These platforms use WebView + JS injection for data extraction */ export declare const isWebViewExtractionPlatform: (platform: string) => boolean; /** * Check if platform is Telegram */ export declare const isTelegramPlatform: (platform: string) => boolean; /** * Check if platform is Hinge */ export declare const isHingePlatform: (platform: string) => boolean; /** * Check if platform is Instagram (WebView extraction mode) */ export declare const isInstagramPlatform: (platform: string) => boolean; /** * Check if platform is Sephora */ export declare const isSephoraPlatform: (platform: string) => boolean; /** * Check if platform is Netflix */ export declare const isNetflixPlatform: (platform: string) => boolean; /** * Check if platform is Spotify */ export declare const isSpotifyPlatform: (platform: string) => boolean; /** * Check if platform is TikTok */ export declare const isTikTokPlatform: (platform: string) => boolean; /** * Get the WebView URL for a platform */ export declare const getAppPlatformUrl: (platform: string) => string | null; /** * Get platform-specific user agent for optimal experience * Different platforms may require different user agents for proper rendering */ export declare const getPlatformUserAgent: (platform: string) => string; /** * Check if URL indicates successful login for a platform */ export declare const isLoggedInUrl: (url: string, platform: string) => boolean; /** * Check if a platform is LinkedIn */ export declare const isLinkedInPlatform: (platform: string) => boolean; /** * Check if URL is a LinkedIn profile page */ export declare const isLinkedInProfilePage: (url: string) => boolean; /** * Check if URL is a LinkedIn login/auth page */ export declare const isLinkedInLoginPage: (url: string) => boolean; /** * Check if URL is a LinkedIn OAuth callback */ export declare const isLinkedInOAuthCallback: (url: string) => boolean; //# sourceMappingURL=index.d.ts.map