/** * 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! */ import { SecureCredential } from "./utils/secure-memory.js"; /** * Clamp an integer to a [min, max] range */ export declare function clampInteger(value: number, min: number, max: number): number; /** * Google NotebookLM Auth URL (used by setup_auth) * This is the base Google login URL that redirects to NotebookLM */ export declare const NOTEBOOKLM_URL = "https://notebooklm.google.com/"; 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; 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; geminiApiKey: string | null; geminiDefaultModel: string; geminiDeepResearchEnabled: boolean; geminiTimeoutMs: number; noGemini: boolean; responseTimeout: number; followUpReminder: string; followUpEnabled: boolean; } /** * Parse boolean from string (for env vars) */ export declare function parseBoolean(value: string | undefined, defaultValue: boolean): boolean; /** * Parse integer from string (for env vars) */ export declare function parseInteger(value: string | undefined, defaultValue: number): number; /** * Parse comma/semicolon-separated array (for env vars) */ export declare function parseArray(value: string | undefined, defaultValue: string[]): string[]; /** * Get the secure login password credential */ export declare function getSecureLoginPassword(): SecureCredential | null; /** * Get the secure Gemini API key credential */ export declare function getSecureGeminiApiKey(): SecureCredential | null; /** * 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; export type { BrowserOptions } from "./notebook-creation/browser-options.js"; export { applyBrowserOptions } from "./notebook-creation/browser-options.js";