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