diff --git a/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendComposition.g.cs b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendComposition.g.cs new file mode 100644 index 00000000..4c2e2857 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendComposition.g.cs @@ -0,0 +1,530 @@ + +#nullable enable + +namespace Opik +{ + public partial class AiSpendClient + { + + private static readonly global::Opik.AutoSDKServer[] s_GetSpendCompositionServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_GetSpendCompositionSecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_GetSpendCompositionSecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_GetSpendCompositionSecurityRequirement0, + }; + partial void PrepareGetSpendCompositionArguments( + global::System.Net.Http.HttpClient httpClient, + global::Opik.SpendMetricRequest request); + partial void PrepareGetSpendCompositionRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::Opik.SpendMetricRequest request); + partial void ProcessGetSpendCompositionResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetSpendCompositionResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get spend composition
+ /// Get coding-agent token-flow composition (Sankey) + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendCompositionAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await GetSpendCompositionAsResponseAsync( + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get spend composition
+ /// Get coding-agent token-flow composition (Sankey) + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetSpendCompositionAsResponseAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareGetSpendCompositionArguments( + httpClient: HttpClient, + request: request); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetSpendCompositionSecurityRequirements, + operationName: "GetSpendCompositionAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: "/v1/private/ai-spend/composition", + baseUri: ResolveBaseUri( + servers: s_GetSpendCompositionServers, + defaultBaseUrl: "http://localhost:5173/api")); + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareGetSpendCompositionRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendComposition", + methodName: "GetSpendCompositionAsync", + pathTemplate: "\"/v1/private/ai-spend/composition\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendComposition", + methodName: "GetSpendCompositionAsync", + pathTemplate: "\"/v1/private/ai-spend/composition\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendComposition", + methodName: "GetSpendCompositionAsync", + pathTemplate: "\"/v1/private/ai-spend/composition\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessGetSpendCompositionResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendComposition", + methodName: "GetSpendCompositionAsync", + pathTemplate: "\"/v1/private/ai-spend/composition\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendComposition", + methodName: "GetSpendCompositionAsync", + pathTemplate: "\"/v1/private/ai-spend/composition\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Bad Request + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::Opik.ErrorMessage? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessGetSpendCompositionResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Opik.SpendCompositionResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Opik.SpendCompositionResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Get spend composition
+ /// Get coding-agent token-flow composition (Sankey) + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendCompositionAsync( + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Opik.SpendMetricRequest + { + ProjectId = projectId, + ProjectName = projectName, + IntervalStart = intervalStart, + IntervalEnd = intervalEnd, + UserId = userId, + StartBeforeEnd = startBeforeEnd, + ProjectProvided = projectProvided, + }; + + return await GetSpendCompositionAsync( + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendLaneBreakdown.g.cs b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendLaneBreakdown.g.cs new file mode 100644 index 00000000..e44c1a79 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendLaneBreakdown.g.cs @@ -0,0 +1,542 @@ + +#nullable enable + +namespace Opik +{ + public partial class AiSpendClient + { + + private static readonly global::Opik.AutoSDKServer[] s_GetSpendLaneBreakdownServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_GetSpendLaneBreakdownSecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_GetSpendLaneBreakdownSecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_GetSpendLaneBreakdownSecurityRequirement0, + }; + partial void PrepareGetSpendLaneBreakdownArguments( + global::System.Net.Http.HttpClient httpClient, + ref string laneKey, + global::Opik.SpendMetricRequest request); + partial void PrepareGetSpendLaneBreakdownRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string laneKey, + global::Opik.SpendMetricRequest request); + partial void ProcessGetSpendLaneBreakdownResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetSpendLaneBreakdownResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get spend lane breakdown
+ /// Get the per-item breakdown for a composition lane + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendLaneBreakdownAsync( + string laneKey, + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await GetSpendLaneBreakdownAsResponseAsync( + laneKey: laneKey, + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get spend lane breakdown
+ /// Get the per-item breakdown for a composition lane + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetSpendLaneBreakdownAsResponseAsync( + string laneKey, + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareGetSpendLaneBreakdownArguments( + httpClient: HttpClient, + laneKey: ref laneKey, + request: request); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetSpendLaneBreakdownSecurityRequirements, + operationName: "GetSpendLaneBreakdownAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: $"/v1/private/ai-spend/composition/{laneKey}/breakdown", + baseUri: ResolveBaseUri( + servers: s_GetSpendLaneBreakdownServers, + defaultBaseUrl: "http://localhost:5173/api")); + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareGetSpendLaneBreakdownRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + laneKey: laneKey!, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendLaneBreakdown", + methodName: "GetSpendLaneBreakdownAsync", + pathTemplate: "$\"/v1/private/ai-spend/composition/{laneKey}/breakdown\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendLaneBreakdown", + methodName: "GetSpendLaneBreakdownAsync", + pathTemplate: "$\"/v1/private/ai-spend/composition/{laneKey}/breakdown\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendLaneBreakdown", + methodName: "GetSpendLaneBreakdownAsync", + pathTemplate: "$\"/v1/private/ai-spend/composition/{laneKey}/breakdown\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessGetSpendLaneBreakdownResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendLaneBreakdown", + methodName: "GetSpendLaneBreakdownAsync", + pathTemplate: "$\"/v1/private/ai-spend/composition/{laneKey}/breakdown\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendLaneBreakdown", + methodName: "GetSpendLaneBreakdownAsync", + pathTemplate: "$\"/v1/private/ai-spend/composition/{laneKey}/breakdown\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Bad Request + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::Opik.ErrorMessage? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessGetSpendLaneBreakdownResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Opik.SpendBreakdownResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Opik.SpendBreakdownResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Get spend lane breakdown
+ /// Get the per-item breakdown for a composition lane + ///
+ /// + /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendLaneBreakdownAsync( + string laneKey, + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Opik.SpendMetricRequest + { + ProjectId = projectId, + ProjectName = projectName, + IntervalStart = intervalStart, + IntervalEnd = intervalEnd, + UserId = userId, + StartBeforeEnd = startBeforeEnd, + ProjectProvided = projectProvided, + }; + + return await GetSpendLaneBreakdownAsync( + laneKey: laneKey, + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendRecommendations.g.cs b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendRecommendations.g.cs new file mode 100644 index 00000000..19770857 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendRecommendations.g.cs @@ -0,0 +1,530 @@ + +#nullable enable + +namespace Opik +{ + public partial class AiSpendClient + { + + private static readonly global::Opik.AutoSDKServer[] s_GetSpendRecommendationsServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_GetSpendRecommendationsSecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_GetSpendRecommendationsSecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_GetSpendRecommendationsSecurityRequirement0, + }; + partial void PrepareGetSpendRecommendationsArguments( + global::System.Net.Http.HttpClient httpClient, + global::Opik.SpendMetricRequest request); + partial void PrepareGetSpendRecommendationsRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::Opik.SpendMetricRequest request); + partial void ProcessGetSpendRecommendationsResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetSpendRecommendationsResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get spend recommendations
+ /// Get coding-agent cost-saving recommendations + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendRecommendationsAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await GetSpendRecommendationsAsResponseAsync( + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get spend recommendations
+ /// Get coding-agent cost-saving recommendations + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetSpendRecommendationsAsResponseAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareGetSpendRecommendationsArguments( + httpClient: HttpClient, + request: request); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetSpendRecommendationsSecurityRequirements, + operationName: "GetSpendRecommendationsAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: "/v1/private/ai-spend/recommendations", + baseUri: ResolveBaseUri( + servers: s_GetSpendRecommendationsServers, + defaultBaseUrl: "http://localhost:5173/api")); + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareGetSpendRecommendationsRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendRecommendations", + methodName: "GetSpendRecommendationsAsync", + pathTemplate: "\"/v1/private/ai-spend/recommendations\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendRecommendations", + methodName: "GetSpendRecommendationsAsync", + pathTemplate: "\"/v1/private/ai-spend/recommendations\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendRecommendations", + methodName: "GetSpendRecommendationsAsync", + pathTemplate: "\"/v1/private/ai-spend/recommendations\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessGetSpendRecommendationsResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendRecommendations", + methodName: "GetSpendRecommendationsAsync", + pathTemplate: "\"/v1/private/ai-spend/recommendations\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendRecommendations", + methodName: "GetSpendRecommendationsAsync", + pathTemplate: "\"/v1/private/ai-spend/recommendations\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Bad Request + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::Opik.ErrorMessage? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessGetSpendRecommendationsResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Opik.SpendRecommendationsResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Opik.SpendRecommendationsResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Get spend recommendations
+ /// Get coding-agent cost-saving recommendations + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendRecommendationsAsync( + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Opik.SpendMetricRequest + { + ProjectId = projectId, + ProjectName = projectName, + IntervalStart = intervalStart, + IntervalEnd = intervalEnd, + UserId = userId, + StartBeforeEnd = startBeforeEnd, + ProjectProvided = projectProvided, + }; + + return await GetSpendRecommendationsAsync( + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendSummary.g.cs b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendSummary.g.cs new file mode 100644 index 00000000..83200da6 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendSummary.g.cs @@ -0,0 +1,530 @@ + +#nullable enable + +namespace Opik +{ + public partial class AiSpendClient + { + + private static readonly global::Opik.AutoSDKServer[] s_GetSpendSummaryServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_GetSpendSummarySecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_GetSpendSummarySecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_GetSpendSummarySecurityRequirement0, + }; + partial void PrepareGetSpendSummaryArguments( + global::System.Net.Http.HttpClient httpClient, + global::Opik.SpendMetricRequest request); + partial void PrepareGetSpendSummaryRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::Opik.SpendMetricRequest request); + partial void ProcessGetSpendSummaryResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetSpendSummaryResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get spend summary
+ /// Get coding-agent spend KPI summary + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendSummaryAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await GetSpendSummaryAsResponseAsync( + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get spend summary
+ /// Get coding-agent spend KPI summary + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetSpendSummaryAsResponseAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareGetSpendSummaryArguments( + httpClient: HttpClient, + request: request); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetSpendSummarySecurityRequirements, + operationName: "GetSpendSummaryAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: "/v1/private/ai-spend/summary", + baseUri: ResolveBaseUri( + servers: s_GetSpendSummaryServers, + defaultBaseUrl: "http://localhost:5173/api")); + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareGetSpendSummaryRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendSummary", + methodName: "GetSpendSummaryAsync", + pathTemplate: "\"/v1/private/ai-spend/summary\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendSummary", + methodName: "GetSpendSummaryAsync", + pathTemplate: "\"/v1/private/ai-spend/summary\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendSummary", + methodName: "GetSpendSummaryAsync", + pathTemplate: "\"/v1/private/ai-spend/summary\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessGetSpendSummaryResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendSummary", + methodName: "GetSpendSummaryAsync", + pathTemplate: "\"/v1/private/ai-spend/summary\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendSummary", + methodName: "GetSpendSummaryAsync", + pathTemplate: "\"/v1/private/ai-spend/summary\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Bad Request + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::Opik.ErrorMessage? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessGetSpendSummaryResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Opik.WorkspaceMetricsSummaryResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Opik.WorkspaceMetricsSummaryResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Get spend summary
+ /// Get coding-agent spend KPI summary + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendSummaryAsync( + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Opik.SpendMetricRequest + { + ProjectId = projectId, + ProjectName = projectName, + IntervalStart = intervalStart, + IntervalEnd = intervalEnd, + UserId = userId, + StartBeforeEnd = startBeforeEnd, + ProjectProvided = projectProvided, + }; + + return await GetSpendSummaryAsync( + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendUsers.g.cs b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendUsers.g.cs new file mode 100644 index 00000000..c56b0d0a --- /dev/null +++ b/src/libs/Opik/Generated/Opik.AiSpendClient.GetSpendUsers.g.cs @@ -0,0 +1,602 @@ + +#nullable enable + +namespace Opik +{ + public partial class AiSpendClient + { + + private static readonly global::Opik.AutoSDKServer[] s_GetSpendUsersServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_GetSpendUsersSecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_GetSpendUsersSecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_GetSpendUsersSecurityRequirement0, + }; + partial void PrepareGetSpendUsersArguments( + global::System.Net.Http.HttpClient httpClient, + ref int? page, + ref int? size, + ref string? sorting, + ref string? name, + global::Opik.SpendMetricRequest request); + partial void PrepareGetSpendUsersRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + int? page, + int? size, + string? sorting, + string? name, + global::Opik.SpendMetricRequest request); + partial void ProcessGetSpendUsersResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetSpendUsersResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get spend user leaderboard
+ /// Get coding-agent spend per user + ///
+ /// + /// Default Value: 1 + /// + /// + /// Default Value: 25 + /// + /// + /// + /// Filter users by name or email (partial match, case insensitive) + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendUsersAsync( + + global::Opik.SpendMetricRequest request, + int? page = default, + int? size = default, + string? sorting = default, + string? name = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await GetSpendUsersAsResponseAsync( + + request: request, + page: page, + size: size, + sorting: sorting, + name: name, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get spend user leaderboard
+ /// Get coding-agent spend per user + ///
+ /// + /// Default Value: 1 + /// + /// + /// Default Value: 25 + /// + /// + /// + /// Filter users by name or email (partial match, case insensitive) + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetSpendUsersAsResponseAsync( + + global::Opik.SpendMetricRequest request, + int? page = default, + int? size = default, + string? sorting = default, + string? name = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareGetSpendUsersArguments( + httpClient: HttpClient, + page: ref page, + size: ref size, + sorting: ref sorting, + name: ref name, + request: request); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetSpendUsersSecurityRequirements, + operationName: "GetSpendUsersAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: "/v1/private/ai-spend/users", + baseUri: ResolveBaseUri( + servers: s_GetSpendUsersServers, + defaultBaseUrl: "http://localhost:5173/api")); + __pathBuilder + .AddOptionalParameter("page", page?.ToString()) + .AddOptionalParameter("size", size?.ToString()) + .AddOptionalParameter("sorting", sorting) + .AddOptionalParameter("name", name) + ; + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareGetSpendUsersRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + page: page, + size: size, + sorting: sorting, + name: name, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendUsers", + methodName: "GetSpendUsersAsync", + pathTemplate: "\"/v1/private/ai-spend/users\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendUsers", + methodName: "GetSpendUsersAsync", + pathTemplate: "\"/v1/private/ai-spend/users\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendUsers", + methodName: "GetSpendUsersAsync", + pathTemplate: "\"/v1/private/ai-spend/users\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessGetSpendUsersResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendUsers", + methodName: "GetSpendUsersAsync", + pathTemplate: "\"/v1/private/ai-spend/users\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetSpendUsers", + methodName: "GetSpendUsersAsync", + pathTemplate: "\"/v1/private/ai-spend/users\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // Bad Request + if ((int)__response.StatusCode == 400) + { + string? __content_400 = null; + global::System.Exception? __exception_400 = null; + global::Opik.ErrorMessage? __value_400 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + else + { + __content_400 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + + __value_400 = global::Opik.ErrorMessage.FromJson(__content_400, JsonSerializerContext); + } + } + catch (global::System.Exception __ex) + { + __exception_400 = __ex; + } + + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_400 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_400, + responseBody: __content_400, + responseObject: __value_400, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessGetSpendUsersResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Opik.SpendUserPage.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Opik.SpendUserPage.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Get spend user leaderboard
+ /// Get coding-agent spend per user + ///
+ /// + /// Default Value: 1 + /// + /// + /// Default Value: 25 + /// + /// + /// + /// Filter users by name or email (partial match, case insensitive) + /// + /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetSpendUsersAsync( + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + int? page = default, + int? size = default, + string? sorting = default, + string? name = default, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Opik.SpendMetricRequest + { + ProjectId = projectId, + ProjectName = projectName, + IntervalStart = intervalStart, + IntervalEnd = intervalEnd, + UserId = userId, + StartBeforeEnd = startBeforeEnd, + ProjectProvided = projectProvided, + }; + + return await GetSpendUsersAsync( + page: page, + size: size, + sorting: sorting, + name: name, + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.AiSpendClient.g.cs b/src/libs/Opik/Generated/Opik.AiSpendClient.g.cs new file mode 100644 index 00000000..af1dca2a --- /dev/null +++ b/src/libs/Opik/Generated/Opik.AiSpendClient.g.cs @@ -0,0 +1,285 @@ + +#nullable enable + +namespace Opik +{ + /// + /// Coding-agent spend analytics
+ /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. + ///
+ public sealed partial class AiSpendClient : global::Opik.IAiSpendClient, global::System.IDisposable + { + /// + /// Local server + /// + public const string DefaultBaseUrl = "http://localhost:5173/api"; + + private bool _disposeHttpClient = true; + + /// + public global::System.Net.Http.HttpClient HttpClient { get; } + + /// + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); + + /// + public global::System.Collections.Generic.List Authorizations { get; } + + /// + public bool ReadResponseAsString { get; set; } +#if DEBUG + = true; +#endif + + /// + public global::Opik.AutoSDKClientOptions Options { get; } + + + internal global::Opik.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Opik.AutoSDKServerConfiguration(); + /// + /// + /// + public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Opik.SourceGenerationContext.Default; + + + + private static readonly global::Opik.AutoSDKServer[] s_availableServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + /// + /// The server options available for this client. + /// + public global::System.Collections.Generic.IReadOnlyList AvailableServers => s_availableServers; + + /// + /// The currently selected server for this client, if any. + /// + public global::Opik.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + + /// + /// Creates a new instance of the AiSpendClient. + /// If no httpClient is provided, a new one will be created. + /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. + /// + /// The HttpClient instance. If not provided, a new one will be created. + /// The base URL for the API. If not provided, the default baseUri from OpenAPI spec will be used. + /// The authorizations to use for the requests. + /// Dispose the HttpClient when the instance is disposed. True by default. + public AiSpendClient( + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this( + httpClient, + baseUri, + authorizations, + options: null, + disposeHttpClient: disposeHttpClient) + { + } + + /// + /// Creates a new instance of the AiSpendClient with explicit options but no base URL override. + /// Skips passing baseUri so the default base URL from the OpenAPI spec applies. + /// + /// The HttpClient instance. If not provided, a new one will be created. + /// The authorizations to use for the requests. + /// Client-wide request defaults such as headers, query parameters, retries, and timeout. + /// Dispose the HttpClient when the instance is disposed. True by default. + public AiSpendClient( + global::System.Net.Http.HttpClient? httpClient, + global::System.Collections.Generic.List? authorizations, + global::Opik.AutoSDKClientOptions? options, + bool disposeHttpClient = true) : this( + httpClient, + baseUri: null, + authorizations, + options, + disposeHttpClient: disposeHttpClient) + { + } + + /// + /// Creates a new instance of the AiSpendClient. + /// If no httpClient is provided, a new one will be created. + /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. + /// + /// The HttpClient instance. If not provided, a new one will be created. + /// The base URL for the API. If not provided, the default baseUri from OpenAPI spec will be used. + /// The authorizations to use for the requests. + /// Client-wide request defaults such as headers, query parameters, retries, and timeout. + /// Dispose the HttpClient when the instance is disposed. True by default. + public AiSpendClient( + global::System.Net.Http.HttpClient? httpClient, + global::System.Uri? baseUri, + global::System.Collections.Generic.List? authorizations, + global::Opik.AutoSDKClientOptions? options, + bool disposeHttpClient = true) + { + + HttpClient = httpClient ?? new global::System.Net.Http.HttpClient(); + if (baseUri is not null) + { + HttpClient.BaseAddress ??= baseUri; + } + Authorizations = authorizations ?? new global::System.Collections.Generic.List(); + Options = options ?? new global::Opik.AutoSDKClientOptions(); + _disposeHttpClient = disposeHttpClient; + + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + + Initialized(HttpClient); + } + + /// + public void Dispose() + { + if (_disposeHttpClient) + { + HttpClient.Dispose(); + } + } + + partial void Initialized( + global::System.Net.Http.HttpClient client); + partial void PrepareArguments( + global::System.Net.Http.HttpClient client); + partial void PrepareRequest( + global::System.Net.Http.HttpClient client, + global::System.Net.Http.HttpRequestMessage request); + partial void ProcessResponse( + global::System.Net.Http.HttpClient client, + global::System.Net.Http.HttpResponseMessage response); + partial void ProcessResponseContent( + global::System.Net.Http.HttpClient client, + global::System.Net.Http.HttpResponseMessage response, + ref string content); + + + /// + /// Selects one of the generated server options by id. + /// + public bool TrySelectServer(string serverId) + { + if (string.IsNullOrWhiteSpace(serverId)) + { + return false; + } + + foreach (var server in s_availableServers) + { + if (string.Equals(server.Id, serverId, global::System.StringComparison.OrdinalIgnoreCase)) + { + AutoSDKServerConfiguration.SelectedServer = server; + AutoSDKServerConfiguration.ExplicitBaseUri = null; + return true; + } + } + + return false; + } + + /// + /// Clears the currently selected server. + /// + public void ClearSelectedServer() + { + AutoSDKServerConfiguration.SelectedServer = null; + } + + private global::Opik.AutoSDKServer? ResolveSelectedServer() + { + var selectedServer = AutoSDKServerConfiguration.SelectedServer; + if (selectedServer is null) + { + return null; + } + + foreach (var server in s_availableServers) + { + if (string.Equals(server.Id, selectedServer.Id, global::System.StringComparison.Ordinal)) + { + return server; + } + } + + return null; + } + + private void SelectServer(global::Opik.AutoSDKServer? server) + { + if (server is null) + { + AutoSDKServerConfiguration.SelectedServer = null; + return; + } + + foreach (var candidate in s_availableServers) + { + if (string.Equals(candidate.Id, server.Id, global::System.StringComparison.Ordinal)) + { + AutoSDKServerConfiguration.SelectedServer = candidate; + AutoSDKServerConfiguration.ExplicitBaseUri = null; + return; + } + } + + throw new global::System.ArgumentException("The provided server is not available for this client.", nameof(server)); + } + + private global::System.Uri? ResolveDisplayedBaseUri() + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + return ResolveSelectedServer()?.Uri ?? (s_availableServers.Length > 0 ? s_availableServers[0].Uri : HttpClient.BaseAddress); + } + + private global::System.Uri? ResolveBaseUri( + global::Opik.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Opik.AutoSDKServer selectedServer) + { + foreach (var server in servers) + { + if (string.Equals(server.Id, selectedServer.Id, global::System.StringComparison.Ordinal)) + { + return server.Uri; + } + } + } + + if (servers.Length > 0) + { + return servers[0].Uri; + } + + return string.IsNullOrWhiteSpace(defaultBaseUrl) + ? HttpClient.BaseAddress + : new global::System.Uri(defaultBaseUrl, global::System.UriKind.RelativeOrAbsolute); + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.CreateAnnotationQueue.g.cs b/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.CreateAnnotationQueue.g.cs index fa434a61..f3323daf 100644 --- a/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.CreateAnnotationQueue.g.cs +++ b/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.CreateAnnotationQueue.g.cs @@ -512,6 +512,7 @@ await CreateAnnotationQueueAsResponseAsync( /// /// /// + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -525,6 +526,7 @@ await CreateAnnotationQueueAsResponseAsync( bool? commentsEnabled = default, global::System.Collections.Generic.IList? feedbackDefinitionNames = default, int? annotatorsPerItem = default, + int? lockTimeoutSeconds = default, global::Opik.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { @@ -539,6 +541,7 @@ await CreateAnnotationQueueAsResponseAsync( CommentsEnabled = commentsEnabled, FeedbackDefinitionNames = feedbackDefinitionNames, AnnotatorsPerItem = annotatorsPerItem, + LockTimeoutSeconds = lockTimeoutSeconds, }; await CreateAnnotationQueueAsync( diff --git a/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.GetAnnotationQueueLocks.g.cs b/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.GetAnnotationQueueLocks.g.cs new file mode 100644 index 00000000..287e5118 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.GetAnnotationQueueLocks.g.cs @@ -0,0 +1,441 @@ + +#nullable enable + +namespace Opik +{ + public partial class AnnotationQueuesClient + { + + private static readonly global::Opik.AutoSDKServer[] s_GetAnnotationQueueLocksServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_GetAnnotationQueueLocksSecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_GetAnnotationQueueLocksSecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_GetAnnotationQueueLocksSecurityRequirement0, + }; + partial void PrepareGetAnnotationQueueLocksArguments( + global::System.Net.Http.HttpClient httpClient, + ref global::System.Guid queueId); + partial void PrepareGetAnnotationQueueLocksRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::System.Guid queueId); + partial void ProcessGetAnnotationQueueLocksResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetAnnotationQueueLocksResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get all active locks for an annotation queue
+ /// Returns lock status for all actively locked items in the queue + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetAnnotationQueueLocksAsync( + global::System.Guid queueId, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await GetAnnotationQueueLocksAsResponseAsync( + queueId: queueId, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get all active locks for an annotation queue
+ /// Returns lock status for all actively locked items in the queue + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetAnnotationQueueLocksAsResponseAsync( + global::System.Guid queueId, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: HttpClient); + PrepareGetAnnotationQueueLocksArguments( + httpClient: HttpClient, + queueId: ref queueId); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetAnnotationQueueLocksSecurityRequirements, + operationName: "GetAnnotationQueueLocksAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: $"/v1/private/annotation-queues/{queueId}/locks", + baseUri: ResolveBaseUri( + servers: s_GetAnnotationQueueLocksServers, + defaultBaseUrl: "http://localhost:5173/api")); + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareGetAnnotationQueueLocksRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + queueId: queueId!); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAnnotationQueueLocks", + methodName: "GetAnnotationQueueLocksAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/locks\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAnnotationQueueLocks", + methodName: "GetAnnotationQueueLocksAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/locks\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAnnotationQueueLocks", + methodName: "GetAnnotationQueueLocksAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/locks\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessGetAnnotationQueueLocksResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAnnotationQueueLocks", + methodName: "GetAnnotationQueueLocksAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/locks\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAnnotationQueueLocks", + methodName: "GetAnnotationQueueLocksAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/locks\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessGetAnnotationQueueLocksResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Opik.LocksResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Opik.LocksResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.LockAnnotationQueueItem.g.cs b/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.LockAnnotationQueueItem.g.cs new file mode 100644 index 00000000..09af0059 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.LockAnnotationQueueItem.g.cs @@ -0,0 +1,450 @@ + +#nullable enable + +namespace Opik +{ + public partial class AnnotationQueuesClient + { + + private static readonly global::Opik.AutoSDKServer[] s_LockAnnotationQueueItemServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_LockAnnotationQueueItemSecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_LockAnnotationQueueItemSecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_LockAnnotationQueueItemSecurityRequirement0, + }; + partial void PrepareLockAnnotationQueueItemArguments( + global::System.Net.Http.HttpClient httpClient, + ref global::System.Guid queueId, + ref global::System.Guid itemId); + partial void PrepareLockAnnotationQueueItemRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::System.Guid queueId, + global::System.Guid itemId); + partial void ProcessLockAnnotationQueueItemResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessLockAnnotationQueueItemResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Create or extend annotation queue item lock
+ /// Claim an annotation queue item for the current user, or extend an existing lock + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task LockAnnotationQueueItemAsync( + global::System.Guid queueId, + global::System.Guid itemId, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await LockAnnotationQueueItemAsResponseAsync( + queueId: queueId, + itemId: itemId, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Create or extend annotation queue item lock
+ /// Claim an annotation queue item for the current user, or extend an existing lock + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> LockAnnotationQueueItemAsResponseAsync( + global::System.Guid queueId, + global::System.Guid itemId, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: HttpClient); + PrepareLockAnnotationQueueItemArguments( + httpClient: HttpClient, + queueId: ref queueId, + itemId: ref itemId); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_LockAnnotationQueueItemSecurityRequirements, + operationName: "LockAnnotationQueueItemAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: $"/v1/private/annotation-queues/{queueId}/items/{itemId}/lock", + baseUri: ResolveBaseUri( + servers: s_LockAnnotationQueueItemServers, + defaultBaseUrl: "http://localhost:5173/api")); + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Put, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareLockAnnotationQueueItemRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + queueId: queueId!, + itemId: itemId!); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "LockAnnotationQueueItem", + methodName: "LockAnnotationQueueItemAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/items/{itemId}/lock\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "LockAnnotationQueueItem", + methodName: "LockAnnotationQueueItemAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/items/{itemId}/lock\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "LockAnnotationQueueItem", + methodName: "LockAnnotationQueueItemAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/items/{itemId}/lock\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessLockAnnotationQueueItemResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "LockAnnotationQueueItem", + methodName: "LockAnnotationQueueItemAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/items/{itemId}/lock\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "LockAnnotationQueueItem", + methodName: "LockAnnotationQueueItemAsync", + pathTemplate: "$\"/v1/private/annotation-queues/{queueId}/items/{itemId}/lock\"", + httpMethod: "PUT", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessLockAnnotationQueueItemResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Opik.LockResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Opik.LockResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.UpdateAnnotationQueue.g.cs b/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.UpdateAnnotationQueue.g.cs index 9b883541..6b189770 100644 --- a/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.UpdateAnnotationQueue.g.cs +++ b/src/libs/Opik/Generated/Opik.AnnotationQueuesClient.UpdateAnnotationQueue.g.cs @@ -482,6 +482,7 @@ await UpdateAnnotationQueueAsResponseAsync( /// /// /// + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -493,6 +494,7 @@ await UpdateAnnotationQueueAsResponseAsync( bool? commentsEnabled = default, global::System.Collections.Generic.IList? feedbackDefinitionNames = default, int? annotatorsPerItem = default, + int? lockTimeoutSeconds = default, global::Opik.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { @@ -504,6 +506,7 @@ await UpdateAnnotationQueueAsResponseAsync( CommentsEnabled = commentsEnabled, FeedbackDefinitionNames = feedbackDefinitionNames, AnnotatorsPerItem = annotatorsPerItem, + LockTimeoutSeconds = lockTimeoutSeconds, }; await UpdateAnnotationQueueAsync( diff --git a/src/libs/Opik/Generated/Opik.ExperimentsClient.ExperimentItemsBulk.g.cs b/src/libs/Opik/Generated/Opik.ExperimentsClient.ExperimentItemsBulk.g.cs index 06c1f92c..fbab2a21 100644 --- a/src/libs/Opik/Generated/Opik.ExperimentsClient.ExperimentItemsBulk.g.cs +++ b/src/libs/Opik/Generated/Opik.ExperimentsClient.ExperimentItemsBulk.g.cs @@ -382,7 +382,7 @@ await ExperimentItemsBulkAsResponseAsync( h => h.Key, h => h.Value)); } - // Experiment dataset mismatch + // Conflict if ((int)__response.StatusCode == 409) { string? __content_409 = null; @@ -545,6 +545,9 @@ await ExperimentItemsBulkAsResponseAsync( /// /// Optional experiment ID. If provided, items will be added to the existing experiment and experimentName will be ignored. If not provided or experiment with that ID doesn't exist, a new experiment will be created with the given experimentName /// + /// + /// Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit trace). If null, the default project is used; relying on this fallback is deprecated, please provide project_name explicitly. + /// /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with @@ -554,6 +557,7 @@ await ExperimentItemsBulkAsResponseAsync( string datasetName, global::System.Collections.Generic.IList items, global::System.Guid? experimentId = default, + string? projectName = default, global::Opik.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { @@ -562,6 +566,7 @@ await ExperimentItemsBulkAsResponseAsync( ExperimentName = experimentName, DatasetName = datasetName, ExperimentId = experimentId, + ProjectName = projectName, Items = items, }; diff --git a/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendComposition.g.cs b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendComposition.g.cs new file mode 100644 index 00000000..2e192ca6 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendComposition.g.cs @@ -0,0 +1,58 @@ +#nullable enable + +namespace Opik +{ + public partial interface IAiSpendClient + { + /// + /// Get spend composition
+ /// Get coding-agent token-flow composition (Sankey) + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendCompositionAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend composition
+ /// Get coding-agent token-flow composition (Sankey) + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> GetSpendCompositionAsResponseAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend composition
+ /// Get coding-agent token-flow composition (Sankey) + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendCompositionAsync( + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendLaneBreakdown.g.cs b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendLaneBreakdown.g.cs new file mode 100644 index 00000000..0925a5e0 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendLaneBreakdown.g.cs @@ -0,0 +1,64 @@ +#nullable enable + +namespace Opik +{ + public partial interface IAiSpendClient + { + /// + /// Get spend lane breakdown
+ /// Get the per-item breakdown for a composition lane + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendLaneBreakdownAsync( + string laneKey, + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend lane breakdown
+ /// Get the per-item breakdown for a composition lane + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> GetSpendLaneBreakdownAsResponseAsync( + string laneKey, + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend lane breakdown
+ /// Get the per-item breakdown for a composition lane + ///
+ /// + /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendLaneBreakdownAsync( + string laneKey, + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendRecommendations.g.cs b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendRecommendations.g.cs new file mode 100644 index 00000000..b78f6ca9 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendRecommendations.g.cs @@ -0,0 +1,58 @@ +#nullable enable + +namespace Opik +{ + public partial interface IAiSpendClient + { + /// + /// Get spend recommendations
+ /// Get coding-agent cost-saving recommendations + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendRecommendationsAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend recommendations
+ /// Get coding-agent cost-saving recommendations + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> GetSpendRecommendationsAsResponseAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend recommendations
+ /// Get coding-agent cost-saving recommendations + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendRecommendationsAsync( + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendSummary.g.cs b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendSummary.g.cs new file mode 100644 index 00000000..5dbd1261 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendSummary.g.cs @@ -0,0 +1,58 @@ +#nullable enable + +namespace Opik +{ + public partial interface IAiSpendClient + { + /// + /// Get spend summary
+ /// Get coding-agent spend KPI summary + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendSummaryAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend summary
+ /// Get coding-agent spend KPI summary + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> GetSpendSummaryAsResponseAsync( + + global::Opik.SpendMetricRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend summary
+ /// Get coding-agent spend KPI summary + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendSummaryAsync( + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendUsers.g.cs b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendUsers.g.cs new file mode 100644 index 00000000..7c297ae8 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IAiSpendClient.GetSpendUsers.g.cs @@ -0,0 +1,100 @@ +#nullable enable + +namespace Opik +{ + public partial interface IAiSpendClient + { + /// + /// Get spend user leaderboard
+ /// Get coding-agent spend per user + ///
+ /// + /// Default Value: 1 + /// + /// + /// Default Value: 25 + /// + /// + /// + /// Filter users by name or email (partial match, case insensitive) + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendUsersAsync( + + global::Opik.SpendMetricRequest request, + int? page = default, + int? size = default, + string? sorting = default, + string? name = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend user leaderboard
+ /// Get coding-agent spend per user + ///
+ /// + /// Default Value: 1 + /// + /// + /// Default Value: 25 + /// + /// + /// + /// Filter users by name or email (partial match, case insensitive) + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> GetSpendUsersAsResponseAsync( + + global::Opik.SpendMetricRequest request, + int? page = default, + int? size = default, + string? sorting = default, + string? name = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get spend user leaderboard
+ /// Get coding-agent spend per user + ///
+ /// + /// Default Value: 1 + /// + /// + /// Default Value: 25 + /// + /// + /// + /// Filter users by name or email (partial match, case insensitive) + /// + /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetSpendUsersAsync( + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + int? page = default, + int? size = default, + string? sorting = default, + string? name = default, + global::System.Guid? projectId = default, + string? projectName = default, + string? userId = default, + bool? startBeforeEnd = default, + bool? projectProvided = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IAiSpendClient.g.cs b/src/libs/Opik/Generated/Opik.IAiSpendClient.g.cs new file mode 100644 index 00000000..9d891927 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IAiSpendClient.g.cs @@ -0,0 +1,70 @@ + +#nullable enable + +namespace Opik +{ + /// + /// Coding-agent spend analytics
+ /// If no httpClient is provided, a new one will be created.
+ /// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. + ///
+ public partial interface IAiSpendClient : global::System.IDisposable + { + /// + /// The HttpClient instance. + /// + public global::System.Net.Http.HttpClient HttpClient { get; } + + /// + /// The base URL for the API. + /// + public System.Uri? BaseUri { get; } + + + /// + /// The server options available for this client. + /// + public global::System.Collections.Generic.IReadOnlyList AvailableServers { get; } + + /// + /// The currently selected server for this client, if any. + /// + public global::Opik.AutoSDKServer? SelectedServer { get; set; } + + /// + /// Selects one of the generated server options by id. + /// + public bool TrySelectServer(string serverId); + + /// + /// Clears the currently selected server. + /// + public void ClearSelectedServer(); + + /// + /// The authorizations to use for the requests. + /// + public global::System.Collections.Generic.List Authorizations { get; } + + /// + /// Gets or sets a value indicating whether the response content should be read as a string. + /// True by default in debug builds, false otherwise. + /// When false, successful responses are deserialized directly from the response stream for better performance. + /// Error responses are always read as strings regardless of this setting, + /// ensuring is populated. + /// + public bool ReadResponseAsString { get; set; } + /// + /// Client-wide request defaults such as headers, query parameters, retries, and timeout. + /// + public global::Opik.AutoSDKClientOptions Options { get; } + + + /// + /// + /// + global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } + + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.CreateAnnotationQueue.g.cs b/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.CreateAnnotationQueue.g.cs index c94a4269..160d6c8b 100644 --- a/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.CreateAnnotationQueue.g.cs +++ b/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.CreateAnnotationQueue.g.cs @@ -43,6 +43,7 @@ public partial interface IAnnotationQueuesClient /// /// /// + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -56,6 +57,7 @@ public partial interface IAnnotationQueuesClient bool? commentsEnabled = default, global::System.Collections.Generic.IList? feedbackDefinitionNames = default, int? annotatorsPerItem = default, + int? lockTimeoutSeconds = default, global::Opik.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.GetAnnotationQueueLocks.g.cs b/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.GetAnnotationQueueLocks.g.cs new file mode 100644 index 00000000..eaf06c13 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.GetAnnotationQueueLocks.g.cs @@ -0,0 +1,32 @@ +#nullable enable + +namespace Opik +{ + public partial interface IAnnotationQueuesClient + { + /// + /// Get all active locks for an annotation queue
+ /// Returns lock status for all actively locked items in the queue + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetAnnotationQueueLocksAsync( + global::System.Guid queueId, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get all active locks for an annotation queue
+ /// Returns lock status for all actively locked items in the queue + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> GetAnnotationQueueLocksAsResponseAsync( + global::System.Guid queueId, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.LockAnnotationQueueItem.g.cs b/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.LockAnnotationQueueItem.g.cs new file mode 100644 index 00000000..f81d1c26 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.LockAnnotationQueueItem.g.cs @@ -0,0 +1,36 @@ +#nullable enable + +namespace Opik +{ + public partial interface IAnnotationQueuesClient + { + /// + /// Create or extend annotation queue item lock
+ /// Claim an annotation queue item for the current user, or extend an existing lock + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task LockAnnotationQueueItemAsync( + global::System.Guid queueId, + global::System.Guid itemId, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Create or extend annotation queue item lock
+ /// Claim an annotation queue item for the current user, or extend an existing lock + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> LockAnnotationQueueItemAsResponseAsync( + global::System.Guid queueId, + global::System.Guid itemId, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.UpdateAnnotationQueue.g.cs b/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.UpdateAnnotationQueue.g.cs index b5763304..ab441411 100644 --- a/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.UpdateAnnotationQueue.g.cs +++ b/src/libs/Opik/Generated/Opik.IAnnotationQueuesClient.UpdateAnnotationQueue.g.cs @@ -45,6 +45,7 @@ public partial interface IAnnotationQueuesClient /// /// /// + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -56,6 +57,7 @@ public partial interface IAnnotationQueuesClient bool? commentsEnabled = default, global::System.Collections.Generic.IList? feedbackDefinitionNames = default, int? annotatorsPerItem = default, + int? lockTimeoutSeconds = default, global::Opik.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/Opik/Generated/Opik.IExperimentsClient.ExperimentItemsBulk.g.cs b/src/libs/Opik/Generated/Opik.IExperimentsClient.ExperimentItemsBulk.g.cs index 526706e3..173e37af 100644 --- a/src/libs/Opik/Generated/Opik.IExperimentsClient.ExperimentItemsBulk.g.cs +++ b/src/libs/Opik/Generated/Opik.IExperimentsClient.ExperimentItemsBulk.g.cs @@ -39,6 +39,9 @@ public partial interface IExperimentsClient /// /// Optional experiment ID. If provided, items will be added to the existing experiment and experimentName will be ignored. If not provided or experiment with that ID doesn't exist, a new experiment will be created with the given experimentName /// + /// + /// Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit trace). If null, the default project is used; relying on this fallback is deprecated, please provide project_name explicitly. + /// /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with @@ -48,6 +51,7 @@ public partial interface IExperimentsClient string datasetName, global::System.Collections.Generic.IList items, global::System.Guid? experimentId = default, + string? projectName = default, global::Opik.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/Opik/Generated/Opik.IMcpOAuthClient.Authorize.g.cs b/src/libs/Opik/Generated/Opik.IMcpOAuthClient.Authorize.g.cs new file mode 100644 index 00000000..f29997d1 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IMcpOAuthClient.Authorize.g.cs @@ -0,0 +1,56 @@ +#nullable enable + +namespace Opik +{ + public partial interface IMcpOAuthClient + { + /// + /// OAuth Authorization Endpoint
+ /// OAuth 2.1 authorization endpoint (RFC 6749 ยง3.1). Validates the client and PKCE parameters, then redirects to the login or consent page + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task AuthorizeAsync( + string clientId, + string redirectUri, + string? responseType = default, + string? codeChallenge = default, + string? codeChallengeMethod = default, + string? resource = default, + string? state = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// OAuth Authorization Endpoint
+ /// OAuth 2.1 authorization endpoint (RFC 6749 ยง3.1). Validates the client and PKCE parameters, then redirects to the login or consent page + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task AuthorizeAsResponseAsync( + string clientId, + string redirectUri, + string? responseType = default, + string? codeChallenge = default, + string? codeChallengeMethod = default, + string? resource = default, + string? state = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IMcpOAuthClient.Consent.g.cs b/src/libs/Opik/Generated/Opik.IMcpOAuthClient.Consent.g.cs new file mode 100644 index 00000000..ad32f702 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IMcpOAuthClient.Consent.g.cs @@ -0,0 +1,62 @@ +#nullable enable + +namespace Opik +{ + public partial interface IMcpOAuthClient + { + /// + /// Submit Authorization Consent
+ /// Submit the user's consent, issue an authorization code, and return the client redirect target + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task ConsentAsync( + + global::Opik.ConsentRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Submit Authorization Consent
+ /// Submit the user's consent, issue an authorization code, and return the client redirect target + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> ConsentAsResponseAsync( + + global::Opik.ConsentRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Submit Authorization Consent
+ /// Submit the user's consent, issue an authorization code, and return the client redirect target + ///
+ /// + /// + /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task ConsentAsync( + string clientId, + string redirectUri, + string codeChallenge, + string codeChallengeMethod, + string resource, + string? state = default, + string? workspaceId = default, + string? workspaceName = default, + string? csrf = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IMcpOAuthClient.GetAuthorizeContext.g.cs b/src/libs/Opik/Generated/Opik.IMcpOAuthClient.GetAuthorizeContext.g.cs new file mode 100644 index 00000000..33f38b09 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.IMcpOAuthClient.GetAuthorizeContext.g.cs @@ -0,0 +1,36 @@ +#nullable enable + +namespace Opik +{ + public partial interface IMcpOAuthClient + { + /// + /// Get Authorization Consent Context
+ /// Get the client details, eligible workspaces, and a CSRF token used to render the consent screen + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task GetAuthorizeContextAsync( + string clientId, + string redirectUri, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get Authorization Consent Context
+ /// Get the client details, eligible workspaces, and a CSRF token used to render the consent screen + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> GetAuthorizeContextAsResponseAsync( + string clientId, + string redirectUri, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.IOpikClient.g.cs b/src/libs/Opik/Generated/Opik.IOpikClient.g.cs index 5d54aef4..9446c8a9 100644 --- a/src/libs/Opik/Generated/Opik.IOpikClient.g.cs +++ b/src/libs/Opik/Generated/Opik.IOpikClient.g.cs @@ -93,6 +93,11 @@ public partial interface IOpikClient : global::System.IDisposable /// public AgentConfigsClient AgentConfigs { get; } + /// + /// Coding-agent spend analytics. + /// + public AiSpendClient AiSpend { get; } + /// /// Alert resources. /// diff --git a/src/libs/Opik/Generated/Opik.JsonConverters.ItemImpact.g.cs b/src/libs/Opik/Generated/Opik.JsonConverters.ItemImpact.g.cs new file mode 100644 index 00000000..b5251054 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.JsonConverters.ItemImpact.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Opik.JsonConverters +{ + /// + public sealed class ItemImpactJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Opik.ItemImpact Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Opik.ItemImpactExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Opik.ItemImpact)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Opik.ItemImpact); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Opik.ItemImpact value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Opik.ItemImpactExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.JsonConverters.ItemImpactNullable.g.cs b/src/libs/Opik/Generated/Opik.JsonConverters.ItemImpactNullable.g.cs new file mode 100644 index 00000000..b07c69e3 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.JsonConverters.ItemImpactNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Opik.JsonConverters +{ + /// + public sealed class ItemImpactNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Opik.ItemImpact? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Opik.ItemImpactExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Opik.ItemImpact)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Opik.ItemImpact?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Opik.ItemImpact? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Opik.ItemImpactExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Opik/Generated/Opik.JsonSerializerContext.g.cs b/src/libs/Opik/Generated/Opik.JsonSerializerContext.g.cs index 6cc68f9a..6ad6279d 100644 --- a/src/libs/Opik/Generated/Opik.JsonSerializerContext.g.cs +++ b/src/libs/Opik/Generated/Opik.JsonSerializerContext.g.cs @@ -37,6 +37,10 @@ namespace Opik typeof(global::Opik.JsonConverters.AgentConfigValueHistoryTypeNullableJsonConverter), + typeof(global::Opik.JsonConverters.ItemImpactJsonConverter), + + typeof(global::Opik.JsonConverters.ItemImpactNullableJsonConverter), + typeof(global::Opik.JsonConverters.AlertAlertTypeJsonConverter), typeof(global::Opik.JsonConverters.AlertAlertTypeNullableJsonConverter), @@ -912,8 +916,13 @@ namespace Opik typeof(global::Opik.JsonConverters.UnixTimestampJsonConverter), })] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.JsonSerializerContextTypes))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AuthorizationServerMetadata))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ConsentResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(string))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ConsentRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AuthorizeContext))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceInfo))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AuthorizationServerMetadata))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.BiInformation))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(long))] @@ -955,8 +964,27 @@ namespace Opik [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ErrorMessageHistory))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AgentConfigRemoveValues))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AgentConfigEnvSetByName))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Alert))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.HarnessEntry))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Lane))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Side))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.SpendCompositionResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.SpendMetricRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Item))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ItemImpact), TypeInfoPropertyName = "ItemImpact2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.SpendBreakdownResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.SpendRecommendationsResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Result))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceMetricsSummaryResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.SpendUserPage))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.SpendUserRow))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Alert))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AlertAlertType), TypeInfoPropertyName = "AlertAlertType2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Webhook))] @@ -1000,7 +1028,6 @@ namespace Opik [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AnnotationQueueReviewer))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.FeedbackScoreAverage))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AnnotationQueueWrite))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AnnotationQueueWriteScope), TypeInfoPropertyName = "AnnotationQueueWriteScope2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AnnotationQueueBatch))] @@ -1015,6 +1042,10 @@ namespace Opik [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.FeedbackScoreAveragePublic))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ItemLockInfo))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.LocksResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.LockResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AnnotationQueueUpdate))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AssertionResultBatch))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AssertionResultBatchEntityType), TypeInfoPropertyName = "AssertionResultBatchEntityType2")] @@ -1384,33 +1415,6 @@ namespace Opik [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ChunkedOutputJsonNodeType))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetItemStreamRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetUpdate))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetUpdateVisibility), TypeInfoPropertyName = "DatasetUpdateVisibility2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionDiff))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionDiffStats))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionTag))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionPagePublic))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionRestorePublic))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionRetrieveRequestPublic))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionUpdatePublic))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Environment))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.EnvironmentWrite))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.EnvironmentPagePublic))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.EnvironmentPublic))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.EnvironmentUpdate))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentBatchUpdate))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentUpdate))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentScore))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentUpdateType), TypeInfoPropertyName = "ExperimentUpdateType2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentUpdateStatus), TypeInfoPropertyName = "ExperimentUpdateStatus2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AssertionScoreAverage))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Experiment))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentType), TypeInfoPropertyName = "ExperimentType2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentEvaluationMethod), TypeInfoPropertyName = "ExperimentEvaluationMethod2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.PercentageValues))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] internal sealed partial class SourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext { } @@ -1446,6 +1450,10 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex typeof(global::Opik.JsonConverters.AgentConfigValueHistoryTypeNullableJsonConverter), + typeof(global::Opik.JsonConverters.ItemImpactJsonConverter), + + typeof(global::Opik.JsonConverters.ItemImpactNullableJsonConverter), + typeof(global::Opik.JsonConverters.AlertAlertTypeJsonConverter), typeof(global::Opik.JsonConverters.AlertAlertTypeNullableJsonConverter), @@ -2320,6 +2328,33 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex typeof(global::Opik.JsonConverters.UnixTimestampJsonConverter), })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetUpdateVisibility), TypeInfoPropertyName = "DatasetUpdateVisibility2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionDiff))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionDiffStats))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionTag))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionPagePublic))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionRestorePublic))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionRetrieveRequestPublic))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DatasetVersionUpdatePublic))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Environment))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.EnvironmentWrite))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.EnvironmentPagePublic))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.EnvironmentPublic))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.EnvironmentUpdate))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentBatchUpdate))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentUpdate))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentScore))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentUpdateType), TypeInfoPropertyName = "ExperimentUpdateType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentUpdateStatus), TypeInfoPropertyName = "ExperimentUpdateStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AssertionScoreAverage))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Experiment))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentType), TypeInfoPropertyName = "ExperimentType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentEvaluationMethod), TypeInfoPropertyName = "ExperimentEvaluationMethod2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.PercentageValues))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.ExperimentStatus), TypeInfoPropertyName = "ExperimentStatus2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.PromptVersionLink))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] @@ -2741,16 +2776,13 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Permission))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceUserPermissions))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.Result))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceMetricsSummaryRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.DataPointDouble))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceMetricResponse))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceMetricRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceConfiguration))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceVersion))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceVersionOpikVersion), TypeInfoPropertyName = "WorkspaceVersionOpikVersion2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.WorkspaceMetricsSummaryResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.CreateDatasetItemsFromCsvRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.CreateDatasetItemsFromJsonRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.CreateDatasetItemsFromJsonRequestFormat), TypeInfoPropertyName = "CreateDatasetItemsFromJsonRequestFormat2")] @@ -2782,6 +2814,7 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AnyOf), TypeInfoPropertyName = "AnyOfTraceThreadErrorMessage2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList>))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Opik.AnyOf), TypeInfoPropertyName = "AnyOfTracePublicErrorMessagePublic2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -2791,35 +2824,10 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] internal sealed partial class SourceGenerationContextChunk1 : global::System.Text.Json.Serialization.JsonSerializerContext { } @@ -2855,6 +2863,10 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex typeof(global::Opik.JsonConverters.AgentConfigValueHistoryTypeNullableJsonConverter), + typeof(global::Opik.JsonConverters.ItemImpactJsonConverter), + + typeof(global::Opik.JsonConverters.ItemImpactNullableJsonConverter), + typeof(global::Opik.JsonConverters.AlertAlertTypeJsonConverter), typeof(global::Opik.JsonConverters.AlertAlertTypeNullableJsonConverter), @@ -3729,6 +3741,36 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex typeof(global::Opik.JsonConverters.UnixTimestampJsonConverter), })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -3839,7 +3881,6 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List>))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -3907,6 +3948,8 @@ private SourceGenerationContext(global::System.Text.Json.JsonSerializerOptions o options.Converters.Add(new global::Opik.JsonConverters.AgentBlueprintHistoryTypeNullableJsonConverter()); options.Converters.Add(new global::Opik.JsonConverters.AgentConfigValueHistoryTypeJsonConverter()); options.Converters.Add(new global::Opik.JsonConverters.AgentConfigValueHistoryTypeNullableJsonConverter()); + options.Converters.Add(new global::Opik.JsonConverters.ItemImpactJsonConverter()); + options.Converters.Add(new global::Opik.JsonConverters.ItemImpactNullableJsonConverter()); options.Converters.Add(new global::Opik.JsonConverters.AlertAlertTypeJsonConverter()); options.Converters.Add(new global::Opik.JsonConverters.AlertAlertTypeNullableJsonConverter()); options.Converters.Add(new global::Opik.JsonConverters.AlertTriggerEventTypeJsonConverter()); diff --git a/src/libs/Opik/Generated/Opik.JsonSerializerContextTypes.g.cs b/src/libs/Opik/Generated/Opik.JsonSerializerContextTypes.g.cs index 36305276..5a1d4e4a 100644 --- a/src/libs/Opik/Generated/Opik.JsonSerializerContextTypes.g.cs +++ b/src/libs/Opik/Generated/Opik.JsonSerializerContextTypes.g.cs @@ -28,7 +28,7 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Opik.AuthorizationServerMetadata? Type0 { get; set; } + public global::Opik.ConsentResponse? Type0 { get; set; } /// /// /// @@ -36,4479 +36,4595 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::System.Collections.Generic.IList? Type2 { get; set; } + public global::Opik.ConsentRequest? Type2 { get; set; } /// /// /// - public global::Opik.BiInformation? Type3 { get; set; } + public global::Opik.AuthorizeContext? Type3 { get; set; } /// /// /// - public long? Type4 { get; set; } + public global::System.Collections.Generic.IList? Type4 { get; set; } /// /// /// - public global::Opik.BiInformationResponse? Type5 { get; set; } + public global::Opik.WorkspaceInfo? Type5 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type6 { get; set; } + public global::Opik.AuthorizationServerMetadata? Type6 { get; set; } /// /// /// - public global::Opik.SpansCountResponse? Type7 { get; set; } + public global::System.Collections.Generic.IList? Type7 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type8 { get; set; } + public global::Opik.BiInformation? Type8 { get; set; } /// /// /// - public global::Opik.WorkspaceSpansCount? Type9 { get; set; } + public long? Type9 { get; set; } /// /// /// - public int? Type10 { get; set; } + public global::Opik.BiInformationResponse? Type10 { get; set; } /// /// /// - public global::Opik.TraceCountResponse? Type11 { get; set; } + public global::System.Collections.Generic.IList? Type11 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type12 { get; set; } + public global::Opik.SpansCountResponse? Type12 { get; set; } /// /// /// - public global::Opik.WorkspaceTraceCount? Type13 { get; set; } + public global::System.Collections.Generic.IList? Type13 { get; set; } /// /// /// - public global::Opik.ErrorMessageWrite? Type14 { get; set; } + public global::Opik.WorkspaceSpansCount? Type14 { get; set; } /// /// /// - public global::Opik.AgentBlueprintWrite? Type15 { get; set; } + public int? Type15 { get; set; } /// /// /// - public global::System.Guid? Type16 { get; set; } + public global::Opik.TraceCountResponse? Type16 { get; set; } /// /// /// - public global::Opik.AgentBlueprintWriteType? Type17 { get; set; } + public global::System.Collections.Generic.IList? Type17 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type18 { get; set; } + public global::Opik.WorkspaceTraceCount? Type18 { get; set; } /// /// /// - public global::Opik.AgentConfigValueWrite? Type19 { get; set; } + public global::Opik.ErrorMessageWrite? Type19 { get; set; } /// /// /// - public global::Opik.AgentConfigCreateWrite? Type20 { get; set; } + public global::Opik.AgentBlueprintWrite? Type20 { get; set; } /// /// /// - public global::Opik.AgentConfigValueWriteType? Type21 { get; set; } + public global::System.Guid? Type21 { get; set; } /// /// /// - public global::Opik.ErrorMessage? Type22 { get; set; } + public global::Opik.AgentBlueprintWriteType? Type22 { get; set; } /// /// /// - public global::Opik.AgentConfigEnv? Type23 { get; set; } + public global::System.Collections.Generic.IList? Type23 { get; set; } /// /// /// - public global::System.DateTime? Type24 { get; set; } + public global::Opik.AgentConfigValueWrite? Type24 { get; set; } /// /// /// - public global::Opik.AgentConfigEnvUpdate? Type25 { get; set; } + public global::Opik.AgentConfigCreateWrite? Type25 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type26 { get; set; } + public global::Opik.AgentConfigValueWriteType? Type26 { get; set; } /// /// /// - public global::Opik.AgentBlueprintPublic? Type27 { get; set; } + public global::Opik.ErrorMessage? Type27 { get; set; } /// /// /// - public global::Opik.AgentBlueprintPublicType? Type28 { get; set; } + public global::Opik.AgentConfigEnv? Type28 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type29 { get; set; } + public global::System.DateTime? Type29 { get; set; } /// /// /// - public global::Opik.AgentConfigValuePublic? Type30 { get; set; } + public global::Opik.AgentConfigEnvUpdate? Type30 { get; set; } /// /// /// - public global::Opik.AgentConfigValuePublicType? Type31 { get; set; } + public global::System.Collections.Generic.IList? Type31 { get; set; } /// /// /// - public global::Opik.ErrorMessagePublic? Type32 { get; set; } + public global::Opik.AgentBlueprintPublic? Type32 { get; set; } /// /// /// - public global::Opik.AgentBlueprintHistory? Type33 { get; set; } + public global::Opik.AgentBlueprintPublicType? Type33 { get; set; } /// /// /// - public global::Opik.AgentBlueprintHistoryType? Type34 { get; set; } + public global::System.Collections.Generic.IList? Type34 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type35 { get; set; } + public global::Opik.AgentConfigValuePublic? Type35 { get; set; } /// /// /// - public global::Opik.AgentConfigValueHistory? Type36 { get; set; } + public global::Opik.AgentConfigValuePublicType? Type36 { get; set; } /// /// /// - public global::Opik.AgentConfigValueHistoryType? Type37 { get; set; } + public global::Opik.ErrorMessagePublic? Type37 { get; set; } /// /// /// - public global::Opik.BlueprintPageHistory? Type38 { get; set; } + public global::Opik.AgentBlueprintHistory? Type38 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type39 { get; set; } + public global::Opik.AgentBlueprintHistoryType? Type39 { get; set; } /// /// /// - public global::Opik.ErrorMessageHistory? Type40 { get; set; } + public global::System.Collections.Generic.IList? Type40 { get; set; } /// /// /// - public global::Opik.AgentConfigRemoveValues? Type41 { get; set; } + public global::Opik.AgentConfigValueHistory? Type41 { get; set; } /// /// /// - public global::Opik.AgentConfigEnvSetByName? Type42 { get; set; } + public global::Opik.AgentConfigValueHistoryType? Type42 { get; set; } /// /// /// - public global::Opik.Alert? Type43 { get; set; } + public global::Opik.BlueprintPageHistory? Type43 { get; set; } /// /// /// - public bool? Type44 { get; set; } + public global::System.Collections.Generic.IList? Type44 { get; set; } /// /// /// - public global::Opik.AlertAlertType? Type45 { get; set; } + public global::Opik.ErrorMessageHistory? Type45 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type46 { get; set; } + public global::Opik.AgentConfigRemoveValues? Type46 { get; set; } /// /// /// - public global::Opik.Webhook? Type47 { get; set; } + public global::Opik.AgentConfigEnvSetByName? Type47 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type48 { get; set; } + public global::Opik.HarnessEntry? Type48 { get; set; } /// /// /// - public global::Opik.AlertTrigger? Type49 { get; set; } + public double? Type49 { get; set; } /// /// /// - public global::Opik.AlertTriggerEventType? Type50 { get; set; } + public global::Opik.Lane? Type50 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type51 { get; set; } + public bool? Type51 { get; set; } /// /// /// - public global::Opik.AlertTriggerConfig? Type52 { get; set; } + public global::Opik.Side? Type52 { get; set; } /// /// /// - public global::Opik.AlertTriggerConfigType? Type53 { get; set; } + public global::System.Collections.Generic.IList? Type53 { get; set; } /// /// /// - public global::Opik.AlertTriggerConfigWrite? Type54 { get; set; } + public global::Opik.SpendCompositionResponse? Type54 { get; set; } /// /// /// - public global::Opik.AlertTriggerConfigWriteType? Type55 { get; set; } + public global::System.Collections.Generic.IList? Type55 { get; set; } /// /// /// - public global::Opik.AlertTriggerWrite? Type56 { get; set; } + public global::Opik.SpendMetricRequest? Type56 { get; set; } /// /// /// - public global::Opik.AlertTriggerWriteEventType? Type57 { get; set; } + public global::Opik.Item? Type57 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type58 { get; set; } + public global::Opik.ItemImpact? Type58 { get; set; } /// /// /// - public global::Opik.AlertWrite? Type59 { get; set; } + public global::Opik.SpendBreakdownResponse? Type59 { get; set; } /// /// /// - public global::Opik.AlertWriteAlertType? Type60 { get; set; } + public global::System.Collections.Generic.IList? Type60 { get; set; } /// /// /// - public global::Opik.WebhookWrite? Type61 { get; set; } + public global::Opik.SpendRecommendationsResponse? Type61 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type62 { get; set; } + public global::Opik.Result? Type62 { get; set; } /// /// /// - public global::Opik.BatchDelete? Type63 { get; set; } + public global::Opik.WorkspaceMetricsSummaryResponse? Type63 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type64 { get; set; } + public global::System.Collections.Generic.IList? Type64 { get; set; } /// /// /// - public global::Opik.AlertPagePublic? Type65 { get; set; } + public global::Opik.SpendUserPage? Type65 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type66 { get; set; } + public global::System.Collections.Generic.IList? Type66 { get; set; } /// /// /// - public global::Opik.AlertPublic? Type67 { get; set; } + public global::Opik.SpendUserRow? Type67 { get; set; } /// /// /// - public global::Opik.AlertTriggerConfigPublic? Type68 { get; set; } + public global::Opik.Alert? Type68 { get; set; } /// /// /// - public global::Opik.AlertTriggerConfigPublicType? Type69 { get; set; } + public global::Opik.AlertAlertType? Type69 { get; set; } /// /// /// - public global::Opik.AlertTriggerPublic? Type70 { get; set; } + public global::System.Collections.Generic.Dictionary? Type70 { get; set; } /// /// /// - public global::Opik.AlertTriggerPublicEventType? Type71 { get; set; } + public global::Opik.Webhook? Type71 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type72 { get; set; } + public global::System.Collections.Generic.IList? Type72 { get; set; } /// /// /// - public global::Opik.AlertPublicAlertType? Type73 { get; set; } + public global::Opik.AlertTrigger? Type73 { get; set; } /// /// /// - public global::Opik.WebhookPublic? Type74 { get; set; } + public global::Opik.AlertTriggerEventType? Type74 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type75 { get; set; } + public global::System.Collections.Generic.IList? Type75 { get; set; } /// /// /// - public global::Opik.WebhookExamples? Type76 { get; set; } + public global::Opik.AlertTriggerConfig? Type76 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type77 { get; set; } + public global::Opik.AlertTriggerConfigType? Type77 { get; set; } /// /// /// - public object? Type78 { get; set; } + public global::Opik.AlertTriggerConfigWrite? Type78 { get; set; } /// /// /// - public global::Opik.WebhookTestResult? Type79 { get; set; } + public global::Opik.AlertTriggerConfigWriteType? Type79 { get; set; } /// /// /// - public global::Opik.WebhookTestResultStatus? Type80 { get; set; } + public global::Opik.AlertTriggerWrite? Type80 { get; set; } /// /// /// - public global::Opik.AnnotationQueueItemIds? Type81 { get; set; } + public global::Opik.AlertTriggerWriteEventType? Type81 { get; set; } /// /// /// - public global::Opik.AnnotationQueue? Type82 { get; set; } + public global::System.Collections.Generic.IList? Type82 { get; set; } /// /// /// - public global::Opik.AnnotationQueueScope? Type83 { get; set; } + public global::Opik.AlertWrite? Type83 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type84 { get; set; } + public global::Opik.AlertWriteAlertType? Type84 { get; set; } /// /// /// - public global::Opik.AnnotationQueueReviewer? Type85 { get; set; } + public global::Opik.WebhookWrite? Type85 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type86 { get; set; } + public global::System.Collections.Generic.IList? Type86 { get; set; } /// /// /// - public global::Opik.FeedbackScoreAverage? Type87 { get; set; } + public global::Opik.BatchDelete? Type87 { get; set; } /// /// /// - public double? Type88 { get; set; } + public global::System.Collections.Generic.IList? Type88 { get; set; } /// /// /// - public global::Opik.AnnotationQueueWrite? Type89 { get; set; } + public global::Opik.AlertPagePublic? Type89 { get; set; } /// /// /// - public global::Opik.AnnotationQueueWriteScope? Type90 { get; set; } + public global::System.Collections.Generic.IList? Type90 { get; set; } /// /// /// - public global::Opik.AnnotationQueueBatch? Type91 { get; set; } + public global::Opik.AlertPublic? Type91 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type92 { get; set; } + public global::Opik.AlertTriggerConfigPublic? Type92 { get; set; } /// /// /// - public global::Opik.AnnotationQueueBatchWrite? Type93 { get; set; } + public global::Opik.AlertTriggerConfigPublicType? Type93 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type94 { get; set; } + public global::Opik.AlertTriggerPublic? Type94 { get; set; } /// /// /// - public global::Opik.AnnotationQueuePagePublic? Type95 { get; set; } + public global::Opik.AlertTriggerPublicEventType? Type95 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type96 { get; set; } + public global::System.Collections.Generic.IList? Type96 { get; set; } /// /// /// - public global::Opik.AnnotationQueuePublic? Type97 { get; set; } + public global::Opik.AlertPublicAlertType? Type97 { get; set; } /// /// /// - public global::Opik.AnnotationQueueReviewerPublic? Type98 { get; set; } + public global::Opik.WebhookPublic? Type98 { get; set; } /// /// /// - public global::Opik.AnnotationQueuePublicScope? Type99 { get; set; } + public global::System.Collections.Generic.IList? Type99 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type100 { get; set; } + public global::Opik.WebhookExamples? Type100 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type101 { get; set; } + public global::System.Collections.Generic.Dictionary? Type101 { get; set; } /// /// /// - public global::Opik.FeedbackScoreAveragePublic? Type102 { get; set; } + public object? Type102 { get; set; } /// /// /// - public global::Opik.AnnotationQueueUpdate? Type103 { get; set; } + public global::Opik.WebhookTestResult? Type103 { get; set; } /// /// /// - public global::Opik.AssertionResultBatch? Type104 { get; set; } + public global::Opik.WebhookTestResultStatus? Type104 { get; set; } /// /// /// - public global::Opik.AssertionResultBatchEntityType? Type105 { get; set; } + public global::Opik.AnnotationQueueItemIds? Type105 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type106 { get; set; } + public global::Opik.AnnotationQueue? Type106 { get; set; } /// /// /// - public global::Opik.AssertionResultBatchItem? Type107 { get; set; } + public global::Opik.AnnotationQueueScope? Type107 { get; set; } /// /// /// - public global::Opik.AssertionResultBatchItemStatus? Type108 { get; set; } + public global::System.Collections.Generic.IList? Type108 { get; set; } /// /// /// - public global::Opik.AssertionResultBatchItemSource? Type109 { get; set; } + public global::Opik.AnnotationQueueReviewer? Type109 { get; set; } /// /// /// - public global::Opik.Attachment? Type110 { get; set; } + public global::System.Collections.Generic.IList? Type110 { get; set; } /// /// /// - public global::Opik.AttachmentPage? Type111 { get; set; } + public global::Opik.FeedbackScoreAverage? Type111 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type112 { get; set; } + public global::Opik.AnnotationQueueWrite? Type112 { get; set; } /// /// /// - public global::Opik.CompleteMultipartUploadRequest? Type113 { get; set; } + public global::Opik.AnnotationQueueWriteScope? Type113 { get; set; } /// /// /// - public global::Opik.CompleteMultipartUploadRequestEntityType? Type114 { get; set; } + public global::Opik.AnnotationQueueBatch? Type114 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type115 { get; set; } + public global::System.Collections.Generic.IList? Type115 { get; set; } /// /// /// - public global::Opik.MultipartUploadPart? Type116 { get; set; } + public global::Opik.AnnotationQueueBatchWrite? Type116 { get; set; } /// /// /// - public global::Opik.DeleteAttachmentsRequest? Type117 { get; set; } + public global::System.Collections.Generic.IList? Type117 { get; set; } /// /// /// - public global::Opik.DeleteAttachmentsRequestEntityType? Type118 { get; set; } + public global::Opik.AnnotationQueuePagePublic? Type118 { get; set; } /// /// /// - public global::Opik.StartMultipartUploadResponse? Type119 { get; set; } + public global::System.Collections.Generic.IList? Type119 { get; set; } /// /// /// - public global::Opik.StartMultipartUploadRequest? Type120 { get; set; } + public global::Opik.AnnotationQueuePublic? Type120 { get; set; } /// /// /// - public global::Opik.StartMultipartUploadRequestEntityType? Type121 { get; set; } + public global::Opik.AnnotationQueueReviewerPublic? Type121 { get; set; } /// /// /// - public global::Opik.AuthDetailsHolder? Type122 { get; set; } + public global::Opik.AnnotationQueuePublicScope? Type122 { get; set; } /// /// /// - public global::Opik.WorkspaceNameHolder? Type123 { get; set; } + public global::System.Collections.Generic.IList? Type123 { get; set; } /// /// /// - public global::Opik.AudioUrl? Type124 { get; set; } + public global::System.Collections.Generic.IList? Type124 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluator? Type125 { get; set; } + public global::Opik.FeedbackScoreAveragePublic? Type125 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type126 { get; set; } + public global::Opik.ItemLockInfo? Type126 { get; set; } /// /// /// - public global::Opik.ProjectReference? Type127 { get; set; } + public global::Opik.LocksResponse? Type127 { get; set; } /// /// /// - public float? Type128 { get; set; } + public global::System.Collections.Generic.Dictionary? Type128 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorType? Type129 { get; set; } + public global::Opik.LockResponse? Type129 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorAction? Type130 { get; set; } + public global::Opik.AnnotationQueueUpdate? Type130 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorDiscriminator? Type131 { get; set; } + public global::Opik.AssertionResultBatch? Type131 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorDiscriminatorType? Type132 { get; set; } + public global::Opik.AssertionResultBatchEntityType? Type132 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorLlmAsJudge? Type133 { get; set; } + public global::System.Collections.Generic.IList? Type133 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorLlmAsJudgeVariant2? Type134 { get; set; } + public global::Opik.AssertionResultBatchItem? Type134 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type135 { get; set; } + public global::Opik.AssertionResultBatchItemStatus? Type135 { get; set; } /// /// /// - public global::Opik.TraceFilter? Type136 { get; set; } + public global::Opik.AssertionResultBatchItemSource? Type136 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeCode? Type137 { get; set; } + public global::Opik.Attachment? Type137 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudge? Type138 { get; set; } + public global::Opik.AttachmentPage? Type138 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgeVariant2? Type139 { get; set; } + public global::System.Collections.Generic.IList? Type139 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type140 { get; set; } + public global::Opik.CompleteMultipartUploadRequest? Type140 { get; set; } /// /// /// - public global::Opik.SpanFilter? Type141 { get; set; } + public global::Opik.CompleteMultipartUploadRequestEntityType? Type141 { get; set; } /// /// /// - public global::Opik.SpanLlmAsJudgeCode? Type142 { get; set; } + public global::System.Collections.Generic.IList? Type142 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPython? Type143 { get; set; } + public global::Opik.MultipartUploadPart? Type143 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonVariant2? Type144 { get; set; } + public global::Opik.DeleteAttachmentsRequest? Type144 { get; set; } /// /// /// - public global::Opik.SpanUserDefinedMetricPythonCode? Type145 { get; set; } + public global::Opik.DeleteAttachmentsRequestEntityType? Type145 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudge? Type146 { get; set; } + public global::Opik.StartMultipartUploadResponse? Type146 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgeVariant2? Type147 { get; set; } + public global::Opik.StartMultipartUploadRequest? Type147 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type148 { get; set; } + public global::Opik.StartMultipartUploadRequestEntityType? Type148 { get; set; } /// /// /// - public global::Opik.TraceThreadFilter? Type149 { get; set; } + public global::Opik.AuthDetailsHolder? Type149 { get; set; } /// /// /// - public global::Opik.TraceThreadLlmAsJudgeCode? Type150 { get; set; } + public global::Opik.WorkspaceNameHolder? Type150 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython? Type151 { get; set; } + public global::Opik.AudioUrl? Type151 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonVariant2? Type152 { get; set; } + public global::Opik.AutomationRuleEvaluator? Type152 { get; set; } /// /// /// - public global::Opik.TraceThreadUserDefinedMetricPythonCode? Type153 { get; set; } + public global::System.Collections.Generic.IList? Type153 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPython? Type154 { get; set; } + public global::Opik.ProjectReference? Type154 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonVariant2? Type155 { get; set; } + public float? Type155 { get; set; } /// /// /// - public global::Opik.UserDefinedMetricPythonCode? Type156 { get; set; } + public global::Opik.AutomationRuleEvaluatorType? Type156 { get; set; } /// /// /// - public global::Opik.ImageUrl? Type157 { get; set; } + public global::Opik.AutomationRuleEvaluatorAction? Type157 { get; set; } /// /// /// - public global::Opik.JsonNode? Type158 { get; set; } + public global::Opik.AutomationRuleEvaluatorDiscriminator? Type158 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeModelParameters? Type159 { get; set; } + public global::Opik.AutomationRuleEvaluatorDiscriminatorType? Type159 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type160 { get; set; } + public global::Opik.AutomationRuleEvaluatorLlmAsJudge? Type160 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeMessage? Type161 { get; set; } + public global::Opik.AutomationRuleEvaluatorLlmAsJudgeVariant2? Type161 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type162 { get; set; } + public global::System.Collections.Generic.IList? Type162 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeOutputSchema? Type163 { get; set; } + public global::Opik.TraceFilter? Type163 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeMessageRole? Type164 { get; set; } + public global::Opik.LlmAsJudgeCode? Type164 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type165 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudge? Type165 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeMessageContent? Type166 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgeVariant2? Type166 { get; set; } /// /// /// - public global::Opik.VideoUrl? Type167 { get; set; } + public global::System.Collections.Generic.IList? Type167 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeOutputSchemaType? Type168 { get; set; } + public global::Opik.SpanFilter? Type168 { get; set; } /// /// /// - public global::Opik.SpanFilterOperator? Type169 { get; set; } + public global::Opik.SpanLlmAsJudgeCode? Type169 { get; set; } /// /// /// - public global::Opik.TraceFilterOperator? Type170 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPython? Type170 { get; set; } /// /// /// - public global::Opik.TraceThreadFilterOperator? Type171 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonVariant2? Type171 { get; set; } /// /// /// - public global::Opik.AudioUrlWrite? Type172 { get; set; } + public global::Opik.SpanUserDefinedMetricPythonCode? Type172 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorLlmAsJudgeWrite? Type173 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudge? Type173 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorWrite? Type174 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgeVariant2? Type174 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorLlmAsJudgeWriteVariant2? Type175 { get; set; } + public global::System.Collections.Generic.IList? Type175 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type176 { get; set; } + public global::Opik.TraceThreadFilter? Type176 { get; set; } /// /// /// - public global::Opik.TraceFilterWrite? Type177 { get; set; } + public global::Opik.TraceThreadLlmAsJudgeCode? Type177 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeCodeWrite? Type178 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPython? Type178 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgeWrite? Type179 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonVariant2? Type179 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgeWriteVariant2? Type180 { get; set; } + public global::Opik.TraceThreadUserDefinedMetricPythonCode? Type180 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type181 { get; set; } + public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPython? Type181 { get; set; } /// /// /// - public global::Opik.SpanFilterWrite? Type182 { get; set; } + public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonVariant2? Type182 { get; set; } /// /// /// - public global::Opik.SpanLlmAsJudgeCodeWrite? Type183 { get; set; } + public global::Opik.UserDefinedMetricPythonCode? Type183 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonWrite? Type184 { get; set; } + public global::Opik.ImageUrl? Type184 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonWriteVariant2? Type185 { get; set; } + public global::Opik.JsonNode? Type185 { get; set; } /// /// /// - public global::Opik.SpanUserDefinedMetricPythonCodeWrite? Type186 { get; set; } + public global::Opik.LlmAsJudgeModelParameters? Type186 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgeWrite? Type187 { get; set; } + public global::System.Collections.Generic.IList? Type187 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgeWriteVariant2? Type188 { get; set; } + public global::Opik.LlmAsJudgeMessage? Type188 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type189 { get; set; } + public global::System.Collections.Generic.IList? Type189 { get; set; } /// /// /// - public global::Opik.TraceThreadFilterWrite? Type190 { get; set; } + public global::Opik.LlmAsJudgeOutputSchema? Type190 { get; set; } /// /// /// - public global::Opik.TraceThreadLlmAsJudgeCodeWrite? Type191 { get; set; } + public global::Opik.LlmAsJudgeMessageRole? Type191 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWrite? Type192 { get; set; } + public global::System.Collections.Generic.IList? Type192 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWriteVariant2? Type193 { get; set; } + public global::Opik.LlmAsJudgeMessageContent? Type193 { get; set; } /// /// /// - public global::Opik.TraceThreadUserDefinedMetricPythonCodeWrite? Type194 { get; set; } + public global::Opik.VideoUrl? Type194 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonWrite? Type195 { get; set; } + public global::Opik.LlmAsJudgeOutputSchemaType? Type195 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonWriteVariant2? Type196 { get; set; } + public global::Opik.SpanFilterOperator? Type196 { get; set; } /// /// /// - public global::Opik.UserDefinedMetricPythonCodeWrite? Type197 { get; set; } + public global::Opik.TraceFilterOperator? Type197 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorWriteType? Type198 { get; set; } + public global::Opik.TraceThreadFilterOperator? Type198 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorWriteAction? Type199 { get; set; } + public global::Opik.AudioUrlWrite? Type199 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorWriteDiscriminator? Type200 { get; set; } + public global::Opik.AutomationRuleEvaluatorLlmAsJudgeWrite? Type200 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorWriteDiscriminatorType? Type201 { get; set; } + public global::Opik.AutomationRuleEvaluatorWrite? Type201 { get; set; } /// /// /// - public global::Opik.ImageUrlWrite? Type202 { get; set; } + public global::Opik.AutomationRuleEvaluatorLlmAsJudgeWriteVariant2? Type202 { get; set; } /// /// /// - public global::Opik.JsonNodeWrite? Type203 { get; set; } + public global::System.Collections.Generic.IList? Type203 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeModelParametersWrite? Type204 { get; set; } + public global::Opik.TraceFilterWrite? Type204 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type205 { get; set; } + public global::Opik.LlmAsJudgeCodeWrite? Type205 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeMessageWrite? Type206 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgeWrite? Type206 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type207 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgeWriteVariant2? Type207 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeOutputSchemaWrite? Type208 { get; set; } + public global::System.Collections.Generic.IList? Type208 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeMessageContentWrite? Type209 { get; set; } + public global::Opik.SpanFilterWrite? Type209 { get; set; } /// /// /// - public global::Opik.VideoUrlWrite? Type210 { get; set; } + public global::Opik.SpanLlmAsJudgeCodeWrite? Type210 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeMessageWriteRole? Type211 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonWrite? Type211 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type212 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonWriteVariant2? Type212 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeOutputSchemaWriteType? Type213 { get; set; } + public global::Opik.SpanUserDefinedMetricPythonCodeWrite? Type213 { get; set; } /// /// /// - public global::Opik.SpanFilterWriteOperator? Type214 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgeWrite? Type214 { get; set; } /// /// /// - public global::Opik.TraceFilterWriteOperator? Type215 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgeWriteVariant2? Type215 { get; set; } /// /// /// - public global::Opik.TraceThreadFilterWriteOperator? Type216 { get; set; } + public global::System.Collections.Generic.IList? Type216 { get; set; } /// /// /// - public global::Opik.AudioUrlPublic? Type217 { get; set; } + public global::Opik.TraceThreadFilterWrite? Type217 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorLlmAsJudgePublic? Type218 { get; set; } + public global::Opik.TraceThreadLlmAsJudgeCodeWrite? Type218 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorPublic? Type219 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWrite? Type219 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorLlmAsJudgePublicVariant2? Type220 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonWriteVariant2? Type220 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type221 { get; set; } + public global::Opik.TraceThreadUserDefinedMetricPythonCodeWrite? Type221 { get; set; } /// /// /// - public global::Opik.TraceFilterPublic? Type222 { get; set; } + public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonWrite? Type222 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeCodePublic? Type223 { get; set; } + public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonWriteVariant2? Type223 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorObjectObjectPublic? Type224 { get; set; } + public global::Opik.UserDefinedMetricPythonCodeWrite? Type224 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type225 { get; set; } + public global::Opik.AutomationRuleEvaluatorWriteType? Type225 { get; set; } /// /// /// - public global::Opik.ProjectReferencePublic? Type226 { get; set; } + public global::Opik.AutomationRuleEvaluatorWriteAction? Type226 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorObjectObjectPublicType? Type227 { get; set; } + public global::Opik.AutomationRuleEvaluatorWriteDiscriminator? Type227 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorObjectObjectPublicAction? Type228 { get; set; } + public global::Opik.AutomationRuleEvaluatorWriteDiscriminatorType? Type228 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorObjectObjectPublicDiscriminator? Type229 { get; set; } + public global::Opik.ImageUrlWrite? Type229 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorObjectObjectPublicDiscriminatorType? Type230 { get; set; } + public global::Opik.JsonNodeWrite? Type230 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorPagePublic? Type231 { get; set; } + public global::Opik.LlmAsJudgeModelParametersWrite? Type231 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type232 { get; set; } + public global::System.Collections.Generic.IList? Type232 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgePublic? Type233 { get; set; } + public global::Opik.LlmAsJudgeMessageWrite? Type233 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgePublicVariant2? Type234 { get; set; } + public global::System.Collections.Generic.IList? Type234 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type235 { get; set; } + public global::Opik.LlmAsJudgeOutputSchemaWrite? Type235 { get; set; } /// /// /// - public global::Opik.SpanFilterPublic? Type236 { get; set; } + public global::Opik.LlmAsJudgeMessageContentWrite? Type236 { get; set; } /// /// /// - public global::Opik.SpanLlmAsJudgeCodePublic? Type237 { get; set; } + public global::Opik.VideoUrlWrite? Type237 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublic? Type238 { get; set; } + public global::Opik.LlmAsJudgeMessageWriteRole? Type238 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublicVariant2? Type239 { get; set; } + public global::System.Collections.Generic.IList? Type239 { get; set; } /// /// /// - public global::Opik.SpanUserDefinedMetricPythonCodePublic? Type240 { get; set; } + public global::Opik.LlmAsJudgeOutputSchemaWriteType? Type240 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgePublic? Type241 { get; set; } + public global::Opik.SpanFilterWriteOperator? Type241 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgePublicVariant2? Type242 { get; set; } + public global::Opik.TraceFilterWriteOperator? Type242 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type243 { get; set; } + public global::Opik.TraceThreadFilterWriteOperator? Type243 { get; set; } /// /// /// - public global::Opik.TraceThreadFilterPublic? Type244 { get; set; } + public global::Opik.AudioUrlPublic? Type244 { get; set; } /// /// /// - public global::Opik.TraceThreadLlmAsJudgeCodePublic? Type245 { get; set; } + public global::Opik.AutomationRuleEvaluatorLlmAsJudgePublic? Type245 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublic? Type246 { get; set; } + public global::Opik.AutomationRuleEvaluatorPublic? Type246 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublicVariant2? Type247 { get; set; } + public global::Opik.AutomationRuleEvaluatorLlmAsJudgePublicVariant2? Type247 { get; set; } /// /// /// - public global::Opik.TraceThreadUserDefinedMetricPythonCodePublic? Type248 { get; set; } + public global::System.Collections.Generic.IList? Type248 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonPublic? Type249 { get; set; } + public global::Opik.TraceFilterPublic? Type249 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonPublicVariant2? Type250 { get; set; } + public global::Opik.LlmAsJudgeCodePublic? Type250 { get; set; } /// /// /// - public global::Opik.UserDefinedMetricPythonCodePublic? Type251 { get; set; } + public global::Opik.AutomationRuleEvaluatorObjectObjectPublic? Type251 { get; set; } /// /// /// - public global::Opik.ImageUrlPublic? Type252 { get; set; } + public global::System.Collections.Generic.IList? Type252 { get; set; } /// /// /// - public global::Opik.JsonNodePublic? Type253 { get; set; } + public global::Opik.ProjectReferencePublic? Type253 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeModelParametersPublic? Type254 { get; set; } + public global::Opik.AutomationRuleEvaluatorObjectObjectPublicType? Type254 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type255 { get; set; } + public global::Opik.AutomationRuleEvaluatorObjectObjectPublicAction? Type255 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeMessagePublic? Type256 { get; set; } + public global::Opik.AutomationRuleEvaluatorObjectObjectPublicDiscriminator? Type256 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type257 { get; set; } + public global::Opik.AutomationRuleEvaluatorObjectObjectPublicDiscriminatorType? Type257 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeOutputSchemaPublic? Type258 { get; set; } + public global::Opik.AutomationRuleEvaluatorPagePublic? Type258 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeMessageContentPublic? Type259 { get; set; } + public global::System.Collections.Generic.IList? Type259 { get; set; } /// /// /// - public global::Opik.VideoUrlPublic? Type260 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgePublic? Type260 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeMessagePublicRole? Type261 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanLlmAsJudgePublicVariant2? Type261 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type262 { get; set; } + public global::System.Collections.Generic.IList? Type262 { get; set; } /// /// /// - public global::Opik.LlmAsJudgeOutputSchemaPublicType? Type263 { get; set; } + public global::Opik.SpanFilterPublic? Type263 { get; set; } /// /// /// - public global::Opik.SpanFilterPublicOperator? Type264 { get; set; } + public global::Opik.SpanLlmAsJudgeCodePublic? Type264 { get; set; } /// /// /// - public global::Opik.TraceFilterPublicOperator? Type265 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublic? Type265 { get; set; } /// /// /// - public global::Opik.TraceThreadFilterPublicOperator? Type266 { get; set; } + public global::Opik.AutomationRuleEvaluatorSpanUserDefinedMetricPythonPublicVariant2? Type266 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorPublicType? Type267 { get; set; } + public global::Opik.SpanUserDefinedMetricPythonCodePublic? Type267 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorPublicAction? Type268 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgePublic? Type268 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorPublicDiscriminator? Type269 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadLlmAsJudgePublicVariant2? Type269 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorPublicDiscriminatorType? Type270 { get; set; } + public global::System.Collections.Generic.IList? Type270 { get; set; } /// /// /// - public global::Opik.LogItem? Type271 { get; set; } + public global::Opik.TraceThreadFilterPublic? Type271 { get; set; } /// /// /// - public global::Opik.LogItemLevel? Type272 { get; set; } + public global::Opik.TraceThreadLlmAsJudgeCodePublic? Type272 { get; set; } /// /// /// - public global::Opik.LogPage? Type273 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublic? Type273 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type274 { get; set; } + public global::Opik.AutomationRuleEvaluatorTraceThreadUserDefinedMetricPythonPublicVariant2? Type274 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdate? Type275 { get; set; } + public global::Opik.TraceThreadUserDefinedMetricPythonCodePublic? Type275 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateType? Type276 { get; set; } + public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonPublic? Type276 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateAction? Type277 { get; set; } + public global::Opik.AutomationRuleEvaluatorUserDefinedMetricPythonPublicVariant2? Type277 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateDiscriminator? Type278 { get; set; } + public global::Opik.UserDefinedMetricPythonCodePublic? Type278 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateDiscriminatorType? Type279 { get; set; } + public global::Opik.ImageUrlPublic? Type279 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateLlmAsJudge? Type280 { get; set; } + public global::Opik.JsonNodePublic? Type280 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateLlmAsJudgeVariant2? Type281 { get; set; } + public global::Opik.LlmAsJudgeModelParametersPublic? Type281 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateSpanLlmAsJudge? Type282 { get; set; } + public global::System.Collections.Generic.IList? Type282 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateSpanLlmAsJudgeVariant2? Type283 { get; set; } + public global::Opik.LlmAsJudgeMessagePublic? Type283 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPython? Type284 { get; set; } + public global::System.Collections.Generic.IList? Type284 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPythonVariant2? Type285 { get; set; } + public global::Opik.LlmAsJudgeOutputSchemaPublic? Type285 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudge? Type286 { get; set; } + public global::Opik.LlmAsJudgeMessageContentPublic? Type286 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudgeVariant2? Type287 { get; set; } + public global::Opik.VideoUrlPublic? Type287 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPython? Type288 { get; set; } + public global::Opik.LlmAsJudgeMessagePublicRole? Type288 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPythonVariant2? Type289 { get; set; } + public global::System.Collections.Generic.IList? Type289 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateUserDefinedMetricPython? Type290 { get; set; } + public global::Opik.LlmAsJudgeOutputSchemaPublicType? Type290 { get; set; } /// /// /// - public global::Opik.AutomationRuleEvaluatorUpdateUserDefinedMetricPythonVariant2? Type291 { get; set; } + public global::Opik.SpanFilterPublicOperator? Type291 { get; set; } /// /// /// - public global::Opik.AssistantMessage? Type292 { get; set; } + public global::Opik.TraceFilterPublicOperator? Type292 { get; set; } /// /// /// - public global::Opik.AssistantMessageRole? Type293 { get; set; } + public global::Opik.TraceThreadFilterPublicOperator? Type293 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type294 { get; set; } + public global::Opik.AutomationRuleEvaluatorPublicType? Type294 { get; set; } /// /// /// - public global::Opik.ToolCall? Type295 { get; set; } + public global::Opik.AutomationRuleEvaluatorPublicAction? Type295 { get; set; } /// /// /// - public global::Opik.FunctionCall? Type296 { get; set; } + public global::Opik.AutomationRuleEvaluatorPublicDiscriminator? Type296 { get; set; } /// /// /// - public global::Opik.ChatCompletionChoice? Type297 { get; set; } + public global::Opik.AutomationRuleEvaluatorPublicDiscriminatorType? Type297 { get; set; } /// /// /// - public global::Opik.Delta? Type298 { get; set; } + public global::Opik.LogItem? Type298 { get; set; } /// /// /// - public global::Opik.LogProbs? Type299 { get; set; } + public global::Opik.LogItemLevel? Type299 { get; set; } /// /// /// - public global::Opik.ChatCompletionResponse? Type300 { get; set; } + public global::Opik.LogPage? Type300 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type301 { get; set; } + public global::System.Collections.Generic.IList? Type301 { get; set; } /// /// /// - public global::Opik.Usage? Type302 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdate? Type302 { get; set; } /// /// /// - public global::Opik.CompletionTokensDetails? Type303 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateType? Type303 { get; set; } /// /// /// - public global::Opik.LogProb? Type304 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateAction? Type304 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type305 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateDiscriminator? Type305 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type306 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateDiscriminatorType? Type306 { get; set; } /// /// /// - public global::Opik.PromptTokensDetails? Type307 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateLlmAsJudge? Type307 { get; set; } /// /// /// - public global::Opik.ToolCallType? Type308 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateLlmAsJudgeVariant2? Type308 { get; set; } /// /// /// - public global::Opik.ChatCompletionRequest? Type309 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateSpanLlmAsJudge? Type309 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type310 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateSpanLlmAsJudgeVariant2? Type310 { get; set; } /// /// /// - public global::Opik.Message? Type311 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPython? Type311 { get; set; } /// /// /// - public global::Opik.StreamOptions? Type312 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateSpanUserDefinedMetricPythonVariant2? Type312 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type313 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudge? Type313 { get; set; } /// /// /// - public global::Opik.ResponseFormat? Type314 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateTraceThreadLlmAsJudgeVariant2? Type314 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type315 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPython? Type315 { get; set; } /// /// /// - public global::Opik.Tool? Type316 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateTraceThreadUserDefinedMetricPythonVariant2? Type316 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type317 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateUserDefinedMetricPython? Type317 { get; set; } /// /// /// - public global::Opik.Function? Type318 { get; set; } + public global::Opik.AutomationRuleEvaluatorUpdateUserDefinedMetricPythonVariant2? Type318 { get; set; } /// /// /// - public global::Opik.JsonSchema? Type319 { get; set; } + public global::Opik.AssistantMessage? Type319 { get; set; } /// /// /// - public global::Opik.ResponseFormatType? Type320 { get; set; } + public global::Opik.AssistantMessageRole? Type320 { get; set; } /// /// /// - public global::Opik.ToolType? Type321 { get; set; } + public global::System.Collections.Generic.IList? Type321 { get; set; } /// /// /// - public global::Opik.DashboardPublic? Type322 { get; set; } + public global::Opik.ToolCall? Type322 { get; set; } /// /// /// - public global::Opik.DashboardPublicType? Type323 { get; set; } + public global::Opik.FunctionCall? Type323 { get; set; } /// /// /// - public global::Opik.DashboardPublicScope? Type324 { get; set; } + public global::Opik.ChatCompletionChoice? Type324 { get; set; } /// /// /// - public global::Opik.DashboardWrite? Type325 { get; set; } + public global::Opik.Delta? Type325 { get; set; } /// /// /// - public global::Opik.DashboardWriteType? Type326 { get; set; } + public global::Opik.LogProbs? Type326 { get; set; } /// /// /// - public global::Opik.DashboardPagePublic? Type327 { get; set; } + public global::Opik.ChatCompletionResponse? Type327 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type328 { get; set; } + public global::System.Collections.Generic.IList? Type328 { get; set; } /// /// /// - public global::Opik.DashboardUpdatePublic? Type329 { get; set; } + public global::Opik.Usage? Type329 { get; set; } /// /// /// - public global::Opik.DashboardUpdatePublicType? Type330 { get; set; } + public global::Opik.CompletionTokensDetails? Type330 { get; set; } /// /// /// - public global::Opik.DatasetVersionPublic? Type331 { get; set; } + public global::Opik.LogProb? Type331 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type332 { get; set; } + public global::System.Collections.Generic.IList? Type332 { get; set; } /// /// /// - public global::Opik.EvaluatorItemPublic? Type333 { get; set; } + public global::System.Collections.Generic.IList? Type333 { get; set; } /// /// /// - public global::Opik.ExecutionPolicyPublic? Type334 { get; set; } + public global::Opik.PromptTokensDetails? Type334 { get; set; } /// /// /// - public global::Opik.EvaluatorItemPublicType? Type335 { get; set; } + public global::Opik.ToolCallType? Type335 { get; set; } /// /// /// - public global::Opik.DatasetItemChangesPublic? Type336 { get; set; } + public global::Opik.ChatCompletionRequest? Type336 { get; set; } /// /// /// - public global::Opik.DatasetItemBatchUpdate? Type337 { get; set; } + public global::System.Collections.Generic.IList? Type337 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type338 { get; set; } + public global::Opik.Message? Type338 { get; set; } /// /// /// - public global::Opik.DatasetItemFilter? Type339 { get; set; } + public global::Opik.StreamOptions? Type339 { get; set; } /// /// /// - public global::Opik.DatasetItemUpdate? Type340 { get; set; } + public global::System.Collections.Generic.Dictionary? Type340 { get; set; } /// /// /// - public global::Opik.DatasetItemFilterOperator? Type341 { get; set; } + public global::Opik.ResponseFormat? Type341 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type342 { get; set; } + public global::System.Collections.Generic.IList? Type342 { get; set; } /// /// /// - public global::Opik.EvaluatorItem? Type343 { get; set; } + public global::Opik.Tool? Type343 { get; set; } /// /// /// - public global::Opik.ExecutionPolicy? Type344 { get; set; } + public global::System.Collections.Generic.IList? Type344 { get; set; } /// /// /// - public global::Opik.EvaluatorItemType? Type345 { get; set; } + public global::Opik.Function? Type345 { get; set; } /// /// /// - public global::Opik.Dataset? Type346 { get; set; } + public global::Opik.JsonSchema? Type346 { get; set; } /// /// /// - public global::Opik.DatasetType? Type347 { get; set; } + public global::Opik.ResponseFormatType? Type347 { get; set; } /// /// /// - public global::Opik.DatasetVisibility? Type348 { get; set; } + public global::Opik.ToolType? Type348 { get; set; } /// /// /// - public global::Opik.DatasetStatus? Type349 { get; set; } + public global::Opik.DashboardPublic? Type349 { get; set; } /// /// /// - public global::Opik.DatasetVersionSummary? Type350 { get; set; } + public global::Opik.DashboardPublicType? Type350 { get; set; } /// /// /// - public global::Opik.DatasetWrite? Type351 { get; set; } + public global::Opik.DashboardPublicScope? Type351 { get; set; } /// /// /// - public global::Opik.DatasetWriteType? Type352 { get; set; } + public global::Opik.DashboardWrite? Type352 { get; set; } /// /// /// - public global::Opik.DatasetWriteVisibility? Type353 { get; set; } + public global::Opik.DashboardWriteType? Type353 { get; set; } /// /// /// - public global::Opik.AssertionResult? Type354 { get; set; } + public global::Opik.DashboardPagePublic? Type354 { get; set; } /// /// /// - public global::Opik.Comment? Type355 { get; set; } + public global::System.Collections.Generic.IList? Type355 { get; set; } /// /// /// - public global::Opik.DatasetItem? Type356 { get; set; } + public global::Opik.DashboardUpdatePublic? Type356 { get; set; } /// /// /// - public global::Opik.DatasetItemSource? Type357 { get; set; } + public global::Opik.DashboardUpdatePublicType? Type357 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type358 { get; set; } + public global::Opik.DatasetVersionPublic? Type358 { get; set; } /// /// /// - public global::Opik.ExperimentItem? Type359 { get; set; } + public global::System.Collections.Generic.IList? Type359 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type360 { get; set; } + public global::Opik.EvaluatorItemPublic? Type360 { get; set; } /// /// /// - public global::Opik.ExperimentRunSummary? Type361 { get; set; } + public global::Opik.ExecutionPolicyPublic? Type361 { get; set; } /// /// /// - public global::Opik.DatasetItemBatch? Type362 { get; set; } + public global::Opik.EvaluatorItemPublicType? Type362 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type363 { get; set; } + public global::Opik.DatasetItemChangesPublic? Type363 { get; set; } /// /// /// - public global::Opik.JsonListString? Type364 { get; set; } + public global::Opik.DatasetItemBatchUpdate? Type364 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type365 { get; set; } + public global::System.Collections.Generic.IList? Type365 { get; set; } /// /// /// - public global::Opik.FeedbackScore? Type366 { get; set; } + public global::Opik.DatasetItemFilter? Type366 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type367 { get; set; } + public global::Opik.DatasetItemUpdate? Type367 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type368 { get; set; } + public global::Opik.DatasetItemFilterOperator? Type368 { get; set; } /// /// /// - public global::Opik.ExperimentItemTraceVisibilityMode? Type369 { get; set; } + public global::System.Collections.Generic.IList? Type369 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type370 { get; set; } + public global::Opik.EvaluatorItem? Type370 { get; set; } /// /// /// - public global::Opik.ExperimentItemStatus? Type371 { get; set; } + public global::Opik.ExecutionPolicy? Type371 { get; set; } /// /// /// - public global::Opik.ExperimentRunSummaryStatus? Type372 { get; set; } + public global::Opik.EvaluatorItemType? Type372 { get; set; } /// /// /// - public global::Opik.FeedbackScoreSource? Type373 { get; set; } + public global::Opik.Dataset? Type373 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type374 { get; set; } + public global::Opik.DatasetType? Type374 { get; set; } /// /// /// - public global::Opik.ValueEntry? Type375 { get; set; } + public global::Opik.DatasetVisibility? Type375 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type376 { get; set; } + public global::Opik.DatasetStatus? Type376 { get; set; } /// /// /// - public global::Opik.ValueEntrySource? Type377 { get; set; } + public global::Opik.DatasetVersionSummary? Type377 { get; set; } /// /// /// - public global::Opik.DatasetItemBatchWrite? Type378 { get; set; } + public global::Opik.DatasetWrite? Type378 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type379 { get; set; } + public global::Opik.DatasetWriteType? Type379 { get; set; } /// /// /// - public global::Opik.DatasetItemWrite? Type380 { get; set; } + public global::Opik.DatasetWriteVisibility? Type380 { get; set; } /// /// /// - public global::Opik.DatasetItemWriteSource? Type381 { get; set; } + public global::Opik.AssertionResult? Type381 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type382 { get; set; } + public global::Opik.Comment? Type382 { get; set; } /// /// /// - public global::Opik.EvaluatorItemWrite? Type383 { get; set; } + public global::Opik.DatasetItem? Type383 { get; set; } /// /// /// - public global::Opik.ExecutionPolicyWrite? Type384 { get; set; } + public global::Opik.DatasetItemSource? Type384 { get; set; } /// /// /// - public global::Opik.EvaluatorItemWriteType? Type385 { get; set; } + public global::System.Collections.Generic.IList? Type385 { get; set; } /// /// /// - public global::Opik.CreateDatasetItemsFromSpansRequest? Type386 { get; set; } + public global::Opik.ExperimentItem? Type386 { get; set; } /// /// /// - public global::Opik.SpanEnrichmentOptions? Type387 { get; set; } + public global::System.Collections.Generic.Dictionary? Type387 { get; set; } /// /// /// - public global::Opik.CreateDatasetItemsFromTracesRequest? Type388 { get; set; } + public global::Opik.ExperimentRunSummary? Type388 { get; set; } /// /// /// - public global::Opik.TraceEnrichmentOptions? Type389 { get; set; } + public global::Opik.DatasetItemBatch? Type389 { get; set; } /// /// /// - public global::Opik.DatasetIdentifier? Type390 { get; set; } + public global::System.Collections.Generic.IList? Type390 { get; set; } /// /// /// - public global::Opik.DatasetItemsDelete? Type391 { get; set; } + public global::Opik.JsonListString? Type391 { get; set; } /// /// /// - public global::Opik.DatasetExpansionResponse? Type392 { get; set; } + public global::System.Collections.Generic.IList? Type392 { get; set; } /// /// /// - public global::Opik.DatasetExpansion? Type393 { get; set; } + public global::Opik.FeedbackScore? Type393 { get; set; } /// /// /// - public global::Opik.DatasetExpansionWrite? Type394 { get; set; } + public global::System.Collections.Generic.IList? Type394 { get; set; } /// /// /// - public global::Opik.AssertionResultCompare? Type395 { get; set; } + public global::System.Collections.Generic.Dictionary? Type395 { get; set; } /// /// /// - public global::Opik.ColumnCompare? Type396 { get; set; } + public global::Opik.ExperimentItemTraceVisibilityMode? Type396 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type397 { get; set; } + public global::System.Collections.Generic.IList? Type397 { get; set; } /// /// /// - public global::Opik.ColumnCompareType? Type398 { get; set; } + public global::Opik.ExperimentItemStatus? Type398 { get; set; } /// /// /// - public global::Opik.CommentCompare? Type399 { get; set; } + public global::Opik.ExperimentRunSummaryStatus? Type399 { get; set; } /// /// /// - public global::Opik.DatasetItemPageCompare? Type400 { get; set; } + public global::Opik.FeedbackScoreSource? Type400 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type401 { get; set; } + public global::System.Collections.Generic.Dictionary? Type401 { get; set; } /// /// /// - public global::Opik.DatasetItemCompare? Type402 { get; set; } + public global::Opik.ValueEntry? Type402 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type403 { get; set; } + public global::System.Collections.Generic.IList? Type403 { get; set; } /// /// /// - public global::Opik.DatasetItemCompareSource? Type404 { get; set; } + public global::Opik.ValueEntrySource? Type404 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type405 { get; set; } + public global::Opik.DatasetItemBatchWrite? Type405 { get; set; } /// /// /// - public global::Opik.EvaluatorItemCompare? Type406 { get; set; } + public global::System.Collections.Generic.IList? Type406 { get; set; } /// /// /// - public global::Opik.ExecutionPolicyCompare? Type407 { get; set; } + public global::Opik.DatasetItemWrite? Type407 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type408 { get; set; } + public global::Opik.DatasetItemWriteSource? Type408 { get; set; } /// /// /// - public global::Opik.ExperimentItemCompare? Type409 { get; set; } + public global::System.Collections.Generic.IList? Type409 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type410 { get; set; } + public global::Opik.EvaluatorItemWrite? Type410 { get; set; } /// /// /// - public global::Opik.ExperimentRunSummaryCompare? Type411 { get; set; } + public global::Opik.ExecutionPolicyWrite? Type411 { get; set; } /// /// /// - public global::Opik.EvaluatorItemCompareType? Type412 { get; set; } + public global::Opik.EvaluatorItemWriteType? Type412 { get; set; } /// /// /// - public global::Opik.JsonNodeCompare? Type413 { get; set; } + public global::Opik.CreateDatasetItemsFromSpansRequest? Type413 { get; set; } /// /// /// - public global::Opik.JsonListStringCompare? Type414 { get; set; } + public global::Opik.SpanEnrichmentOptions? Type414 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type415 { get; set; } + public global::Opik.CreateDatasetItemsFromTracesRequest? Type415 { get; set; } /// /// /// - public global::Opik.FeedbackScoreCompare? Type416 { get; set; } + public global::Opik.TraceEnrichmentOptions? Type416 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type417 { get; set; } + public global::Opik.DatasetIdentifier? Type417 { get; set; } /// /// /// - public global::Opik.ExperimentItemCompareTraceVisibilityMode? Type418 { get; set; } + public global::Opik.DatasetItemsDelete? Type418 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type419 { get; set; } + public global::Opik.DatasetExpansionResponse? Type419 { get; set; } /// /// /// - public global::Opik.ExperimentItemCompareStatus? Type420 { get; set; } + public global::Opik.DatasetExpansion? Type420 { get; set; } /// /// /// - public global::Opik.ExperimentRunSummaryCompareStatus? Type421 { get; set; } + public global::Opik.DatasetExpansionWrite? Type421 { get; set; } /// /// /// - public global::Opik.FeedbackScoreCompareSource? Type422 { get; set; } + public global::Opik.AssertionResultCompare? Type422 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type423 { get; set; } + public global::Opik.ColumnCompare? Type423 { get; set; } /// /// /// - public global::Opik.ValueEntryCompare? Type424 { get; set; } + public global::System.Collections.Generic.IList? Type424 { get; set; } /// /// /// - public global::Opik.ValueEntryCompareSource? Type425 { get; set; } + public global::Opik.ColumnCompareType? Type425 { get; set; } /// /// /// - public global::Opik.DatasetPagePublic? Type426 { get; set; } + public global::Opik.CommentCompare? Type426 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type427 { get; set; } + public global::Opik.DatasetItemPageCompare? Type427 { get; set; } /// /// /// - public global::Opik.DatasetPublic? Type428 { get; set; } + public global::System.Collections.Generic.IList? Type428 { get; set; } /// /// /// - public global::Opik.DatasetVersionSummaryPublic? Type429 { get; set; } + public global::Opik.DatasetItemCompare? Type429 { get; set; } /// /// /// - public global::Opik.DatasetPublicType? Type430 { get; set; } + public global::System.Collections.Generic.IList? Type430 { get; set; } /// /// /// - public global::Opik.DatasetPublicVisibility? Type431 { get; set; } + public global::Opik.DatasetItemCompareSource? Type431 { get; set; } /// /// /// - public global::Opik.DatasetPublicStatus? Type432 { get; set; } + public global::System.Collections.Generic.IList? Type432 { get; set; } /// /// /// - public global::Opik.DatasetIdentifierPublic? Type433 { get; set; } + public global::Opik.EvaluatorItemCompare? Type433 { get; set; } /// /// /// - public global::Opik.AvgValueStatPublic? Type434 { get; set; } + public global::Opik.ExecutionPolicyCompare? Type434 { get; set; } /// /// /// - public global::Opik.ProjectStatItemObjectPublic? Type435 { get; set; } + public global::System.Collections.Generic.IList? Type435 { get; set; } /// /// /// - public global::Opik.AvgValueStatPublicVariant2? Type436 { get; set; } + public global::Opik.ExperimentItemCompare? Type436 { get; set; } /// /// /// - public global::Opik.CountValueStatPublic? Type437 { get; set; } + public global::System.Collections.Generic.Dictionary? Type437 { get; set; } /// /// /// - public global::Opik.CountValueStatPublicVariant2? Type438 { get; set; } + public global::Opik.ExperimentRunSummaryCompare? Type438 { get; set; } /// /// /// - public global::Opik.PercentageValueStatPublic? Type439 { get; set; } + public global::Opik.EvaluatorItemCompareType? Type439 { get; set; } /// /// /// - public global::Opik.PercentageValueStatPublicVariant2? Type440 { get; set; } + public global::Opik.JsonNodeCompare? Type440 { get; set; } /// /// /// - public global::Opik.PercentageValuesPublic? Type441 { get; set; } + public global::Opik.JsonListStringCompare? Type441 { get; set; } /// /// /// - public global::Opik.ProjectStatItemObjectPublicType? Type442 { get; set; } + public global::System.Collections.Generic.IList? Type442 { get; set; } /// /// /// - public global::Opik.ProjectStatItemObjectPublicDiscriminator? Type443 { get; set; } + public global::Opik.FeedbackScoreCompare? Type443 { get; set; } /// /// /// - public global::Opik.ProjectStatItemObjectPublicDiscriminatorType? Type444 { get; set; } + public global::System.Collections.Generic.IList? Type444 { get; set; } /// /// /// - public global::Opik.ProjectStatsPublic? Type445 { get; set; } + public global::Opik.ExperimentItemCompareTraceVisibilityMode? Type445 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type446 { get; set; } + public global::System.Collections.Generic.IList? Type446 { get; set; } /// /// /// - public global::Opik.DatasetExportJobPublic? Type447 { get; set; } + public global::Opik.ExperimentItemCompareStatus? Type447 { get; set; } /// /// /// - public global::Opik.DatasetExportJobPublicStatus? Type448 { get; set; } + public global::Opik.ExperimentRunSummaryCompareStatus? Type448 { get; set; } /// /// /// - public global::Opik.DatasetItemPublic? Type449 { get; set; } + public global::Opik.FeedbackScoreCompareSource? Type449 { get; set; } /// /// /// - public global::Opik.DatasetItemPublicSource? Type450 { get; set; } + public global::System.Collections.Generic.Dictionary? Type450 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type451 { get; set; } + public global::Opik.ValueEntryCompare? Type451 { get; set; } /// /// /// - public global::Opik.ExperimentItemPublic? Type452 { get; set; } + public global::Opik.ValueEntryCompareSource? Type452 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type453 { get; set; } + public global::Opik.DatasetPagePublic? Type453 { get; set; } /// /// /// - public global::Opik.ExperimentRunSummaryPublic? Type454 { get; set; } + public global::System.Collections.Generic.IList? Type454 { get; set; } /// /// /// - public global::Opik.ExperimentItemPublicTraceVisibilityMode? Type455 { get; set; } + public global::Opik.DatasetPublic? Type455 { get; set; } /// /// /// - public global::Opik.ExperimentRunSummaryPublicStatus? Type456 { get; set; } + public global::Opik.DatasetVersionSummaryPublic? Type456 { get; set; } /// /// /// - public global::Opik.ColumnPublic? Type457 { get; set; } + public global::Opik.DatasetPublicType? Type457 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type458 { get; set; } + public global::Opik.DatasetPublicVisibility? Type458 { get; set; } /// /// /// - public global::Opik.ColumnPublicType? Type459 { get; set; } + public global::Opik.DatasetPublicStatus? Type459 { get; set; } /// /// /// - public global::Opik.DatasetItemPagePublic? Type460 { get; set; } + public global::Opik.DatasetIdentifierPublic? Type460 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type461 { get; set; } + public global::Opik.AvgValueStatPublic? Type461 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type462 { get; set; } + public global::Opik.ProjectStatItemObjectPublic? Type462 { get; set; } /// /// /// - public global::Opik.Column? Type463 { get; set; } + public global::Opik.AvgValueStatPublicVariant2? Type463 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type464 { get; set; } + public global::Opik.CountValueStatPublic? Type464 { get; set; } /// /// /// - public global::Opik.ColumnType? Type465 { get; set; } + public global::Opik.CountValueStatPublicVariant2? Type465 { get; set; } /// /// /// - public global::Opik.PageColumns? Type466 { get; set; } + public global::Opik.PercentageValueStatPublic? Type466 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type467 { get; set; } + public global::Opik.PercentageValueStatPublicVariant2? Type467 { get; set; } /// /// /// - public global::Opik.ChunkedOutputJsonNode? Type468 { get; set; } + public global::Opik.PercentageValuesPublic? Type468 { get; set; } /// /// /// - public global::Opik.ChunkedOutputJsonNodeType? Type469 { get; set; } + public global::Opik.ProjectStatItemObjectPublicType? Type469 { get; set; } /// /// /// - public global::Opik.DatasetItemStreamRequest? Type470 { get; set; } + public global::Opik.ProjectStatItemObjectPublicDiscriminator? Type470 { get; set; } /// /// /// - public global::Opik.DatasetUpdate? Type471 { get; set; } + public global::Opik.ProjectStatItemObjectPublicDiscriminatorType? Type471 { get; set; } /// /// /// - public global::Opik.DatasetUpdateVisibility? Type472 { get; set; } + public global::Opik.ProjectStatsPublic? Type472 { get; set; } /// /// /// - public global::Opik.DatasetVersionDiff? Type473 { get; set; } + public global::System.Collections.Generic.IList? Type473 { get; set; } /// /// /// - public global::Opik.DatasetVersionDiffStats? Type474 { get; set; } + public global::Opik.DatasetExportJobPublic? Type474 { get; set; } /// /// /// - public global::Opik.DatasetVersionTag? Type475 { get; set; } + public global::Opik.DatasetExportJobPublicStatus? Type475 { get; set; } /// /// /// - public global::Opik.DatasetVersionPagePublic? Type476 { get; set; } + public global::Opik.DatasetItemPublic? Type476 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type477 { get; set; } + public global::Opik.DatasetItemPublicSource? Type477 { get; set; } /// /// /// - public global::Opik.DatasetVersionRestorePublic? Type478 { get; set; } + public global::System.Collections.Generic.IList? Type478 { get; set; } /// /// /// - public global::Opik.DatasetVersionRetrieveRequestPublic? Type479 { get; set; } + public global::Opik.ExperimentItemPublic? Type479 { get; set; } /// /// /// - public global::Opik.DatasetVersionUpdatePublic? Type480 { get; set; } + public global::System.Collections.Generic.Dictionary? Type480 { get; set; } /// /// /// - public global::Opik.Environment? Type481 { get; set; } + public global::Opik.ExperimentRunSummaryPublic? Type481 { get; set; } /// /// /// - public global::Opik.EnvironmentWrite? Type482 { get; set; } + public global::Opik.ExperimentItemPublicTraceVisibilityMode? Type482 { get; set; } /// /// /// - public global::Opik.EnvironmentPagePublic? Type483 { get; set; } + public global::Opik.ExperimentRunSummaryPublicStatus? Type483 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type484 { get; set; } + public global::Opik.ColumnPublic? Type484 { get; set; } /// /// /// - public global::Opik.EnvironmentPublic? Type485 { get; set; } + public global::System.Collections.Generic.IList? Type485 { get; set; } /// /// /// - public global::Opik.EnvironmentUpdate? Type486 { get; set; } + public global::Opik.ColumnPublicType? Type486 { get; set; } /// /// /// - public global::Opik.ExperimentBatchUpdate? Type487 { get; set; } + public global::Opik.DatasetItemPagePublic? Type487 { get; set; } /// /// /// - public global::Opik.ExperimentUpdate? Type488 { get; set; } + public global::System.Collections.Generic.IList? Type488 { get; set; } /// /// /// - public global::Opik.ExperimentScore? Type489 { get; set; } + public global::System.Collections.Generic.IList? Type489 { get; set; } /// /// /// - public global::Opik.ExperimentUpdateType? Type490 { get; set; } + public global::Opik.Column? Type490 { get; set; } /// /// /// - public global::Opik.ExperimentUpdateStatus? Type491 { get; set; } + public global::System.Collections.Generic.IList? Type491 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type492 { get; set; } + public global::Opik.ColumnType? Type492 { get; set; } /// /// /// - public global::Opik.AssertionScoreAverage? Type493 { get; set; } + public global::Opik.PageColumns? Type493 { get; set; } /// /// /// - public global::Opik.Experiment? Type494 { get; set; } + public global::System.Collections.Generic.IList? Type494 { get; set; } /// /// /// - public global::Opik.ExperimentType? Type495 { get; set; } + public global::Opik.ChunkedOutputJsonNode? Type495 { get; set; } /// /// /// - public global::Opik.ExperimentEvaluationMethod? Type496 { get; set; } + public global::Opik.ChunkedOutputJsonNodeType? Type496 { get; set; } /// /// /// - public global::Opik.PercentageValues? Type497 { get; set; } + public global::Opik.DatasetItemStreamRequest? Type497 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type498 { get; set; } + public global::Opik.DatasetUpdate? Type498 { get; set; } /// /// /// - public global::Opik.ExperimentStatus? Type499 { get; set; } + public global::Opik.DatasetUpdateVisibility? Type499 { get; set; } /// /// /// - public global::Opik.PromptVersionLink? Type500 { get; set; } + public global::Opik.DatasetVersionDiff? Type500 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type501 { get; set; } + public global::Opik.DatasetVersionDiffStats? Type501 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type502 { get; set; } + public global::Opik.DatasetVersionTag? Type502 { get; set; } /// /// /// - public global::Opik.ExperimentScoreWrite? Type503 { get; set; } + public global::Opik.DatasetVersionPagePublic? Type503 { get; set; } /// /// /// - public global::Opik.ExperimentWrite? Type504 { get; set; } + public global::System.Collections.Generic.IList? Type504 { get; set; } /// /// /// - public global::Opik.JsonListStringWrite? Type505 { get; set; } + public global::Opik.DatasetVersionRestorePublic? Type505 { get; set; } /// /// /// - public global::Opik.ExperimentWriteType? Type506 { get; set; } + public global::Opik.DatasetVersionRetrieveRequestPublic? Type506 { get; set; } /// /// /// - public global::Opik.ExperimentWriteEvaluationMethod? Type507 { get; set; } + public global::Opik.DatasetVersionUpdatePublic? Type507 { get; set; } /// /// /// - public global::Opik.ExperimentWriteStatus? Type508 { get; set; } + public global::Opik.Environment? Type508 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type509 { get; set; } + public global::Opik.EnvironmentWrite? Type509 { get; set; } /// /// /// - public global::Opik.PromptVersionLinkWrite? Type510 { get; set; } + public global::Opik.EnvironmentPagePublic? Type510 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type511 { get; set; } + public global::System.Collections.Generic.IList? Type511 { get; set; } /// /// /// - public global::Opik.ExperimentItemsBatch? Type512 { get; set; } + public global::Opik.EnvironmentPublic? Type512 { get; set; } /// /// /// - public global::Opik.ExperimentItemsDelete? Type513 { get; set; } + public global::Opik.EnvironmentUpdate? Type513 { get; set; } /// /// /// - public global::Opik.DeleteIdsHolder? Type514 { get; set; } + public global::Opik.ExperimentBatchUpdate? Type514 { get; set; } /// /// /// - public global::Opik.ExperimentExecutionResponse? Type515 { get; set; } + public global::Opik.ExperimentUpdate? Type515 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type516 { get; set; } + public global::Opik.ExperimentScore? Type516 { get; set; } /// /// /// - public global::Opik.ExperimentInfo? Type517 { get; set; } + public global::Opik.ExperimentUpdateType? Type517 { get; set; } /// /// /// - public global::Opik.ExperimentExecutionRequest? Type518 { get; set; } + public global::Opik.ExperimentUpdateStatus? Type518 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type519 { get; set; } + public global::System.Collections.Generic.IList? Type519 { get; set; } /// /// /// - public global::Opik.PromptVariant? Type520 { get; set; } + public global::Opik.AssertionScoreAverage? Type520 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type521 { get; set; } + public global::Opik.Experiment? Type521 { get; set; } /// /// /// - public global::Opik.Check? Type522 { get; set; } + public global::Opik.ExperimentType? Type522 { get; set; } /// /// /// - public global::Opik.CheckName? Type523 { get; set; } + public global::Opik.ExperimentEvaluationMethod? Type523 { get; set; } /// /// /// - public global::Opik.CheckResult? Type524 { get; set; } + public global::Opik.PercentageValues? Type524 { get; set; } /// /// /// - public global::Opik.ErrorInfo? Type525 { get; set; } + public global::System.Collections.Generic.Dictionary? Type525 { get; set; } /// /// /// - public global::Opik.ExperimentItemBulkRecord? Type526 { get; set; } + public global::Opik.ExperimentStatus? Type526 { get; set; } /// /// /// - public global::Opik.Trace? Type527 { get; set; } + public global::Opik.PromptVersionLink? Type527 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type528 { get; set; } + public global::System.Collections.Generic.IList? Type528 { get; set; } /// /// /// - public global::Opik.Span? Type529 { get; set; } + public global::System.Collections.Generic.IList? Type529 { get; set; } /// /// /// - public global::Opik.ExperimentItemBulkUpload? Type530 { get; set; } + public global::Opik.ExperimentScoreWrite? Type530 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type531 { get; set; } + public global::Opik.ExperimentWrite? Type531 { get; set; } /// /// /// - public global::Opik.ExperimentItemReference? Type532 { get; set; } + public global::Opik.JsonListStringWrite? Type532 { get; set; } /// /// /// - public global::Opik.GuardrailsValidation? Type533 { get; set; } + public global::Opik.ExperimentWriteType? Type533 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type534 { get; set; } + public global::Opik.ExperimentWriteEvaluationMethod? Type534 { get; set; } /// /// /// - public global::Opik.SpanType? Type535 { get; set; } + public global::Opik.ExperimentWriteStatus? Type535 { get; set; } /// /// /// - public global::Opik.SpanSource? Type536 { get; set; } + public global::System.Collections.Generic.IList? Type536 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type537 { get; set; } + public global::Opik.PromptVersionLinkWrite? Type537 { get; set; } /// /// /// - public global::Opik.TraceVisibilityMode? Type538 { get; set; } + public global::System.Collections.Generic.IList? Type538 { get; set; } /// /// /// - public global::Opik.TraceSource? Type539 { get; set; } + public global::Opik.ExperimentItemsBatch? Type539 { get; set; } /// /// /// - public global::Opik.ErrorInfoExperimentItemBulkWriteView? Type540 { get; set; } + public global::Opik.ExperimentItemsDelete? Type540 { get; set; } /// /// /// - public global::Opik.ExperimentItemBulkRecordExperimentItemBulkWriteView? Type541 { get; set; } + public global::Opik.DeleteIdsHolder? Type541 { get; set; } /// /// /// - public global::Opik.JsonListStringExperimentItemBulkWriteView? Type542 { get; set; } + public global::Opik.ExperimentExecutionResponse? Type542 { get; set; } /// /// /// - public global::Opik.TraceExperimentItemBulkWriteView? Type543 { get; set; } + public global::System.Collections.Generic.IList? Type543 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type544 { get; set; } + public global::Opik.ExperimentInfo? Type544 { get; set; } /// /// /// - public global::Opik.SpanExperimentItemBulkWriteView? Type545 { get; set; } + public global::Opik.ExperimentExecutionRequest? Type545 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type546 { get; set; } + public global::System.Collections.Generic.IList? Type546 { get; set; } /// /// /// - public global::Opik.FeedbackScoreExperimentItemBulkWriteView? Type547 { get; set; } + public global::Opik.PromptVariant? Type547 { get; set; } /// /// /// - public global::Opik.ExperimentItemBulkUploadExperimentItemBulkWriteView? Type548 { get; set; } + public global::System.Collections.Generic.Dictionary? Type548 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type549 { get; set; } + public global::Opik.Check? Type549 { get; set; } /// /// /// - public global::Opik.FeedbackScoreExperimentItemBulkWriteViewSource? Type550 { get; set; } + public global::Opik.CheckName? Type550 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type551 { get; set; } + public global::Opik.CheckResult? Type551 { get; set; } /// /// /// - public global::Opik.ValueEntryExperimentItemBulkWriteView? Type552 { get; set; } + public global::Opik.ErrorInfo? Type552 { get; set; } /// /// /// - public global::Opik.SpanExperimentItemBulkWriteViewType? Type553 { get; set; } + public global::Opik.ExperimentItemBulkRecord? Type553 { get; set; } /// /// /// - public global::Opik.SpanExperimentItemBulkWriteViewSource? Type554 { get; set; } + public global::Opik.Trace? Type554 { get; set; } /// /// /// - public global::Opik.TraceExperimentItemBulkWriteViewSource? Type555 { get; set; } + public global::System.Collections.Generic.IList? Type555 { get; set; } /// /// /// - public global::Opik.ValueEntryExperimentItemBulkWriteViewSource? Type556 { get; set; } + public global::Opik.Span? Type556 { get; set; } /// /// /// - public global::Opik.AssertionScoreAveragePublic? Type557 { get; set; } + public global::Opik.ExperimentItemBulkUpload? Type557 { get; set; } /// /// /// - public global::Opik.CommentPublic? Type558 { get; set; } + public global::System.Collections.Generic.IList? Type558 { get; set; } /// /// /// - public global::Opik.ExperimentPagePublic? Type559 { get; set; } + public global::Opik.ExperimentItemReference? Type559 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type560 { get; set; } + public global::Opik.GuardrailsValidation? Type560 { get; set; } /// /// /// - public global::Opik.ExperimentPublic? Type561 { get; set; } + public global::System.Collections.Generic.IList? Type561 { get; set; } /// /// /// - public global::Opik.ExperimentScorePublic? Type562 { get; set; } + public global::Opik.SpanType? Type562 { get; set; } /// /// /// - public global::Opik.JsonListStringPublic? Type563 { get; set; } + public global::Opik.SpanSource? Type563 { get; set; } /// /// /// - public global::Opik.ExperimentPublicType? Type564 { get; set; } + public global::System.Collections.Generic.IList? Type564 { get; set; } /// /// /// - public global::Opik.ExperimentPublicEvaluationMethod? Type565 { get; set; } + public global::Opik.TraceVisibilityMode? Type565 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type566 { get; set; } + public global::Opik.TraceSource? Type566 { get; set; } /// /// /// - public global::Opik.ExperimentPublicStatus? Type567 { get; set; } + public global::Opik.ErrorInfoExperimentItemBulkWriteView? Type567 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type568 { get; set; } + public global::Opik.ExperimentItemBulkRecordExperimentItemBulkWriteView? Type568 { get; set; } /// /// /// - public global::Opik.PromptVersionLinkPublic? Type569 { get; set; } + public global::Opik.JsonListStringExperimentItemBulkWriteView? Type569 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type570 { get; set; } + public global::Opik.TraceExperimentItemBulkWriteView? Type570 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type571 { get; set; } + public global::System.Collections.Generic.IList? Type571 { get; set; } /// /// /// - public global::Opik.FeedbackScoreNamesPublic? Type572 { get; set; } + public global::Opik.SpanExperimentItemBulkWriteView? Type572 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type573 { get; set; } + public global::System.Collections.Generic.IList? Type573 { get; set; } /// /// /// - public global::Opik.ScoreNamePublic? Type574 { get; set; } + public global::Opik.FeedbackScoreExperimentItemBulkWriteView? Type574 { get; set; } /// /// /// - public global::Opik.ExperimentGroupResponse? Type575 { get; set; } + public global::Opik.ExperimentItemBulkUploadExperimentItemBulkWriteView? Type575 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type576 { get; set; } + public global::System.Collections.Generic.IList? Type576 { get; set; } /// /// /// - public global::Opik.GroupContent? Type577 { get; set; } + public global::Opik.FeedbackScoreExperimentItemBulkWriteViewSource? Type577 { get; set; } /// /// /// - public global::Opik.GroupDetails? Type578 { get; set; } + public global::System.Collections.Generic.Dictionary? Type578 { get; set; } /// /// /// - public global::Opik.GroupDetail? Type579 { get; set; } + public global::Opik.ValueEntryExperimentItemBulkWriteView? Type579 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type580 { get; set; } + public global::Opik.SpanExperimentItemBulkWriteViewType? Type580 { get; set; } /// /// /// - public global::Opik.AggregationData? Type581 { get; set; } + public global::Opik.SpanExperimentItemBulkWriteViewSource? Type581 { get; set; } /// /// /// - public global::Opik.ExperimentGroupAggregationsResponse? Type582 { get; set; } + public global::Opik.TraceExperimentItemBulkWriteViewSource? Type582 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type583 { get; set; } + public global::Opik.ValueEntryExperimentItemBulkWriteViewSource? Type583 { get; set; } /// /// /// - public global::Opik.GroupContentWithAggregations? Type584 { get; set; } + public global::Opik.AssertionScoreAveragePublic? Type584 { get; set; } /// /// /// - public global::Opik.IdsHolder? Type585 { get; set; } + public global::Opik.CommentPublic? Type585 { get; set; } /// /// /// - public global::Opik.ExperimentItemStreamRequest? Type586 { get; set; } + public global::Opik.ExperimentPagePublic? Type586 { get; set; } /// /// /// - public global::Opik.ChunkedOutputJsonNodePublic? Type587 { get; set; } + public global::System.Collections.Generic.IList? Type587 { get; set; } /// /// /// - public global::Opik.ChunkedOutputJsonNodePublicType? Type588 { get; set; } + public global::Opik.ExperimentPublic? Type588 { get; set; } /// /// /// - public global::Opik.ExperimentStreamRequestPublic? Type589 { get; set; } + public global::Opik.ExperimentScorePublic? Type589 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDefinition? Type590 { get; set; } + public global::Opik.JsonListStringPublic? Type590 { get; set; } /// /// /// - public global::Opik.Feedback? Type591 { get; set; } + public global::Opik.ExperimentPublicType? Type591 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDefinitionVariant2? Type592 { get; set; } + public global::Opik.ExperimentPublicEvaluationMethod? Type592 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDetail? Type593 { get; set; } + public global::System.Collections.Generic.IList? Type593 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDefinition? Type594 { get; set; } + public global::Opik.ExperimentPublicStatus? Type594 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDefinitionVariant2? Type595 { get; set; } + public global::System.Collections.Generic.IList? Type595 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDetail? Type596 { get; set; } + public global::Opik.PromptVersionLinkPublic? Type596 { get; set; } /// /// /// - public global::Opik.FeedbackType? Type597 { get; set; } + public global::System.Collections.Generic.IList? Type597 { get; set; } /// /// /// - public global::Opik.FeedbackDiscriminator? Type598 { get; set; } + public global::System.Collections.Generic.IList? Type598 { get; set; } /// /// /// - public global::Opik.FeedbackDiscriminatorType? Type599 { get; set; } + public global::Opik.FeedbackScoreNamesPublic? Type599 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDefinition? Type600 { get; set; } + public global::System.Collections.Generic.IList? Type600 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDefinitionVariant2? Type601 { get; set; } + public global::Opik.ScoreNamePublic? Type601 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDetail? Type602 { get; set; } + public global::Opik.ExperimentGroupResponse? Type602 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDefinitionCreate? Type603 { get; set; } + public global::System.Collections.Generic.Dictionary? Type603 { get; set; } /// /// /// - public global::Opik.FeedbackCreate? Type604 { get; set; } + public global::Opik.GroupContent? Type604 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDefinitionCreateVariant2? Type605 { get; set; } + public global::Opik.GroupDetails? Type605 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDetailCreate? Type606 { get; set; } + public global::Opik.GroupDetail? Type606 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDefinitionCreate? Type607 { get; set; } + public global::System.Collections.Generic.IList? Type607 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDefinitionCreateVariant2? Type608 { get; set; } + public global::Opik.AggregationData? Type608 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDetailCreate? Type609 { get; set; } + public global::Opik.ExperimentGroupAggregationsResponse? Type609 { get; set; } /// /// /// - public global::Opik.FeedbackCreateType? Type610 { get; set; } + public global::System.Collections.Generic.Dictionary? Type610 { get; set; } /// /// /// - public global::Opik.FeedbackCreateDiscriminator? Type611 { get; set; } + public global::Opik.GroupContentWithAggregations? Type611 { get; set; } /// /// /// - public global::Opik.FeedbackCreateDiscriminatorType? Type612 { get; set; } + public global::Opik.IdsHolder? Type612 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDefinitionCreate? Type613 { get; set; } + public global::Opik.ExperimentItemStreamRequest? Type613 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDefinitionCreateVariant2? Type614 { get; set; } + public global::Opik.ChunkedOutputJsonNodePublic? Type614 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDetailCreate? Type615 { get; set; } + public global::Opik.ChunkedOutputJsonNodePublicType? Type615 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDefinitionPublic? Type616 { get; set; } + public global::Opik.ExperimentStreamRequestPublic? Type616 { get; set; } /// /// /// - public global::Opik.FeedbackPublic? Type617 { get; set; } + public global::Opik.BooleanFeedbackDefinition? Type617 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDefinitionPublicVariant2? Type618 { get; set; } + public global::Opik.Feedback? Type618 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDetailPublic? Type619 { get; set; } + public global::Opik.BooleanFeedbackDefinitionVariant2? Type619 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDefinitionPublic? Type620 { get; set; } + public global::Opik.BooleanFeedbackDetail? Type620 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDefinitionPublicVariant2? Type621 { get; set; } + public global::Opik.CategoricalFeedbackDefinition? Type621 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDetailPublic? Type622 { get; set; } + public global::Opik.CategoricalFeedbackDefinitionVariant2? Type622 { get; set; } /// /// /// - public global::Opik.FeedbackDefinitionPagePublic? Type623 { get; set; } + public global::Opik.CategoricalFeedbackDetail? Type623 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type624 { get; set; } + public global::Opik.FeedbackType? Type624 { get; set; } /// /// /// - public global::Opik.FeedbackObjectPublic? Type625 { get; set; } + public global::Opik.FeedbackDiscriminator? Type625 { get; set; } /// /// /// - public global::Opik.FeedbackObjectPublicType? Type626 { get; set; } + public global::Opik.FeedbackDiscriminatorType? Type626 { get; set; } /// /// /// - public global::Opik.FeedbackObjectPublicDiscriminator? Type627 { get; set; } + public global::Opik.NumericalFeedbackDefinition? Type627 { get; set; } /// /// /// - public global::Opik.FeedbackObjectPublicDiscriminatorType? Type628 { get; set; } + public global::Opik.NumericalFeedbackDefinitionVariant2? Type628 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDefinitionPublic? Type629 { get; set; } + public global::Opik.NumericalFeedbackDetail? Type629 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDefinitionPublicVariant2? Type630 { get; set; } + public global::Opik.BooleanFeedbackDefinitionCreate? Type630 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDetailPublic? Type631 { get; set; } + public global::Opik.FeedbackCreate? Type631 { get; set; } /// /// /// - public global::Opik.FeedbackPublicType? Type632 { get; set; } + public global::Opik.BooleanFeedbackDefinitionCreateVariant2? Type632 { get; set; } /// /// /// - public global::Opik.FeedbackPublicDiscriminator? Type633 { get; set; } + public global::Opik.BooleanFeedbackDetailCreate? Type633 { get; set; } /// /// /// - public global::Opik.FeedbackPublicDiscriminatorType? Type634 { get; set; } + public global::Opik.CategoricalFeedbackDefinitionCreate? Type634 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDefinitionUpdate? Type635 { get; set; } + public global::Opik.CategoricalFeedbackDefinitionCreateVariant2? Type635 { get; set; } /// /// /// - public global::Opik.FeedbackUpdate? Type636 { get; set; } + public global::Opik.CategoricalFeedbackDetailCreate? Type636 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDefinitionUpdateVariant2? Type637 { get; set; } + public global::Opik.FeedbackCreateType? Type637 { get; set; } /// /// /// - public global::Opik.BooleanFeedbackDetailUpdate? Type638 { get; set; } + public global::Opik.FeedbackCreateDiscriminator? Type638 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDefinitionUpdate? Type639 { get; set; } + public global::Opik.FeedbackCreateDiscriminatorType? Type639 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDefinitionUpdateVariant2? Type640 { get; set; } + public global::Opik.NumericalFeedbackDefinitionCreate? Type640 { get; set; } /// /// /// - public global::Opik.CategoricalFeedbackDetailUpdate? Type641 { get; set; } + public global::Opik.NumericalFeedbackDefinitionCreateVariant2? Type641 { get; set; } /// /// /// - public global::Opik.FeedbackUpdateType? Type642 { get; set; } + public global::Opik.NumericalFeedbackDetailCreate? Type642 { get; set; } /// /// /// - public global::Opik.FeedbackUpdateDiscriminator? Type643 { get; set; } + public global::Opik.BooleanFeedbackDefinitionPublic? Type643 { get; set; } /// /// /// - public global::Opik.FeedbackUpdateDiscriminatorType? Type644 { get; set; } + public global::Opik.FeedbackPublic? Type644 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDefinitionUpdate? Type645 { get; set; } + public global::Opik.BooleanFeedbackDefinitionPublicVariant2? Type645 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDefinitionUpdateVariant2? Type646 { get; set; } + public global::Opik.BooleanFeedbackDetailPublic? Type646 { get; set; } /// /// /// - public global::Opik.NumericalFeedbackDetailUpdate? Type647 { get; set; } + public global::Opik.CategoricalFeedbackDefinitionPublic? Type647 { get; set; } /// /// /// - public global::Opik.Guardrail? Type648 { get; set; } + public global::Opik.CategoricalFeedbackDefinitionPublicVariant2? Type648 { get; set; } /// /// /// - public global::Opik.GuardrailName? Type649 { get; set; } + public global::Opik.CategoricalFeedbackDetailPublic? Type649 { get; set; } /// /// /// - public global::Opik.GuardrailResult? Type650 { get; set; } + public global::Opik.FeedbackDefinitionPagePublic? Type650 { get; set; } /// /// /// - public global::Opik.GuardrailBatch? Type651 { get; set; } + public global::System.Collections.Generic.IList? Type651 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type652 { get; set; } + public global::Opik.FeedbackObjectPublic? Type652 { get; set; } /// /// /// - public global::Opik.GuardrailBatchWrite? Type653 { get; set; } + public global::Opik.FeedbackObjectPublicType? Type653 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type654 { get; set; } + public global::Opik.FeedbackObjectPublicDiscriminator? Type654 { get; set; } /// /// /// - public global::Opik.GuardrailWrite? Type655 { get; set; } + public global::Opik.FeedbackObjectPublicDiscriminatorType? Type655 { get; set; } /// /// /// - public global::Opik.GuardrailWriteName? Type656 { get; set; } + public global::Opik.NumericalFeedbackDefinitionPublic? Type656 { get; set; } /// /// /// - public global::Opik.GuardrailWriteResult? Type657 { get; set; } + public global::Opik.NumericalFeedbackDefinitionPublicVariant2? Type657 { get; set; } /// /// /// - public global::Opik.ProviderApiKeyPagePublic? Type658 { get; set; } + public global::Opik.NumericalFeedbackDetailPublic? Type658 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type659 { get; set; } + public global::Opik.FeedbackPublicType? Type659 { get; set; } /// /// /// - public global::Opik.ProviderApiKeyPublic? Type660 { get; set; } + public global::Opik.FeedbackPublicDiscriminator? Type660 { get; set; } /// /// /// - public global::Opik.ProviderApiKeyPublicProvider? Type661 { get; set; } + public global::Opik.FeedbackPublicDiscriminatorType? Type661 { get; set; } /// /// /// - public global::Opik.ProviderApiKey? Type662 { get; set; } + public global::Opik.BooleanFeedbackDefinitionUpdate? Type662 { get; set; } /// /// /// - public global::Opik.ProviderApiKeyProvider? Type663 { get; set; } + public global::Opik.FeedbackUpdate? Type663 { get; set; } /// /// /// - public global::Opik.ProviderApiKeyWrite? Type664 { get; set; } + public global::Opik.BooleanFeedbackDefinitionUpdateVariant2? Type664 { get; set; } /// /// /// - public global::Opik.ProviderApiKeyWriteProvider? Type665 { get; set; } + public global::Opik.BooleanFeedbackDetailUpdate? Type665 { get; set; } /// /// /// - public global::Opik.ProviderApiKeyUpdate? Type666 { get; set; } + public global::Opik.CategoricalFeedbackDefinitionUpdate? Type666 { get; set; } /// /// /// - public global::Opik.LocalRunnerLogEntry? Type667 { get; set; } + public global::Opik.CategoricalFeedbackDefinitionUpdateVariant2? Type667 { get; set; } /// /// /// - public global::Opik.BridgeCommandSubmitResponse? Type668 { get; set; } + public global::Opik.CategoricalFeedbackDetailUpdate? Type668 { get; set; } /// /// /// - public global::Opik.BridgeCommandSubmitRequest? Type669 { get; set; } + public global::Opik.FeedbackUpdateType? Type669 { get; set; } /// /// /// - public global::Opik.BridgeCommandSubmitRequestType? Type670 { get; set; } + public global::Opik.FeedbackUpdateDiscriminator? Type670 { get; set; } /// /// /// - public global::Opik.CreateLocalRunnerJobRequest? Type671 { get; set; } + public global::Opik.FeedbackUpdateDiscriminatorType? Type671 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type672 { get; set; } + public global::Opik.NumericalFeedbackDefinitionUpdate? Type672 { get; set; } /// /// /// - public global::Opik.LocalRunnerJobMetadata? Type673 { get; set; } + public global::Opik.NumericalFeedbackDefinitionUpdateVariant2? Type673 { get; set; } /// /// /// - public global::Opik.BridgeCommand? Type674 { get; set; } + public global::Opik.NumericalFeedbackDetailUpdate? Type674 { get; set; } /// /// /// - public global::Opik.BridgeCommandType? Type675 { get; set; } + public global::Opik.Guardrail? Type675 { get; set; } /// /// /// - public global::Opik.BridgeCommandStatus? Type676 { get; set; } + public global::Opik.GuardrailName? Type676 { get; set; } /// /// /// - public global::Opik.LocalRunnerJob? Type677 { get; set; } + public global::Opik.GuardrailResult? Type677 { get; set; } /// /// /// - public global::Opik.LocalRunnerJobStatus? Type678 { get; set; } + public global::Opik.GuardrailBatch? Type678 { get; set; } /// /// /// - public global::Opik.Agent? Type679 { get; set; } + public global::System.Collections.Generic.IList? Type679 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type680 { get; set; } + public global::Opik.GuardrailBatchWrite? Type680 { get; set; } /// /// /// - public global::Opik.Param? Type681 { get; set; } + public global::System.Collections.Generic.IList? Type681 { get; set; } /// /// /// - public global::Opik.LocalRunner? Type682 { get; set; } + public global::Opik.GuardrailWrite? Type682 { get; set; } /// /// /// - public global::Opik.LocalRunnerStatus? Type683 { get; set; } + public global::Opik.GuardrailWriteName? Type683 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type684 { get; set; } + public global::Opik.GuardrailWriteResult? Type684 { get; set; } /// /// /// - public global::Opik.LocalRunnerType? Type685 { get; set; } + public global::Opik.ProviderApiKeyPagePublic? Type685 { get; set; } /// /// /// - public global::Opik.ParamPresence? Type686 { get; set; } + public global::System.Collections.Generic.IList? Type686 { get; set; } /// /// /// - public global::Opik.LocalRunnerHeartbeatResponse? Type687 { get; set; } + public global::Opik.ProviderApiKeyPublic? Type687 { get; set; } /// /// /// - public global::Opik.LocalRunnerHeartbeatRequest? Type688 { get; set; } + public global::Opik.ProviderApiKeyPublicProvider? Type688 { get; set; } /// /// /// - public global::Opik.LocalRunnerJobPage? Type689 { get; set; } + public global::Opik.ProviderApiKey? Type689 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type690 { get; set; } + public global::Opik.ProviderApiKeyProvider? Type690 { get; set; } /// /// /// - public global::Opik.LocalRunnerPage? Type691 { get; set; } + public global::Opik.ProviderApiKeyWrite? Type691 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type692 { get; set; } + public global::Opik.ProviderApiKeyWriteProvider? Type692 { get; set; } /// /// /// - public global::Opik.BridgeCommandBatchResponse? Type693 { get; set; } + public global::Opik.ProviderApiKeyUpdate? Type693 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type694 { get; set; } + public global::Opik.LocalRunnerLogEntry? Type694 { get; set; } /// /// /// - public global::Opik.BridgeCommandItem? Type695 { get; set; } + public global::Opik.BridgeCommandSubmitResponse? Type695 { get; set; } /// /// /// - public global::Opik.BridgeCommandItemType? Type696 { get; set; } + public global::Opik.BridgeCommandSubmitRequest? Type696 { get; set; } /// /// /// - public global::Opik.BridgeCommandNextRequest? Type697 { get; set; } + public global::Opik.BridgeCommandSubmitRequestType? Type697 { get; set; } /// /// /// - public global::Opik.BridgeCommandResultRequest? Type698 { get; set; } + public global::Opik.CreateLocalRunnerJobRequest? Type698 { get; set; } /// /// /// - public global::Opik.BridgeCommandResultRequestStatus? Type699 { get; set; } + public global::System.Collections.Generic.Dictionary? Type699 { get; set; } /// /// /// - public global::Opik.LocalRunnerJobResultRequest? Type700 { get; set; } + public global::Opik.LocalRunnerJobMetadata? Type700 { get; set; } /// /// /// - public global::Opik.LocalRunnerJobResultRequestStatus? Type701 { get; set; } + public global::Opik.BridgeCommand? Type701 { get; set; } /// /// /// - public global::Opik.ManualEvaluationResponse? Type702 { get; set; } + public global::Opik.BridgeCommandType? Type702 { get; set; } /// /// /// - public global::Opik.ManualEvaluationRequest? Type703 { get; set; } + public global::Opik.BridgeCommandStatus? Type703 { get; set; } /// /// /// - public global::Opik.ManualEvaluationRequestEntityType? Type704 { get; set; } + public global::Opik.LocalRunnerJob? Type704 { get; set; } /// /// /// - public global::Opik.OllamaModel? Type705 { get; set; } + public global::Opik.LocalRunnerJobStatus? Type705 { get; set; } /// /// /// - public global::Opik.OllamaInstanceBaseUrlRequest? Type706 { get; set; } + public global::Opik.Agent? Type706 { get; set; } /// /// /// - public global::Opik.OllamaConnectionTestResponse? Type707 { get; set; } + public global::System.Collections.Generic.IList? Type707 { get; set; } /// /// /// - public global::Opik.Optimization? Type708 { get; set; } + public global::Opik.Param? Type708 { get; set; } /// /// /// - public global::Opik.OptimizationStatus? Type709 { get; set; } + public global::Opik.LocalRunner? Type709 { get; set; } /// /// /// - public global::Opik.OptimizationStudioConfig? Type710 { get; set; } + public global::Opik.LocalRunnerStatus? Type710 { get; set; } /// /// /// - public global::Opik.StudioPrompt? Type711 { get; set; } + public global::System.Collections.Generic.IList? Type711 { get; set; } /// /// /// - public global::Opik.StudioLlmModel? Type712 { get; set; } + public global::Opik.LocalRunnerType? Type712 { get; set; } /// /// /// - public global::Opik.StudioEvaluation? Type713 { get; set; } + public global::Opik.ParamPresence? Type713 { get; set; } /// /// /// - public global::Opik.StudioOptimizer? Type714 { get; set; } + public global::Opik.LocalRunnerHeartbeatResponse? Type714 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type715 { get; set; } + public global::Opik.LocalRunnerHeartbeatRequest? Type715 { get; set; } /// /// /// - public global::Opik.StudioMetric? Type716 { get; set; } + public global::Opik.LocalRunnerJobPage? Type716 { get; set; } /// /// /// - public global::Opik.StudioMessage? Type717 { get; set; } + public global::System.Collections.Generic.IList? Type717 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type718 { get; set; } + public global::Opik.LocalRunnerPage? Type718 { get; set; } /// /// /// - public global::Opik.OptimizationStudioConfigWrite? Type719 { get; set; } + public global::System.Collections.Generic.IList? Type719 { get; set; } /// /// /// - public global::Opik.StudioPromptWrite? Type720 { get; set; } + public global::Opik.BridgeCommandBatchResponse? Type720 { get; set; } /// /// /// - public global::Opik.StudioLlmModelWrite? Type721 { get; set; } + public global::System.Collections.Generic.IList? Type721 { get; set; } /// /// /// - public global::Opik.StudioEvaluationWrite? Type722 { get; set; } + public global::Opik.BridgeCommandItem? Type722 { get; set; } /// /// /// - public global::Opik.StudioOptimizerWrite? Type723 { get; set; } + public global::Opik.BridgeCommandItemType? Type723 { get; set; } /// /// /// - public global::Opik.OptimizationWrite? Type724 { get; set; } + public global::Opik.BridgeCommandNextRequest? Type724 { get; set; } /// /// /// - public global::Opik.OptimizationWriteStatus? Type725 { get; set; } + public global::Opik.BridgeCommandResultRequest? Type725 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type726 { get; set; } + public global::Opik.BridgeCommandResultRequestStatus? Type726 { get; set; } /// /// /// - public global::Opik.StudioMetricWrite? Type727 { get; set; } + public global::Opik.LocalRunnerJobResultRequest? Type727 { get; set; } /// /// /// - public global::Opik.StudioMessageWrite? Type728 { get; set; } + public global::Opik.LocalRunnerJobResultRequestStatus? Type728 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type729 { get; set; } + public global::Opik.ManualEvaluationResponse? Type729 { get; set; } /// /// /// - public global::Opik.OptimizationPagePublic? Type730 { get; set; } + public global::Opik.ManualEvaluationRequest? Type730 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type731 { get; set; } + public global::Opik.ManualEvaluationRequestEntityType? Type731 { get; set; } /// /// /// - public global::Opik.OptimizationPublic? Type732 { get; set; } + public global::Opik.OllamaModel? Type732 { get; set; } /// /// /// - public global::Opik.OptimizationStudioConfigPublic? Type733 { get; set; } + public global::Opik.OllamaInstanceBaseUrlRequest? Type733 { get; set; } /// /// /// - public global::Opik.StudioPromptPublic? Type734 { get; set; } + public global::Opik.OllamaConnectionTestResponse? Type734 { get; set; } /// /// /// - public global::Opik.StudioLlmModelPublic? Type735 { get; set; } + public global::Opik.Optimization? Type735 { get; set; } /// /// /// - public global::Opik.StudioEvaluationPublic? Type736 { get; set; } + public global::Opik.OptimizationStatus? Type736 { get; set; } /// /// /// - public global::Opik.StudioOptimizerPublic? Type737 { get; set; } + public global::Opik.OptimizationStudioConfig? Type737 { get; set; } /// /// /// - public global::Opik.OptimizationPublicStatus? Type738 { get; set; } + public global::Opik.StudioPrompt? Type738 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type739 { get; set; } + public global::Opik.StudioLlmModel? Type739 { get; set; } /// /// /// - public global::Opik.StudioMetricPublic? Type740 { get; set; } + public global::Opik.StudioEvaluation? Type740 { get; set; } /// /// /// - public global::Opik.StudioMessagePublic? Type741 { get; set; } + public global::Opik.StudioOptimizer? Type741 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type742 { get; set; } + public global::System.Collections.Generic.IList? Type742 { get; set; } /// /// /// - public global::Opik.OptimizationStudioLog? Type743 { get; set; } + public global::Opik.StudioMetric? Type743 { get; set; } /// /// /// - public global::Opik.OptimizationUpdate? Type744 { get; set; } + public global::Opik.StudioMessage? Type744 { get; set; } /// /// /// - public global::Opik.OptimizationUpdateStatus? Type745 { get; set; } + public global::System.Collections.Generic.IList? Type745 { get; set; } /// /// /// - public global::Opik.ActivateRequest? Type746 { get; set; } + public global::Opik.OptimizationStudioConfigWrite? Type746 { get; set; } /// /// /// - public global::Opik.CreateSessionResponse? Type747 { get; set; } + public global::Opik.StudioPromptWrite? Type747 { get; set; } /// /// /// - public global::Opik.CreateSessionRequest? Type748 { get; set; } + public global::Opik.StudioLlmModelWrite? Type748 { get; set; } /// /// /// - public global::Opik.CreateSessionRequestType? Type749 { get; set; } + public global::Opik.StudioEvaluationWrite? Type749 { get; set; } /// /// /// - public global::Opik.PromptPagePublic? Type750 { get; set; } + public global::Opik.StudioOptimizerWrite? Type750 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type751 { get; set; } + public global::Opik.OptimizationWrite? Type751 { get; set; } /// /// /// - public global::Opik.PromptPublic? Type752 { get; set; } + public global::Opik.OptimizationWriteStatus? Type752 { get; set; } /// /// /// - public global::Opik.PromptPublicTemplateStructure? Type753 { get; set; } + public global::System.Collections.Generic.IList? Type753 { get; set; } /// /// /// - public global::Opik.ErrorCountWithDeviation? Type754 { get; set; } + public global::Opik.StudioMetricWrite? Type754 { get; set; } /// /// /// - public global::Opik.Project? Type755 { get; set; } + public global::Opik.StudioMessageWrite? Type755 { get; set; } /// /// /// - public global::Opik.ProjectVisibility? Type756 { get; set; } + public global::System.Collections.Generic.IList? Type756 { get; set; } /// /// /// - public global::Opik.ProjectWrite? Type757 { get; set; } + public global::Opik.OptimizationPagePublic? Type757 { get; set; } /// /// /// - public global::Opik.ProjectWriteVisibility? Type758 { get; set; } + public global::System.Collections.Generic.IList? Type758 { get; set; } /// /// /// - public global::Opik.ProjectPagePublic? Type759 { get; set; } + public global::Opik.OptimizationPublic? Type759 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type760 { get; set; } + public global::Opik.OptimizationStudioConfigPublic? Type760 { get; set; } /// /// /// - public global::Opik.ProjectPublic? Type761 { get; set; } + public global::Opik.StudioPromptPublic? Type761 { get; set; } /// /// /// - public global::Opik.ProjectPublicVisibility? Type762 { get; set; } + public global::Opik.StudioLlmModelPublic? Type762 { get; set; } /// /// /// - public global::Opik.FeedbackScoreNames? Type763 { get; set; } + public global::Opik.StudioEvaluationPublic? Type763 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type764 { get; set; } + public global::Opik.StudioOptimizerPublic? Type764 { get; set; } /// /// /// - public global::Opik.ScoreName? Type765 { get; set; } + public global::Opik.OptimizationPublicStatus? Type765 { get; set; } /// /// /// - public global::Opik.TokenUsageNames? Type766 { get; set; } + public global::System.Collections.Generic.IList? Type766 { get; set; } /// /// /// - public global::Opik.KpiCardResponse? Type767 { get; set; } + public global::Opik.StudioMetricPublic? Type767 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type768 { get; set; } + public global::Opik.StudioMessagePublic? Type768 { get; set; } /// /// /// - public global::Opik.KpiMetric? Type769 { get; set; } + public global::System.Collections.Generic.IList? Type769 { get; set; } /// /// /// - public global::Opik.KpiMetricType? Type770 { get; set; } + public global::Opik.OptimizationStudioLog? Type770 { get; set; } /// /// /// - public global::Opik.KpiCardRequest? Type771 { get; set; } + public global::Opik.OptimizationUpdate? Type771 { get; set; } /// /// /// - public global::Opik.KpiCardRequestEntityType? Type772 { get; set; } + public global::Opik.OptimizationUpdateStatus? Type772 { get; set; } /// /// /// - public global::Opik.DataPointNumberPublic? Type773 { get; set; } + public global::Opik.ActivateRequest? Type773 { get; set; } /// /// /// - public global::Opik.ProjectMetricResponsePublic? Type774 { get; set; } + public global::Opik.CreateSessionResponse? Type774 { get; set; } /// /// /// - public global::Opik.ProjectMetricResponsePublicMetricType? Type775 { get; set; } + public global::Opik.CreateSessionRequest? Type775 { get; set; } /// /// /// - public global::Opik.ProjectMetricResponsePublicInterval? Type776 { get; set; } + public global::Opik.CreateSessionRequestType? Type776 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type777 { get; set; } + public global::Opik.PromptPagePublic? Type777 { get; set; } /// /// /// - public global::Opik.ResultsNumberPublic? Type778 { get; set; } + public global::System.Collections.Generic.IList? Type778 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type779 { get; set; } + public global::Opik.PromptPublic? Type779 { get; set; } /// /// /// - public global::Opik.BreakdownConfigPublic? Type780 { get; set; } + public global::Opik.PromptPublicTemplateStructure? Type780 { get; set; } /// /// /// - public global::Opik.BreakdownConfigPublicField? Type781 { get; set; } + public global::Opik.ErrorCountWithDeviation? Type781 { get; set; } /// /// /// - public global::Opik.ProjectMetricRequestPublic? Type782 { get; set; } + public global::Opik.Project? Type782 { get; set; } /// /// /// - public global::Opik.ProjectMetricRequestPublicMetricType? Type783 { get; set; } + public global::Opik.ProjectVisibility? Type783 { get; set; } /// /// /// - public global::Opik.ProjectMetricRequestPublicInterval? Type784 { get; set; } + public global::Opik.ProjectWrite? Type784 { get; set; } /// /// /// - public global::Opik.ProjectStatsSummary? Type785 { get; set; } + public global::Opik.ProjectWriteVisibility? Type785 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type786 { get; set; } + public global::Opik.ProjectPagePublic? Type786 { get; set; } /// /// /// - public global::Opik.ProjectStatsSummaryItem? Type787 { get; set; } + public global::System.Collections.Generic.IList? Type787 { get; set; } /// /// /// - public global::Opik.ErrorCountWithDeviationDetailed? Type788 { get; set; } + public global::Opik.ProjectPublic? Type788 { get; set; } /// /// /// - public global::Opik.FeedbackScoreAverageDetailed? Type789 { get; set; } + public global::Opik.ProjectPublicVisibility? Type789 { get; set; } /// /// /// - public global::Opik.PercentageValuesDetailed? Type790 { get; set; } + public global::Opik.FeedbackScoreNames? Type790 { get; set; } /// /// /// - public global::Opik.ProjectDetailed? Type791 { get; set; } + public global::System.Collections.Generic.IList? Type791 { get; set; } /// /// /// - public global::Opik.ProjectDetailedVisibility? Type792 { get; set; } + public global::Opik.ScoreName? Type792 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type793 { get; set; } + public global::Opik.TokenUsageNames? Type793 { get; set; } /// /// /// - public global::Opik.ErrorMessageDetailed? Type794 { get; set; } + public global::Opik.KpiCardResponse? Type794 { get; set; } /// /// /// - public global::Opik.ProjectRetrieveDetailed? Type795 { get; set; } + public global::System.Collections.Generic.IList? Type795 { get; set; } /// /// /// - public global::Opik.ProjectUpdate? Type796 { get; set; } + public global::Opik.KpiMetric? Type796 { get; set; } /// /// /// - public global::Opik.ProjectUpdateVisibility? Type797 { get; set; } + public global::Opik.KpiMetricType? Type797 { get; set; } /// /// /// - public global::Opik.Prompt? Type798 { get; set; } + public global::Opik.KpiCardRequest? Type798 { get; set; } /// /// /// - public global::Opik.PromptType? Type799 { get; set; } + public global::Opik.KpiCardRequestEntityType? Type799 { get; set; } /// /// /// - public global::Opik.PromptTemplateStructure? Type800 { get; set; } + public global::Opik.DataPointNumberPublic? Type800 { get; set; } /// /// /// - public global::Opik.PromptVersion? Type801 { get; set; } + public global::Opik.ProjectMetricResponsePublic? Type801 { get; set; } /// /// /// - public global::Opik.PromptVersionType? Type802 { get; set; } + public global::Opik.ProjectMetricResponsePublicMetricType? Type802 { get; set; } /// /// /// - public global::Opik.PromptVersionVersionType? Type803 { get; set; } + public global::Opik.ProjectMetricResponsePublicInterval? Type803 { get; set; } /// /// /// - public global::Opik.PromptVersionTemplateStructure? Type804 { get; set; } + public global::System.Collections.Generic.IList? Type804 { get; set; } /// /// /// - public global::Opik.PromptWrite? Type805 { get; set; } + public global::Opik.ResultsNumberPublic? Type805 { get; set; } /// /// /// - public global::Opik.PromptWriteType? Type806 { get; set; } + public global::System.Collections.Generic.IList? Type806 { get; set; } /// /// /// - public global::Opik.PromptWriteTemplateStructure? Type807 { get; set; } + public global::Opik.BreakdownConfigPublic? Type807 { get; set; } /// /// /// - public global::Opik.JsonNodeDetail? Type808 { get; set; } + public global::Opik.BreakdownConfigPublicField? Type808 { get; set; } /// /// /// - public global::Opik.PromptVersionDetail? Type809 { get; set; } + public global::Opik.ProjectMetricRequestPublic? Type809 { get; set; } /// /// /// - public global::Opik.PromptVersionDetailType? Type810 { get; set; } + public global::Opik.ProjectMetricRequestPublicMetricType? Type810 { get; set; } /// /// /// - public global::Opik.PromptVersionDetailVersionType? Type811 { get; set; } + public global::Opik.ProjectMetricRequestPublicInterval? Type811 { get; set; } /// /// /// - public global::Opik.PromptVersionDetailTemplateStructure? Type812 { get; set; } + public global::Opik.ProjectStatsSummary? Type812 { get; set; } /// /// /// - public global::Opik.ErrorMessageDetail? Type813 { get; set; } + public global::System.Collections.Generic.IList? Type813 { get; set; } /// /// /// - public global::Opik.CreatePromptVersionDetail? Type814 { get; set; } + public global::Opik.ProjectStatsSummaryItem? Type814 { get; set; } /// /// /// - public global::Opik.CreatePromptVersionDetailTemplateStructure? Type815 { get; set; } + public global::Opik.ErrorCountWithDeviationDetailed? Type815 { get; set; } /// /// /// - public global::Opik.PromptDetail? Type816 { get; set; } + public global::Opik.FeedbackScoreAverageDetailed? Type816 { get; set; } /// /// /// - public global::Opik.PromptDetailTemplateStructure? Type817 { get; set; } + public global::Opik.PercentageValuesDetailed? Type817 { get; set; } /// /// /// - public global::Opik.PromptVersionPagePublic? Type818 { get; set; } + public global::Opik.ProjectDetailed? Type818 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type819 { get; set; } + public global::Opik.ProjectDetailedVisibility? Type819 { get; set; } /// /// /// - public global::Opik.PromptVersionPublic? Type820 { get; set; } + public global::System.Collections.Generic.IList? Type820 { get; set; } /// /// /// - public global::Opik.PromptVersionPublicType? Type821 { get; set; } + public global::Opik.ErrorMessageDetailed? Type821 { get; set; } /// /// /// - public global::Opik.PromptVersionPublicVersionType? Type822 { get; set; } + public global::Opik.ProjectRetrieveDetailed? Type822 { get; set; } /// /// /// - public global::Opik.PromptVersionPublicTemplateStructure? Type823 { get; set; } + public global::Opik.ProjectUpdate? Type823 { get; set; } /// /// /// - public global::Opik.PromptVersionCommitsRequestPublic? Type824 { get; set; } + public global::Opik.ProjectUpdateVisibility? Type824 { get; set; } /// /// /// - public global::Opik.PromptVersionRetrieveDetail? Type825 { get; set; } + public global::Opik.Prompt? Type825 { get; set; } /// /// /// - public global::Opik.PromptVersionIdsRequestDetail? Type826 { get; set; } + public global::Opik.PromptType? Type826 { get; set; } /// /// /// - public global::Opik.PromptVersionEnvironmentUpdate? Type827 { get; set; } + public global::Opik.PromptTemplateStructure? Type827 { get; set; } /// /// /// - public global::Opik.PromptUpdatable? Type828 { get; set; } + public global::Opik.PromptVersion? Type828 { get; set; } /// /// /// - public global::Opik.PromptVersionBatchUpdate? Type829 { get; set; } + public global::Opik.PromptVersionType? Type829 { get; set; } /// /// /// - public global::Opik.PromptVersionUpdate? Type830 { get; set; } + public global::Opik.PromptVersionVersionType? Type830 { get; set; } /// /// /// - public global::Opik.RecentActivityItemPublic? Type831 { get; set; } + public global::Opik.PromptVersionTemplateStructure? Type831 { get; set; } /// /// /// - public global::Opik.RecentActivityItemPublicType? Type832 { get; set; } + public global::Opik.PromptWrite? Type832 { get; set; } /// /// /// - public global::Opik.RecentActivityPagePublic? Type833 { get; set; } + public global::Opik.PromptWriteType? Type833 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type834 { get; set; } + public global::Opik.PromptWriteTemplateStructure? Type834 { get; set; } /// /// /// - public global::Opik.RetentionRulePublic? Type835 { get; set; } + public global::Opik.JsonNodeDetail? Type835 { get; set; } /// /// /// - public global::Opik.RetentionRulePublicLevel? Type836 { get; set; } + public global::Opik.PromptVersionDetail? Type836 { get; set; } /// /// /// - public global::Opik.RetentionRulePublicRetention? Type837 { get; set; } + public global::Opik.PromptVersionDetailType? Type837 { get; set; } /// /// /// - public global::Opik.RetentionRuleWrite? Type838 { get; set; } + public global::Opik.PromptVersionDetailVersionType? Type838 { get; set; } /// /// /// - public global::Opik.RetentionRuleWriteRetention? Type839 { get; set; } + public global::Opik.PromptVersionDetailTemplateStructure? Type839 { get; set; } /// /// /// - public global::Opik.RetentionRulePagePublic? Type840 { get; set; } + public global::Opik.ErrorMessageDetail? Type840 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type841 { get; set; } + public global::Opik.CreatePromptVersionDetail? Type841 { get; set; } /// /// /// - public global::Opik.ServiceTogglesConfig? Type842 { get; set; } + public global::Opik.CreatePromptVersionDetailTemplateStructure? Type842 { get; set; } /// /// /// - public global::Opik.SpanBatchUpdate? Type843 { get; set; } + public global::Opik.PromptDetail? Type843 { get; set; } /// /// /// - public global::Opik.SpanUpdate? Type844 { get; set; } + public global::Opik.PromptDetailTemplateStructure? Type844 { get; set; } /// /// /// - public global::Opik.SpanUpdateType? Type845 { get; set; } + public global::Opik.PromptVersionPagePublic? Type845 { get; set; } /// /// /// - public global::Opik.SpanUpdateSource? Type846 { get; set; } + public global::System.Collections.Generic.IList? Type846 { get; set; } /// /// /// - public global::Opik.ErrorInfoWrite? Type847 { get; set; } + public global::Opik.PromptVersionPublic? Type847 { get; set; } /// /// /// - public global::Opik.SpanWrite? Type848 { get; set; } + public global::Opik.PromptVersionPublicType? Type848 { get; set; } /// /// /// - public global::Opik.SpanWriteType? Type849 { get; set; } + public global::Opik.PromptVersionPublicVersionType? Type849 { get; set; } /// /// /// - public global::Opik.SpanWriteSource? Type850 { get; set; } + public global::Opik.PromptVersionPublicTemplateStructure? Type850 { get; set; } /// /// /// - public global::Opik.SpanBatch? Type851 { get; set; } + public global::Opik.PromptVersionCommitsRequestPublic? Type851 { get; set; } /// /// /// - public global::Opik.SpanBatchWrite? Type852 { get; set; } + public global::Opik.PromptVersionRetrieveDetail? Type852 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type853 { get; set; } + public global::Opik.PromptVersionIdsRequestDetail? Type853 { get; set; } /// /// /// - public global::Opik.DeleteFeedbackScore? Type854 { get; set; } + public global::Opik.PromptVersionEnvironmentUpdate? Type854 { get; set; } /// /// /// - public global::Opik.ErrorInfoPublic? Type855 { get; set; } + public global::Opik.PromptUpdatable? Type855 { get; set; } /// /// /// - public global::Opik.FeedbackScorePublic? Type856 { get; set; } + public global::Opik.PromptVersionBatchUpdate? Type856 { get; set; } /// /// /// - public global::Opik.FeedbackScorePublicSource? Type857 { get; set; } + public global::Opik.PromptVersionUpdate? Type857 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type858 { get; set; } + public global::Opik.RecentActivityItemPublic? Type858 { get; set; } /// /// /// - public global::Opik.ValueEntryPublic? Type859 { get; set; } + public global::Opik.RecentActivityItemPublicType? Type859 { get; set; } /// /// /// - public global::Opik.SpanPublic? Type860 { get; set; } + public global::Opik.RecentActivityPagePublic? Type860 { get; set; } /// /// /// - public global::Opik.SpanPublicType? Type861 { get; set; } + public global::System.Collections.Generic.IList? Type861 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type862 { get; set; } + public global::Opik.RetentionRulePublic? Type862 { get; set; } /// /// /// - public global::Opik.SpanPublicSource? Type863 { get; set; } + public global::Opik.RetentionRulePublicLevel? Type863 { get; set; } /// /// /// - public global::Opik.ValueEntryPublicSource? Type864 { get; set; } + public global::Opik.RetentionRulePublicRetention? Type864 { get; set; } /// /// /// - public global::Opik.SpanPagePublic? Type865 { get; set; } + public global::Opik.RetentionRuleWrite? Type865 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type866 { get; set; } + public global::Opik.RetentionRuleWriteRetention? Type866 { get; set; } /// /// /// - public global::Opik.FeedbackScoreBatch? Type867 { get; set; } + public global::Opik.RetentionRulePagePublic? Type867 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type868 { get; set; } + public global::System.Collections.Generic.IList? Type868 { get; set; } /// /// /// - public global::Opik.FeedbackScoreBatchItem? Type869 { get; set; } + public global::Opik.ServiceTogglesConfig? Type869 { get; set; } /// /// /// - public global::Opik.FeedbackScoreBatchItemSource? Type870 { get; set; } + public global::Opik.SpanBatchUpdate? Type870 { get; set; } /// /// /// - public global::Opik.SpanSearchStreamRequestPublic? Type871 { get; set; } + public global::Opik.SpanUpdate? Type871 { get; set; } /// /// /// - public global::Opik.SpanSearchStreamRequestPublicType? Type872 { get; set; } + public global::Opik.SpanUpdateType? Type872 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type873 { get; set; } + public global::Opik.SpanUpdateSource? Type873 { get; set; } /// /// /// - public global::Opik.SpanSearchStreamRequestPublicExcludeItem? Type874 { get; set; } + public global::Opik.ErrorInfoWrite? Type874 { get; set; } /// /// /// - public global::Opik.TraceBatchUpdate? Type875 { get; set; } + public global::Opik.SpanWrite? Type875 { get; set; } /// /// /// - public global::Opik.TraceUpdate? Type876 { get; set; } + public global::Opik.SpanWriteType? Type876 { get; set; } /// /// /// - public global::Opik.TraceUpdateSource? Type877 { get; set; } + public global::Opik.SpanWriteSource? Type877 { get; set; } /// /// /// - public global::Opik.TraceThreadBatchUpdate? Type878 { get; set; } + public global::Opik.SpanBatch? Type878 { get; set; } /// /// /// - public global::Opik.TraceThreadUpdate? Type879 { get; set; } + public global::Opik.SpanBatchWrite? Type879 { get; set; } /// /// /// - public global::Opik.TraceThreadBatchIdentifier? Type880 { get; set; } + public global::System.Collections.Generic.IList? Type880 { get; set; } /// /// /// - public global::Opik.TraceWrite? Type881 { get; set; } + public global::Opik.DeleteFeedbackScore? Type881 { get; set; } /// /// /// - public global::Opik.TraceWriteSource? Type882 { get; set; } + public global::Opik.ErrorInfoPublic? Type882 { get; set; } /// /// /// - public global::Opik.TraceBatch? Type883 { get; set; } + public global::Opik.FeedbackScorePublic? Type883 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type884 { get; set; } + public global::Opik.FeedbackScorePublicSource? Type884 { get; set; } /// /// /// - public global::Opik.TraceBatchWrite? Type885 { get; set; } + public global::System.Collections.Generic.Dictionary? Type885 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type886 { get; set; } + public global::Opik.ValueEntryPublic? Type886 { get; set; } /// /// /// - public global::Opik.DeleteThreadFeedbackScores? Type887 { get; set; } + public global::Opik.SpanPublic? Type887 { get; set; } /// /// /// - public global::Opik.DeleteTraceThreads? Type888 { get; set; } + public global::Opik.SpanPublicType? Type888 { get; set; } /// /// /// - public global::Opik.BatchDeleteByProject? Type889 { get; set; } + public global::System.Collections.Generic.IList? Type889 { get; set; } /// /// /// - public global::Opik.CheckPublic? Type890 { get; set; } + public global::Opik.SpanPublicSource? Type890 { get; set; } /// /// /// - public global::Opik.CheckPublicName? Type891 { get; set; } + public global::Opik.ValueEntryPublicSource? Type891 { get; set; } /// /// /// - public global::Opik.CheckPublicResult? Type892 { get; set; } + public global::Opik.SpanPagePublic? Type892 { get; set; } /// /// /// - public global::Opik.ExperimentItemReferencePublic? Type893 { get; set; } + public global::System.Collections.Generic.IList? Type893 { get; set; } /// /// /// - public global::Opik.GuardrailsValidationPublic? Type894 { get; set; } + public global::Opik.FeedbackScoreBatch? Type894 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type895 { get; set; } + public global::System.Collections.Generic.IList? Type895 { get; set; } /// /// /// - public global::Opik.TracePublic? Type896 { get; set; } + public global::Opik.FeedbackScoreBatchItem? Type896 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type897 { get; set; } + public global::Opik.FeedbackScoreBatchItemSource? Type897 { get; set; } /// /// /// - public global::Opik.TracePublicVisibilityMode? Type898 { get; set; } + public global::Opik.SpanSearchStreamRequestPublic? Type898 { get; set; } /// /// /// - public global::Opik.TracePublicSource? Type899 { get; set; } + public global::Opik.SpanSearchStreamRequestPublicType? Type899 { get; set; } /// /// /// - public global::Opik.TraceThread? Type900 { get; set; } + public global::System.Collections.Generic.IList? Type900 { get; set; } /// /// /// - public global::Opik.TraceThreadStatus? Type901 { get; set; } + public global::Opik.SpanSearchStreamRequestPublicExcludeItem? Type901 { get; set; } /// /// /// - public global::Opik.TraceThreadIdentifier? Type902 { get; set; } + public global::Opik.TraceBatchUpdate? Type902 { get; set; } /// /// /// - public global::Opik.TraceThreadPage? Type903 { get; set; } + public global::Opik.TraceUpdate? Type903 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type904 { get; set; } + public global::Opik.TraceUpdateSource? Type904 { get; set; } /// /// /// - public global::Opik.TracePagePublic? Type905 { get; set; } + public global::Opik.TraceThreadBatchUpdate? Type905 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type906 { get; set; } + public global::Opik.TraceThreadUpdate? Type906 { get; set; } /// /// /// - public global::Opik.FeedbackScoreBatchItemThread? Type907 { get; set; } + public global::Opik.TraceThreadBatchIdentifier? Type907 { get; set; } /// /// /// - public global::Opik.FeedbackScoreBatchItemThreadSource? Type908 { get; set; } + public global::Opik.TraceWrite? Type908 { get; set; } /// /// /// - public global::Opik.FeedbackScoreBatchThread? Type909 { get; set; } + public global::Opik.TraceWriteSource? Type909 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type910 { get; set; } + public global::Opik.TraceBatch? Type910 { get; set; } /// /// /// - public global::Opik.TraceThreadSearchStreamRequest? Type911 { get; set; } + public global::System.Collections.Generic.IList? Type911 { get; set; } /// /// /// - public global::Opik.TraceSearchStreamRequestPublic? Type912 { get; set; } + public global::Opik.TraceBatchWrite? Type912 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type913 { get; set; } + public global::System.Collections.Generic.IList? Type913 { get; set; } /// /// /// - public global::Opik.TraceSearchStreamRequestPublicExcludeItem? Type914 { get; set; } + public global::Opik.DeleteThreadFeedbackScores? Type914 { get; set; } /// /// /// - public global::Opik.WelcomeWizardTracking? Type915 { get; set; } + public global::Opik.DeleteTraceThreads? Type915 { get; set; } /// /// /// - public global::Opik.WelcomeWizardSubmission? Type916 { get; set; } + public global::Opik.BatchDeleteByProject? Type916 { get; set; } /// /// /// - public global::Opik.Permission? Type917 { get; set; } + public global::Opik.CheckPublic? Type917 { get; set; } /// /// /// - public global::Opik.WorkspaceUserPermissions? Type918 { get; set; } + public global::Opik.CheckPublicName? Type918 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type919 { get; set; } + public global::Opik.CheckPublicResult? Type919 { get; set; } /// /// /// - public global::Opik.Result? Type920 { get; set; } + public global::Opik.ExperimentItemReferencePublic? Type920 { get; set; } /// /// /// - public global::Opik.WorkspaceMetricsSummaryRequest? Type921 { get; set; } + public global::Opik.GuardrailsValidationPublic? Type921 { get; set; } /// /// /// - public global::Opik.DataPointDouble? Type922 { get; set; } + public global::System.Collections.Generic.IList? Type922 { get; set; } /// /// /// - public global::Opik.WorkspaceMetricResponse? Type923 { get; set; } + public global::Opik.TracePublic? Type923 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type924 { get; set; } + public global::System.Collections.Generic.IList? Type924 { get; set; } /// /// /// - public global::Opik.WorkspaceMetricRequest? Type925 { get; set; } + public global::Opik.TracePublicVisibilityMode? Type925 { get; set; } /// /// /// - public global::Opik.WorkspaceConfiguration? Type926 { get; set; } + public global::Opik.TracePublicSource? Type926 { get; set; } /// /// /// - public global::Opik.WorkspaceVersion? Type927 { get; set; } + public global::Opik.TraceThread? Type927 { get; set; } /// /// /// - public global::Opik.WorkspaceVersionOpikVersion? Type928 { get; set; } + public global::Opik.TraceThreadStatus? Type928 { get; set; } /// /// /// - public global::Opik.WorkspaceMetricsSummaryResponse? Type929 { get; set; } + public global::Opik.TraceThreadIdentifier? Type929 { get; set; } /// /// /// - public global::Opik.CreateDatasetItemsFromCsvRequest? Type930 { get; set; } + public global::Opik.TraceThreadPage? Type930 { get; set; } /// /// /// - public global::Opik.CreateDatasetItemsFromJsonRequest? Type931 { get; set; } + public global::System.Collections.Generic.IList? Type931 { get; set; } /// /// /// - public global::Opik.CreateDatasetItemsFromJsonRequestFormat? Type932 { get; set; } + public global::Opik.TracePagePublic? Type932 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type933 { get; set; } + public global::System.Collections.Generic.IList? Type933 { get; set; } /// /// /// - public global::Opik.GetWebhookExamplesAlertType? Type934 { get; set; } + public global::Opik.FeedbackScoreBatchItemThread? Type934 { get; set; } /// /// /// - public global::Opik.AttachmentListEntityType? Type935 { get; set; } + public global::Opik.FeedbackScoreBatchItemThreadSource? Type935 { get; set; } /// /// /// - public global::Opik.DownloadAttachmentEntityType? Type936 { get; set; } + public global::Opik.FeedbackScoreBatchThread? Type936 { get; set; } /// /// /// - public global::Opik.UploadAttachmentEntityType? Type937 { get; set; } + public global::System.Collections.Generic.IList? Type937 { get; set; } /// /// /// - public global::Opik.FindFeedbackDefinitionsType? Type938 { get; set; } + public global::Opik.TraceThreadSearchStreamRequest? Type938 { get; set; } /// /// /// - public global::Opik.ListRunnersStatus? Type939 { get; set; } + public global::Opik.TraceSearchStreamRequestPublic? Type939 { get; set; } /// /// /// - public global::Opik.GetSpansByProjectType? Type940 { get; set; } + public global::System.Collections.Generic.IList? Type940 { get; set; } /// /// /// - public global::Opik.FindFeedbackScoreNames1Type? Type941 { get; set; } + public global::Opik.TraceSearchStreamRequestPublicExcludeItem? Type941 { get; set; } /// /// /// - public global::Opik.GetSpanStatsType? Type942 { get; set; } + public global::Opik.WelcomeWizardTracking? Type942 { get; set; } /// /// /// - public byte[]? Type943 { get; set; } + public global::Opik.WelcomeWizardSubmission? Type943 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type944 { get; set; } + public global::Opik.Permission? Type944 { get; set; } /// /// /// - public global::Opik.AnyOf? Type945 { get; set; } + public global::Opik.WorkspaceUserPermissions? Type945 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type946 { get; set; } + public global::System.Collections.Generic.IList? Type946 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type947 { get; set; } + public global::Opik.WorkspaceMetricsSummaryRequest? Type947 { get; set; } /// /// /// - public global::Opik.AnyOf? Type948 { get; set; } + public global::Opik.DataPointDouble? Type948 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type949 { get; set; } + public global::Opik.WorkspaceMetricResponse? Type949 { get; set; } /// /// /// - public global::Opik.AnyOf? Type950 { get; set; } + public global::Opik.WorkspaceMetricRequest? Type950 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type951 { get; set; } + public global::Opik.WorkspaceConfiguration? Type951 { get; set; } /// /// /// - public global::Opik.AnyOf? Type952 { get; set; } + public global::Opik.WorkspaceVersion? Type952 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type953 { get; set; } + public global::Opik.WorkspaceVersionOpikVersion? Type953 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type954 { get; set; } + public global::Opik.CreateDatasetItemsFromCsvRequest? Type954 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type955 { get; set; } + public global::Opik.CreateDatasetItemsFromJsonRequest? Type955 { get; set; } /// /// /// - public global::Opik.AnyOf? Type956 { get; set; } + public global::Opik.CreateDatasetItemsFromJsonRequestFormat? Type956 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type957 { get; set; } + public global::System.Collections.Generic.IList? Type957 { get; set; } /// /// /// - public global::Opik.AnyOf? Type958 { get; set; } + public global::Opik.GetWebhookExamplesAlertType? Type958 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type959 { get; set; } + public global::Opik.AttachmentListEntityType? Type959 { get; set; } /// /// /// - public global::Opik.AnyOf? Type960 { get; set; } + public global::Opik.DownloadAttachmentEntityType? Type960 { get; set; } + /// + /// + /// + public global::Opik.UploadAttachmentEntityType? Type961 { get; set; } + /// + /// + /// + public global::Opik.FindFeedbackDefinitionsType? Type962 { get; set; } + /// + /// + /// + public global::Opik.ListRunnersStatus? Type963 { get; set; } + /// + /// + /// + public global::Opik.GetSpansByProjectType? Type964 { get; set; } + /// + /// + /// + public global::Opik.FindFeedbackScoreNames1Type? Type965 { get; set; } + /// + /// + /// + public global::Opik.GetSpanStatsType? Type966 { get; set; } + /// + /// + /// + public byte[]? Type967 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList>? Type968 { get; set; } + /// + /// + /// + public global::Opik.AnyOf? Type969 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type970 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList>? Type971 { get; set; } + /// + /// + /// + public global::Opik.AnyOf? Type972 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList>? Type973 { get; set; } + /// + /// + /// + public global::Opik.AnyOf? Type974 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList>? Type975 { get; set; } + /// + /// + /// + public global::Opik.AnyOf? Type976 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type977 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type978 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList>? Type979 { get; set; } + /// + /// + /// + public global::Opik.AnyOf? Type980 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList>? Type981 { get; set; } + /// + /// + /// + public global::Opik.AnyOf? Type982 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList>? Type983 { get; set; } + /// + /// + /// + public global::Opik.AnyOf? Type984 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType0 { get; set; } + public global::System.Collections.Generic.List? ListType0 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType1 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType2 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType3 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType4 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType5 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType1 { get; set; } + public global::System.Collections.Generic.List? ListType6 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType2 { get; set; } + public global::System.Collections.Generic.List? ListType7 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType3 { get; set; } + public global::System.Collections.Generic.List? ListType8 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType4 { get; set; } + public global::System.Collections.Generic.List? ListType9 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType5 { get; set; } + public global::System.Collections.Generic.List? ListType10 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType6 { get; set; } + public global::System.Collections.Generic.List? ListType11 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType7 { get; set; } + public global::System.Collections.Generic.List? ListType12 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType8 { get; set; } + public global::System.Collections.Generic.List? ListType13 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType9 { get; set; } + public global::System.Collections.Generic.List? ListType14 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType10 { get; set; } + public global::System.Collections.Generic.List? ListType15 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType11 { get; set; } + public global::System.Collections.Generic.List? ListType16 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType12 { get; set; } + public global::System.Collections.Generic.List? ListType17 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType13 { get; set; } + public global::System.Collections.Generic.List? ListType18 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType14 { get; set; } + public global::System.Collections.Generic.List? ListType19 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType15 { get; set; } + public global::System.Collections.Generic.List? ListType20 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType16 { get; set; } + public global::System.Collections.Generic.List? ListType21 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType17 { get; set; } + public global::System.Collections.Generic.List? ListType22 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType18 { get; set; } + public global::System.Collections.Generic.List? ListType23 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType19 { get; set; } + public global::System.Collections.Generic.List? ListType24 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType20 { get; set; } + public global::System.Collections.Generic.List? ListType25 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType21 { get; set; } + public global::System.Collections.Generic.List? ListType26 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType22 { get; set; } + public global::System.Collections.Generic.List? ListType27 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType23 { get; set; } + public global::System.Collections.Generic.List? ListType28 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType24 { get; set; } + public global::System.Collections.Generic.List? ListType29 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType25 { get; set; } + public global::System.Collections.Generic.List? ListType30 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType26 { get; set; } + public global::System.Collections.Generic.List? ListType31 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType27 { get; set; } + public global::System.Collections.Generic.List? ListType32 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType28 { get; set; } + public global::System.Collections.Generic.List? ListType33 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType29 { get; set; } + public global::System.Collections.Generic.List? ListType34 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType30 { get; set; } + public global::System.Collections.Generic.List? ListType35 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType31 { get; set; } + public global::System.Collections.Generic.List? ListType36 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType32 { get; set; } + public global::System.Collections.Generic.List? ListType37 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType33 { get; set; } + public global::System.Collections.Generic.List? ListType38 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType34 { get; set; } + public global::System.Collections.Generic.List? ListType39 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType35 { get; set; } + public global::System.Collections.Generic.List? ListType40 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType36 { get; set; } + public global::System.Collections.Generic.List? ListType41 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType37 { get; set; } + public global::System.Collections.Generic.List? ListType42 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType38 { get; set; } + public global::System.Collections.Generic.List? ListType43 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType39 { get; set; } + public global::System.Collections.Generic.List? ListType44 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType40 { get; set; } + public global::System.Collections.Generic.List? ListType45 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType41 { get; set; } + public global::System.Collections.Generic.List? ListType46 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType42 { get; set; } + public global::System.Collections.Generic.List? ListType47 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType43 { get; set; } + public global::System.Collections.Generic.List? ListType48 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType44 { get; set; } + public global::System.Collections.Generic.List? ListType49 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType45 { get; set; } + public global::System.Collections.Generic.List? ListType50 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType46 { get; set; } + public global::System.Collections.Generic.List? ListType51 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType47 { get; set; } + public global::System.Collections.Generic.List? ListType52 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType48 { get; set; } + public global::System.Collections.Generic.List? ListType53 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType49 { get; set; } + public global::System.Collections.Generic.List? ListType54 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType50 { get; set; } + public global::System.Collections.Generic.List? ListType55 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType51 { get; set; } + public global::System.Collections.Generic.List? ListType56 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType52 { get; set; } + public global::System.Collections.Generic.List? ListType57 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType53 { get; set; } + public global::System.Collections.Generic.List? ListType58 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType54 { get; set; } + public global::System.Collections.Generic.List? ListType59 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType55 { get; set; } + public global::System.Collections.Generic.List? ListType60 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType56 { get; set; } + public global::System.Collections.Generic.List? ListType61 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType57 { get; set; } + public global::System.Collections.Generic.List? ListType62 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType58 { get; set; } + public global::System.Collections.Generic.List? ListType63 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType59 { get; set; } + public global::System.Collections.Generic.List? ListType64 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType60 { get; set; } + public global::System.Collections.Generic.List? ListType65 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType61 { get; set; } + public global::System.Collections.Generic.List? ListType66 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType62 { get; set; } + public global::System.Collections.Generic.List? ListType67 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType63 { get; set; } + public global::System.Collections.Generic.List? ListType68 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType64 { get; set; } + public global::System.Collections.Generic.List? ListType69 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType65 { get; set; } + public global::System.Collections.Generic.List? ListType70 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType66 { get; set; } + public global::System.Collections.Generic.List? ListType71 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType67 { get; set; } + public global::System.Collections.Generic.List? ListType72 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType68 { get; set; } + public global::System.Collections.Generic.List? ListType73 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType69 { get; set; } + public global::System.Collections.Generic.List? ListType74 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType70 { get; set; } + public global::System.Collections.Generic.List? ListType75 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType71 { get; set; } + public global::System.Collections.Generic.List? ListType76 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType72 { get; set; } + public global::System.Collections.Generic.List? ListType77 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType73 { get; set; } + public global::System.Collections.Generic.List? ListType78 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType74 { get; set; } + public global::System.Collections.Generic.List? ListType79 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType75 { get; set; } + public global::System.Collections.Generic.List? ListType80 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType76 { get; set; } + public global::System.Collections.Generic.List? ListType81 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType77 { get; set; } + public global::System.Collections.Generic.List? ListType82 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType78 { get; set; } + public global::System.Collections.Generic.List? ListType83 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType79 { get; set; } + public global::System.Collections.Generic.List? ListType84 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType80 { get; set; } + public global::System.Collections.Generic.List? ListType85 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType81 { get; set; } + public global::System.Collections.Generic.List? ListType86 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType82 { get; set; } + public global::System.Collections.Generic.List? ListType87 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType83 { get; set; } + public global::System.Collections.Generic.List? ListType88 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType84 { get; set; } + public global::System.Collections.Generic.List? ListType89 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType85 { get; set; } + public global::System.Collections.Generic.List? ListType90 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType86 { get; set; } + public global::System.Collections.Generic.List? ListType91 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType87 { get; set; } + public global::System.Collections.Generic.List? ListType92 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType88 { get; set; } + public global::System.Collections.Generic.List? ListType93 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType89 { get; set; } + public global::System.Collections.Generic.List? ListType94 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType90 { get; set; } + public global::System.Collections.Generic.List? ListType95 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType91 { get; set; } + public global::System.Collections.Generic.List? ListType96 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType92 { get; set; } + public global::System.Collections.Generic.List? ListType97 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType93 { get; set; } + public global::System.Collections.Generic.List? ListType98 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType94 { get; set; } + public global::System.Collections.Generic.List? ListType99 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType95 { get; set; } + public global::System.Collections.Generic.List? ListType100 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType96 { get; set; } + public global::System.Collections.Generic.List? ListType101 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType97 { get; set; } + public global::System.Collections.Generic.List? ListType102 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType98 { get; set; } + public global::System.Collections.Generic.List? ListType103 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType99 { get; set; } + public global::System.Collections.Generic.List? ListType104 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType100 { get; set; } + public global::System.Collections.Generic.List? ListType105 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType101 { get; set; } + public global::System.Collections.Generic.List? ListType106 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType102 { get; set; } + public global::System.Collections.Generic.List? ListType107 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType103 { get; set; } + public global::System.Collections.Generic.List? ListType108 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType104 { get; set; } + public global::System.Collections.Generic.List? ListType109 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType105 { get; set; } + public global::System.Collections.Generic.List? ListType110 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType106 { get; set; } + public global::System.Collections.Generic.List? ListType111 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType107 { get; set; } + public global::System.Collections.Generic.List? ListType112 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType108 { get; set; } + public global::System.Collections.Generic.List? ListType113 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType109 { get; set; } + public global::System.Collections.Generic.List? ListType114 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType110 { get; set; } + public global::System.Collections.Generic.List? ListType115 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType111 { get; set; } + public global::System.Collections.Generic.List? ListType116 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType112 { get; set; } + public global::System.Collections.Generic.List? ListType117 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType113 { get; set; } + public global::System.Collections.Generic.List? ListType118 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType114 { get; set; } + public global::System.Collections.Generic.List? ListType119 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType115 { get; set; } + public global::System.Collections.Generic.List? ListType120 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType116 { get; set; } + public global::System.Collections.Generic.List? ListType121 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType117 { get; set; } + public global::System.Collections.Generic.List? ListType122 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType118 { get; set; } + public global::System.Collections.Generic.List? ListType123 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType119 { get; set; } + public global::System.Collections.Generic.List? ListType124 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType120 { get; set; } + public global::System.Collections.Generic.List? ListType125 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType121 { get; set; } + public global::System.Collections.Generic.List? ListType126 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType122 { get; set; } + public global::System.Collections.Generic.List? ListType127 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType123 { get; set; } + public global::System.Collections.Generic.List? ListType128 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType124 { get; set; } + public global::System.Collections.Generic.List? ListType129 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType125 { get; set; } + public global::System.Collections.Generic.List? ListType130 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType126 { get; set; } + public global::System.Collections.Generic.List? ListType131 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType127 { get; set; } + public global::System.Collections.Generic.List? ListType132 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType128 { get; set; } + public global::System.Collections.Generic.List? ListType133 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType129 { get; set; } + public global::System.Collections.Generic.List? ListType134 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType130 { get; set; } + public global::System.Collections.Generic.List? ListType135 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType131 { get; set; } + public global::System.Collections.Generic.List? ListType136 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType132 { get; set; } + public global::System.Collections.Generic.List? ListType137 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType133 { get; set; } + public global::System.Collections.Generic.List? ListType138 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType134 { get; set; } + public global::System.Collections.Generic.List? ListType139 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType135 { get; set; } + public global::System.Collections.Generic.List? ListType140 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType136 { get; set; } + public global::System.Collections.Generic.List? ListType141 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType137 { get; set; } + public global::System.Collections.Generic.List? ListType142 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType138 { get; set; } + public global::System.Collections.Generic.List? ListType143 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType139 { get; set; } + public global::System.Collections.Generic.List? ListType144 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType140 { get; set; } + public global::System.Collections.Generic.List? ListType145 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType141 { get; set; } + public global::System.Collections.Generic.List? ListType146 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType142 { get; set; } + public global::System.Collections.Generic.List? ListType147 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType143 { get; set; } + public global::System.Collections.Generic.List? ListType148 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType144 { get; set; } + public global::System.Collections.Generic.List? ListType149 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType145 { get; set; } + public global::System.Collections.Generic.List? ListType150 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType146 { get; set; } + public global::System.Collections.Generic.List? ListType151 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType147 { get; set; } + public global::System.Collections.Generic.List? ListType152 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType148 { get; set; } + public global::System.Collections.Generic.List? ListType153 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType149 { get; set; } + public global::System.Collections.Generic.List? ListType154 { get; set; } /// /// /// - public global::System.Collections.Generic.List>? ListType150 { get; set; } + public global::System.Collections.Generic.List>? ListType155 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType151 { get; set; } + public global::System.Collections.Generic.List? ListType156 { get; set; } /// /// /// - public global::System.Collections.Generic.List>? ListType152 { get; set; } + public global::System.Collections.Generic.List>? ListType157 { get; set; } /// /// /// - public global::System.Collections.Generic.List>? ListType153 { get; set; } + public global::System.Collections.Generic.List>? ListType158 { get; set; } /// /// /// - public global::System.Collections.Generic.List>? ListType154 { get; set; } + public global::System.Collections.Generic.List>? ListType159 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType155 { get; set; } + public global::System.Collections.Generic.List? ListType160 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType156 { get; set; } + public global::System.Collections.Generic.List? ListType161 { get; set; } /// /// /// - public global::System.Collections.Generic.List>? ListType157 { get; set; } + public global::System.Collections.Generic.List>? ListType162 { get; set; } /// /// /// - public global::System.Collections.Generic.List>? ListType158 { get; set; } + public global::System.Collections.Generic.List>? ListType163 { get; set; } /// /// /// - public global::System.Collections.Generic.List>? ListType159 { get; set; } + public global::System.Collections.Generic.List>? ListType164 { get; set; } } } \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.McpOAuthClient.Authorize.g.cs b/src/libs/Opik/Generated/Opik.McpOAuthClient.Authorize.g.cs new file mode 100644 index 00000000..802e71f3 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.McpOAuthClient.Authorize.g.cs @@ -0,0 +1,513 @@ + +#nullable enable + +namespace Opik +{ + public partial class McpOAuthClient + { + + private static readonly global::Opik.AutoSDKServer[] s_AuthorizeServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_AuthorizeSecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_AuthorizeSecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_AuthorizeSecurityRequirement0, + }; + partial void PrepareAuthorizeArguments( + global::System.Net.Http.HttpClient httpClient, + ref string clientId, + ref string redirectUri, + ref string? responseType, + ref string? codeChallenge, + ref string? codeChallengeMethod, + ref string? resource, + ref string? state); + partial void PrepareAuthorizeRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string clientId, + string redirectUri, + string? responseType, + string? codeChallenge, + string? codeChallengeMethod, + string? resource, + string? state); + partial void ProcessAuthorizeResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + /// + /// OAuth Authorization Endpoint
+ /// OAuth 2.1 authorization endpoint (RFC 6749 ยง3.1). Validates the client and PKCE parameters, then redirects to the login or consent page + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task AuthorizeAsync( + string clientId, + string redirectUri, + string? responseType = default, + string? codeChallenge = default, + string? codeChallengeMethod = default, + string? resource = default, + string? state = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + await AuthorizeAsResponseAsync( + clientId: clientId, + redirectUri: redirectUri, + responseType: responseType, + codeChallenge: codeChallenge, + codeChallengeMethod: codeChallengeMethod, + resource: resource, + state: state, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + } + /// + /// OAuth Authorization Endpoint
+ /// OAuth 2.1 authorization endpoint (RFC 6749 ยง3.1). Validates the client and PKCE parameters, then redirects to the login or consent page + ///
+ /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task AuthorizeAsResponseAsync( + string clientId, + string redirectUri, + string? responseType = default, + string? codeChallenge = default, + string? codeChallengeMethod = default, + string? resource = default, + string? state = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: HttpClient); + PrepareAuthorizeArguments( + httpClient: HttpClient, + clientId: ref clientId, + redirectUri: ref redirectUri, + responseType: ref responseType, + codeChallenge: ref codeChallenge, + codeChallengeMethod: ref codeChallengeMethod, + resource: ref resource, + state: ref state); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_AuthorizeSecurityRequirements, + operationName: "AuthorizeAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: "/oauth/authorize", + baseUri: ResolveBaseUri( + servers: s_AuthorizeServers, + defaultBaseUrl: "http://localhost:5173/api")); + __pathBuilder + .AddRequiredParameter("client_id", clientId) + .AddRequiredParameter("redirect_uri", redirectUri) + .AddOptionalParameter("response_type", responseType) + .AddOptionalParameter("code_challenge", codeChallenge) + .AddOptionalParameter("code_challenge_method", codeChallengeMethod) + .AddOptionalParameter("resource", resource) + .AddOptionalParameter("state", state) + ; + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareAuthorizeRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + clientId: clientId!, + redirectUri: redirectUri!, + responseType: responseType, + codeChallenge: codeChallenge, + codeChallengeMethod: codeChallengeMethod, + resource: resource, + state: state); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Authorize", + methodName: "AuthorizeAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Authorize", + methodName: "AuthorizeAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Authorize", + methodName: "AuthorizeAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessAuthorizeResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Authorize", + methodName: "AuthorizeAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Authorize", + methodName: "AuthorizeAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + // + if ((int)__response.StatusCode == 302) + { + string? __content_302 = null; + global::System.Exception? __exception_302 = null; + try + { + if (__effectiveReadResponseAsString) + { + __content_302 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + else + { + __content_302 = await __response.Content.ReadAsStringAsync(__effectiveCancellationToken).ConfigureAwait(false); + } + } + catch (global::System.Exception __ex) + { + __exception_302 = __ex; + } + + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content_302 ?? __response.ReasonPhrase ?? string.Empty, + innerException: __exception_302, + responseBody: __content_302, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.McpOAuthClient.Consent.g.cs b/src/libs/Opik/Generated/Opik.McpOAuthClient.Consent.g.cs new file mode 100644 index 00000000..83d2dd82 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.McpOAuthClient.Consent.g.cs @@ -0,0 +1,499 @@ + +#nullable enable + +namespace Opik +{ + public partial class McpOAuthClient + { + + private static readonly global::Opik.AutoSDKServer[] s_ConsentServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_ConsentSecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_ConsentSecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_ConsentSecurityRequirement0, + }; + partial void PrepareConsentArguments( + global::System.Net.Http.HttpClient httpClient, + global::Opik.ConsentRequest request); + partial void PrepareConsentRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::Opik.ConsentRequest request); + partial void ProcessConsentResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessConsentResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Submit Authorization Consent
+ /// Submit the user's consent, issue an authorization code, and return the client redirect target + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ConsentAsync( + + global::Opik.ConsentRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await ConsentAsResponseAsync( + + request: request, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Submit Authorization Consent
+ /// Submit the user's consent, issue an authorization code, and return the client redirect target + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> ConsentAsResponseAsync( + + global::Opik.ConsentRequest request, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + + PrepareArguments( + client: HttpClient); + PrepareConsentArguments( + httpClient: HttpClient, + request: request); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_ConsentSecurityRequirements, + operationName: "ConsentAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: "/oauth/authorize", + baseUri: ResolveBaseUri( + servers: s_ConsentServers, + defaultBaseUrl: "http://localhost:5173/api")); + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Post, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareConsentRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + request: request); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Consent", + methodName: "ConsentAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Consent", + methodName: "ConsentAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Consent", + methodName: "ConsentAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessConsentResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Consent", + methodName: "ConsentAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "Consent", + methodName: "ConsentAsync", + pathTemplate: "\"/oauth/authorize\"", + httpMethod: "POST", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessConsentResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Opik.ConsentResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Opik.ConsentResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + /// + /// Submit Authorization Consent
+ /// Submit the user's consent, issue an authorization code, and return the client redirect target + ///
+ /// + /// + /// + /// + /// + /// + /// + /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ConsentAsync( + string clientId, + string redirectUri, + string codeChallenge, + string codeChallengeMethod, + string resource, + string? state = default, + string? workspaceId = default, + string? workspaceName = default, + string? csrf = default, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Opik.ConsentRequest + { + ClientId = clientId, + RedirectUri = redirectUri, + CodeChallenge = codeChallenge, + CodeChallengeMethod = codeChallengeMethod, + Resource = resource, + State = state, + WorkspaceId = workspaceId, + WorkspaceName = workspaceName, + Csrf = csrf, + }; + + return await ConsentAsync( + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.McpOAuthClient.GetAuthorizeContext.g.cs b/src/libs/Opik/Generated/Opik.McpOAuthClient.GetAuthorizeContext.g.cs new file mode 100644 index 00000000..a0e33e30 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.McpOAuthClient.GetAuthorizeContext.g.cs @@ -0,0 +1,454 @@ + +#nullable enable + +namespace Opik +{ + public partial class McpOAuthClient + { + + private static readonly global::Opik.AutoSDKServer[] s_GetAuthorizeContextServers = new global::Opik.AutoSDKServer[] + { new global::Opik.AutoSDKServer( + id: "http-localhost-api", + name: "Local server", + url: "http://localhost:5173/api", + description: "Local server"), + new global::Opik.AutoSDKServer( + id: "https-www-comet-com-opik-api", + name: "Opik Cloud", + url: "https://www.comet.com/opik/api", + description: "Opik Cloud"), + }; + + + private static readonly global::Opik.EndPointSecurityRequirement s_GetAuthorizeContextSecurityRequirement0 = + new global::Opik.EndPointSecurityRequirement + { + Authorizations = new global::Opik.EndPointAuthorizationRequirement[] + { new global::Opik.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Opik.EndPointSecurityRequirement[] s_GetAuthorizeContextSecurityRequirements = + new global::Opik.EndPointSecurityRequirement[] + { s_GetAuthorizeContextSecurityRequirement0, + }; + partial void PrepareGetAuthorizeContextArguments( + global::System.Net.Http.HttpClient httpClient, + ref string clientId, + ref string redirectUri); + partial void PrepareGetAuthorizeContextRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + string clientId, + string redirectUri); + partial void ProcessGetAuthorizeContextResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessGetAuthorizeContextResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get Authorization Consent Context
+ /// Get the client details, eligible workspaces, and a CSRF token used to render the consent screen + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task GetAuthorizeContextAsync( + string clientId, + string redirectUri, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await GetAuthorizeContextAsResponseAsync( + clientId: clientId, + redirectUri: redirectUri, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get Authorization Consent Context
+ /// Get the client details, eligible workspaces, and a CSRF token used to render the consent screen + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> GetAuthorizeContextAsResponseAsync( + string clientId, + string redirectUri, + global::Opik.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: HttpClient); + PrepareGetAuthorizeContextArguments( + httpClient: HttpClient, + clientId: ref clientId, + redirectUri: ref redirectUri); + + + var __authorizations = global::Opik.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetAuthorizeContextSecurityRequirements, + operationName: "GetAuthorizeContextAsync"); + + using var __timeoutCancellationTokenSource = global::Opik.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Opik.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Opik.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Opik.PathBuilder( + path: "/oauth/authorize/context", + baseUri: ResolveBaseUri( + servers: s_GetAuthorizeContextServers, + defaultBaseUrl: "http://localhost:5173/api")); + __pathBuilder + .AddRequiredParameter("client_id", clientId) + .AddRequiredParameter("redirect_uri", redirectUri) + ; + var __path = __pathBuilder.ToString(); + __path = global::Opik.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + global::Opik.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareGetAuthorizeContextRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + clientId: clientId!, + redirectUri: redirectUri!); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Opik.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAuthorizeContext", + methodName: "GetAuthorizeContextAsync", + pathTemplate: "\"/oauth/authorize/context\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAuthorizeContext", + methodName: "GetAuthorizeContextAsync", + pathTemplate: "\"/oauth/authorize/context\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Opik.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Opik.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAuthorizeContext", + methodName: "GetAuthorizeContextAsync", + pathTemplate: "\"/oauth/authorize/context\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Opik.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessGetAuthorizeContextResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAuthorizeContext", + methodName: "GetAuthorizeContextAsync", + pathTemplate: "\"/oauth/authorize/context\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Opik.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Opik.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "GetAuthorizeContext", + methodName: "GetAuthorizeContextAsync", + pathTemplate: "\"/oauth/authorize/context\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessGetAuthorizeContextResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Opik.AuthorizeContext.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Opik.AuthorizeContext.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Opik.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Opik.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw global::Opik.ApiException.Create( + statusCode: __response.StatusCode, + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + responseBody: __content, + responseHeaders: global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value)); + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.AnnotationQueue.g.cs b/src/libs/Opik/Generated/Opik.Models.AnnotationQueue.g.cs index 477ce8c3..1265b52b 100644 --- a/src/libs/Opik/Generated/Opik.Models.AnnotationQueue.g.cs +++ b/src/libs/Opik/Generated/Opik.Models.AnnotationQueue.g.cs @@ -72,6 +72,12 @@ public sealed partial class AnnotationQueue [global::System.Text.Json.Serialization.JsonPropertyName("annotators_per_item")] public int? AnnotatorsPerItem { get; set; } + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("lock_timeout_seconds")] + public int? LockTimeoutSeconds { get; set; } + /// /// Included only in responses /// @@ -135,6 +141,7 @@ public sealed partial class AnnotationQueue /// /// /// + /// /// /// Included only in responses /// @@ -170,6 +177,7 @@ public AnnotationQueue( bool? commentsEnabled, global::System.Collections.Generic.IList? feedbackDefinitionNames, int? annotatorsPerItem, + int? lockTimeoutSeconds, global::System.Collections.Generic.IList? reviewers, global::System.Collections.Generic.IList? feedbackScores, long? itemsCount, @@ -188,6 +196,7 @@ public AnnotationQueue( this.CommentsEnabled = commentsEnabled; this.FeedbackDefinitionNames = feedbackDefinitionNames; this.AnnotatorsPerItem = annotatorsPerItem; + this.LockTimeoutSeconds = lockTimeoutSeconds; this.Reviewers = reviewers; this.FeedbackScores = feedbackScores; this.ItemsCount = itemsCount; diff --git a/src/libs/Opik/Generated/Opik.Models.AnnotationQueuePublic.g.cs b/src/libs/Opik/Generated/Opik.Models.AnnotationQueuePublic.g.cs index a56decf1..a231b4b9 100644 --- a/src/libs/Opik/Generated/Opik.Models.AnnotationQueuePublic.g.cs +++ b/src/libs/Opik/Generated/Opik.Models.AnnotationQueuePublic.g.cs @@ -72,6 +72,12 @@ public sealed partial class AnnotationQueuePublic [global::System.Text.Json.Serialization.JsonPropertyName("annotators_per_item")] public int? AnnotatorsPerItem { get; set; } + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("lock_timeout_seconds")] + public int? LockTimeoutSeconds { get; set; } + /// /// Included only in responses /// @@ -135,6 +141,7 @@ public sealed partial class AnnotationQueuePublic /// /// /// + /// /// /// Included only in responses /// @@ -170,6 +177,7 @@ public AnnotationQueuePublic( bool? commentsEnabled, global::System.Collections.Generic.IList? feedbackDefinitionNames, int? annotatorsPerItem, + int? lockTimeoutSeconds, global::System.Collections.Generic.IList? reviewers, global::System.Collections.Generic.IList? feedbackScores, long? itemsCount, @@ -188,6 +196,7 @@ public AnnotationQueuePublic( this.CommentsEnabled = commentsEnabled; this.FeedbackDefinitionNames = feedbackDefinitionNames; this.AnnotatorsPerItem = annotatorsPerItem; + this.LockTimeoutSeconds = lockTimeoutSeconds; this.Reviewers = reviewers; this.FeedbackScores = feedbackScores; this.ItemsCount = itemsCount; diff --git a/src/libs/Opik/Generated/Opik.Models.AnnotationQueueUpdate.g.cs b/src/libs/Opik/Generated/Opik.Models.AnnotationQueueUpdate.g.cs index 6e9c8821..c71b481e 100644 --- a/src/libs/Opik/Generated/Opik.Models.AnnotationQueueUpdate.g.cs +++ b/src/libs/Opik/Generated/Opik.Models.AnnotationQueueUpdate.g.cs @@ -44,6 +44,12 @@ public sealed partial class AnnotationQueueUpdate [global::System.Text.Json.Serialization.JsonPropertyName("annotators_per_item")] public int? AnnotatorsPerItem { get; set; } + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("lock_timeout_seconds")] + public int? LockTimeoutSeconds { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -59,6 +65,7 @@ public sealed partial class AnnotationQueueUpdate /// /// /// + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif @@ -68,7 +75,8 @@ public AnnotationQueueUpdate( string? instructions, bool? commentsEnabled, global::System.Collections.Generic.IList? feedbackDefinitionNames, - int? annotatorsPerItem) + int? annotatorsPerItem, + int? lockTimeoutSeconds) { this.Name = name; this.Description = description; @@ -76,6 +84,7 @@ public AnnotationQueueUpdate( this.CommentsEnabled = commentsEnabled; this.FeedbackDefinitionNames = feedbackDefinitionNames; this.AnnotatorsPerItem = annotatorsPerItem; + this.LockTimeoutSeconds = lockTimeoutSeconds; } /// diff --git a/src/libs/Opik/Generated/Opik.Models.AnnotationQueueWrite.g.cs b/src/libs/Opik/Generated/Opik.Models.AnnotationQueueWrite.g.cs index b43ec19d..c66caf35 100644 --- a/src/libs/Opik/Generated/Opik.Models.AnnotationQueueWrite.g.cs +++ b/src/libs/Opik/Generated/Opik.Models.AnnotationQueueWrite.g.cs @@ -66,6 +66,12 @@ public sealed partial class AnnotationQueueWrite [global::System.Text.Json.Serialization.JsonPropertyName("annotators_per_item")] public int? AnnotatorsPerItem { get; set; } + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("lock_timeout_seconds")] + public int? LockTimeoutSeconds { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -84,6 +90,7 @@ public sealed partial class AnnotationQueueWrite /// /// /// + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif @@ -96,7 +103,8 @@ public AnnotationQueueWrite( string? instructions, bool? commentsEnabled, global::System.Collections.Generic.IList? feedbackDefinitionNames, - int? annotatorsPerItem) + int? annotatorsPerItem, + int? lockTimeoutSeconds) { this.Id = id; this.ProjectId = projectId; @@ -107,6 +115,7 @@ public AnnotationQueueWrite( this.CommentsEnabled = commentsEnabled; this.FeedbackDefinitionNames = feedbackDefinitionNames; this.AnnotatorsPerItem = annotatorsPerItem; + this.LockTimeoutSeconds = lockTimeoutSeconds; } /// diff --git a/src/libs/Opik/Generated/Opik.Models.AuthorizeContext.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.AuthorizeContext.Json.g.cs new file mode 100644 index 00000000..884619d0 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.AuthorizeContext.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class AuthorizeContext + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.AuthorizeContext? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.AuthorizeContext), + jsonSerializerContext) as global::Opik.AuthorizeContext; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.AuthorizeContext? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.AuthorizeContext), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.AuthorizeContext; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.AuthorizeContext.g.cs b/src/libs/Opik/Generated/Opik.Models.AuthorizeContext.g.cs new file mode 100644 index 00000000..6cfa00a1 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.AuthorizeContext.g.cs @@ -0,0 +1,71 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class AuthorizeContext + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("client_name")] + public string? ClientName { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("client_logo_uri")] + public string? ClientLogoUri { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("workspaces")] + public global::System.Collections.Generic.IList? Workspaces { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("csrf_token")] + public string? CsrfToken { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public AuthorizeContext( + string? clientName, + string? clientLogoUri, + global::System.Collections.Generic.IList? workspaces, + string? csrfToken) + { + this.ClientName = clientName; + this.ClientLogoUri = clientLogoUri; + this.Workspaces = workspaces; + this.CsrfToken = csrfToken; + } + + /// + /// Initializes a new instance of the class. + /// + public AuthorizeContext() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.ConsentRequest.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.ConsentRequest.Json.g.cs new file mode 100644 index 00000000..735d833e --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.ConsentRequest.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class ConsentRequest + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.ConsentRequest? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.ConsentRequest), + jsonSerializerContext) as global::Opik.ConsentRequest; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.ConsentRequest? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.ConsentRequest), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.ConsentRequest; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.ConsentRequest.g.cs b/src/libs/Opik/Generated/Opik.Models.ConsentRequest.g.cs new file mode 100644 index 00000000..eaaeb0cf --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.ConsentRequest.g.cs @@ -0,0 +1,121 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class ConsentRequest + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("client_id")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string ClientId { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("redirect_uri")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string RedirectUri { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("code_challenge")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string CodeChallenge { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("code_challenge_method")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string CodeChallengeMethod { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("resource")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Resource { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("state")] + public string? State { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("workspace_id")] + public string? WorkspaceId { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("workspace_name")] + public string? WorkspaceName { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("csrf")] + public string? Csrf { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public ConsentRequest( + string clientId, + string redirectUri, + string codeChallenge, + string codeChallengeMethod, + string resource, + string? state, + string? workspaceId, + string? workspaceName, + string? csrf) + { + this.ClientId = clientId ?? throw new global::System.ArgumentNullException(nameof(clientId)); + this.RedirectUri = redirectUri ?? throw new global::System.ArgumentNullException(nameof(redirectUri)); + this.CodeChallenge = codeChallenge ?? throw new global::System.ArgumentNullException(nameof(codeChallenge)); + this.CodeChallengeMethod = codeChallengeMethod ?? throw new global::System.ArgumentNullException(nameof(codeChallengeMethod)); + this.Resource = resource ?? throw new global::System.ArgumentNullException(nameof(resource)); + this.State = state; + this.WorkspaceId = workspaceId; + this.WorkspaceName = workspaceName; + this.Csrf = csrf; + } + + /// + /// Initializes a new instance of the class. + /// + public ConsentRequest() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.ConsentResponse.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.ConsentResponse.Json.g.cs new file mode 100644 index 00000000..0bf45410 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.ConsentResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class ConsentResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.ConsentResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.ConsentResponse), + jsonSerializerContext) as global::Opik.ConsentResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.ConsentResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.ConsentResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.ConsentResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.ConsentResponse.g.cs b/src/libs/Opik/Generated/Opik.Models.ConsentResponse.g.cs new file mode 100644 index 00000000..8ed82400 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.ConsentResponse.g.cs @@ -0,0 +1,44 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class ConsentResponse + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("redirect_to")] + public string? RedirectTo { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public ConsentResponse( + string? redirectTo) + { + this.RedirectTo = redirectTo; + } + + /// + /// Initializes a new instance of the class. + /// + public ConsentResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.ExperimentItemBulkUpload.g.cs b/src/libs/Opik/Generated/Opik.Models.ExperimentItemBulkUpload.g.cs index 986f2e85..708e5d5b 100644 --- a/src/libs/Opik/Generated/Opik.Models.ExperimentItemBulkUpload.g.cs +++ b/src/libs/Opik/Generated/Opik.Models.ExperimentItemBulkUpload.g.cs @@ -28,6 +28,12 @@ public sealed partial class ExperimentItemBulkUpload [global::System.Text.Json.Serialization.JsonPropertyName("experiment_id")] public global::System.Guid? ExperimentId { get; set; } + /// + /// Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit trace). If null, the default project is used; relying on this fallback is deprecated, please provide project_name explicitly. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("project_name")] + public string? ProjectName { get; set; } + /// /// /// @@ -50,6 +56,9 @@ public sealed partial class ExperimentItemBulkUpload /// /// Optional experiment ID. If provided, items will be added to the existing experiment and experimentName will be ignored. If not provided or experiment with that ID doesn't exist, a new experiment will be created with the given experimentName /// + /// + /// Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit trace). If null, the default project is used; relying on this fallback is deprecated, please provide project_name explicitly. + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif @@ -57,11 +66,13 @@ public ExperimentItemBulkUpload( string experimentName, string datasetName, global::System.Collections.Generic.IList items, - global::System.Guid? experimentId) + global::System.Guid? experimentId, + string? projectName) { this.ExperimentName = experimentName ?? throw new global::System.ArgumentNullException(nameof(experimentName)); this.DatasetName = datasetName ?? throw new global::System.ArgumentNullException(nameof(datasetName)); this.ExperimentId = experimentId; + this.ProjectName = projectName; this.Items = items ?? throw new global::System.ArgumentNullException(nameof(items)); } diff --git a/src/libs/Opik/Generated/Opik.Models.ExperimentItemBulkUploadExperimentItemBulkWriteView.g.cs b/src/libs/Opik/Generated/Opik.Models.ExperimentItemBulkUploadExperimentItemBulkWriteView.g.cs index ebcbfd4f..65fcaf81 100644 --- a/src/libs/Opik/Generated/Opik.Models.ExperimentItemBulkUploadExperimentItemBulkWriteView.g.cs +++ b/src/libs/Opik/Generated/Opik.Models.ExperimentItemBulkUploadExperimentItemBulkWriteView.g.cs @@ -28,6 +28,12 @@ public sealed partial class ExperimentItemBulkUploadExperimentItemBulkWriteView [global::System.Text.Json.Serialization.JsonPropertyName("experiment_id")] public global::System.Guid? ExperimentId { get; set; } + /// + /// Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit trace). If null, the default project is used; relying on this fallback is deprecated, please provide project_name explicitly. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("project_name")] + public string? ProjectName { get; set; } + /// /// /// @@ -50,6 +56,9 @@ public sealed partial class ExperimentItemBulkUploadExperimentItemBulkWriteView /// /// Optional experiment ID. If provided, items will be added to the existing experiment and experimentName will be ignored. If not provided or experiment with that ID doesn't exist, a new experiment will be created with the given experimentName /// + /// + /// Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit trace). If null, the default project is used; relying on this fallback is deprecated, please provide project_name explicitly. + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif @@ -57,11 +66,13 @@ public ExperimentItemBulkUploadExperimentItemBulkWriteView( string experimentName, string datasetName, global::System.Collections.Generic.IList items, - global::System.Guid? experimentId) + global::System.Guid? experimentId, + string? projectName) { this.ExperimentName = experimentName ?? throw new global::System.ArgumentNullException(nameof(experimentName)); this.DatasetName = datasetName ?? throw new global::System.ArgumentNullException(nameof(datasetName)); this.ExperimentId = experimentId; + this.ProjectName = projectName; this.Items = items ?? throw new global::System.ArgumentNullException(nameof(items)); } diff --git a/src/libs/Opik/Generated/Opik.Models.HarnessEntry.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.HarnessEntry.Json.g.cs new file mode 100644 index 00000000..2a9e23be --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.HarnessEntry.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class HarnessEntry + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.HarnessEntry? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.HarnessEntry), + jsonSerializerContext) as global::Opik.HarnessEntry; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.HarnessEntry? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.HarnessEntry), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.HarnessEntry; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.HarnessEntry.g.cs b/src/libs/Opik/Generated/Opik.Models.HarnessEntry.g.cs new file mode 100644 index 00000000..5b368b1d --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.HarnessEntry.g.cs @@ -0,0 +1,62 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class HarnessEntry + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("key")] + public string? Key { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("label")] + public string? Label { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_estimated_cost")] + public double? TotalEstimatedCost { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public HarnessEntry( + string? key, + string? label, + double? totalEstimatedCost) + { + this.Key = key; + this.Label = label; + this.TotalEstimatedCost = totalEstimatedCost; + } + + /// + /// Initializes a new instance of the class. + /// + public HarnessEntry() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.Item.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.Item.Json.g.cs new file mode 100644 index 00000000..c49d2dde --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.Item.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class Item + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.Item? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.Item), + jsonSerializerContext) as global::Opik.Item; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.Item? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.Item), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.Item; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.Item.g.cs b/src/libs/Opik/Generated/Opik.Models.Item.g.cs new file mode 100644 index 00000000..30e0a05b --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.Item.g.cs @@ -0,0 +1,99 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class Item + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("id")] + public string? Id { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("title")] + public string? Title { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("body")] + public string? Body { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("impact")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Opik.JsonConverters.ItemImpactJsonConverter))] + public global::Opik.ItemImpact? Impact { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("est_saving")] + public double? EstSaving { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("docs_url")] + public string? DocsUrl { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("related_lane_key")] + public string? RelatedLaneKey { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public Item( + string? id, + string? title, + string? body, + global::Opik.ItemImpact? impact, + double? estSaving, + string? docsUrl, + string? relatedLaneKey) + { + this.Id = id; + this.Title = title; + this.Body = body; + this.Impact = impact; + this.EstSaving = estSaving; + this.DocsUrl = docsUrl; + this.RelatedLaneKey = relatedLaneKey; + } + + /// + /// Initializes a new instance of the class. + /// + public Item() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.ItemImpact.g.cs b/src/libs/Opik/Generated/Opik.Models.ItemImpact.g.cs new file mode 100644 index 00000000..c0b94625 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.ItemImpact.g.cs @@ -0,0 +1,57 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public enum ItemImpact + { + /// + /// + /// + High, + /// + /// + /// + Low, + /// + /// + /// + Medium, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class ItemImpactExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this ItemImpact value) + { + return value switch + { + ItemImpact.High => "high", + ItemImpact.Low => "low", + ItemImpact.Medium => "medium", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static ItemImpact? ToEnum(string value) + { + return value switch + { + "high" => ItemImpact.High, + "low" => ItemImpact.Low, + "medium" => ItemImpact.Medium, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.ItemLockInfo.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.ItemLockInfo.Json.g.cs new file mode 100644 index 00000000..5f7fc5f8 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.ItemLockInfo.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class ItemLockInfo + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.ItemLockInfo? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.ItemLockInfo), + jsonSerializerContext) as global::Opik.ItemLockInfo; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.ItemLockInfo? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.ItemLockInfo), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.ItemLockInfo; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.ItemLockInfo.g.cs b/src/libs/Opik/Generated/Opik.Models.ItemLockInfo.g.cs new file mode 100644 index 00000000..a23756fe --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.ItemLockInfo.g.cs @@ -0,0 +1,53 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class ItemLockInfo + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("active_locks")] + public int? ActiveLocks { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("locked_by")] + public global::System.Collections.Generic.IList? LockedBy { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public ItemLockInfo( + int? activeLocks, + global::System.Collections.Generic.IList? lockedBy) + { + this.ActiveLocks = activeLocks; + this.LockedBy = lockedBy; + } + + /// + /// Initializes a new instance of the class. + /// + public ItemLockInfo() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.Lane.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.Lane.Json.g.cs new file mode 100644 index 00000000..f00082f9 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.Lane.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class Lane + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.Lane? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.Lane), + jsonSerializerContext) as global::Opik.Lane; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.Lane? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.Lane), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.Lane; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.Lane.g.cs b/src/libs/Opik/Generated/Opik.Models.Lane.g.cs new file mode 100644 index 00000000..c184bb0a --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.Lane.g.cs @@ -0,0 +1,71 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class Lane + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("key")] + public string? Key { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("label")] + public string? Label { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_tokens")] + public long? TotalTokens { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("has_breakdown")] + public bool? HasBreakdown { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public Lane( + string? key, + string? label, + long? totalTokens, + bool? hasBreakdown) + { + this.Key = key; + this.Label = label; + this.TotalTokens = totalTokens; + this.HasBreakdown = hasBreakdown; + } + + /// + /// Initializes a new instance of the class. + /// + public Lane() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.LockResponse.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.LockResponse.Json.g.cs new file mode 100644 index 00000000..c1ca6e84 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.LockResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class LockResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.LockResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.LockResponse), + jsonSerializerContext) as global::Opik.LockResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.LockResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.LockResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.LockResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.LockResponse.g.cs b/src/libs/Opik/Generated/Opik.Models.LockResponse.g.cs new file mode 100644 index 00000000..85bb1b1f --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.LockResponse.g.cs @@ -0,0 +1,71 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class LockResponse + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("acquired")] + public bool? Acquired { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("item_id")] + public global::System.Guid? ItemId { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("locked_by")] + public string? LockedBy { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("expires_at")] + public global::System.DateTime? ExpiresAt { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public LockResponse( + bool? acquired, + global::System.Guid? itemId, + string? lockedBy, + global::System.DateTime? expiresAt) + { + this.Acquired = acquired; + this.ItemId = itemId; + this.LockedBy = lockedBy; + this.ExpiresAt = expiresAt; + } + + /// + /// Initializes a new instance of the class. + /// + public LockResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.LocksResponse.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.LocksResponse.Json.g.cs new file mode 100644 index 00000000..c3ccd290 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.LocksResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class LocksResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.LocksResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.LocksResponse), + jsonSerializerContext) as global::Opik.LocksResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.LocksResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.LocksResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.LocksResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.LocksResponse.g.cs b/src/libs/Opik/Generated/Opik.Models.LocksResponse.g.cs new file mode 100644 index 00000000..1c576643 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.LocksResponse.g.cs @@ -0,0 +1,44 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class LocksResponse + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("locks")] + public global::System.Collections.Generic.Dictionary? Locks { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public LocksResponse( + global::System.Collections.Generic.Dictionary? locks) + { + this.Locks = locks; + } + + /// + /// Initializes a new instance of the class. + /// + public LocksResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.LocksResponseLocks.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.LocksResponseLocks.Json.g.cs new file mode 100644 index 00000000..44330590 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.LocksResponseLocks.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class LocksResponseLocks + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.LocksResponseLocks? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.LocksResponseLocks), + jsonSerializerContext) as global::Opik.LocksResponseLocks; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.LocksResponseLocks? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.LocksResponseLocks), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.LocksResponseLocks; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.LocksResponseLocks.g.cs b/src/libs/Opik/Generated/Opik.Models.LocksResponseLocks.g.cs new file mode 100644 index 00000000..596b61b3 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.LocksResponseLocks.g.cs @@ -0,0 +1,19 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class LocksResponseLocks + { + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.Side.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.Side.Json.g.cs new file mode 100644 index 00000000..263ea721 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.Side.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class Side + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.Side? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.Side), + jsonSerializerContext) as global::Opik.Side; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.Side? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.Side), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.Side; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.Side.g.cs b/src/libs/Opik/Generated/Opik.Models.Side.g.cs new file mode 100644 index 00000000..d20bf55a --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.Side.g.cs @@ -0,0 +1,53 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class Side + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_tokens")] + public long? TotalTokens { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("lanes")] + public global::System.Collections.Generic.IList? Lanes { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public Side( + long? totalTokens, + global::System.Collections.Generic.IList? lanes) + { + this.TotalTokens = totalTokens; + this.Lanes = lanes; + } + + /// + /// Initializes a new instance of the class. + /// + public Side() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.SpendBreakdownResponse.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendBreakdownResponse.Json.g.cs new file mode 100644 index 00000000..5cf5a8fc --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendBreakdownResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class SpendBreakdownResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.SpendBreakdownResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.SpendBreakdownResponse), + jsonSerializerContext) as global::Opik.SpendBreakdownResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.SpendBreakdownResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.SpendBreakdownResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.SpendBreakdownResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.SpendBreakdownResponse.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendBreakdownResponse.g.cs new file mode 100644 index 00000000..16ca2898 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendBreakdownResponse.g.cs @@ -0,0 +1,89 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class SpendBreakdownResponse + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("lane_key")] + public string? LaneKey { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("title")] + public string? Title { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("subtitle")] + public string? Subtitle { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_tokens")] + public long? TotalTokens { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("item_count")] + public int? ItemCount { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("items")] + public global::System.Collections.Generic.IList? Items { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SpendBreakdownResponse( + string? laneKey, + string? title, + string? subtitle, + long? totalTokens, + int? itemCount, + global::System.Collections.Generic.IList? items) + { + this.LaneKey = laneKey; + this.Title = title; + this.Subtitle = subtitle; + this.TotalTokens = totalTokens; + this.ItemCount = itemCount; + this.Items = items; + } + + /// + /// Initializes a new instance of the class. + /// + public SpendBreakdownResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.SpendCompositionResponse.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendCompositionResponse.Json.g.cs new file mode 100644 index 00000000..de565e16 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendCompositionResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class SpendCompositionResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.SpendCompositionResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.SpendCompositionResponse), + jsonSerializerContext) as global::Opik.SpendCompositionResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.SpendCompositionResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.SpendCompositionResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.SpendCompositionResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.SpendCompositionResponse.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendCompositionResponse.g.cs new file mode 100644 index 00000000..15ec1c27 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendCompositionResponse.g.cs @@ -0,0 +1,62 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class SpendCompositionResponse + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("input")] + public global::Opik.Side? Input { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("harness")] + public global::System.Collections.Generic.IList? Harness { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("output")] + public global::Opik.Side? Output { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SpendCompositionResponse( + global::Opik.Side? input, + global::System.Collections.Generic.IList? harness, + global::Opik.Side? output) + { + this.Input = input; + this.Harness = harness; + this.Output = output; + } + + /// + /// Initializes a new instance of the class. + /// + public SpendCompositionResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.SpendMetricRequest.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendMetricRequest.Json.g.cs new file mode 100644 index 00000000..e3753a1f --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendMetricRequest.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class SpendMetricRequest + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.SpendMetricRequest? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.SpendMetricRequest), + jsonSerializerContext) as global::Opik.SpendMetricRequest; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.SpendMetricRequest? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.SpendMetricRequest), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.SpendMetricRequest; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.SpendMetricRequest.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendMetricRequest.g.cs new file mode 100644 index 00000000..8a732a61 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendMetricRequest.g.cs @@ -0,0 +1,100 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class SpendMetricRequest + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("project_id")] + public global::System.Guid? ProjectId { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("project_name")] + public string? ProjectName { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("interval_start")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.DateTime IntervalStart { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("interval_end")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.DateTime IntervalEnd { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("user_id")] + public string? UserId { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("start_before_end")] + public bool? StartBeforeEnd { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("project_provided")] + public bool? ProjectProvided { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SpendMetricRequest( + global::System.DateTime intervalStart, + global::System.DateTime intervalEnd, + global::System.Guid? projectId, + string? projectName, + string? userId, + bool? startBeforeEnd, + bool? projectProvided) + { + this.ProjectId = projectId; + this.ProjectName = projectName; + this.IntervalStart = intervalStart; + this.IntervalEnd = intervalEnd; + this.UserId = userId; + this.StartBeforeEnd = startBeforeEnd; + this.ProjectProvided = projectProvided; + } + + /// + /// Initializes a new instance of the class. + /// + public SpendMetricRequest() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.SpendRecommendationsResponse.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendRecommendationsResponse.Json.g.cs new file mode 100644 index 00000000..2f750081 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendRecommendationsResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class SpendRecommendationsResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.SpendRecommendationsResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.SpendRecommendationsResponse), + jsonSerializerContext) as global::Opik.SpendRecommendationsResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.SpendRecommendationsResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.SpendRecommendationsResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.SpendRecommendationsResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.SpendRecommendationsResponse.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendRecommendationsResponse.g.cs new file mode 100644 index 00000000..d2ee690c --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendRecommendationsResponse.g.cs @@ -0,0 +1,53 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class SpendRecommendationsResponse + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_savings")] + public double? TotalSavings { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("items")] + public global::System.Collections.Generic.IList? Items { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SpendRecommendationsResponse( + double? totalSavings, + global::System.Collections.Generic.IList? items) + { + this.TotalSavings = totalSavings; + this.Items = items; + } + + /// + /// Initializes a new instance of the class. + /// + public SpendRecommendationsResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.SpendUserPage.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendUserPage.Json.g.cs new file mode 100644 index 00000000..59473366 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendUserPage.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class SpendUserPage + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.SpendUserPage? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.SpendUserPage), + jsonSerializerContext) as global::Opik.SpendUserPage; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.SpendUserPage? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.SpendUserPage), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.SpendUserPage; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.SpendUserPage.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendUserPage.g.cs new file mode 100644 index 00000000..6c7212d5 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendUserPage.g.cs @@ -0,0 +1,80 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class SpendUserPage + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("page")] + public int? Page { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("size")] + public int? Size { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total")] + public long? Total { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("content")] + public global::System.Collections.Generic.IList? Content { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("sortable_by")] + public global::System.Collections.Generic.IList? SortableBy { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SpendUserPage( + int? page, + int? size, + long? total, + global::System.Collections.Generic.IList? content, + global::System.Collections.Generic.IList? sortableBy) + { + this.Page = page; + this.Size = size; + this.Total = total; + this.Content = content; + this.SortableBy = sortableBy; + } + + /// + /// Initializes a new instance of the class. + /// + public SpendUserPage() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.SpendUserRow.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendUserRow.Json.g.cs new file mode 100644 index 00000000..11688b37 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendUserRow.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class SpendUserRow + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.SpendUserRow? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.SpendUserRow), + jsonSerializerContext) as global::Opik.SpendUserRow; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.SpendUserRow? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.SpendUserRow), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.SpendUserRow; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.SpendUserRow.g.cs b/src/libs/Opik/Generated/Opik.Models.SpendUserRow.g.cs new file mode 100644 index 00000000..45f0a26f --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.SpendUserRow.g.cs @@ -0,0 +1,134 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class SpendUserRow + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("user_uuid")] + public string? UserUuid { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("user_email")] + public string? UserEmail { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("user_display_name")] + public string? UserDisplayName { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("model")] + public string? Model { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("total_estimated_cost")] + public double? TotalEstimatedCost { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("requests")] + public long? Requests { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("skills")] + public long? Skills { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("mcps")] + public long? Mcps { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("mcp_calls")] + public long? McpCalls { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("repositories")] + public global::System.Collections.Generic.IList? Repositories { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("flags")] + public global::System.Collections.Generic.IList? Flags { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SpendUserRow( + string? userUuid, + string? userEmail, + string? userDisplayName, + string? model, + double? totalEstimatedCost, + long? requests, + long? skills, + long? mcps, + long? mcpCalls, + global::System.Collections.Generic.IList? repositories, + global::System.Collections.Generic.IList? flags) + { + this.UserUuid = userUuid; + this.UserEmail = userEmail; + this.UserDisplayName = userDisplayName; + this.Model = model; + this.TotalEstimatedCost = totalEstimatedCost; + this.Requests = requests; + this.Skills = skills; + this.Mcps = mcps; + this.McpCalls = mcpCalls; + this.Repositories = repositories; + this.Flags = flags; + } + + /// + /// Initializes a new instance of the class. + /// + public SpendUserRow() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.Models.WorkspaceInfo.Json.g.cs b/src/libs/Opik/Generated/Opik.Models.WorkspaceInfo.Json.g.cs new file mode 100644 index 00000000..bdabddac --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.WorkspaceInfo.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Opik +{ + public sealed partial class WorkspaceInfo + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Opik.WorkspaceInfo? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Opik.WorkspaceInfo), + jsonSerializerContext) as global::Opik.WorkspaceInfo; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Opik.WorkspaceInfo? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Opik.WorkspaceInfo), + jsonSerializerContext).ConfigureAwait(false)) as global::Opik.WorkspaceInfo; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Opik/Generated/Opik.Models.WorkspaceInfo.g.cs b/src/libs/Opik/Generated/Opik.Models.WorkspaceInfo.g.cs new file mode 100644 index 00000000..90e57ca1 --- /dev/null +++ b/src/libs/Opik/Generated/Opik.Models.WorkspaceInfo.g.cs @@ -0,0 +1,53 @@ + +#nullable enable + +namespace Opik +{ + /// + /// + /// + public sealed partial class WorkspaceInfo + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("id")] + public string? Id { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public WorkspaceInfo( + string? id, + string? name) + { + this.Id = id; + this.Name = name; + } + + /// + /// Initializes a new instance of the class. + /// + public WorkspaceInfo() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Opik/Generated/Opik.OpikClient.g.cs b/src/libs/Opik/Generated/Opik.OpikClient.g.cs index a889ac4c..e49a02f0 100644 --- a/src/libs/Opik/Generated/Opik.OpikClient.g.cs +++ b/src/libs/Opik/Generated/Opik.OpikClient.g.cs @@ -75,6 +75,16 @@ public sealed partial class OpikClient : global::Opik.IOpikClient, global::Syste AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; + /// + /// Coding-agent spend analytics. + /// + public AiSpendClient AiSpend => new AiSpendClient(HttpClient, baseUri: null, authorizations: Authorizations, options: Options) + { + ReadResponseAsString = ReadResponseAsString, + JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, + }; + /// /// Alert resources. /// diff --git a/src/libs/Opik/openapi.yaml b/src/libs/Opik/openapi.yaml index 0e9c2e3e..0328d56d 100644 --- a/src/libs/Opik/openapi.yaml +++ b/src/libs/Opik/openapi.yaml @@ -40,6 +40,8 @@ tags: description: System usage related resource - name: Agent Configs description: Agent configuration management +- name: AI Spend + description: Coding-agent spend analytics - name: Alerts description: Alert resources - name: Annotation Queues @@ -108,6 +110,99 @@ tags: - name: Redirect description: Redirects for SDK generated links paths: + /oauth/authorize: + get: + tags: + - MCP OAuth + summary: OAuth Authorization Endpoint + description: "OAuth 2.1 authorization endpoint (RFC 6749 ยง3.1). Validates the\ + \ client and PKCE parameters, then redirects to the login or consent page" + operationId: authorize + parameters: + - name: client_id + in: query + required: true + schema: + minLength: 1 + type: string + - name: redirect_uri + in: query + required: true + schema: + minLength: 1 + type: string + - name: response_type + in: query + schema: + type: string + - name: code_challenge + in: query + schema: + type: string + - name: code_challenge_method + in: query + schema: + type: string + - name: resource + in: query + schema: + type: string + - name: state + in: query + schema: + type: string + responses: + "302": + description: "Redirect to login, consent, or client redirect_uri with an\ + \ error" + post: + tags: + - MCP OAuth + summary: Submit Authorization Consent + description: "Submit the user's consent, issue an authorization code, and return\ + \ the client redirect target" + operationId: consent + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConsentRequest" + required: true + responses: + "200": + description: Consent response with the client redirect target + content: + application/json: + schema: + $ref: "#/components/schemas/ConsentResponse" + /oauth/authorize/context: + get: + tags: + - MCP OAuth + summary: Get Authorization Consent Context + description: "Get the client details, eligible workspaces, and a CSRF token\ + \ used to render the consent screen" + operationId: getAuthorizeContext + parameters: + - name: client_id + in: query + required: true + schema: + minLength: 1 + type: string + - name: redirect_uri + in: query + required: true + schema: + minLength: 1 + type: string + responses: + "200": + description: Authorization consent context + content: + application/json: + schema: + $ref: "#/components/schemas/AuthorizeContext" /.well-known/oauth-authorization-server: get: tags: @@ -689,6 +784,162 @@ paths: application/json: schema: $ref: "#/components/schemas/ErrorMessage" + /v1/private/ai-spend/composition: + post: + tags: + - AI Spend + summary: Get spend composition + description: Get coding-agent token-flow composition (Sankey) + operationId: getSpendComposition + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SpendMetricRequest" + responses: + "200": + description: Spend composition + content: + application/json: + schema: + $ref: "#/components/schemas/SpendCompositionResponse" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorMessage" + /v1/private/ai-spend/composition/{laneKey}/breakdown: + post: + tags: + - AI Spend + summary: Get spend lane breakdown + description: Get the per-item breakdown for a composition lane + operationId: getSpendLaneBreakdown + parameters: + - name: laneKey + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SpendMetricRequest" + responses: + "200": + description: Lane breakdown + content: + application/json: + schema: + $ref: "#/components/schemas/SpendBreakdownResponse" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorMessage" + /v1/private/ai-spend/recommendations: + post: + tags: + - AI Spend + summary: Get spend recommendations + description: Get coding-agent cost-saving recommendations + operationId: getSpendRecommendations + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SpendMetricRequest" + responses: + "200": + description: Recommendations + content: + application/json: + schema: + $ref: "#/components/schemas/SpendRecommendationsResponse" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorMessage" + /v1/private/ai-spend/summary: + post: + tags: + - AI Spend + summary: Get spend summary + description: Get coding-agent spend KPI summary + operationId: getSpendSummary + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SpendMetricRequest" + responses: + "200": + description: Spend summary + content: + application/json: + schema: + $ref: "#/components/schemas/WorkspaceMetricsSummaryResponse" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorMessage" + /v1/private/ai-spend/users: + post: + tags: + - AI Spend + summary: Get spend user leaderboard + description: Get coding-agent spend per user + operationId: getSpendUsers + parameters: + - name: page + in: query + schema: + minimum: 1 + type: integer + format: int32 + default: 1 + - name: size + in: query + schema: + maximum: 1000 + minimum: 1 + type: integer + format: int32 + default: 25 + - name: sorting + in: query + schema: + type: string + - name: name + in: query + schema: + type: string + description: "Filter users by name or email (partial match, case insensitive)" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SpendMetricRequest" + responses: + "200": + description: User leaderboard + content: + application/json: + schema: + $ref: "#/components/schemas/SpendUserPage" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorMessage" /v1/private/alerts: get: tags: @@ -1112,6 +1363,55 @@ paths: application/json: schema: $ref: "#/components/schemas/ErrorMessage" + /v1/private/annotation-queues/{queueId}/locks: + get: + tags: + - Annotation Queues + summary: Get all active locks for an annotation queue + description: Returns lock status for all actively locked items in the queue + operationId: getAnnotationQueueLocks + parameters: + - name: queueId + in: path + required: true + schema: + type: string + format: uuid + responses: + "200": + description: Queue locks + content: + application/json: + schema: + $ref: "#/components/schemas/LocksResponse" + /v1/private/annotation-queues/{queueId}/items/{itemId}/lock: + put: + tags: + - Annotation Queues + summary: Create or extend annotation queue item lock + description: "Claim an annotation queue item for the current user, or extend\ + \ an existing lock" + operationId: lockAnnotationQueueItem + parameters: + - name: queueId + in: path + required: true + schema: + type: string + format: uuid + - name: itemId + in: path + required: true + schema: + type: string + format: uuid + responses: + "200": + description: Lock result + content: + application/json: + schema: + $ref: "#/components/schemas/LockResponse" /v1/private/annotation-queues/{id}/items/delete: post: tags: @@ -3247,7 +3547,7 @@ paths: schema: $ref: "#/components/schemas/ErrorMessage" "409": - description: Experiment dataset mismatch + description: Conflict content: application/json: schema: @@ -8518,6 +8818,64 @@ paths: application/json: {} components: schemas: + ConsentResponse: + type: object + properties: + redirect_to: + type: string + ConsentRequest: + required: + - client_id + - code_challenge + - code_challenge_method + - redirect_uri + - resource + type: object + properties: + client_id: + minLength: 1 + type: string + redirect_uri: + minLength: 1 + type: string + code_challenge: + minLength: 1 + type: string + code_challenge_method: + minLength: 1 + pattern: S256 + type: string + resource: + minLength: 1 + type: string + state: + type: string + workspace_id: + type: string + workspace_name: + type: string + csrf: + type: string + AuthorizeContext: + type: object + properties: + client_name: + type: string + client_logo_uri: + type: string + workspaces: + type: array + items: + $ref: "#/components/schemas/WorkspaceInfo" + csrf_token: + type: string + WorkspaceInfo: + type: object + properties: + id: + type: string + name: + type: string AuthorizationServerMetadata: type: object properties: @@ -8925,6 +9283,192 @@ components: properties: blueprint_name: type: string + HarnessEntry: + type: object + properties: + key: + type: string + label: + type: string + total_estimated_cost: + type: number + Lane: + type: object + properties: + key: + type: string + label: + type: string + total_tokens: + type: integer + format: int64 + has_breakdown: + type: boolean + Side: + type: object + properties: + total_tokens: + type: integer + format: int64 + lanes: + type: array + items: + $ref: "#/components/schemas/Lane" + SpendCompositionResponse: + type: object + properties: + input: + $ref: "#/components/schemas/Side" + harness: + type: array + items: + $ref: "#/components/schemas/HarnessEntry" + output: + $ref: "#/components/schemas/Side" + SpendMetricRequest: + required: + - interval_end + - interval_start + type: object + properties: + project_id: + type: string + format: uuid + project_name: + type: string + interval_start: + type: string + format: date-time + interval_end: + type: string + format: date-time + user_id: + pattern: (?s)^\s*(\S.*\S|\S)\s*$ + type: string + start_before_end: + type: boolean + project_provided: + type: boolean + Item: + type: object + properties: + id: + type: string + title: + type: string + body: + type: string + impact: + type: string + enum: + - high + - medium + - low + est_saving: + type: number + docs_url: + type: string + related_lane_key: + type: string + SpendBreakdownResponse: + type: object + properties: + lane_key: + type: string + title: + type: string + subtitle: + type: string + total_tokens: + type: integer + format: int64 + item_count: + type: integer + format: int32 + items: + type: array + items: + $ref: "#/components/schemas/Item" + SpendRecommendationsResponse: + type: object + properties: + total_savings: + type: number + items: + type: array + items: + $ref: "#/components/schemas/Item" + Result: + type: object + properties: + name: + type: string + current: + type: number + format: double + previous: + type: number + format: double + WorkspaceMetricsSummaryResponse: + type: object + properties: + results: + type: array + items: + $ref: "#/components/schemas/Result" + SpendUserPage: + type: object + properties: + page: + type: integer + format: int32 + size: + type: integer + format: int32 + total: + type: integer + format: int64 + content: + type: array + items: + $ref: "#/components/schemas/SpendUserRow" + sortable_by: + type: array + items: + type: string + SpendUserRow: + type: object + properties: + user_uuid: + type: string + user_email: + type: string + user_display_name: + type: string + model: + type: string + total_estimated_cost: + type: number + requests: + type: integer + format: int64 + skills: + type: integer + format: int64 + mcps: + type: integer + format: int64 + mcp_calls: + type: integer + format: int64 + repositories: + type: array + items: + type: string + flags: + type: array + items: + type: string Alert: required: - webhook @@ -9479,6 +10023,11 @@ components: minimum: 1 type: integer format: int32 + lock_timeout_seconds: + maximum: 3600 + minimum: 1 + type: integer + format: int32 reviewers: type: array readOnly: true @@ -9564,6 +10113,11 @@ components: minimum: 1 type: integer format: int32 + lock_timeout_seconds: + maximum: 3600 + minimum: 1 + type: integer + format: int32 description: List of annotation queues to create AnnotationQueueBatch: required: @@ -9661,6 +10215,11 @@ components: minimum: 1 type: integer format: int32 + lock_timeout_seconds: + maximum: 3600 + minimum: 1 + type: integer + format: int32 reviewers: type: array readOnly: true @@ -9701,6 +10260,36 @@ components: value: type: number readOnly: true + ItemLockInfo: + type: object + properties: + active_locks: + type: integer + format: int32 + locked_by: + type: array + items: + type: string + LocksResponse: + type: object + properties: + locks: + type: object + additionalProperties: + $ref: "#/components/schemas/ItemLockInfo" + LockResponse: + type: object + properties: + acquired: + type: boolean + item_id: + type: string + format: uuid + locked_by: + type: string + expires_at: + type: string + format: date-time AnnotationQueueUpdate: type: object properties: @@ -9723,6 +10312,11 @@ components: minimum: 1 type: integer format: int32 + lock_timeout_seconds: + maximum: 3600 + minimum: 1 + type: integer + format: int32 AssertionResultBatch: required: - assertion_results @@ -14800,6 +15394,13 @@ components: \ or experiment with that ID doesn't exist, a new experiment will be created\ \ with the given experimentName" format: uuid + project_name: + pattern: (?s)^\s*(\S.*\S|\S)\s*$ + type: string + description: "Project for traces auto-created from items that provide evaluate_task_result\ + \ (i.e. without an explicit trace). If null, the default project is used;\ + \ relying on this fallback is deprecated, please provide project_name\ + \ explicitly." items: maxItems: 1000 minItems: 1 @@ -15144,6 +15745,13 @@ components: \ or experiment with that ID doesn't exist, a new experiment will be created\ \ with the given experimentName" format: uuid + project_name: + pattern: (?s)^\s*(\S.*\S|\S)\s*$ + type: string + description: "Project for traces auto-created from items that provide evaluate_task_result\ + \ (i.e. without an explicit trace). If null, the default project is used;\ + \ relying on this fallback is deprecated, please provide project_name\ + \ explicitly." items: maxItems: 1000 minItems: 1 @@ -20613,17 +21221,6 @@ components: type: array items: $ref: "#/components/schemas/Permission" - Result: - type: object - properties: - name: - type: string - current: - type: number - format: double - previous: - type: number - format: double WorkspaceMetricsSummaryRequest: required: - interval_end @@ -20723,10 +21320,3 @@ components: Workspace version response. The opik_version field indicates which navigation mode the frontend should render: 'version_1' (legacy workspace-scoped) or 'version_2' (project-first). - WorkspaceMetricsSummaryResponse: - type: object - properties: - results: - type: array - items: - $ref: "#/components/schemas/Result"