// Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Text.Json.Serialization; namespace LanguageModelProvider.FoundryLocal; internal sealed record FoundryCatalogModel { [JsonPropertyName("name")] public string Name { get; init; } = string.Empty; [JsonPropertyName("displayName")] public string DisplayName { get; init; } = string.Empty; [JsonPropertyName("providerType")] public string ProviderType { get; init; } = string.Empty; [JsonPropertyName("uri")] public string Uri { get; init; } = string.Empty; [JsonPropertyName("version")] public string Version { get; init; } = string.Empty; [JsonPropertyName("modelType")] public string ModelType { get; init; } = string.Empty; [JsonPropertyName("promptTemplate")] public PromptTemplate PromptTemplate { get; init; } = default!; [JsonPropertyName("publisher")] public string Publisher { get; init; } = string.Empty; [JsonPropertyName("task")] public string Task { get; init; } = string.Empty; [JsonPropertyName("runtime")] public Runtime Runtime { get; init; } = default!; [JsonPropertyName("fileSizeMb")] public long FileSizeMb { get; init; } [JsonPropertyName("modelSettings")] public ModelSettings ModelSettings { get; init; } = default!; [JsonPropertyName("alias")] public string Alias { get; init; } = string.Empty; [JsonPropertyName("supportsToolCalling")] public bool SupportsToolCalling { get; init; } [JsonPropertyName("license")] public string License { get; init; } = string.Empty; [JsonPropertyName("licenseDescription")] public string LicenseDescription { get; init; } = string.Empty; [JsonPropertyName("parentModelUri")] public string ParentModelUri { get; init; } = string.Empty; }