Files
meeting-assistant/MeetingAssistant/Workflow/MeetingWorkflowEvent.cs
T
2026-05-27 12:55:18 +02:00

39 lines
1.1 KiB
C#

using MeetingAssistant.MeetingNotes;
namespace MeetingAssistant.Workflow;
public enum MeetingWorkflowEventType
{
Created,
StateTransition,
SpeakerIdentified
}
public sealed record MeetingWorkflowEvent(
MeetingWorkflowEventType Type,
MeetingSessionArtifacts Artifacts,
AssistantContextState? FromState = null,
AssistantContextState? ToState = null,
string? SpeakerName = null)
{
public static MeetingWorkflowEvent Created(MeetingSessionArtifacts artifacts)
{
return new MeetingWorkflowEvent(MeetingWorkflowEventType.Created, artifacts);
}
public static MeetingWorkflowEvent StateTransition(
MeetingSessionArtifacts artifacts,
AssistantContextState from,
AssistantContextState to)
{
return new MeetingWorkflowEvent(MeetingWorkflowEventType.StateTransition, artifacts, from, to);
}
public static MeetingWorkflowEvent SpeakerIdentified(
MeetingSessionArtifacts artifacts,
string speakerName)
{
return new MeetingWorkflowEvent(MeetingWorkflowEventType.SpeakerIdentified, artifacts, SpeakerName: speakerName);
}
}