forked from Manuel/meeting-assistant
ci: consolidate platform pipelines and test prerequisites on macOS support
This commit is contained in:
1 parent
1b19b08f2e
commit
728e66dd72
76 files changed
+7477
-239
No files matched your search
@@ -0,0 +1,43 @@
|
||||
using MeetingAssistant.Notifications;
|
||||
|
||||
namespace MeetingAssistant.MacOs;
|
||||
|
||||
public static class DesktopCommunicationEndpoints
|
||||
{
|
||||
public static void MapDesktopCommunication(this WebApplication app)
|
||||
{
|
||||
app.MapGet("/desktop/requests", (DesktopUserRequestStore requests) => Results.Ok(requests.List()));
|
||||
app.MapPost("/desktop/requests/{id}/respond", async (
|
||||
string id, DesktopUserRequestResponse response, DesktopUserRequestStore requests) =>
|
||||
{
|
||||
if (string.IsNullOrEmpty(response.Action)) return Results.BadRequest();
|
||||
return await requests.RespondAsync(id, response.Action) switch
|
||||
{
|
||||
DesktopUserRequestRespondResult.Accepted => Results.Ok(new { status = "accepted" }),
|
||||
DesktopUserRequestRespondResult.InvalidAction => Results.BadRequest(new { status = "invalid-action" }),
|
||||
DesktopUserRequestRespondResult.NoLongerPending => Results.StatusCode(StatusCodes.Status410Gone),
|
||||
_ => Results.Problem("The user action could not be completed.")
|
||||
};
|
||||
});
|
||||
app.MapGet("/desktop/agent-windows", (MacOsWorkflowRulesEditorSessions sessions) =>
|
||||
Results.Ok(sessions.GetAgentWindows()));
|
||||
app.MapGet("/diagnostics/settings-and-logs", () =>
|
||||
Results.Content(MacOsWorkflowRulesEditorPage.Html, "text/html"));
|
||||
app.MapGet("/diagnostics/settings-and-logs/chat", IResult (
|
||||
string? session, MacOsWorkflowRulesEditorSessions sessions) =>
|
||||
{
|
||||
return sessions.TryGetSession(session, out var chat)
|
||||
? Results.Ok(chat.GetSnapshot())
|
||||
: Results.NotFound();
|
||||
});
|
||||
app.MapPost("/diagnostics/settings-and-logs/chat", async Task<IResult> (
|
||||
string? session, MacOsWorkflowRulesEditorChatRequest request,
|
||||
MacOsWorkflowRulesEditorSessions sessions, CancellationToken cancellationToken) =>
|
||||
{
|
||||
if (!sessions.TryGetSession(session, out var chat)) return Results.NotFound();
|
||||
return Results.Ok(await chat.SendAsync(request.Message, cancellationToken));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public sealed record DesktopUserRequestResponse(string? Action);
|
||||
Reference in new issue
Block a user