1 write to ToolDefinition
Aspire.Dashboard (1)
Model\GenAI\GenAIVisualizerDialogViewModel.cs (1)
113viewModel.ToolDefinitions.Add(new ToolDefinitionViewModel { ToolDefinition = toolDef });
67 references to ToolDefinition
Aspire.Dashboard (14)
Components\Dialogs\GenAIVisualizerDialog.razor.cs (4)
244if (string.IsNullOrEmpty(vm.ToolDefinition.Description)) 246return vm.ToolDefinition.Name ?? string.Empty; 249return $"{vm.ToolDefinition.Name} - {vm.ToolDefinition.Description}";
Components_Dialogs_GenAIVisualizerDialog_razor.g.cs (10)
1456if (Content.ToolDefinitions.FirstOrDefault(d => d.ToolDefinition.Name == toolCallPart.Name) is { } toolVM) 1557if (Content.ToolDefinitions.FirstOrDefault(d => d.ToolDefinition.Name == toolCallRequestPart.Name) is { } toolVM) 2795foreach (var toolVM in Content.ToolDefinitions.Where(t => t.ToolDefinition.Type == "function")) 2872__builder6.AddContent(330, toolVM.ToolDefinition.Type 2887__builder5.AddContent(335, toolVM.ToolDefinition.Name 2904if (!string.IsNullOrEmpty(toolVM.ToolDefinition.Description)) 2915__builder5.AddContent(338, FormatHelpers.TruncateText(toolVM.ToolDefinition.Description, maxLength: 100) 2944if (toolVM.ToolDefinition.Parameters is { Properties: { Count: > 0 } properties }) 3044if (toolVM.ToolDefinition.Parameters.Required?.Contains(prop.Key) == true) 3203if (toolVM.ToolDefinition.Parameters.Required?.Count > 0)
Aspire.Dashboard.Tests (53)
Model\GenAIVisualizerDialogViewModelTests.cs (53)
1160Assert.Equal("function", tool.ToolDefinition.Type); 1161Assert.Equal("get_current_weather", tool.ToolDefinition.Name); 1162Assert.Equal("Get the current weather in a given location", tool.ToolDefinition.Description); 1163Assert.NotNull(tool.ToolDefinition.Parameters); 1164Assert.Equal(JsonSchemaType.Object, tool.ToolDefinition.Parameters.Type); 1165Assert.NotNull(tool.ToolDefinition.Parameters.Properties); 1166Assert.Equal(2, tool.ToolDefinition.Parameters.Properties.Count); 1168Assert.True(tool.ToolDefinition.Parameters.Properties.ContainsKey("location")); 1169var locationProp = tool.ToolDefinition.Parameters.Properties["location"]; 1173Assert.True(tool.ToolDefinition.Parameters.Properties.ContainsKey("unit")); 1174var unitProp = tool.ToolDefinition.Parameters.Properties["unit"]; 1181Assert.NotNull(tool.ToolDefinition.Parameters.Required); 1182Assert.Equal(2, tool.ToolDefinition.Parameters.Required.Count); 1183Assert.Contains("location", tool.ToolDefinition.Parameters.Required); 1184Assert.Contains("unit", tool.ToolDefinition.Parameters.Required); 1447Assert.Contains(vm.ToolDefinitions, t => t.ToolDefinition.Name == "get_weather" && t.ToolDefinition.Description == "Gets weather for a location"); 1448Assert.Contains(vm.ToolDefinitions, t => t.ToolDefinition.Name == "search" && t.ToolDefinition.Description == "Searches the web"); 1522Assert.Equal("function", tool.ToolDefinition.Type); 1523Assert.Equal("get_optional_value", tool.ToolDefinition.Name); 1524Assert.Equal("Get an optional value that may be null", tool.ToolDefinition.Description); 1525Assert.NotNull(tool.ToolDefinition.Parameters); 1526Assert.Equal(JsonSchemaType.Object, tool.ToolDefinition.Parameters.Type); 1527Assert.NotNull(tool.ToolDefinition.Parameters.Properties); 1528Assert.Equal(3, tool.ToolDefinition.Parameters.Properties.Count); 1531Assert.True(tool.ToolDefinition.Parameters.Properties.ContainsKey("value")); 1532var valueProp = tool.ToolDefinition.Parameters.Properties["value"]; 1537Assert.True(tool.ToolDefinition.Parameters.Properties.ContainsKey("count")); 1538var countProp = tool.ToolDefinition.Parameters.Properties["count"]; 1542Assert.True(tool.ToolDefinition.Parameters.Properties.ContainsKey("flag")); 1543var flagProp = tool.ToolDefinition.Parameters.Properties["flag"]; 1546Assert.NotNull(tool.ToolDefinition.Parameters.Required); 1547Assert.Single(tool.ToolDefinition.Parameters.Required); 1548Assert.Contains("flag", tool.ToolDefinition.Parameters.Required); 1630Assert.Equal("function", tool.ToolDefinition.Type); 1631Assert.Equal("process_data", tool.ToolDefinition.Name); 1632Assert.NotNull(tool.ToolDefinition.Parameters); 1633Assert.NotNull(tool.ToolDefinition.Parameters.Properties); 1634Assert.Equal(3, tool.ToolDefinition.Parameters.Properties.Count); 1637var itemsProp = tool.ToolDefinition.Parameters.Properties["items"]; 1644var numbersProp = tool.ToolDefinition.Parameters.Properties["numbers"]; 1651var mixedProp = tool.ToolDefinition.Parameters.Properties["mixed"]; 2113Assert.Equal("function", tool.ToolDefinition.Type); 2114Assert.Equal("get_data", tool.ToolDefinition.Name); 2115Assert.Equal("Gets data from source", tool.ToolDefinition.Description); 2116Assert.NotNull(tool.ToolDefinition.Parameters); 2117Assert.NotNull(tool.ToolDefinition.Parameters.Properties); 2118Assert.Equal(2, tool.ToolDefinition.Parameters.Properties.Count); 2121Assert.True(tool.ToolDefinition.Parameters.Properties.ContainsKey("validParam")); 2122var validParam = tool.ToolDefinition.Parameters.Properties["validParam"]; 2127Assert.True(tool.ToolDefinition.Parameters.Properties.ContainsKey("invalidParam")); 2128var invalidParam = tool.ToolDefinition.Parameters.Properties["invalidParam"];