using FlowAPI.Application.DTOs.TaskNode; using FlowAPI.Application.DTOs.Edge; using FlowAPI.Application.DTOs.Graph; namespace FlowAPI.Application.DTOs.AI { public class GenerateAlternativeRequestDto { public Guid GraphId { get; set; } public Guid FailedNodeId { get; set; } } public class AIPathResponseDto { public List SuggestedNodes { get; set; } = new(); public List SuggestedEdges { get; set; } = new(); } public class GenerateGoalGraphRequestDto { public Guid UserId { get; set; } public string Goal { get; set; } = string.Empty; } public class AIChatMessageDto { public string Role { get; set; } = string.Empty; // "user" or "model" public string Text { get; set; } = string.Empty; } public class AICanvasAssistRequestDto { public Guid GraphId { get; set; } public string UserPrompt { get; set; } = string.Empty; public List History { get; set; } = new(); } public class AICanvasAssistResponseDto { public string Explanation { get; set; } = string.Empty; public List NewNodes { get; set; } = new(); public List NewEdges { get; set; } = new(); } }