diff --git a/app/MindWork AI Studio/Program.cs b/app/MindWork AI Studio/Program.cs index 0effbcc5..c7d22423 100644 --- a/app/MindWork AI Studio/Program.cs +++ b/app/MindWork AI Studio/Program.cs @@ -170,7 +170,6 @@ internal sealed class Program builder.Services.AddMudMarkdownClipboardService(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); - builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); diff --git a/app/MindWork AI Studio/Tools/ToolCallingSystem/ToolCallingImplementations/GetCurrentWeatherTool.cs b/app/MindWork AI Studio/Tools/ToolCallingSystem/ToolCallingImplementations/GetCurrentWeatherTool.cs deleted file mode 100644 index 23bce8f3..00000000 --- a/app/MindWork AI Studio/Tools/ToolCallingSystem/ToolCallingImplementations/GetCurrentWeatherTool.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System.Text.Json; -using AIStudio.Tools.PluginSystem; - -namespace AIStudio.Tools.ToolCallingSystem.ToolCallingImplementations; - -public sealed class GetCurrentWeatherTool : IToolImplementation -{ - private static string TB(string fallbackEN) => I18N.I.T(fallbackEN, typeof(GetCurrentWeatherTool).Namespace, nameof(GetCurrentWeatherTool)); - - public string ImplementationKey => "get_current_weather"; - - public string Icon => Icons.Material.Filled.Cloud; - - public IReadOnlySet SensitiveTraceArgumentNames => new HashSet(StringComparer.Ordinal); - - public string GetDisplayName() => TB("Current Weather"); - - public string GetDescription() => TB("Use this demo tool to retrieve the current weather for a given city and state. It is primarily meant to demonstrate tool calling and tool settings in AI Studio."); - - public string GetSettingsFieldLabel(string fieldName, ToolSettingsFieldDefinition fieldDefinition) => fieldName switch - { - "demoLabel" => TB("Demo Label"), - _ => TB(fieldDefinition.Title), - }; - - public string GetSettingsFieldDescription(string fieldName, ToolSettingsFieldDefinition fieldDefinition) => fieldName switch - { - "demoLabel" => TB("Required demo setting for validating tool settings in tests. It does not affect the weather result."), - _ => TB(fieldDefinition.Description), - }; - - public Task ExecuteAsync(JsonElement arguments, ToolExecutionContext context, CancellationToken token = default) - { - var city = arguments.TryGetProperty("city", out var cityValue) ? cityValue.GetString() ?? string.Empty : string.Empty; - var state = arguments.TryGetProperty("state", out var stateValue) ? stateValue.GetString() ?? string.Empty : string.Empty; - var unit = arguments.TryGetProperty("unit", out var unitValue) ? unitValue.GetString() ?? string.Empty : string.Empty; - - if (unit is not ("celsius" or "fahrenheit")) - throw new ArgumentException($"Invalid unit '{unit}'."); - - return Task.FromResult(new ToolExecutionResult - { - TextContent = $"The weather in {city}, {state} is 85 degrees {unit}. It is partly cloudy with highs in the 90's.", - }); - } -} diff --git a/app/MindWork AI Studio/wwwroot/tool_definitions/get_current_weather.json b/app/MindWork AI Studio/wwwroot/tool_definitions/get_current_weather.json deleted file mode 100644 index 47b93580..00000000 --- a/app/MindWork AI Studio/wwwroot/tool_definitions/get_current_weather.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "schemaVersion": 1, - "id": "get_current_weather", - "implementationKey": "get_current_weather", - "visibleIn": { - "chat": true, - "assistants": true - }, - "settingsSchema": { - "type": "object", - "properties": { - "demoLabel": { - "type": "string", - "secret": false - } - }, - "required": [ - "demoLabel" - ] - }, - "function": { - "name": "get_current_weather", - "description": "Get the current weather in a given location.", - "strict": true, - "parameters": { - "type": "object", - "properties": { - "city": { - "type": "string", - "description": "The city to find the weather for, e.g. 'San Francisco'." - }, - "state": { - "type": "string", - "description": "The two-letter abbreviation for the state, e.g. 'CA'." - }, - "unit": { - "type": "string", - "description": "The unit to fetch the temperature in.", - "enum": [ - "celsius", - "fahrenheit" - ] - } - }, - "required": [ - "city", - "state", - "unit" - ], - "additionalProperties": false - } - } -}