export * from "./generated.js"; /** @deprecated Use specific tool argument interfaces from generated.ts instead */ export interface ToolArguments { session_id?: string; imo?: string; query?: string; filters?: Record; sort_by?: string; sort_order?: string; max_results?: number; per_page?: number; limit?: number; start_date?: string; end_date?: string; daysAgo?: number; status?: string; type?: string; stage?: string; priority?: string; casefile_id?: string; vessel_name?: string; category?: string; importance?: string; from_date?: string; to_date?: string; search_type?: string; page?: number; [key: string]: any; } export type ToolResponse = Array<{ type: "text" | "image"; text?: string; image_url?: string; title?: string; format?: string; }>; export interface ToolArgumentsMap { get_vessel_details: { query: string; }; smart_casefile_search: { query?: string; search_type?: string; imo?: number; vessel_name?: string; category?: string; importance?: string; from_date?: string; to_date?: string; sort_by?: string; max_results?: number; page?: number; }; get_casefile_index: { casefile_id: string; limit?: number; next_iter?: number; }; get_casefile_pages: { casefile_id: string; pages: number[]; }; get_latest_plan: { casefile_id: string; }; create_casefile: { casefile: string; category: string; currentStatus: string; summary: string; importance: number; imo: number; vesselName?: string; flag?: string; pages?: any[]; index?: any[]; }; update_casefile: { casefile_id: string; mongodb_update: Record; }; email_search: { vessel_name?: string; vessel_id?: string; imo?: string; from_email?: string; from_name?: string; to_email?: string; to_name?: string; cc_email?: string; cc_name?: string; subject_query?: string; casefile_query?: string; narrative_query?: string; tags?: string[]; importance?: string; date_from?: string; date_to?: string; has_attachments?: boolean; limit?: number; sort_by_date?: string; }; get_email_details: { mail_body_id: string; }; } export type GetToolArguments = ToolArgumentsMap[T]; export interface VesselInfo { imo: string; name: string; class?: string; flag?: string; shippalmDoc?: string; isV3?: boolean; } export interface Casefile { id: string; imo: number; vesselName: string; casefile: string; category: string; currentStatus: string; summary: string; importance: number; pages: Array; index: Array; casefilePlans: Array; taskAssigned: Array; link: string; createdAt: Date; updatedAt: Date; } export interface Page { type: string; topic: string; summary: string; content?: string; attachments: string[]; link?: string; pagenum: number; plan_status: string; memory_status: string; dateTime: Date; } export interface Index { type: string; topic: string; pagenum: number; plan_status: string; memory_status: string; dateTime: Date; } export interface Plan { dateTime: Date; flag: string; plan: string; color: string; summary: string; } export interface Task { id: string; task: string; status: string; dependency: string[]; taskDate: Date; isUpdated: boolean; task_update_tracker: string; assignee: string; } export interface EmailInfo { id: string; subject: string; vessel_name: string; imo: string; sender_name: string; sender_email_address: string; narrative: string; casefile: string; attachments: string[]; date_time: string; tags: string[]; mail_body_link: string; } export interface Config { mongoUri: string; dbName: string; typesenseHost: string; typesensePort: number; typesenseProtocol: string; typesenseApiKey: string; OPENROUTER_API_KEY: string; s3AccessKey: string; s3SecretKey: string; s3BucketName: string; s3Region: string; perplexityApiKey: string; companyName: string; API_BASE_URL: string; API_TOKEN: string; }