forked from Manuel/meeting-assistant
feat(macos): enable meeting integrations
This commit is contained in:
@@ -38,7 +38,7 @@ builder.Services.AddSingleton<IMeetingAudioSource>(services => new CompositeMeet
|
||||
builder.Services.AddSingleton<IMeetingMetadataProvider, OutlookClassicMeetingMetadataProvider>();
|
||||
#else
|
||||
PortableMeetingAudioRegistration.Add(builder.Services);
|
||||
builder.Services.AddSingleton<IMeetingMetadataProvider, NoopMeetingMetadataProvider>();
|
||||
MacOsMeetingIntegrationRegistration.Add(builder.Services, OperatingSystem.IsMacOS());
|
||||
builder.Services.AddHostedService<MacOsDesktopControlService>();
|
||||
#endif
|
||||
builder.Services.AddSingleton<ITranscriptStore, VaultTranscriptStore>();
|
||||
@@ -69,14 +69,8 @@ builder.Services.AddSingleton<IMeetingStartPromptService>(services =>
|
||||
services.GetRequiredService<WindowsMeetingStartPromptService>());
|
||||
builder.Services.AddHostedService(services =>
|
||||
services.GetRequiredService<WindowsMeetingStartPromptService>());
|
||||
#else
|
||||
builder.Services.AddSingleton<ICalendarMeetingProvider, NoopCalendarMeetingProvider>();
|
||||
builder.Services.AddSingleton<IMeetingStartPromptService, NoopMeetingStartPromptService>();
|
||||
#endif
|
||||
#if WINDOWS
|
||||
builder.Services.AddSingleton<IActiveWindowScreenshotCapture, ActiveWindowScreenshotCapture>();
|
||||
#else
|
||||
builder.Services.AddSingleton<IActiveWindowScreenshotCapture, UnavailableActiveWindowScreenshotCapture>();
|
||||
builder.Services.AddSingleton<IScreenshotImageCropper, WindowsScreenshotImageCropper>();
|
||||
#endif
|
||||
builder.Services.AddSingleton<IScreenshotOcrClient, LiteLlmScreenshotOcrClient>();
|
||||
builder.Services.AddSingleton<MeetingScreenshotService>();
|
||||
@@ -150,6 +144,22 @@ app.MapGet("/health", () => Results.Ok(new
|
||||
service = "meeting-assistant",
|
||||
status = "ok"
|
||||
}));
|
||||
app.MapGet("/diagnostics/platform-capabilities", (
|
||||
HostOperatingSystem host,
|
||||
IOptions<MeetingAssistantOptions> options,
|
||||
IMeetingMetadataProvider meetingMetadataProvider,
|
||||
ICalendarMeetingProvider calendarMeetingProvider,
|
||||
IMeetingStartPromptService meetingStartPromptProvider,
|
||||
IActiveWindowScreenshotCapture screenshotProvider,
|
||||
IWorkflowRulesEditorWindowService workflowEditorProvider) =>
|
||||
Results.Ok(PlatformCapabilityReport.Create(
|
||||
host,
|
||||
options.Value,
|
||||
meetingMetadataProvider,
|
||||
calendarMeetingProvider,
|
||||
meetingStartPromptProvider,
|
||||
screenshotProvider,
|
||||
workflowEditorProvider)));
|
||||
|
||||
app.MapGet("/recording/status", (MeetingRecordingCoordinator coordinator) => Results.Ok(coordinator.CurrentStatus));
|
||||
app.MapGet("/profiles/{launchProfile}/recording/status", (
|
||||
|
||||
Reference in New Issue
Block a user