namespace MeetingAssistant.MeetingNotes; public static class MeetingNoteActionLinks { public static string CreateSummaryRetryLink( string publicBaseUrl, string summaryPath, string label = "Retry summary generation") { var baseUrl = string.IsNullOrWhiteSpace(publicBaseUrl) ? "http://localhost:5090" : publicBaseUrl.TrimEnd('/'); var summaryFileName = Path.GetFileName(summaryPath); var url = $"{baseUrl}/meetings/summary/retry?summaryPath={Uri.EscapeDataString(summaryFileName)}"; return $"[{label}]({url})"; } public static string CreateScreenshotOcrRetryLink( string publicBaseUrl, MeetingSessionArtifacts artifacts, string screenshotPath, string screenshotId, string label = "Retry screenshot OCR") { var baseUrl = string.IsNullOrWhiteSpace(publicBaseUrl) ? "http://localhost:5090" : publicBaseUrl.TrimEnd('/'); var url = $"{baseUrl}/meetings/screenshot-ocr/retry" + $"?meetingNotePath={Uri.EscapeDataString(artifacts.MeetingNotePath)}" + $"&transcriptPath={Uri.EscapeDataString(artifacts.TranscriptPath)}" + $"&assistantContextPath={Uri.EscapeDataString(artifacts.AssistantContextPath)}" + $"&summaryPath={Uri.EscapeDataString(artifacts.SummaryPath)}" + $"&screenshotPath={Uri.EscapeDataString(screenshotPath)}" + $"&screenshotId={Uri.EscapeDataString(screenshotId)}"; return $"[{label}]({url})"; } }