mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-03-22 22:11:36 +00:00
Fixed "Send to" options based on assistant visibility (#695)
This commit is contained in:
parent
65ec82cdcb
commit
e15f1ce54e
25
AGENTS.md
25
AGENTS.md
@ -144,7 +144,7 @@ Multi-level confidence scheme allows users to control which providers see which
|
||||
|
||||
**Rust:**
|
||||
- Tauri 1.8 - Desktop application framework
|
||||
- Rocket 0.5 - HTTPS API server
|
||||
- Rocket - HTTPS API server
|
||||
- tokio - Async runtime
|
||||
- keyring - OS keyring integration
|
||||
- pdfium-render - PDF text extraction
|
||||
@ -152,7 +152,7 @@ Multi-level confidence scheme allows users to control which providers see which
|
||||
|
||||
**.NET:**
|
||||
- Blazor Server - UI framework
|
||||
- MudBlazor 8.12 - Component library
|
||||
- MudBlazor - Component library
|
||||
- LuaCSharp - Lua scripting engine
|
||||
- HtmlAgilityPack - HTML parsing
|
||||
- ReverseMarkdown - HTML to Markdown conversion
|
||||
@ -168,7 +168,7 @@ Multi-level confidence scheme allows users to control which providers see which
|
||||
|
||||
1. Create changelog file: `app/MindWork AI Studio/wwwroot/changelog/vX.Y.Z.md`
|
||||
2. Commit changelog
|
||||
3. Run from `app/Build`: `dotnet run release --action <patch|minor|major>`
|
||||
3. Run from `app/Build`: `dotnet run release --action <build|month|year>`
|
||||
4. Create PR with version bump and changes
|
||||
5. After PR merge, maintainer creates git tag: `vX.Y.Z`
|
||||
6. GitHub Actions builds release binaries for all platforms
|
||||
@ -183,3 +183,22 @@ Multi-level confidence scheme allows users to control which providers see which
|
||||
- **MudBlazor** - Component library requires DI setup in Program.cs
|
||||
- **Encryption** - Initialized before Rust service is marked ready
|
||||
- **Message Bus** - Singleton event bus for cross-component communication inside the .NET app
|
||||
|
||||
## Changelogs
|
||||
Changelogs are located in `app/MindWork AI Studio/wwwroot/changelog/` with filenames `vX.Y.Z.md`. These changelogs are meant to be for normal end-users
|
||||
and should be written in a non-technical way, focusing on user-facing changes and improvements. Additionally, changes made regarding the plugin system
|
||||
should be included in the changelog, especially if they affect how users can configure the app or if they introduce new capabilities for plugins. Plugin
|
||||
developers should also be informed about these changes, as they might need to update their plugins accordingly. When adding entries to the changelog,
|
||||
please ensure they are clear and concise, avoiding technical jargon where possible. Each entry starts with a dash and a space (`- `) and one of the
|
||||
following words:
|
||||
|
||||
- Added
|
||||
- Improved
|
||||
- Changed
|
||||
- Fixed
|
||||
- Updated
|
||||
- Removed
|
||||
- Downgraded
|
||||
- Upgraded
|
||||
|
||||
The entire changelog is sorted by these categories in the order shown above. The language used for the changelog is US English.
|
||||
@ -80,10 +80,10 @@
|
||||
|
||||
@if (!this.FooterButtons.Any(x => x.Type is ButtonTypes.SEND_TO))
|
||||
{
|
||||
@if (this.ShowSendTo)
|
||||
@if (this.ShowSendTo && this.VisibleSendToAssistants.Count > 0)
|
||||
{
|
||||
<MudMenu AnchorOrigin="Origin.TopLeft" TransformOrigin="Origin.BottomLeft" StartIcon="@Icons.Material.Filled.Apps" EndIcon="@Icons.Material.Filled.KeyboardArrowDown" Label="@TB("Send to ...")" Variant="Variant.Filled" Style="@this.GetSendToColor()" Class="rounded">
|
||||
@foreach (var assistant in Enum.GetValues<Components>().Where(n => n.AllowSendTo()).OrderBy(n => n.Name().Length))
|
||||
@foreach (var assistant in this.VisibleSendToAssistants)
|
||||
{
|
||||
<MudMenuItem OnClick="@(async () => await this.SendToAssistant(assistant, new()))">
|
||||
@assistant.Name()
|
||||
@ -112,14 +112,17 @@
|
||||
break;
|
||||
|
||||
case SendToButton sendToButton:
|
||||
@if (this.VisibleSendToAssistants.Count > 0)
|
||||
{
|
||||
<MudMenu AnchorOrigin="Origin.TopLeft" TransformOrigin="Origin.BottomLeft" StartIcon="@Icons.Material.Filled.Apps" EndIcon="@Icons.Material.Filled.KeyboardArrowDown" Label="@TB("Send to ...")" Variant="Variant.Filled" Style="@this.GetSendToColor()" Class="rounded">
|
||||
@foreach (var assistant in Enum.GetValues<Components>().Where(n => n.AllowSendTo()).OrderBy(n => n.Name().Length))
|
||||
@foreach (var assistant in this.VisibleSendToAssistants)
|
||||
{
|
||||
<MudMenuItem OnClick="@(async () => await this.SendToAssistant(assistant, sendToButton))">
|
||||
@assistant.Name()
|
||||
</MudMenuItem>
|
||||
}
|
||||
</MudMenu>
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -106,6 +106,13 @@ public abstract partial class AssistantBase<TSettings> : AssistantLowerBase wher
|
||||
{
|
||||
await base.OnInitializedAsync();
|
||||
|
||||
if (!this.SettingsManager.IsAssistantVisible(this.Component, assistantName: this.Title))
|
||||
{
|
||||
this.Logger.LogInformation("Assistant '{AssistantTitle}' is hidden. Redirecting to the assistants overview.", this.Title);
|
||||
this.NavigationManager.NavigateTo(Routes.ASSISTANTS);
|
||||
return;
|
||||
}
|
||||
|
||||
this.formChangeTimer.AutoReset = false;
|
||||
this.formChangeTimer.Elapsed += async (_, _) =>
|
||||
{
|
||||
@ -143,6 +150,11 @@ public abstract partial class AssistantBase<TSettings> : AssistantLowerBase wher
|
||||
|
||||
private string SubmitButtonStyle => this.SettingsManager.ConfigurationData.LLMProviders.ShowProviderConfidence ? this.providerSettings.UsedLLMProvider.GetConfidence(this.SettingsManager).StyleBorder(this.SettingsManager) : string.Empty;
|
||||
|
||||
private IReadOnlyList<Tools.Components> VisibleSendToAssistants => Enum.GetValues<AIStudio.Tools.Components>()
|
||||
.Where(this.CanSendToAssistant)
|
||||
.OrderBy(component => component.Name().Length)
|
||||
.ToArray();
|
||||
|
||||
protected string? ValidatingProvider(AIStudio.Settings.Provider provider)
|
||||
{
|
||||
if(provider.UsedLLMProvider == LLMProviders.NONE)
|
||||
@ -339,7 +351,7 @@ public abstract partial class AssistantBase<TSettings> : AssistantLowerBase wher
|
||||
|
||||
protected Task SendToAssistant(Tools.Components destination, SendToButton sendToButton)
|
||||
{
|
||||
if (!destination.AllowSendTo())
|
||||
if (!this.CanSendToAssistant(destination))
|
||||
return Task.CompletedTask;
|
||||
|
||||
var contentToSend = sendToButton == default ? string.Empty : sendToButton.UseResultingContentBlockData switch
|
||||
@ -370,6 +382,14 @@ public abstract partial class AssistantBase<TSettings> : AssistantLowerBase wher
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
private bool CanSendToAssistant(Tools.Components component)
|
||||
{
|
||||
if (!component.AllowSendTo())
|
||||
return false;
|
||||
|
||||
return this.SettingsManager.IsAssistantVisible(component, withLogging: false);
|
||||
}
|
||||
|
||||
private async Task InnerResetForm()
|
||||
{
|
||||
this.resultingContentBlock = null;
|
||||
|
||||
@ -9,4 +9,5 @@
|
||||
- Improved the logbook reliability by significantly reducing duplicate log entries.
|
||||
- Improved file attachments in chats: configuration and project files such as `Dockerfile`, `Caddyfile`, `Makefile`, or `Jenkinsfile` are now included more reliably when you send them to the AI.
|
||||
- Improved the validation of additional API parameters in the advanced provider settings to help catch formatting mistakes earlier.
|
||||
- Fixed an issue where the app could turn white or appear invisible in certain chats after HTML-like content was shown. Thanks Inga for reporting this issue and providing some context on how to reproduce it.
|
||||
- Fixed an issue where assistants hidden via configuration plugins still appear in "Send to ..." menus. Thanks, Gunnar, for reporting this issue.
|
||||
- Fixed an issue where the app could turn white or appear invisible in certain chats after HTML-like content was shown. Thanks, Inga, for reporting this issue and providing some context on how to reproduce it.
|
||||
Loading…
Reference in New Issue
Block a user