Public Access
Add taskbar controls and summary oneliner
This commit is contained in:
@@ -206,8 +206,19 @@ public sealed class MeetingSummaryTools
|
||||
return $"Deleted identity {deletion.Identity} and relabeled transcript speaker mentions to {deletion.Replacement}.";
|
||||
}
|
||||
|
||||
public async Task<string> WriteSummary(string markdown, string? title = null)
|
||||
public async Task<string> WriteSummary(string markdown, string oneliner, string? title = null)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(oneliner))
|
||||
{
|
||||
return "Refused: oneliner must not be empty.";
|
||||
}
|
||||
|
||||
var trimmedOneLiner = oneliner.Trim();
|
||||
if (ContainsLineBreak(trimmedOneLiner))
|
||||
{
|
||||
return "Refused: oneliner must be a single line.";
|
||||
}
|
||||
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(artifacts.SummaryPath)!);
|
||||
var meetingNote = await ReadMeetingNoteAsync();
|
||||
var summaryTitle = string.IsNullOrWhiteSpace(meetingNote.Frontmatter.Title)
|
||||
@@ -218,6 +229,7 @@ public sealed class MeetingSummaryTools
|
||||
meetingNote,
|
||||
string.IsNullOrWhiteSpace(summaryTitle) ? "Meeting Summary" : summaryTitle,
|
||||
CancellationToken.None);
|
||||
frontmatter.OneLiner = trimmedOneLiner;
|
||||
await File.WriteAllTextAsync(
|
||||
artifacts.SummaryPath,
|
||||
MeetingArtifactFrontmatterRenderer.Render(frontmatter, markdown));
|
||||
@@ -225,6 +237,12 @@ public sealed class MeetingSummaryTools
|
||||
return artifacts.SummaryPath;
|
||||
}
|
||||
|
||||
private static bool ContainsLineBreak(string value)
|
||||
{
|
||||
return value.Contains('\n', StringComparison.Ordinal) ||
|
||||
value.Contains('\r', StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
public bool SummaryWasWritten { get; private set; }
|
||||
|
||||
public async Task<string> WriteContext(
|
||||
|
||||
Reference in New Issue
Block a user