Public Access
Add meeting workflow automation
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user