77 references to JsonSchemaType
Aspire.Dashboard (27)
Model\GenAI\GenAISchemaHelpers.cs (26)
74internal static JsonSchemaType? ParseTypeValue(JsonNode? typeNode) 88JsonSchemaType? result = null; 97if (TryConvertToJsonSchemaType(typeValue, out var schemaType)) 113return TryConvertToJsonSchemaType(typeString, out var type) ? type : null; 121internal static bool TryConvertToJsonSchemaType(string? typeString, out JsonSchemaType schemaType) 125TypeNull => JsonSchemaType.Null, 126TypeBoolean => JsonSchemaType.Boolean, 127TypeInteger => JsonSchemaType.Integer, 128TypeNumber => JsonSchemaType.Number, 129TypeString => JsonSchemaType.String, 130TypeObject => JsonSchemaType.Object, 131TypeArray => JsonSchemaType.Array, 146var type = ResolveNullInSchemaType(schema.Type.Value); 148if (type.HasFlag(JsonSchemaType.Null)) 152if (type.HasFlag(JsonSchemaType.Boolean)) 156if (type.HasFlag(JsonSchemaType.Integer)) 160if (type.HasFlag(JsonSchemaType.Number)) 164if (type.HasFlag(JsonSchemaType.String)) 168if (type.HasFlag(JsonSchemaType.Object)) 172if (type.HasFlag(JsonSchemaType.Array)) 179static JsonSchemaType ResolveNullInSchemaType(JsonSchemaType type) 182return type == JsonSchemaType.Null ? type : type & ~JsonSchemaType.Null; 190var itemType = ResolveNullInSchemaType(itemsSchema.Type.Value); 191if (itemType != JsonSchemaType.Array)
Model\GenAI\ToolDefinitionSchema.cs (1)
10public JsonSchemaType? Type { get; set; }
Aspire.Dashboard.Tests (50)
Model\GenAISchemaHelpersTests.cs (33)
16var stringSchema = new ToolDefinitionSchema { Type = JsonSchemaType.String }; 22var nullableStringSchema = new ToolDefinitionSchema { Type = JsonSchemaType.String | JsonSchemaType.Null }; 30Type = JsonSchemaType.Array, 31Items = new ToolDefinitionSchema { Type = JsonSchemaType.String } 40Type = JsonSchemaType.Array | JsonSchemaType.Null, 41Items = new ToolDefinitionSchema { Type = JsonSchemaType.Number } 48var arrayNoItemsSchema = new ToolDefinitionSchema { Type = JsonSchemaType.Array }; 63var onlyNullSchema = new ToolDefinitionSchema { Type = JsonSchemaType.Null }; 69var multiTypeSchema = new ToolDefinitionSchema { Type = JsonSchemaType.String | JsonSchemaType.Number }; 79Assert.True(GenAISchemaHelpers.TryConvertToJsonSchemaType("null", out var nullType)); 80Assert.Equal(JsonSchemaType.Null, nullType); 82Assert.True(GenAISchemaHelpers.TryConvertToJsonSchemaType("boolean", out var boolType)); 83Assert.Equal(JsonSchemaType.Boolean, boolType); 85Assert.True(GenAISchemaHelpers.TryConvertToJsonSchemaType("integer", out var intType)); 86Assert.Equal(JsonSchemaType.Integer, intType); 88Assert.True(GenAISchemaHelpers.TryConvertToJsonSchemaType("number", out var numberType)); 89Assert.Equal(JsonSchemaType.Number, numberType); 91Assert.True(GenAISchemaHelpers.TryConvertToJsonSchemaType("string", out var stringType)); 92Assert.Equal(JsonSchemaType.String, stringType); 94Assert.True(GenAISchemaHelpers.TryConvertToJsonSchemaType("object", out var objectType)); 95Assert.Equal(JsonSchemaType.Object, objectType); 97Assert.True(GenAISchemaHelpers.TryConvertToJsonSchemaType("array", out var arrayType)); 98Assert.Equal(JsonSchemaType.Array, arrayType); 127Assert.True(result!.Value.HasFlag(JsonSchemaType.String)); 128Assert.True(result.Value.HasFlag(JsonSchemaType.Number)); 129Assert.False(result.Value.HasFlag(JsonSchemaType.Object)); 153Assert.Equal(JsonSchemaType.String, result); 162Assert.True(result!.Value.HasFlag(JsonSchemaType.String)); 163Assert.True(result.Value.HasFlag(JsonSchemaType.Null)); 194Assert.Equal(JsonSchemaType.String, param1.Type);
Model\GenAIVisualizerDialogViewModelTests.cs (17)
1164Assert.Equal(JsonSchemaType.Object, tool.ToolDefinition.Parameters.Type); 1170Assert.Equal(JsonSchemaType.String, locationProp.Type); 1175Assert.Equal(JsonSchemaType.String, unitProp.Type); 1526Assert.Equal(JsonSchemaType.Object, tool.ToolDefinition.Parameters.Type); 1533Assert.Equal(JsonSchemaType.String | JsonSchemaType.Null, valueProp.Type); // Should OR all types together 1539Assert.Equal(JsonSchemaType.Number | JsonSchemaType.Null, countProp.Type); // Should OR all types together 1544Assert.Equal(JsonSchemaType.Boolean, flagProp.Type); 1638Assert.Equal(JsonSchemaType.Array, itemsProp.Type); 1640Assert.Equal(JsonSchemaType.String, itemsProp.Items.Type); 1645Assert.Equal(JsonSchemaType.Array, numbersProp.Type); 1647Assert.Equal(JsonSchemaType.Number, numbersProp.Items.Type); 1652Assert.Equal(JsonSchemaType.Array | JsonSchemaType.Null, mixedProp.Type); 1654Assert.Equal(JsonSchemaType.Integer, mixedProp.Items.Type); 2123Assert.Equal(JsonSchemaType.String, validParam.Type);