2025-04-24 11:50:14 +00:00
|
|
|
using AIStudio.Components;
|
2026-02-24 12:52:13 +00:00
|
|
|
using AIStudio.Tools.PluginSystem;
|
|
|
|
|
using AIStudio.Tools.PluginSystem.Assistants;
|
2026-03-31 13:36:22 +00:00
|
|
|
using Microsoft.AspNetCore.Components;
|
2024-08-21 06:30:01 +00:00
|
|
|
|
|
|
|
|
namespace AIStudio.Pages;
|
|
|
|
|
|
2026-02-24 12:52:13 +00:00
|
|
|
public partial class Assistants : MSGComponentBase
|
|
|
|
|
{
|
2026-03-31 13:36:22 +00:00
|
|
|
protected override async Task OnInitializedAsync()
|
|
|
|
|
{
|
|
|
|
|
this.ApplyFilters([], [ Event.CONFIGURATION_CHANGED, Event.PLUGINS_RELOADED ]);
|
|
|
|
|
await base.OnInitializedAsync();
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-24 14:00:43 +00:00
|
|
|
private IReadOnlyCollection<PluginAssistants> AssistantPlugins =>
|
|
|
|
|
PluginFactory.RunningPlugins.OfType<PluginAssistants>()
|
|
|
|
|
.Where(plugin => this.SettingsManager.IsPluginEnabled(plugin))
|
|
|
|
|
.ToList();
|
2026-03-31 13:36:22 +00:00
|
|
|
|
|
|
|
|
protected override Task ProcessIncomingMessage<T>(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default
|
|
|
|
|
{
|
|
|
|
|
if (triggeredEvent is Event.CONFIGURATION_CHANGED or Event.PLUGINS_RELOADED)
|
|
|
|
|
return this.InvokeAsync(this.StateHasChanged);
|
|
|
|
|
|
|
|
|
|
return Task.CompletedTask;
|
|
|
|
|
}
|
2026-02-24 12:52:13 +00:00
|
|
|
}
|