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)
1180
Assert.Equal(
JsonSchemaType
.Object, tool.ToolDefinition.Parameters.Type);
1186
Assert.Equal(
JsonSchemaType
.String, locationProp.Type);
1191
Assert.Equal(
JsonSchemaType
.String, unitProp.Type);
1547
Assert.Equal(
JsonSchemaType
.Object, tool.ToolDefinition.Parameters.Type);
1554
Assert.Equal(
JsonSchemaType
.String |
JsonSchemaType
.Null, valueProp.Type); // Should OR all types together
1560
Assert.Equal(
JsonSchemaType
.Number |
JsonSchemaType
.Null, countProp.Type); // Should OR all types together
1565
Assert.Equal(
JsonSchemaType
.Boolean, flagProp.Type);
1660
Assert.Equal(
JsonSchemaType
.Array, itemsProp.Type);
1662
Assert.Equal(
JsonSchemaType
.String, itemsProp.Items.Type);
1667
Assert.Equal(
JsonSchemaType
.Array, numbersProp.Type);
1669
Assert.Equal(
JsonSchemaType
.Number, numbersProp.Items.Type);
1674
Assert.Equal(
JsonSchemaType
.Array |
JsonSchemaType
.Null, mixedProp.Type);
1676
Assert.Equal(
JsonSchemaType
.Integer, mixedProp.Items.Type);
2152
Assert.Equal(
JsonSchemaType
.String, validParam.Type);