/** * adapter-generator.ts — AI-powered ATS adapter generator * * When cv jobs apply encounters a URL from an unknown ATS platform, this module: * 1. Scrapes the HTML skeleton of the form (headless Playwright) * 2. Calls Gemini to generate a TypeScript ATSAdapter implementation * 3. Saves the generated adapter to ~/.careervivid/adapters/.js (runtime) * 4. Optionally syncs to Firebase Storage (user's "memory space") so it's * available across devices/reinstalls without needing a CLI rebuild * * Generated adapters are saved as pre-transpiled JavaScript (not TypeScript) * so they can be loaded via dynamic import() at runtime without a build step. * * Firebase Storage path: gs:///users//adapters/.js */ export interface GeneratedAdapter { hostname: string; filePath: string; source: "cache" | "generated" | "firebase"; } /** * Try to load or generate a TypeScript adapter for the given URL. * * @param url The job application URL * @param apiKey Gemini API key for generating the adapter * @param model Gemini model to use (e.g. "gemini-3-flash-preview") * @returns Path to the generated .js adapter file, or null on failure */ export declare function getOrGenerateAdapter(url: string, apiKey: string, model: string): Promise; /** * Dynamically load a generated adapter from a .mjs file. * Returns an ATSAdapter-like object or null on failure. */ export declare function loadGeneratedAdapter(adapterPath: string): Promise; /** * List all locally cached adapters (for debugging / cv agent --jobs info). */ export declare function listCachedAdapters(): Array<{ hostname: string; path: string; }>; //# sourceMappingURL=adapter-generator.d.ts.map