/** * MCP-server specific types. * * The SDK (`agentdrop-sdk`) exports Transfer, AgentDrop, DownloadedFile, * ShieldBlockError, etc. These types are only kept for the two tools * (list_agents, get_transfer) that still use direct fetch calls. */ /** An agent registered on the account (from GET /v1/agents). */ export interface Agent { id: string; agent_id: string; agent_type: string; name: string; description?: string; connection_status: string; key_version: number; last_seen_at: string | null; metadata?: Record; created_at: string; } /** A file within a transfer. */ export interface TransferFile { id: string; name: string; size: number; content_type: string; } /** A file transfer (from GET /v1/transfers/:id). */ export interface TransferDetail { id: string; sender: string; recipient: string; status: string; mode: string; message?: string; file_count: number; total_size: number; is_encrypted: boolean; auto_delete: boolean; files: TransferFile[]; downloads: number; max_downloads: number; expires_at: string; created_at: string; download_url?: string; } /** An active account connection (from GET /v1/connections). */ export interface Connection { id: string; other_account: { id: string; name: string; email: string; avatar_url: string | null; }; status: string; invited_by: string; message: string | null; created_at: string; accepted_at: string | null; pairing_count: number; pending_pairing_count: number; } /** A pending incoming connection request. */ export interface PendingIncoming { id: string; from: { id: string; name: string; email: string; }; message: string | null; created_at: string; } /** A pending outgoing connection invitation. */ export interface PendingOutgoing { id: string; to_email: string; message: string | null; created_at: string; } /** Full response from GET /v1/connections. */ export interface ConnectionsResponse { connections: Connection[]; pending_incoming: PendingIncoming[]; pending_outgoing: PendingOutgoing[]; pending_pairings_count: number; } /** API error shape. */ export interface ApiError { error: { code: string; message: string; details?: Array<{ field: string; message: string; }>; }; }