// =====================================================
// DTOs: MCP Server
// Modulo: MGN-022
// Version: 1.0.0
// =====================================================

import { ToolCallStatus } from '../entities';
import { CallerType } from '../interfaces';

// ============================================
// Tool Call DTOs
// ============================================

export interface CallToolDto {
  tool: string;
  parameters?: Record<string, any>;
}

export interface ToolCallResultDto {
  success: boolean;
  toolName: string;
  result?: any;
  error?: string;
  callId: string;
}

export interface StartCallData {
  tenantId: string;
  toolName: string;
  parameters: Record<string, any>;
  agentId?: string;
  conversationId?: string;
  callerType: CallerType;
  userId?: string;
}

// ============================================
// History & Filters DTOs
// ============================================

export interface CallHistoryFilters {
  toolName?: string;
  status?: ToolCallStatus;
  startDate?: Date;
  endDate?: Date;
  page: number;
  limit: number;
}

export interface PaginatedResult<T> {
  data: T[];
  total: number;
  page: number;
  limit: number;
}

// ============================================
// Resource DTOs
// ============================================

export interface ResourceContentDto {
  uri: string;
  name: string;
  mimeType: string;
  content: any;
}
