/** * Gemini Handlers * * Handles deep_research, gemini_query, get_research_status, * upload_document, query_document, list_documents, delete_document, * query_chunked_document, get_query_history, and get_notebook_chat_history tools. */ import type { HandlerContext } from "./types.js"; import type { ToolResult, ProgressCallback } from "../../types.js"; import type { GeminiInteraction, DeepResearchResult, GeminiQueryResult, GeminiTool, GeminiModel, UploadDocumentResult, QueryDocumentResult, ListDocumentsResult } from "../../gemini/index.js"; /** * Handle deep_research tool */ export declare function handleDeepResearch(ctx: HandlerContext, args: { query: string; wait_for_completion?: boolean; max_wait_seconds?: number; thinking_level?: "minimal" | "low" | "medium" | "high"; }, sendProgress?: ProgressCallback): Promise>; /** * Handle gemini_query tool */ export declare function handleGeminiQuery(ctx: HandlerContext, args: { query: string; model?: GeminiModel; tools?: GeminiTool[]; urls?: string[]; previous_interaction_id?: string; thinking_level?: "minimal" | "low" | "medium" | "high"; response_schema?: Record; }): Promise>; /** * Handle get_research_status tool */ export declare function handleGetResearchStatus(ctx: HandlerContext, args: { interaction_id: string; }): Promise>; /** * Upload a document to Gemini Files API */ export declare function handleUploadDocument(ctx: HandlerContext, args: { file_path: string; display_name?: string; }): Promise>; /** * Query an uploaded document */ export declare function handleQueryDocument(ctx: HandlerContext, args: { file_name: string; query: string; model?: string; additional_files?: string[]; }): Promise>; /** * List all uploaded documents */ export declare function handleListDocuments(ctx: HandlerContext, args: { page_size?: number; }): Promise>; /** * Delete an uploaded document */ export declare function handleDeleteDocument(ctx: HandlerContext, args: { file_name: string; confirm: boolean; }): Promise>; /** * Query a chunked document (v1.10.0) * Queries multiple chunks and aggregates results */ export declare function handleQueryChunkedDocument(ctx: HandlerContext, args: { file_names: string[]; query: string; model?: string; }): Promise>; /** * Handle get_query_history tool */ export declare function handleGetQueryHistory(_ctx: HandlerContext, args: { session_id?: string; notebook_id?: string; date?: string; search?: string; limit?: number; }): Promise; }>>; /** * Handle get_notebook_chat_history tool * * Extracts conversation history from a NotebookLM notebook's chat UI */ export declare function handleGetNotebookChatHistory(ctx: HandlerContext, args: { notebook_id?: string; notebook_url?: string; preview_only?: boolean; limit?: number; offset?: number; output_file?: string; show_browser?: boolean; }): Promise; }>>;