69 references to JsonSchemaType
Microsoft.Extensions.AI.Abstractions (69)
src\Shared\JsonSchemaExporter\JsonSchemaExporter.cs (43)
141JsonSchemaType schemaType = JsonSchemaType.Any; 184schemaType = JsonSchemaType.Any; 192if (schemaType is not JsonSchemaType.Any) 198derivedSchema.Type = JsonSchemaType.Any; 339Type = JsonSchemaType.Object, 357Type = JsonSchemaType.Array, 381Type = JsonSchemaType.Object, 388Type = JsonSchemaType.Array, 419Type = JsonSchemaType.Object, 582[typeof(bool)] = _ => new JsonSchema { Type = JsonSchemaType.Boolean }, 583[typeof(byte)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Integer, numberHandling), 584[typeof(ushort)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Integer, numberHandling), 585[typeof(uint)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Integer, numberHandling), 586[typeof(ulong)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Integer, numberHandling), 587[typeof(sbyte)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Integer, numberHandling), 588[typeof(short)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Integer, numberHandling), 589[typeof(int)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Integer, numberHandling), 590[typeof(long)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Integer, numberHandling), 591[typeof(float)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Number, numberHandling, isIeeeFloatingPoint: true), 592[typeof(double)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Number, numberHandling, isIeeeFloatingPoint: true), 593[typeof(decimal)] = numberHandling => GetSchemaForNumericType(JsonSchemaType.Number, numberHandling), 601[typeof(char)] = _ => new JsonSchema { Type = JsonSchemaType.String, MinLength = 1, MaxLength = 1 }, 602[typeof(string)] = _ => new JsonSchema { Type = JsonSchemaType.String }, 603[typeof(byte[])] = _ => new JsonSchema { Type = JsonSchemaType.String }, 604[typeof(Memory<byte>)] = _ => new JsonSchema { Type = JsonSchemaType.String }, 605[typeof(ReadOnlyMemory<byte>)] = _ => new JsonSchema { Type = JsonSchemaType.String }, 606[typeof(DateTime)] = _ => new JsonSchema { Type = JsonSchemaType.String, Format = "date-time" }, 607[typeof(DateTimeOffset)] = _ => new JsonSchema { Type = JsonSchemaType.String, Format = "date-time" }, 611Type = JsonSchemaType.String, 619[typeof(Guid)] = _ => new JsonSchema { Type = JsonSchemaType.String, Format = "uuid" }, 620[typeof(Uri)] = _ => new JsonSchema { Type = JsonSchemaType.String, Format = "uri" }, 624Type = JsonSchemaType.String, 632[typeof(JsonObject)] = _ => new JsonSchema { Type = JsonSchemaType.Object }, 633[typeof(JsonArray)] = _ => new JsonSchema { Type = JsonSchemaType.Array }, 637private static JsonSchema GetSchemaForNumericType(JsonSchemaType schemaType, JsonNumberHandling numberHandling, bool isIeeeFloatingPoint = false) 639Debug.Assert(schemaType is JsonSchemaType.Integer or JsonSchemaType.Number, "schema type must be number or integer"); 640Debug.Assert(!isIeeeFloatingPoint || schemaType is JsonSchemaType.Number, "If specifying IEEE the schema type must be number"); 646if (schemaType is JsonSchemaType.Integer) 659schemaType |= JsonSchemaType.String; 749return new() { Type = JsonSchemaType.String }; 764return new() { Type = JsonSchemaType.Integer };
src\Shared\JsonSchemaExporter\JsonSchemaExporter.JsonSchema.cs (26)
96public JsonSchemaType Type 106private JsonSchemaType _type = JsonSchemaType.Any; 293Count(Type != JsonSchemaType.Any); 321if (Type != JsonSchemaType.Any) 323Type |= JsonSchemaType.Null; 478private static readonly JsonSchemaType[] _schemaValues = new JsonSchemaType[] 481JsonSchemaType.String, 482JsonSchemaType.Integer, 483JsonSchemaType.Number, 484JsonSchemaType.Boolean, 485JsonSchemaType.Array, 486JsonSchemaType.Object, 487JsonSchemaType.Null, 495private static JsonNode? MapSchemaType(JsonSchemaType schemaType) 497if (schemaType is JsonSchemaType.Any) 508foreach (JsonSchemaType type in _schemaValues) 518static string? ToIdentifier(JsonSchemaType schemaType) => schemaType switch 520JsonSchemaType.Null => "null", 521JsonSchemaType.Boolean => "boolean", 522JsonSchemaType.Integer => "integer", 523JsonSchemaType.Number => "number", 524JsonSchemaType.String => "string", 525JsonSchemaType.Array => "array", 526JsonSchemaType.Object => "object",