/** * Configuration for NotebookLM MCP Server * * Config Priority (highest to lowest): * 1. Hardcoded Defaults (works out of the box!) * 2. Environment Variables (optional, for advanced users) * 3. Tool Parameters (passed by Claude at runtime) * * No config.json file needed - all settings via ENV or tool parameters! */ /** * Google NotebookLM Auth URL (used by setup_auth) * This is the base Google login URL that redirects to NotebookLM */ export declare const NOTEBOOKLM_AUTH_URL = "https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fnotebooklm.google.com%2F&flowName=GlifWebSignIn&flowEntry=ServiceLogin"; export interface Config { notebookUrl: string; headless: boolean; browserTimeout: number; /** * Hard ceiling on the wait for a NotebookLM answer (issue #14 + #27). * Long-form queries on notebooks with many sources legitimately exceed * 2 min. Overridable via `ANSWER_TIMEOUT_MS` env or per-call via * `browser_options.timeout_ms`. */ answerTimeoutMs: number; viewport: { width: number; height: number; }; maxSessions: number; sessionTimeout: number; autoLoginEnabled: boolean; loginEmail: string; loginPassword: string; autoLoginTimeoutMs: number; stealthEnabled: boolean; stealthRandomDelays: boolean; stealthHumanTyping: boolean; stealthMouseMovements: boolean; typingWpmMin: number; typingWpmMax: number; minDelayMs: number; maxDelayMs: number; configDir: string; dataDir: string; browserStateDir: string; chromeProfileDir: string; chromeInstancesDir: string; notebookDescription: string; notebookTopics: string[]; notebookContentTypes: string[]; notebookUseCases: string[]; profileStrategy: "auto" | "single" | "isolated"; cloneProfileOnIsolated: boolean; cleanupInstancesOnStartup: boolean; cleanupInstancesOnShutdown: boolean; instanceProfileTtlHours: number; instanceProfileMaxCount: number; } /** * Global configuration instance */ export declare const CONFIG: Config; /** * Ensure all required directories exist * NOTE: We do NOT create configDir - it's not needed! */ export declare function ensureDirectories(): void; /** * Browser options that can be passed via tool parameters */ export interface BrowserOptions { show?: boolean; headless?: boolean; timeout_ms?: number; stealth?: { enabled?: boolean; random_delays?: boolean; human_typing?: boolean; mouse_movements?: boolean; typing_wpm_min?: number; typing_wpm_max?: number; delay_min_ms?: number; delay_max_ms?: number; }; viewport?: { width?: number; height?: number; }; } /** * Apply browser options to CONFIG (returns modified copy, doesn't mutate global CONFIG) */ export declare function applyBrowserOptions(options?: BrowserOptions, legacyShowBrowser?: boolean): Config; //# sourceMappingURL=config.d.ts.map