//---------------------- // // Generated using the NSwag toolchain v14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org) // //---------------------- #pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended." #pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword." #pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?' #pragma warning disable 612 // Disable "CS0612 '...' is obsolete" #pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ... #pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..." #pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'" #pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant" #pragma warning disable 8603 // Disable "CS8603 Possible null reference return" #pragma warning disable 8604 // Disable "CS8604 Possible null reference argument for parameter" #pragma warning disable 8625 // Disable "CS8625 Cannot convert null literal to non-nullable reference type" namespace ERI_Client.V1 { using System = global::System; [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class Client { private System.Net.Http.HttpClient _httpClient; private static System.Lazy _settings = new System.Lazy(CreateSerializerSettings, true); public Client(System.Net.Http.HttpClient httpClient) { _httpClient = httpClient; } private static System.Text.Json.JsonSerializerOptions CreateSerializerSettings() { var settings = new System.Text.Json.JsonSerializerOptions(); UpdateJsonSerializerSettings(settings); return settings; } protected System.Text.Json.JsonSerializerOptions JsonSerializerSettings { get { return _settings.Value; } } static partial void UpdateJsonSerializerSettings(System.Text.Json.JsonSerializerOptions settings); partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url); partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder); partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response); /// /// Get the available authentication methods. /// /// OK /// A server side error occurred. public virtual System.Threading.Tasks.Task> GetAuthMethodsAsync() { return GetAuthMethodsAsync(System.Threading.CancellationToken.None); } /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// Get the available authentication methods. /// /// OK /// A server side error occurred. public virtual async System.Threading.Tasks.Task> GetAuthMethodsAsync(System.Threading.CancellationToken cancellationToken) { var client_ = _httpClient; var disposeClient_ = false; try { using (var request_ = new System.Net.Http.HttpRequestMessage()) { request_.Method = new System.Net.Http.HttpMethod("GET"); request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); var urlBuilder_ = new System.Text.StringBuilder(); // Operation Path: "auth/methods" urlBuilder_.Append("auth/methods"); PrepareRequest(client_, request_, urlBuilder_); var url_ = urlBuilder_.ToString(); request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); PrepareRequest(client_, request_, url_); var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); var disposeResponse_ = true; try { var headers_ = new System.Collections.Generic.Dictionary>(); foreach (var item_ in response_.Headers) headers_[item_.Key] = item_.Value; if (response_.Content != null && response_.Content.Headers != null) { foreach (var item_ in response_.Content.Headers) headers_[item_.Key] = item_.Value; } ProcessResponse(client_, response_); var status_ = (int)response_.StatusCode; if (status_ == 200) { var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false); if (objectResponse_.Object == null) { throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); } return objectResponse_.Object; } else { var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); } } finally { if (disposeResponse_) response_.Dispose(); } } } finally { if (disposeClient_) client_.Dispose(); } } /// /// Authenticate with the data source to get a token for further requests. /// /// OK /// A server side error occurred. public virtual System.Threading.Tasks.Task AuthenticateAsync(AuthMethod authMethod) { return AuthenticateAsync(authMethod, System.Threading.CancellationToken.None); } /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// Authenticate with the data source to get a token for further requests. /// /// OK /// A server side error occurred. public virtual async System.Threading.Tasks.Task AuthenticateAsync(AuthMethod authMethod, System.Threading.CancellationToken cancellationToken) { if (authMethod == null) throw new System.ArgumentNullException("authMethod"); var client_ = _httpClient; var disposeClient_ = false; try { using (var request_ = new System.Net.Http.HttpRequestMessage()) { request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); request_.Method = new System.Net.Http.HttpMethod("POST"); request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); var urlBuilder_ = new System.Text.StringBuilder(); // Operation Path: "auth" urlBuilder_.Append("auth"); urlBuilder_.Append('?'); urlBuilder_.Append(System.Uri.EscapeDataString("authMethod")).Append('=').Append(System.Uri.EscapeDataString(ConvertToString(authMethod, System.Globalization.CultureInfo.InvariantCulture))).Append('&'); urlBuilder_.Length--; PrepareRequest(client_, request_, urlBuilder_); var url_ = urlBuilder_.ToString(); request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); PrepareRequest(client_, request_, url_); var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); var disposeResponse_ = true; try { var headers_ = new System.Collections.Generic.Dictionary>(); foreach (var item_ in response_.Headers) headers_[item_.Key] = item_.Value; if (response_.Content != null && response_.Content.Headers != null) { foreach (var item_ in response_.Content.Headers) headers_[item_.Key] = item_.Value; } ProcessResponse(client_, response_); var status_ = (int)response_.StatusCode; if (status_ == 200) { var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); if (objectResponse_.Object == null) { throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); } return objectResponse_.Object; } else { var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); } } finally { if (disposeResponse_) response_.Dispose(); } } } finally { if (disposeClient_) client_.Dispose(); } } /// /// Get information about the data source. /// /// OK /// A server side error occurred. public virtual System.Threading.Tasks.Task GetDataSourceInfoAsync() { return GetDataSourceInfoAsync(System.Threading.CancellationToken.None); } /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// Get information about the data source. /// /// OK /// A server side error occurred. public virtual async System.Threading.Tasks.Task GetDataSourceInfoAsync(System.Threading.CancellationToken cancellationToken) { var client_ = _httpClient; var disposeClient_ = false; try { using (var request_ = new System.Net.Http.HttpRequestMessage()) { request_.Method = new System.Net.Http.HttpMethod("GET"); request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); var urlBuilder_ = new System.Text.StringBuilder(); // Operation Path: "dataSource" urlBuilder_.Append("dataSource"); PrepareRequest(client_, request_, urlBuilder_); var url_ = urlBuilder_.ToString(); request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); PrepareRequest(client_, request_, url_); var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); var disposeResponse_ = true; try { var headers_ = new System.Collections.Generic.Dictionary>(); foreach (var item_ in response_.Headers) headers_[item_.Key] = item_.Value; if (response_.Content != null && response_.Content.Headers != null) { foreach (var item_ in response_.Content.Headers) headers_[item_.Key] = item_.Value; } ProcessResponse(client_, response_); var status_ = (int)response_.StatusCode; if (status_ == 200) { var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); if (objectResponse_.Object == null) { throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); } return objectResponse_.Object; } else { var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); } } finally { if (disposeResponse_) response_.Dispose(); } } } finally { if (disposeClient_) client_.Dispose(); } } /// /// Get information about the used embedding(s). /// /// OK /// A server side error occurred. public virtual System.Threading.Tasks.Task> GetEmbeddingInfoAsync() { return GetEmbeddingInfoAsync(System.Threading.CancellationToken.None); } /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// Get information about the used embedding(s). /// /// OK /// A server side error occurred. public virtual async System.Threading.Tasks.Task> GetEmbeddingInfoAsync(System.Threading.CancellationToken cancellationToken) { var client_ = _httpClient; var disposeClient_ = false; try { using (var request_ = new System.Net.Http.HttpRequestMessage()) { request_.Method = new System.Net.Http.HttpMethod("GET"); request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); var urlBuilder_ = new System.Text.StringBuilder(); // Operation Path: "embedding/info" urlBuilder_.Append("embedding/info"); PrepareRequest(client_, request_, urlBuilder_); var url_ = urlBuilder_.ToString(); request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); PrepareRequest(client_, request_, url_); var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); var disposeResponse_ = true; try { var headers_ = new System.Collections.Generic.Dictionary>(); foreach (var item_ in response_.Headers) headers_[item_.Key] = item_.Value; if (response_.Content != null && response_.Content.Headers != null) { foreach (var item_ in response_.Content.Headers) headers_[item_.Key] = item_.Value; } ProcessResponse(client_, response_); var status_ = (int)response_.StatusCode; if (status_ == 200) { var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false); if (objectResponse_.Object == null) { throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); } return objectResponse_.Object; } else { var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); } } finally { if (disposeResponse_) response_.Dispose(); } } } finally { if (disposeClient_) client_.Dispose(); } } /// /// Get information about the retrieval processes implemented by this data source. /// /// OK /// A server side error occurred. public virtual System.Threading.Tasks.Task> GetRetrievalInfoAsync() { return GetRetrievalInfoAsync(System.Threading.CancellationToken.None); } /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// Get information about the retrieval processes implemented by this data source. /// /// OK /// A server side error occurred. public virtual async System.Threading.Tasks.Task> GetRetrievalInfoAsync(System.Threading.CancellationToken cancellationToken) { var client_ = _httpClient; var disposeClient_ = false; try { using (var request_ = new System.Net.Http.HttpRequestMessage()) { request_.Method = new System.Net.Http.HttpMethod("GET"); request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); var urlBuilder_ = new System.Text.StringBuilder(); // Operation Path: "retrieval/info" urlBuilder_.Append("retrieval/info"); PrepareRequest(client_, request_, urlBuilder_); var url_ = urlBuilder_.ToString(); request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); PrepareRequest(client_, request_, url_); var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); var disposeResponse_ = true; try { var headers_ = new System.Collections.Generic.Dictionary>(); foreach (var item_ in response_.Headers) headers_[item_.Key] = item_.Value; if (response_.Content != null && response_.Content.Headers != null) { foreach (var item_ in response_.Content.Headers) headers_[item_.Key] = item_.Value; } ProcessResponse(client_, response_); var status_ = (int)response_.StatusCode; if (status_ == 200) { var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false); if (objectResponse_.Object == null) { throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); } return objectResponse_.Object; } else { var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); } } finally { if (disposeResponse_) response_.Dispose(); } } } finally { if (disposeClient_) client_.Dispose(); } } /// /// Retrieve information from the data source. /// /// OK /// A server side error occurred. public virtual System.Threading.Tasks.Task> RetrieveAsync(RetrievalRequest body) { return RetrieveAsync(body, System.Threading.CancellationToken.None); } /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// Retrieve information from the data source. /// /// OK /// A server side error occurred. public virtual async System.Threading.Tasks.Task> RetrieveAsync(RetrievalRequest body, System.Threading.CancellationToken cancellationToken) { if (body == null) throw new System.ArgumentNullException("body"); var client_ = _httpClient; var disposeClient_ = false; try { using (var request_ = new System.Net.Http.HttpRequestMessage()) { var json_ = System.Text.Json.JsonSerializer.SerializeToUtf8Bytes(body, _settings.Value); var content_ = new System.Net.Http.ByteArrayContent(json_); content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); request_.Content = content_; request_.Method = new System.Net.Http.HttpMethod("POST"); request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); var urlBuilder_ = new System.Text.StringBuilder(); // Operation Path: "retrieval" urlBuilder_.Append("retrieval"); PrepareRequest(client_, request_, urlBuilder_); var url_ = urlBuilder_.ToString(); request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); PrepareRequest(client_, request_, url_); var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); var disposeResponse_ = true; try { var headers_ = new System.Collections.Generic.Dictionary>(); foreach (var item_ in response_.Headers) headers_[item_.Key] = item_.Value; if (response_.Content != null && response_.Content.Headers != null) { foreach (var item_ in response_.Content.Headers) headers_[item_.Key] = item_.Value; } ProcessResponse(client_, response_); var status_ = (int)response_.StatusCode; if (status_ == 200) { var objectResponse_ = await ReadObjectResponseAsync>(response_, headers_, cancellationToken).ConfigureAwait(false); if (objectResponse_.Object == null) { throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); } return objectResponse_.Object; } else { var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); } } finally { if (disposeResponse_) response_.Dispose(); } } } finally { if (disposeClient_) client_.Dispose(); } } /// /// Get the security requirements for this data source. /// /// OK /// A server side error occurred. public virtual System.Threading.Tasks.Task GetSecurityRequirementsAsync() { return GetSecurityRequirementsAsync(System.Threading.CancellationToken.None); } /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// Get the security requirements for this data source. /// /// OK /// A server side error occurred. public virtual async System.Threading.Tasks.Task GetSecurityRequirementsAsync(System.Threading.CancellationToken cancellationToken) { var client_ = _httpClient; var disposeClient_ = false; try { using (var request_ = new System.Net.Http.HttpRequestMessage()) { request_.Method = new System.Net.Http.HttpMethod("GET"); request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); var urlBuilder_ = new System.Text.StringBuilder(); // Operation Path: "security/requirements" urlBuilder_.Append("security/requirements"); PrepareRequest(client_, request_, urlBuilder_); var url_ = urlBuilder_.ToString(); request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); PrepareRequest(client_, request_, url_); var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); var disposeResponse_ = true; try { var headers_ = new System.Collections.Generic.Dictionary>(); foreach (var item_ in response_.Headers) headers_[item_.Key] = item_.Value; if (response_.Content != null && response_.Content.Headers != null) { foreach (var item_ in response_.Content.Headers) headers_[item_.Key] = item_.Value; } ProcessResponse(client_, response_); var status_ = (int)response_.StatusCode; if (status_ == 200) { var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); if (objectResponse_.Object == null) { throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); } return objectResponse_.Object; } else { var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); } } finally { if (disposeResponse_) response_.Dispose(); } } } finally { if (disposeClient_) client_.Dispose(); } } protected struct ObjectResponseResult { public ObjectResponseResult(T responseObject, string responseText) { this.Object = responseObject; this.Text = responseText; } public T Object { get; } public string Text { get; } } public bool ReadResponseAsString { get; set; } protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken) { if (response == null || response.Content == null) { return new ObjectResponseResult(default(T), string.Empty); } if (ReadResponseAsString) { var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false); try { var typedBody = System.Text.Json.JsonSerializer.Deserialize(responseText, JsonSerializerSettings); return new ObjectResponseResult(typedBody, responseText); } catch (System.Text.Json.JsonException exception) { var message = "Could not deserialize the response body string as " + typeof(T).FullName + "."; throw new ApiException(message, (int)response.StatusCode, responseText, headers, exception); } } else { try { using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false)) { var typedBody = await System.Text.Json.JsonSerializer.DeserializeAsync(responseStream, JsonSerializerSettings, cancellationToken).ConfigureAwait(false); return new ObjectResponseResult(typedBody, string.Empty); } } catch (System.Text.Json.JsonException exception) { var message = "Could not deserialize the response body stream as " + typeof(T).FullName + "."; throw new ApiException(message, (int)response.StatusCode, string.Empty, headers, exception); } } } private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo) { if (value == null) { return ""; } if (value is System.Enum) { var name = System.Enum.GetName(value.GetType(), value); if (name != null) { var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name); if (field != null) { var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute)) as System.Runtime.Serialization.EnumMemberAttribute; if (attribute != null) { return attribute.Value != null ? attribute.Value : name; } } var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo)); return converted == null ? string.Empty : converted; } } else if (value is bool) { return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant(); } else if (value is byte[]) { return System.Convert.ToBase64String((byte[]) value); } else if (value is string[]) { return string.Join(",", (string[])value); } else if (value.GetType().IsArray) { var valueArray = (System.Array)value; var valueTextArray = new string[valueArray.Length]; for (var i = 0; i < valueArray.Length; i++) { valueTextArray[i] = ConvertToString(valueArray.GetValue(i), cultureInfo); } return string.Join(",", valueTextArray); } var result = System.Convert.ToString(value, cultureInfo); return result == null ? "" : result; } } /// /// An authentication field. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public enum AuthField { [System.Runtime.Serialization.EnumMember(Value = @"NONE")] NONE = 0, [System.Runtime.Serialization.EnumMember(Value = @"USERNAME")] USERNAME = 1, [System.Runtime.Serialization.EnumMember(Value = @"PASSWORD")] PASSWORD = 2, [System.Runtime.Serialization.EnumMember(Value = @"TOKEN")] TOKEN = 3, [System.Runtime.Serialization.EnumMember(Value = @"KERBEROS_TICKET")] KERBEROS_TICKET = 4, } /// /// The mapping between an AuthField and the field name in the authentication request. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class AuthFieldMapping { [System.Text.Json.Serialization.JsonPropertyName("authField")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] public AuthField AuthField { get; set; } /// /// The field name in the authentication request. /// [System.Text.Json.Serialization.JsonPropertyName("fieldName")] public string FieldName { get; set; } } [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public enum AuthMethod { [System.Runtime.Serialization.EnumMember(Value = @"NONE")] NONE = 0, [System.Runtime.Serialization.EnumMember(Value = @"KERBEROS")] KERBEROS = 1, [System.Runtime.Serialization.EnumMember(Value = @"USERNAME_PASSWORD")] USERNAME_PASSWORD = 2, [System.Runtime.Serialization.EnumMember(Value = @"TOKEN")] TOKEN = 3, } /// /// The response to an authentication request. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class AuthResponse { /// /// True, when the authentication was successful. /// [System.Text.Json.Serialization.JsonPropertyName("success")] public bool Success { get; set; } /// /// The token to use for further requests. /// [System.Text.Json.Serialization.JsonPropertyName("token")] public string Token { get; set; } /// /// When the authentication was not successful, this contains the reason. /// [System.Text.Json.Serialization.JsonPropertyName("message")] public string Message { get; set; } } /// /// Describes one authentication scheme for this data source. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class AuthScheme { [System.Text.Json.Serialization.JsonPropertyName("authMethod")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] public AuthMethod AuthMethod { get; set; } /// /// A list of field mappings for the authentication method. The client must know, ///
e.g., how the password field is named in the request. ///
[System.Text.Json.Serialization.JsonPropertyName("authFieldMappings")] public System.Collections.Generic.ICollection AuthFieldMappings { get; set; } } /// /// A chat thread, which is a list of content blocks. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class ChatThread { /// /// The content blocks in this chat thread. /// [System.Text.Json.Serialization.JsonPropertyName("contentBlocks")] public System.Collections.Generic.ICollection ContentBlocks { get; set; } } /// /// A block of content of a chat thread. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class ContentBlock { /// /// The content of the block. Remember that images and other media are base64 encoded. /// [System.Text.Json.Serialization.JsonPropertyName("content")] public string Content { get; set; } [System.Text.Json.Serialization.JsonPropertyName("role")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] public Role Role { get; set; } [System.Text.Json.Serialization.JsonPropertyName("type")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] public ContentType Type { get; set; } } /// /// The type of content. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public enum ContentType { [System.Runtime.Serialization.EnumMember(Value = @"NONE")] NONE = 0, [System.Runtime.Serialization.EnumMember(Value = @"UNKNOWN")] UNKNOWN = 1, [System.Runtime.Serialization.EnumMember(Value = @"TEXT")] TEXT = 2, [System.Runtime.Serialization.EnumMember(Value = @"IMAGE")] IMAGE = 3, [System.Runtime.Serialization.EnumMember(Value = @"VIDEO")] VIDEO = 4, [System.Runtime.Serialization.EnumMember(Value = @"AUDIO")] AUDIO = 5, [System.Runtime.Serialization.EnumMember(Value = @"SPEECH")] SPEECH = 6, } /// /// Matching context returned by the data source as a result of a retrieval request. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class Context { /// /// The name of the source, e.g., a document name, database name, ///
collection name, etc. ///
[System.Text.Json.Serialization.JsonPropertyName("name")] public string Name { get; set; } /// /// What are the contents of the source? For example, is it a ///
dictionary, a book chapter, business concept, a paper, etc. ///
[System.Text.Json.Serialization.JsonPropertyName("category")] public string Category { get; set; } /// /// The path to the content, e.g., a URL, a file path, a path in a ///
graph database, etc. ///
[System.Text.Json.Serialization.JsonPropertyName("path")] public string Path { get; set; } [System.Text.Json.Serialization.JsonPropertyName("type")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] public ContentType Type { get; set; } /// /// The content that matched the user prompt. For text, you ///
return the matched text and, e.g., three words before and after it. ///
[System.Text.Json.Serialization.JsonPropertyName("matchedContent")] public string MatchedContent { get; set; } /// /// The surrounding content of the matched content. ///
For text, you may return, e.g., one sentence or paragraph before and after ///
the matched content. ///
[System.Text.Json.Serialization.JsonPropertyName("surroundingContent")] public System.Collections.Generic.ICollection SurroundingContent { get; set; } /// /// Links to related content, e.g., links to Wikipedia articles, ///
links to sources, etc. ///
[System.Text.Json.Serialization.JsonPropertyName("links")] public System.Collections.Generic.ICollection Links { get; set; } } /// /// Information about the data source. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class DataSourceInfo { /// /// The name of the data source, e.g., "Internal Organization Documents." /// [System.Text.Json.Serialization.JsonPropertyName("name")] public string Name { get; set; } /// /// A short description of the data source. What kind of data does it contain? ///
What is the data source used for? ///
[System.Text.Json.Serialization.JsonPropertyName("description")] public string Description { get; set; } } /// /// Represents information about the used embedding for this data source. The purpose of this information is to give the ///
interested user an idea of what kind of embedding is used and what it does. ///
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class EmbeddingInfo { /// /// What kind of embedding is used. For example, "Transformer Embedding," "Contextual Word ///
Embedding," "Graph Embedding," etc. ///
[System.Text.Json.Serialization.JsonPropertyName("embeddingType")] public string EmbeddingType { get; set; } /// /// Name the embedding used. This can be a library, a framework, or the name of the used ///
algorithm. ///
[System.Text.Json.Serialization.JsonPropertyName("embeddingName")] public string EmbeddingName { get; set; } /// /// A short description of the embedding. Describe what the embedding is doing. /// [System.Text.Json.Serialization.JsonPropertyName("description")] public string Description { get; set; } /// /// Describe when the embedding is used. For example, when the user prompt contains certain ///
keywords, or anytime? ///
[System.Text.Json.Serialization.JsonPropertyName("usedWhen")] public string UsedWhen { get; set; } /// /// A link to the embedding's documentation or the source code. Might be null. /// [System.Text.Json.Serialization.JsonPropertyName("link")] public string Link { get; set; } } /// /// Known types of providers that can process data. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public enum ProviderType { [System.Runtime.Serialization.EnumMember(Value = @"NONE")] NONE = 0, [System.Runtime.Serialization.EnumMember(Value = @"ANY")] ANY = 1, [System.Runtime.Serialization.EnumMember(Value = @"SELF_HOSTED")] SELF_HOSTED = 2, } /// /// Information about a retrieval process, which this data source implements. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class RetrievalInfo { /// /// A unique identifier for the retrieval process. This can be a GUID, a unique name, or an increasing integer. /// [System.Text.Json.Serialization.JsonPropertyName("id")] public string Id { get; set; } /// /// The name of the retrieval process, e.g., "Keyword-Based Wikipedia Article Retrieval". /// [System.Text.Json.Serialization.JsonPropertyName("name")] public string Name { get; set; } /// /// A short description of the retrieval process. What kind of retrieval process is it? /// [System.Text.Json.Serialization.JsonPropertyName("description")] public string Description { get; set; } /// /// A link to the retrieval process's documentation, paper, Wikipedia article, or the source code. Might be null. /// [System.Text.Json.Serialization.JsonPropertyName("link")] public string Link { get; set; } /// /// A dictionary that describes the parameters of the retrieval process. The key is the parameter name, ///
and the value is a description of the parameter. Although each parameter will be sent as a string, the description should indicate the ///
expected type and range, e.g., 0.0 to 1.0 for a float parameter. ///
[System.Text.Json.Serialization.JsonPropertyName("parametersDescription")] public System.Collections.Generic.IDictionary ParametersDescription { get; set; } /// /// A list of embeddings used in this retrieval process. It might be empty in case no embedding is used. /// [System.Text.Json.Serialization.JsonPropertyName("embeddings")] public System.Collections.Generic.ICollection Embeddings { get; set; } } /// /// The retrieval request sent by AI Studio. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class RetrievalRequest { /// /// The latest user prompt that AI Studio received. /// [System.Text.Json.Serialization.JsonPropertyName("latestUserPrompt")] public string LatestUserPrompt { get; set; } [System.Text.Json.Serialization.JsonPropertyName("latestUserPromptType")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] public ContentType LatestUserPromptType { get; set; } [System.Text.Json.Serialization.JsonPropertyName("thread")] public ChatThread Thread { get; set; } /// /// Optional. The ID of the retrieval process that the data source should use. ///
When null, the data source chooses an appropriate retrieval process. Selecting a retrieval process is optional ///
for AI Studio users. Most users do not specify a retrieval process. ///
[System.Text.Json.Serialization.JsonPropertyName("retrievalProcessId")] public string RetrievalProcessId { get; set; } /// /// A dictionary of parameters that the data source should use for the retrieval process. ///
Although each parameter will be sent as a string, the retrieval process specifies the expected type and range. ///
[System.Text.Json.Serialization.JsonPropertyName("parameters")] public System.Collections.Generic.IDictionary Parameters { get; set; } /// /// The maximum number of matches that the data source should return. AI Studio uses ///
any value below 1 to indicate that the data source should return as many matches as appropriate. ///
[System.Text.Json.Serialization.JsonPropertyName("maxMatches")] public int MaxMatches { get; set; } } /// /// Possible roles of any chat thread. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public enum Role { [System.Runtime.Serialization.EnumMember(Value = @"NONE")] NONE = 0, [System.Runtime.Serialization.EnumMember(Value = @"UNKNOW")] UNKNOW = 1, [System.Runtime.Serialization.EnumMember(Value = @"SYSTEM")] SYSTEM = 2, [System.Runtime.Serialization.EnumMember(Value = @"USER")] USER = 3, [System.Runtime.Serialization.EnumMember(Value = @"AI")] AI = 4, [System.Runtime.Serialization.EnumMember(Value = @"AGENT")] AGENT = 5, } /// /// Represents the security requirements for this data source. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class SecurityRequirements { [System.Text.Json.Serialization.JsonPropertyName("allowedProviderType")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] public ProviderType AllowedProviderType { get; set; } } [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class ApiException : System.Exception { public int StatusCode { get; private set; } public string Response { get; private set; } public System.Collections.Generic.IReadOnlyDictionary> Headers { get; private set; } public ApiException(string message, int statusCode, string response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Exception innerException) : base(message + "\n\nStatus: " + statusCode + "\nResponse: \n" + ((response == null) ? "(null)" : response.Substring(0, response.Length >= 512 ? 512 : response.Length)), innerException) { StatusCode = statusCode; Response = response; Headers = headers; } public override string ToString() { return string.Format("HTTP Response: \n\n{0}\n\n{1}", Response, base.ToString()); } } [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] public partial class ApiException : ApiException { public TResult Result { get; private set; } public ApiException(string message, int statusCode, string response, System.Collections.Generic.IReadOnlyDictionary> headers, TResult result, System.Exception innerException) : base(message, statusCode, response, headers, innerException) { Result = result; } } } #pragma warning restore 108 #pragma warning restore 114 #pragma warning restore 472 #pragma warning restore 612 #pragma warning restore 1573 #pragma warning restore 1591 #pragma warning restore 8073 #pragma warning restore 3016 #pragma warning restore 8603 #pragma warning restore 8604 #pragma warning restore 8625