diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.CreateAndEscalateThread.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.CreateAndEscalateThread.g.cs index 69f34097..2ca3a739 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.CreateAndEscalateThread.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.CreateAndEscalateThread.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class AgentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateAndEscalateThreadServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateAndEscalateThreadSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessCreateAndEscalateThreadResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/agent/thread/create-and-escalate", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateAndEscalateThreadServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.DeleteThread.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.DeleteThread.g.cs index c48eecf3..6469e776 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.DeleteThread.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.DeleteThread.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class AgentClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteThreadServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteThreadSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeleteThreadResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/agent/thread/{sessionId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteThreadServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.EscalateThread.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.EscalateThread.g.cs index 75fe9e15..62b25e92 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.EscalateThread.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.EscalateThread.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class AgentClient { + private static readonly global::Helicone.AutoSDKServer[] s_EscalateThreadServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_EscalateThreadSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessEscalateThreadResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/agent/thread/{sessionId}/escalate", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_EscalateThreadServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.Generate.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.Generate.g.cs index 529e8ad3..c215cfac 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.Generate.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.Generate.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class AgentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GenerateServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GenerateSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -84,7 +97,9 @@ partial void ProcessGenerateResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/agent/generate", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GenerateServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.GetAllThreads.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.GetAllThreads.g.cs index 95aaf247..95d6c1d2 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.GetAllThreads.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.GetAllThreads.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class AgentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetAllThreadsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetAllThreadsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetAllThreadsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/agent/threads", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetAllThreadsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.GetThread.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.GetThread.g.cs index 86bef74a..c5015647 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.GetThread.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.GetThread.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class AgentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetThreadServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetThreadSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetThreadResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/agent/thread/{sessionId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetThreadServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.ReopenThread.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.ReopenThread.g.cs index 2351827e..c36c99de 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.ReopenThread.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.ReopenThread.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class AgentClient { + private static readonly global::Helicone.AutoSDKServer[] s_ReopenThreadServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_ReopenThreadSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessReopenThreadResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/agent/thread/{sessionId}/reopen", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_ReopenThreadServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.SearchDocs.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.SearchDocs.g.cs index 29976ebc..9b3d6a55 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.SearchDocs.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.SearchDocs.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class AgentClient { + private static readonly global::Helicone.AutoSDKServer[] s_SearchDocsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_SearchDocsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessSearchDocsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/agent/mcp/search", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_SearchDocsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.UpsertThreadMessage.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.UpsertThreadMessage.g.cs index d69bc9d0..c420be64 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.UpsertThreadMessage.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.UpsertThreadMessage.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class AgentClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpsertThreadMessageServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpsertThreadMessageSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpsertThreadMessageResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/agent/thread/{sessionId}/message", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpsertThreadMessageServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.AgentClient.g.cs b/src/libs/Helicone/Generated/Helicone.AgentClient.g.cs index ca5d95d7..a37a800a 100644 --- a/src/libs/Helicone/Generated/Helicone.AgentClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.AgentClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class AgentClient : global::Helicone.IAgentClient, global: public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class AgentClient : global::Helicone.IAgentClient, global: /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the AgentClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public AgentClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.ApiKeyClient.CreateAPIKey.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateAPIKey.g.cs index 01f18a1a..d692a205 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateAPIKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateAPIKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateAPIKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateAPIKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateAPIKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/api-keys", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateAPIKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateProviderKey.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateProviderKey.g.cs index d97e3555..e4690514 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateProviderKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateProviderKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateProviderKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateProviderKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateProviderKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/api-keys/provider-key", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateProviderKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateProxyKey.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateProxyKey.g.cs index e1f77bc2..8326e917 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateProxyKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.CreateProxyKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateProxyKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateProxyKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateProxyKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/api-keys/proxy-key", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateProxyKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.DeleteAPIKey.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.DeleteAPIKey.g.cs index 537d100a..75e78458 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.DeleteAPIKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.DeleteAPIKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteAPIKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteAPIKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeleteAPIKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/api-keys/{apiKeyId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteAPIKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.DeleteProviderKey.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.DeleteProviderKey.g.cs index 33fa1ad8..41495f17 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.DeleteProviderKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.DeleteProviderKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteProviderKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteProviderKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeleteProviderKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/api-keys/provider-key/{providerKeyId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteProviderKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetAPIKeys.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetAPIKeys.g.cs index 2d827336..2c13a342 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetAPIKeys.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetAPIKeys.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetAPIKeysServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetAPIKeysSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetAPIKeysResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/api-keys", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetAPIKeysServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetProviderKey.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetProviderKey.g.cs index 15eeec43..8b79af42 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetProviderKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetProviderKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetProviderKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetProviderKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetProviderKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/api-keys/provider-key/{providerKeyId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetProviderKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetProviderKeys.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetProviderKeys.g.cs index 5526c8bd..c7d5d32e 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetProviderKeys.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.GetProviderKeys.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetProviderKeysServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetProviderKeysSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetProviderKeysResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/api-keys/provider-keys", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetProviderKeysServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.UpdateAPIKey.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.UpdateAPIKey.g.cs index 6db2f459..e7ae6ce7 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.UpdateAPIKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.UpdateAPIKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateAPIKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateAPIKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdateAPIKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/api-keys/{apiKeyId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateAPIKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.UpdateProviderKey.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.UpdateProviderKey.g.cs index 602802a7..f5937a3b 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.UpdateProviderKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.UpdateProviderKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ApiKeyClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateProviderKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateProviderKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdateProviderKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/api-keys/provider-key/{providerKeyId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateProviderKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.g.cs b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.g.cs index fbe0e8cf..9690638f 100644 --- a/src/libs/Helicone/Generated/Helicone.ApiKeyClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ApiKeyClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class ApiKeyClient : global::Helicone.IApiKeyClient, globa public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class ApiKeyClient : global::Helicone.IApiKeyClient, globa /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the ApiKeyClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public ApiKeyClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.ComparisonClient.GetModelComparison.g.cs b/src/libs/Helicone/Generated/Helicone.ComparisonClient.GetModelComparison.g.cs index 5c2230d9..a539bd60 100644 --- a/src/libs/Helicone/Generated/Helicone.ComparisonClient.GetModelComparison.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ComparisonClient.GetModelComparison.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ComparisonClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetModelComparisonServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetModelComparisonSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetModelComparisonResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/public/compare/models", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetModelComparisonServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ComparisonClient.g.cs b/src/libs/Helicone/Generated/Helicone.ComparisonClient.g.cs index 1b5e5a1f..035ef4a6 100644 --- a/src/libs/Helicone/Generated/Helicone.ComparisonClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ComparisonClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class ComparisonClient : global::Helicone.IComparisonClien public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class ComparisonClient : global::Helicone.IComparisonClien /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the ComparisonClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public ComparisonClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.CreditsClient.GetCreditsBalance.g.cs b/src/libs/Helicone/Generated/Helicone.CreditsClient.GetCreditsBalance.g.cs index e709854c..8ded7933 100644 --- a/src/libs/Helicone/Generated/Helicone.CreditsClient.GetCreditsBalance.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CreditsClient.GetCreditsBalance.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class CreditsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetCreditsBalanceServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetCreditsBalanceSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetCreditsBalanceResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/credits/balance", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetCreditsBalanceServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.CreditsClient.GetDiscounts.g.cs b/src/libs/Helicone/Generated/Helicone.CreditsClient.GetDiscounts.g.cs index 09867b46..6e6513b9 100644 --- a/src/libs/Helicone/Generated/Helicone.CreditsClient.GetDiscounts.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CreditsClient.GetDiscounts.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class CreditsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetDiscountsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetDiscountsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetDiscountsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/credits/discounts", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetDiscountsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.CreditsClient.GetSpendBreakdown.g.cs b/src/libs/Helicone/Generated/Helicone.CreditsClient.GetSpendBreakdown.g.cs index e205ad51..c99ce9e9 100644 --- a/src/libs/Helicone/Generated/Helicone.CreditsClient.GetSpendBreakdown.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CreditsClient.GetSpendBreakdown.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class CreditsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSpendBreakdownServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSpendBreakdownSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -93,7 +106,9 @@ partial void ProcessGetSpendBreakdownResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/credits/spend/breakdown", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSpendBreakdownServers, + defaultBaseUrl: "https://api.helicone.ai/")); __pathBuilder .AddOptionalParameter("timeRange", timeRange?.ToValueString()) .AddOptionalParameter("startDate", startDate) diff --git a/src/libs/Helicone/Generated/Helicone.CreditsClient.GetTotalSpend.g.cs b/src/libs/Helicone/Generated/Helicone.CreditsClient.GetTotalSpend.g.cs index 871fdcf1..71e7dd44 100644 --- a/src/libs/Helicone/Generated/Helicone.CreditsClient.GetTotalSpend.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CreditsClient.GetTotalSpend.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class CreditsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetTotalSpendServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetTotalSpendSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetTotalSpendResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/credits/totalSpend", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetTotalSpendServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.CreditsClient.ListInvoices.g.cs b/src/libs/Helicone/Generated/Helicone.CreditsClient.ListInvoices.g.cs index 69e7b2ce..4278bfb2 100644 --- a/src/libs/Helicone/Generated/Helicone.CreditsClient.ListInvoices.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CreditsClient.ListInvoices.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class CreditsClient { + private static readonly global::Helicone.AutoSDKServer[] s_ListInvoicesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_ListInvoicesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessListInvoicesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/credits/invoices", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_ListInvoicesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.CreditsClient.ListTokenUsagePayments.g.cs b/src/libs/Helicone/Generated/Helicone.CreditsClient.ListTokenUsagePayments.g.cs index 0f2bc946..782b521a 100644 --- a/src/libs/Helicone/Generated/Helicone.CreditsClient.ListTokenUsagePayments.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CreditsClient.ListTokenUsagePayments.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class CreditsClient { + private static readonly global::Helicone.AutoSDKServer[] s_ListTokenUsagePaymentsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_ListTokenUsagePaymentsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessListTokenUsagePaymentsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/credits/payments", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_ListTokenUsagePaymentsServers, + defaultBaseUrl: "https://api.helicone.ai/")); __pathBuilder .AddOptionalParameter("page", page?.ToString()) .AddOptionalParameter("pageSize", pageSize?.ToString()) diff --git a/src/libs/Helicone/Generated/Helicone.CreditsClient.g.cs b/src/libs/Helicone/Generated/Helicone.CreditsClient.g.cs index 673bf2fd..d26e436a 100644 --- a/src/libs/Helicone/Generated/Helicone.CreditsClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CreditsClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class CreditsClient : global::Helicone.ICreditsClient, glo public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class CreditsClient : global::Helicone.ICreditsClient, glo /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the CreditsClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public CreditsClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.CustomerClient.GetCustomerUsage.g.cs b/src/libs/Helicone/Generated/Helicone.CustomerClient.GetCustomerUsage.g.cs index 4115444c..61acab90 100644 --- a/src/libs/Helicone/Generated/Helicone.CustomerClient.GetCustomerUsage.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CustomerClient.GetCustomerUsage.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class CustomerClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetCustomerUsageServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetCustomerUsageSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessGetCustomerUsageResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/customer/{customerId}/usage/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetCustomerUsageServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.CustomerClient.GetCustomers.g.cs b/src/libs/Helicone/Generated/Helicone.CustomerClient.GetCustomers.g.cs index c8c850c4..47b5d1c3 100644 --- a/src/libs/Helicone/Generated/Helicone.CustomerClient.GetCustomers.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CustomerClient.GetCustomers.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class CustomerClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetCustomersServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetCustomersSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetCustomersResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/customer/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetCustomersServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.CustomerClient.g.cs b/src/libs/Helicone/Generated/Helicone.CustomerClient.g.cs index 4e1e97d3..17735d5d 100644 --- a/src/libs/Helicone/Generated/Helicone.CustomerClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.CustomerClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class CustomerClient : global::Helicone.ICustomerClient, g public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class CustomerClient : global::Helicone.ICustomerClient, g /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the CustomerClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public CustomerClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.DashboardClient.GetScoresOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.DashboardClient.GetScoresOverTime.g.cs index 5e59324a..a22a6aa5 100644 --- a/src/libs/Helicone/Generated/Helicone.DashboardClient.GetScoresOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DashboardClient.GetScoresOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DashboardClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetScoresOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetScoresOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetScoresOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/dashboard/scores/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetScoresOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DashboardClient.g.cs b/src/libs/Helicone/Generated/Helicone.DashboardClient.g.cs index 27ce1925..b64b7918 100644 --- a/src/libs/Helicone/Generated/Helicone.DashboardClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DashboardClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class DashboardClient : global::Helicone.IDashboardClient, public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class DashboardClient : global::Helicone.IDashboardClient, /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the DashboardClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public DashboardClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.DatasetClient.AddDataset.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.AddDataset.g.cs index ce5e1fa5..48f4bbac 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.AddDataset.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.AddDataset.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddDatasetServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddDatasetSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessAddDatasetResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment/dataset", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddDatasetServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.AddHeliconeDataset.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.AddHeliconeDataset.g.cs index d2233898..11cc092e 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.AddHeliconeDataset.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.AddHeliconeDataset.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddHeliconeDatasetServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddHeliconeDatasetSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessAddHeliconeDatasetResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/helicone-dataset", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddHeliconeDatasetServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.AddRandomDataset.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.AddRandomDataset.g.cs index a2e345c1..34f3ec6c 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.AddRandomDataset.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.AddRandomDataset.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddRandomDatasetServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddRandomDatasetSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessAddRandomDatasetResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment/dataset/random", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddRandomDatasetServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.CountHeliconeDatasetRows.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.CountHeliconeDatasetRows.g.cs index 7d48cb03..dc941439 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.CountHeliconeDatasetRows.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.CountHeliconeDatasetRows.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_CountHeliconeDatasetRowsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CountHeliconeDatasetRowsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessCountHeliconeDatasetRowsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/helicone-dataset/{datasetId}/count", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CountHeliconeDatasetRowsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.CreateDatasetRow.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.CreateDatasetRow.g.cs index 3d461c4b..38d7c927 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.CreateDatasetRow.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.CreateDatasetRow.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateDatasetRowServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateDatasetRowSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -96,7 +109,9 @@ partial void ProcessCreateDatasetRowResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/dataset/{datasetId}/version/{promptVersionId}/row/new", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateDatasetRowServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.DeleteHeliconeDataset.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.DeleteHeliconeDataset.g.cs index 877011db..3ee274d3 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.DeleteHeliconeDataset.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.DeleteHeliconeDataset.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteHeliconeDatasetServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteHeliconeDatasetSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeleteHeliconeDatasetResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/helicone-dataset/{datasetId}/delete", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteHeliconeDatasetServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.GetDataset.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.GetDataset.g.cs index fc4e5ce5..950f7f2d 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.GetDataset.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.GetDataset.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetDatasetServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetDatasetSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetDatasetResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/dataset/{datasetId}/inputs/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetDatasetServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.GetDatasets.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.GetDatasets.g.cs index 6cd39fde..bf3afcf7 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.GetDatasets.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.GetDatasets.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetDatasetsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetDatasetsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetDatasetsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment/dataset/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetDatasetsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.InsertDatasetRow.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.InsertDatasetRow.g.cs index ea16c232..cea39435 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.InsertDatasetRow.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.InsertDatasetRow.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_InsertDatasetRowServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_InsertDatasetRowSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessInsertDatasetRowResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/dataset/{datasetId}/row/insert", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_InsertDatasetRowServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.MutateDataset.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.MutateDataset.g.cs index f533f11a..6171173e 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.MutateDataset.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.MutateDataset.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_MutateDatasetServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_MutateDatasetSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessMutateDatasetResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/dataset/{datasetId}/mutate", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_MutateDatasetServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.MutateHeliconeDataset.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.MutateHeliconeDataset.g.cs index 498c760e..0290ed34 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.MutateHeliconeDataset.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.MutateHeliconeDataset.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_MutateHeliconeDatasetServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_MutateHeliconeDatasetSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessMutateHeliconeDatasetResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/helicone-dataset/{datasetId}/mutate", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_MutateHeliconeDatasetServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.QueryHeliconeDataset.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.QueryHeliconeDataset.g.cs index 7fa3fc6f..a1786080 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.QueryHeliconeDataset.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.QueryHeliconeDataset.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_QueryHeliconeDatasetServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_QueryHeliconeDatasetSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessQueryHeliconeDatasetResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/helicone-dataset/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_QueryHeliconeDatasetServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.QueryHeliconeDatasetRows.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.QueryHeliconeDatasetRows.g.cs index e4c3712e..6967ad22 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.QueryHeliconeDatasetRows.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.QueryHeliconeDatasetRows.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_QueryHeliconeDatasetRowsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_QueryHeliconeDatasetRowsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessQueryHeliconeDatasetRowsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/helicone-dataset/{datasetId}/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_QueryHeliconeDatasetRowsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.UpdateHeliconeDatasetRequest.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.UpdateHeliconeDatasetRequest.g.cs index 38dcd419..3765f0bf 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.UpdateHeliconeDatasetRequest.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.UpdateHeliconeDatasetRequest.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class DatasetClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateHeliconeDatasetRequestServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateHeliconeDatasetRequestSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -96,7 +109,9 @@ partial void ProcessUpdateHeliconeDatasetRequestResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/helicone-dataset/{datasetId}/request/{requestId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateHeliconeDatasetRequestServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.DatasetClient.g.cs b/src/libs/Helicone/Generated/Helicone.DatasetClient.g.cs index d5739a4d..60189baf 100644 --- a/src/libs/Helicone/Generated/Helicone.DatasetClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.DatasetClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class DatasetClient : global::Helicone.IDatasetClient, glo public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class DatasetClient : global::Helicone.IDatasetClient, glo /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the DatasetClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public DatasetClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.EvalsClient.AddEval.g.cs b/src/libs/Helicone/Generated/Helicone.EvalsClient.AddEval.g.cs index 14d5f040..7044a7c7 100644 --- a/src/libs/Helicone/Generated/Helicone.EvalsClient.AddEval.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvalsClient.AddEval.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvalsClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddEvalServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddEvalSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessAddEvalResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/evals/{requestId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddEvalServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvalsClient.GetEvalScores.g.cs b/src/libs/Helicone/Generated/Helicone.EvalsClient.GetEvalScores.g.cs index cb4b0fa7..7141a32a 100644 --- a/src/libs/Helicone/Generated/Helicone.EvalsClient.GetEvalScores.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvalsClient.GetEvalScores.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvalsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetEvalScoresServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetEvalScoresSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetEvalScoresResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/evals/scores", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetEvalScoresServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvalsClient.QueryEvals.g.cs b/src/libs/Helicone/Generated/Helicone.EvalsClient.QueryEvals.g.cs index 29b8708f..42d8e106 100644 --- a/src/libs/Helicone/Generated/Helicone.EvalsClient.QueryEvals.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvalsClient.QueryEvals.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvalsClient { + private static readonly global::Helicone.AutoSDKServer[] s_QueryEvalsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_QueryEvalsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessQueryEvalsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/evals/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_QueryEvalsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvalsClient.QueryScoreDistributions.g.cs b/src/libs/Helicone/Generated/Helicone.EvalsClient.QueryScoreDistributions.g.cs index f077f88a..1bec1996 100644 --- a/src/libs/Helicone/Generated/Helicone.EvalsClient.QueryScoreDistributions.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvalsClient.QueryScoreDistributions.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvalsClient { + private static readonly global::Helicone.AutoSDKServer[] s_QueryScoreDistributionsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_QueryScoreDistributionsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessQueryScoreDistributionsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/evals/score-distributions/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_QueryScoreDistributionsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvalsClient.g.cs b/src/libs/Helicone/Generated/Helicone.EvalsClient.g.cs index 50cdf99a..c459f144 100644 --- a/src/libs/Helicone/Generated/Helicone.EvalsClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvalsClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class EvalsClient : global::Helicone.IEvalsClient, global: public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class EvalsClient : global::Helicone.IEvalsClient, global: /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the EvalsClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public EvalsClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.EvaluatorClient.CreateEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.CreateEvaluator.g.cs index 3fd6bc08..4e6b0f03 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.CreateEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.CreateEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/evaluator", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.CreateOnlineEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.CreateOnlineEvaluator.g.cs index f37f74e0..e959a2b3 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.CreateOnlineEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.CreateOnlineEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateOnlineEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateOnlineEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateOnlineEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/evaluator/{evaluatorId}/onlineEvaluators", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateOnlineEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.DeleteEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.DeleteEvaluator.g.cs index 0afd043a..0746bcd0 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.DeleteEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.DeleteEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeleteEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/evaluator/{evaluatorId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.DeleteOnlineEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.DeleteOnlineEvaluator.g.cs index ac0b6b46..846e4a9e 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.DeleteOnlineEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.DeleteOnlineEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteOnlineEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteOnlineEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessDeleteOnlineEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/evaluator/{evaluatorId}/onlineEvaluators/{onlineEvaluatorId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteOnlineEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetEvaluator.g.cs index 477fd1f4..d3011ea2 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/evaluator/{evaluatorId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetEvaluatorStats.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetEvaluatorStats.g.cs index 18ec2a86..c1d45e62 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetEvaluatorStats.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetEvaluatorStats.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetEvaluatorStatsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetEvaluatorStatsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetEvaluatorStatsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/evaluator/{evaluatorId}/stats", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetEvaluatorStatsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetExperimentsForEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetExperimentsForEvaluator.g.cs index 2c608d02..7ea24b61 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetExperimentsForEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetExperimentsForEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentsForEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentsForEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetExperimentsForEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/evaluator/{evaluatorId}/experiments", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentsForEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetOnlineEvaluators.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetOnlineEvaluators.g.cs index b93038f2..b7312dd4 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetOnlineEvaluators.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.GetOnlineEvaluators.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetOnlineEvaluatorsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetOnlineEvaluatorsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetOnlineEvaluatorsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/evaluator/{evaluatorId}/onlineEvaluators", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetOnlineEvaluatorsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.QueryEvaluators.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.QueryEvaluators.g.cs index b28a5dcd..569d8e6f 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.QueryEvaluators.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.QueryEvaluators.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_QueryEvaluatorsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_QueryEvaluatorsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessQueryEvaluatorsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/evaluator/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_QueryEvaluatorsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestLLMEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestLLMEvaluator.g.cs index 9f99e226..f3fc73c5 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestLLMEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestLLMEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_TestLLMEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_TestLLMEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessTestLLMEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/evaluator/llm/test", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_TestLLMEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestLastMileEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestLastMileEvaluator.g.cs index 478a7971..ba398210 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestLastMileEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestLastMileEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_TestLastMileEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_TestLastMileEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessTestLastMileEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/evaluator/lastmile/test", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_TestLastMileEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestPythonEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestPythonEvaluator.g.cs index f1b41954..d3ae57f8 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestPythonEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.TestPythonEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_TestPythonEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_TestPythonEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessTestPythonEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/evaluator/python/test", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_TestPythonEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.UpdateEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.UpdateEvaluator.g.cs index 3d88e6b1..7f3c3305 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.UpdateEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.UpdateEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class EvaluatorClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdateEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/evaluator/{evaluatorId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.g.cs b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.g.cs index d34acb82..d7b13051 100644 --- a/src/libs/Helicone/Generated/Helicone.EvaluatorClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.EvaluatorClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class EvaluatorClient : global::Helicone.IEvaluatorClient, public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class EvaluatorClient : global::Helicone.IEvaluatorClient, /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the EvaluatorClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public EvaluatorClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.ExperimentClient.AddManualRowToExperiment.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.AddManualRowToExperiment.g.cs index db7af971..8b8063ab 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.AddManualRowToExperiment.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.AddManualRowToExperiment.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddManualRowToExperimentServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddManualRowToExperimentSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessAddManualRowToExperimentResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/add-manual-row", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddManualRowToExperimentServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.AddManualRowsToExperimentBatch.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.AddManualRowsToExperimentBatch.g.cs index 3e8307fe..6e401509 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.AddManualRowsToExperimentBatch.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.AddManualRowsToExperimentBatch.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddManualRowsToExperimentBatchServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddManualRowsToExperimentBatchSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessAddManualRowsToExperimentBatchResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/add-manual-rows-batch", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddManualRowsToExperimentBatchServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateEmptyExperiment.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateEmptyExperiment.g.cs index 58861671..ecade34f 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateEmptyExperiment.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateEmptyExperiment.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateEmptyExperimentServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateEmptyExperimentSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessCreateEmptyExperimentResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v2/experiment/create/empty", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateEmptyExperimentServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentCell.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentCell.g.cs index d1a49b57..1ee52f50 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentCell.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentCell.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateExperimentCellServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateExperimentCellSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateExperimentCellResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/table/{experimentTableId}/cell", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateExperimentCellServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentColumn.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentColumn.g.cs index 1f4e55c4..c4bf2bb9 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentColumn.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentColumn.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateExperimentColumnServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateExperimentColumnSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateExperimentColumnResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/table/{experimentTableId}/column", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateExperimentColumnServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentEvaluator.g.cs index 3e72e6c4..6d4653e5 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateExperimentEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateExperimentEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateExperimentEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/evaluators", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateExperimentEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentEvaluatorOld.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentEvaluatorOld.g.cs index 3e7c2d5c..d5aa284e 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentEvaluatorOld.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentEvaluatorOld.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateExperimentEvaluatorOldServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateExperimentEvaluatorOldSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateExperimentEvaluatorOldResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/{experimentId}/evaluators", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateExperimentEvaluatorOldServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentFromRequest.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentFromRequest.g.cs index 4d9291e3..d030f40d 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentFromRequest.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentFromRequest.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateExperimentFromRequestServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateExperimentFromRequestSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessCreateExperimentFromRequestResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/create/from-request/{requestId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateExperimentFromRequestServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRow.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRow.g.cs index 5e79f860..c347834f 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRow.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRow.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateExperimentTableRowServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateExperimentTableRowSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateExperimentTableRowResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/table/{experimentTableId}/row/new", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateExperimentTableRowServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowBatch.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowBatch.g.cs index 4249e867..2c5665fe 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowBatch.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowBatch.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateExperimentTableRowBatchServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateExperimentTableRowBatchSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateExperimentTableRowBatchResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/row/insert/batch", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateExperimentTableRowBatchServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowFromDataset.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowFromDataset.g.cs index fab03102..7d12421e 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowFromDataset.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowFromDataset.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateExperimentTableRowFromDatasetServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateExperimentTableRowFromDatasetSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessCreateExperimentTableRowFromDatasetResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateExperimentTableRowFromDatasetServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowWithCellsBatch.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowWithCellsBatch.g.cs index 2cdbcf32..080e8249 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowWithCellsBatch.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateExperimentTableRowWithCellsBatch.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateExperimentTableRowWithCellsBatchServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateExperimentTableRowWithCellsBatchSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateExperimentTableRowWithCellsBatchResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/table/{experimentTableId}/row/insert/batch", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateExperimentTableRowWithCellsBatchServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewEmptyExperiment.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewEmptyExperiment.g.cs index 7feaed60..64cee62b 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewEmptyExperiment.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewEmptyExperiment.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateNewEmptyExperimentServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateNewEmptyExperimentSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateNewEmptyExperimentResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment/new-empty", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateNewEmptyExperimentServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperiment.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperiment.g.cs index 5d81b337..0f71b444 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperiment.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperiment.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateNewExperimentServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateNewExperimentSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateNewExperimentResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v2/experiment/new", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateNewExperimentServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentHypothesis.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentHypothesis.g.cs index 59a42842..49177921 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentHypothesis.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentHypothesis.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateNewExperimentHypothesisServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateNewExperimentHypothesisSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateNewExperimentHypothesisResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment/hypothesis", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateNewExperimentHypothesisServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentOld.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentOld.g.cs index 13a2bfe6..7169fa53 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentOld.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentOld.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateNewExperimentOldServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateNewExperimentOldSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateNewExperimentOldResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateNewExperimentOldServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentTable.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentTable.g.cs index 562cb144..a2e94174 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentTable.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewExperimentTable.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateNewExperimentTableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateNewExperimentTableSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateNewExperimentTableResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment/table/new", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateNewExperimentTableServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewPromptVersionForExperiment.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewPromptVersionForExperiment.g.cs index 8e1b8de9..f8b2efe7 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewPromptVersionForExperiment.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.CreateNewPromptVersionForExperiment.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateNewPromptVersionForExperimentServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateNewPromptVersionForExperimentSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateNewPromptVersionForExperimentResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/prompt-version", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateNewPromptVersionForExperimentServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperiment.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperiment.g.cs index dfcd5d0e..a4eadfc6 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperiment.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperiment.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteExperimentServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteExperimentSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeleteExperimentResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteExperimentServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentEvaluator.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentEvaluator.g.cs index 75758bfb..bc6f81dc 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentEvaluator.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentEvaluator.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteExperimentEvaluatorServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteExperimentEvaluatorSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessDeleteExperimentEvaluatorResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/evaluators/{evaluatorId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteExperimentEvaluatorServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentEvaluatorOld.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentEvaluatorOld.g.cs index 73cd22a6..3ef569df 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentEvaluatorOld.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentEvaluatorOld.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteExperimentEvaluatorOldServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteExperimentEvaluatorOldSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessDeleteExperimentEvaluatorOldResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/{experimentId}/evaluators/{evaluatorId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteExperimentEvaluatorOldServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentTableRow.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentTableRow.g.cs index 9e931ec1..6eab4649 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentTableRow.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentTableRow.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteExperimentTableRowServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteExperimentTableRowSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessDeleteExperimentTableRowResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/table/{experimentTableId}/row/{rowIndex}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteExperimentTableRowServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentTableRows.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentTableRows.g.cs index 90eee03e..0ca2cb47 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentTableRows.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeleteExperimentTableRows.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteExperimentTableRowsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteExperimentTableRowsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessDeleteExperimentTableRowsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/rows", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteExperimentTableRowsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeletePromptVersion.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeletePromptVersion.g.cs index 628fb413..cc32c840 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeletePromptVersion.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.DeletePromptVersion.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeletePromptVersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeletePromptVersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessDeletePromptVersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/prompt-version/{promptVersionId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeletePromptVersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentById.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentById.g.cs index ca6f8f0c..ab160706 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentById.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentById.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentByIdServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentByIdSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetExperimentByIdResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentByIdServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentEvaluators.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentEvaluators.g.cs index 973390b0..19f8237a 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentEvaluators.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentEvaluators.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentEvaluatorsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentEvaluatorsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetExperimentEvaluatorsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/evaluators", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentEvaluatorsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentEvaluators2.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentEvaluators2.g.cs index 054be992..1cbdb533 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentEvaluators2.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentEvaluators2.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentEvaluators2Servers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentEvaluators2SecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetExperimentEvaluators2ResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/{experimentId}/evaluators", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentEvaluators2Servers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentHypothesisScores.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentHypothesisScores.g.cs index e894fe0b..7a018482 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentHypothesisScores.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentHypothesisScores.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentHypothesisScoresServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentHypothesisScoresSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetExperimentHypothesisScoresResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/hypothesis/{hypothesisId}/scores/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentHypothesisScoresServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentPromptVersionScores.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentPromptVersionScores.g.cs index d8f16265..5e6a7e06 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentPromptVersionScores.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentPromptVersionScores.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentPromptVersionScoresServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentPromptVersionScoresSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessGetExperimentPromptVersionScoresResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/{promptVersionId}/scores", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentPromptVersionScoresServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentScore.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentScore.g.cs index 869e78e2..64d9ba37 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentScore.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentScore.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentScoreServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentScoreSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -93,7 +106,9 @@ partial void ProcessGetExperimentScoreResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/{requestId}/{scoreKey}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentScoreServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTableById.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTableById.g.cs index 67d9a56c..328d6d8b 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTableById.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTableById.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentTableByIdServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentTableByIdSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetExperimentTableByIdResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/table/{experimentTableId}/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentTableByIdServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTableMetadata.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTableMetadata.g.cs index 3bf4673c..b33a8a88 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTableMetadata.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTableMetadata.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentTableMetadataServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentTableMetadataSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetExperimentTableMetadataResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/table/{experimentTableId}/metadata/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentTableMetadataServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTables.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTables.g.cs index 0527671f..be63177f 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTables.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentTables.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentTablesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentTablesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetExperimentTablesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment/tables/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentTablesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperiments.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperiments.g.cs index 39c0934a..042406b2 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperiments.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperiments.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetExperimentsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v2/experiment", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentsOld.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentsOld.g.cs index 3f11bd40..54ea143e 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentsOld.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetExperimentsOld.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetExperimentsOldServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetExperimentsOldSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetExperimentsOldResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetExperimentsOldServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetInputKeysForExperiment.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetInputKeysForExperiment.g.cs index 16be45a3..5595cf0b 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetInputKeysForExperiment.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetInputKeysForExperiment.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetInputKeysForExperimentServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetInputKeysForExperimentSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetInputKeysForExperimentResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/input-keys", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetInputKeysForExperimentServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetPromptVersionsForExperiment.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetPromptVersionsForExperiment.g.cs index fbc55c69..262f374a 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetPromptVersionsForExperiment.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.GetPromptVersionsForExperiment.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPromptVersionsForExperimentServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPromptVersionsForExperimentSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetPromptVersionsForExperimentResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/prompt-versions", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPromptVersionsForExperimentServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunExperimentEvaluators.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunExperimentEvaluators.g.cs index c869c1ba..da231a28 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunExperimentEvaluators.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunExperimentEvaluators.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_RunExperimentEvaluatorsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_RunExperimentEvaluatorsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessRunExperimentEvaluatorsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/evaluators/run", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_RunExperimentEvaluatorsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunExperimentEvaluatorsOld.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunExperimentEvaluatorsOld.g.cs index 060fcce3..dcb39a6e 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunExperimentEvaluatorsOld.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunExperimentEvaluatorsOld.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_RunExperimentEvaluatorsOldServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_RunExperimentEvaluatorsOldSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessRunExperimentEvaluatorsOldResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/{experimentId}/evaluators/run", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_RunExperimentEvaluatorsOldServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunHypothesis.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunHypothesis.g.cs index e0503d76..c2000933 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunHypothesis.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.RunHypothesis.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_RunHypothesisServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_RunHypothesisSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessRunHypothesisResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/run-hypothesis", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_RunHypothesisServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.ShouldRunEvaluators.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.ShouldRunEvaluators.g.cs index 8888a34b..5fb9a4c4 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.ShouldRunEvaluators.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.ShouldRunEvaluators.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_ShouldRunEvaluatorsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_ShouldRunEvaluatorsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessShouldRunEvaluatorsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/should-run-evaluators", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_ShouldRunEvaluatorsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentCell.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentCell.g.cs index d9abd7f3..a66132ad 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentCell.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentCell.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateExperimentCellServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateExperimentCellSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdateExperimentCellResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/experiment/table/{experimentTableId}/cell", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateExperimentCellServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentMeta.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentMeta.g.cs index 572e25be..0d093e09 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentMeta.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentMeta.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateExperimentMetaServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateExperimentMetaSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessUpdateExperimentMetaResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/experiment/update-meta", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateExperimentMetaServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentTableRow.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentTableRow.g.cs index 03ad7fa1..cf39bf18 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentTableRow.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.UpdateExperimentTableRow.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ExperimentClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateExperimentTableRowServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateExperimentTableRowSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdateExperimentTableRowResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v2/experiment/{experimentId}/row/update", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateExperimentTableRowServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ExperimentClient.g.cs b/src/libs/Helicone/Generated/Helicone.ExperimentClient.g.cs index 41566504..2aadc86c 100644 --- a/src/libs/Helicone/Generated/Helicone.ExperimentClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ExperimentClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class ExperimentClient : global::Helicone.IExperimentClien public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class ExperimentClient : global::Helicone.IExperimentClien /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the ExperimentClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public ExperimentClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.HeliconeClient.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeClient.g.cs index 7346cf36..3b5846f2 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,6 +33,9 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// @@ -46,6 +49,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -55,6 +59,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -64,6 +69,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -73,6 +79,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -82,6 +89,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -91,6 +99,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -100,6 +109,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -109,6 +119,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -118,6 +129,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -127,6 +139,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -136,6 +149,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -145,6 +159,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -154,6 +169,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -163,6 +179,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -172,6 +189,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -181,6 +199,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -190,6 +209,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -199,6 +219,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -208,6 +229,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -217,6 +239,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -226,6 +249,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -235,6 +259,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -244,6 +269,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -253,6 +279,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -262,6 +289,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -271,6 +299,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -280,6 +309,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -289,6 +319,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -298,6 +329,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -307,6 +339,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -316,6 +349,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -325,6 +359,7 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, }; /// @@ -334,8 +369,37 @@ public sealed partial class HeliconeClient : global::Helicone.IHeliconeClient, g { ReadResponseAsString = ReadResponseAsString, JsonSerializerContext = JsonSerializerContext, + AutoSDKServerConfiguration = AutoSDKServerConfiguration, + }; + + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), }; + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the HeliconeClient. /// If no httpClient is provided, a new one will be created. @@ -382,6 +446,8 @@ public HeliconeClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -408,5 +474,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.HeliconeSqlClient.BulkDeleteSavedQueries.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.BulkDeleteSavedQueries.g.cs index 1953c642..045036dc 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.BulkDeleteSavedQueries.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.BulkDeleteSavedQueries.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class HeliconeSqlClient { + private static readonly global::Helicone.AutoSDKServer[] s_BulkDeleteSavedQueriesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_BulkDeleteSavedQueriesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -87,7 +100,9 @@ partial void ProcessBulkDeleteSavedQueriesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/helicone-sql/saved-queries/bulk-delete", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_BulkDeleteSavedQueriesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.CreateSavedQuery.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.CreateSavedQuery.g.cs index 5d432a41..485e10b5 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.CreateSavedQuery.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.CreateSavedQuery.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class HeliconeSqlClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateSavedQueryServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateSavedQuerySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -87,7 +100,9 @@ partial void ProcessCreateSavedQueryResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/helicone-sql/saved-query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateSavedQueryServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.DeleteSavedQuery.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.DeleteSavedQuery.g.cs index 1107eed9..e57e2cd2 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.DeleteSavedQuery.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.DeleteSavedQuery.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class HeliconeSqlClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteSavedQueryServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteSavedQuerySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -84,7 +97,9 @@ partial void ProcessDeleteSavedQueryResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/helicone-sql/saved-query/{queryId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteSavedQueryServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.DownloadCsv.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.DownloadCsv.g.cs index 19b390aa..5b9e335b 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.DownloadCsv.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.DownloadCsv.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class HeliconeSqlClient { + private static readonly global::Helicone.AutoSDKServer[] s_DownloadCsvServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DownloadCsvSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -87,7 +100,9 @@ partial void ProcessDownloadCsvResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/helicone-sql/download", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DownloadCsvServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.ExecuteSql.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.ExecuteSql.g.cs index d35ef69b..6581648b 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.ExecuteSql.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.ExecuteSql.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class HeliconeSqlClient { + private static readonly global::Helicone.AutoSDKServer[] s_ExecuteSqlServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_ExecuteSqlSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -87,7 +100,9 @@ partial void ProcessExecuteSqlResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/helicone-sql/execute", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_ExecuteSqlServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetClickHouseSchema.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetClickHouseSchema.g.cs index 30809bda..7673971b 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetClickHouseSchema.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetClickHouseSchema.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class HeliconeSqlClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetClickHouseSchemaServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetClickHouseSchemaSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -79,7 +92,9 @@ partial void ProcessGetClickHouseSchemaResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/helicone-sql/schema", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetClickHouseSchemaServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetSavedQueries.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetSavedQueries.g.cs index fffd38bc..1653b25f 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetSavedQueries.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetSavedQueries.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class HeliconeSqlClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSavedQueriesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSavedQueriesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -79,7 +92,9 @@ partial void ProcessGetSavedQueriesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/helicone-sql/saved-queries", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSavedQueriesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetSavedQuery.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetSavedQuery.g.cs index 2832553b..da2217c1 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetSavedQuery.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.GetSavedQuery.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class HeliconeSqlClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSavedQueryServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSavedQuerySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -84,7 +97,9 @@ partial void ProcessGetSavedQueryResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/helicone-sql/saved-query/{queryId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSavedQueryServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.UpdateSavedQuery.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.UpdateSavedQuery.g.cs index ed3ea962..e6597497 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.UpdateSavedQuery.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.UpdateSavedQuery.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class HeliconeSqlClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateSavedQueryServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateSavedQuerySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -92,7 +105,9 @@ partial void ProcessUpdateSavedQueryResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/helicone-sql/saved-query/{queryId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateSavedQueryServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.g.cs b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.g.cs index 97f4fa9f..f99d3e02 100644 --- a/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.HeliconeSqlClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class HeliconeSqlClient : global::Helicone.IHeliconeSqlCli public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class HeliconeSqlClient : global::Helicone.IHeliconeSqlCli /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the HeliconeSqlClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public HeliconeSqlClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.IAgentClient.g.cs b/src/libs/Helicone/Generated/Helicone.IAgentClient.g.cs index cce74283..794e5e1c 100644 --- a/src/libs/Helicone/Generated/Helicone.IAgentClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IAgentClient.g.cs @@ -19,6 +19,27 @@ public partial interface IAgentClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IApiKeyClient.g.cs b/src/libs/Helicone/Generated/Helicone.IApiKeyClient.g.cs index fda618ef..a7f4559d 100644 --- a/src/libs/Helicone/Generated/Helicone.IApiKeyClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IApiKeyClient.g.cs @@ -19,6 +19,27 @@ public partial interface IApiKeyClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IComparisonClient.g.cs b/src/libs/Helicone/Generated/Helicone.IComparisonClient.g.cs index ea5e862e..67277b0c 100644 --- a/src/libs/Helicone/Generated/Helicone.IComparisonClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IComparisonClient.g.cs @@ -19,6 +19,27 @@ public partial interface IComparisonClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.ICreditsClient.g.cs b/src/libs/Helicone/Generated/Helicone.ICreditsClient.g.cs index 4808e41d..cb38359e 100644 --- a/src/libs/Helicone/Generated/Helicone.ICreditsClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ICreditsClient.g.cs @@ -19,6 +19,27 @@ public partial interface ICreditsClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.ICustomerClient.g.cs b/src/libs/Helicone/Generated/Helicone.ICustomerClient.g.cs index b549e9f8..01b15d80 100644 --- a/src/libs/Helicone/Generated/Helicone.ICustomerClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ICustomerClient.g.cs @@ -19,6 +19,27 @@ public partial interface ICustomerClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IDashboardClient.g.cs b/src/libs/Helicone/Generated/Helicone.IDashboardClient.g.cs index 8ed741cf..3726ff29 100644 --- a/src/libs/Helicone/Generated/Helicone.IDashboardClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IDashboardClient.g.cs @@ -19,6 +19,27 @@ public partial interface IDashboardClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IDatasetClient.g.cs b/src/libs/Helicone/Generated/Helicone.IDatasetClient.g.cs index 74eb0df8..1799e766 100644 --- a/src/libs/Helicone/Generated/Helicone.IDatasetClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IDatasetClient.g.cs @@ -19,6 +19,27 @@ public partial interface IDatasetClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IEvalsClient.g.cs b/src/libs/Helicone/Generated/Helicone.IEvalsClient.g.cs index 6be5ca84..31f7e07d 100644 --- a/src/libs/Helicone/Generated/Helicone.IEvalsClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IEvalsClient.g.cs @@ -19,6 +19,27 @@ public partial interface IEvalsClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IEvaluatorClient.g.cs b/src/libs/Helicone/Generated/Helicone.IEvaluatorClient.g.cs index 92529e38..a30483bc 100644 --- a/src/libs/Helicone/Generated/Helicone.IEvaluatorClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IEvaluatorClient.g.cs @@ -19,6 +19,27 @@ public partial interface IEvaluatorClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IExperimentClient.g.cs b/src/libs/Helicone/Generated/Helicone.IExperimentClient.g.cs index a4a529fa..2b26e3ed 100644 --- a/src/libs/Helicone/Generated/Helicone.IExperimentClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IExperimentClient.g.cs @@ -19,6 +19,27 @@ public partial interface IExperimentClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IHeliconeClient.g.cs b/src/libs/Helicone/Generated/Helicone.IHeliconeClient.g.cs index 85650fe0..fe9f5723 100644 --- a/src/libs/Helicone/Generated/Helicone.IHeliconeClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IHeliconeClient.g.cs @@ -19,6 +19,27 @@ public partial interface IHeliconeClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IHeliconeSqlClient.g.cs b/src/libs/Helicone/Generated/Helicone.IHeliconeSqlClient.g.cs index 524313c9..ee8ed298 100644 --- a/src/libs/Helicone/Generated/Helicone.IHeliconeSqlClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IHeliconeSqlClient.g.cs @@ -19,6 +19,27 @@ public partial interface IHeliconeSqlClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IIntegrationClient.g.cs b/src/libs/Helicone/Generated/Helicone.IIntegrationClient.g.cs index 4e3be9e0..db47d6ef 100644 --- a/src/libs/Helicone/Generated/Helicone.IIntegrationClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IIntegrationClient.g.cs @@ -19,6 +19,27 @@ public partial interface IIntegrationClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IMetricsClient.g.cs b/src/libs/Helicone/Generated/Helicone.IMetricsClient.g.cs index b0e91c28..6d43498e 100644 --- a/src/libs/Helicone/Generated/Helicone.IMetricsClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IMetricsClient.g.cs @@ -19,6 +19,27 @@ public partial interface IMetricsClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IModelRegistryClient.g.cs b/src/libs/Helicone/Generated/Helicone.IModelRegistryClient.g.cs index 5cdf122b..212fbd7d 100644 --- a/src/libs/Helicone/Generated/Helicone.IModelRegistryClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IModelRegistryClient.g.cs @@ -19,6 +19,27 @@ public partial interface IModelRegistryClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IModelsClient.g.cs b/src/libs/Helicone/Generated/Helicone.IModelsClient.g.cs index 9935dc41..b2d168d2 100644 --- a/src/libs/Helicone/Generated/Helicone.IModelsClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IModelsClient.g.cs @@ -19,6 +19,27 @@ public partial interface IModelsClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IPiClient.g.cs b/src/libs/Helicone/Generated/Helicone.IPiClient.g.cs index b678f02c..9847700b 100644 --- a/src/libs/Helicone/Generated/Helicone.IPiClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IPiClient.g.cs @@ -19,6 +19,27 @@ public partial interface IPiClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IPlaygroundClient.g.cs b/src/libs/Helicone/Generated/Helicone.IPlaygroundClient.g.cs index 55e05c8e..7b5a8a60 100644 --- a/src/libs/Helicone/Generated/Helicone.IPlaygroundClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IPlaygroundClient.g.cs @@ -19,6 +19,27 @@ public partial interface IPlaygroundClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IPrompt2025Client.g.cs b/src/libs/Helicone/Generated/Helicone.IPrompt2025Client.g.cs index cf2c3aec..1f24dcaa 100644 --- a/src/libs/Helicone/Generated/Helicone.IPrompt2025Client.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IPrompt2025Client.g.cs @@ -19,6 +19,27 @@ public partial interface IPrompt2025Client : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IPrompt2025V2Client.g.cs b/src/libs/Helicone/Generated/Helicone.IPrompt2025V2Client.g.cs index 05d18dea..91eeadf2 100644 --- a/src/libs/Helicone/Generated/Helicone.IPrompt2025V2Client.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IPrompt2025V2Client.g.cs @@ -19,6 +19,27 @@ public partial interface IPrompt2025V2Client : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IPromptClient.g.cs b/src/libs/Helicone/Generated/Helicone.IPromptClient.g.cs index 77aa21a0..5e3be3e7 100644 --- a/src/libs/Helicone/Generated/Helicone.IPromptClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IPromptClient.g.cs @@ -19,6 +19,27 @@ public partial interface IPromptClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IPropertyClient.g.cs b/src/libs/Helicone/Generated/Helicone.IPropertyClient.g.cs index 929906f7..bcc0d339 100644 --- a/src/libs/Helicone/Generated/Helicone.IPropertyClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IPropertyClient.g.cs @@ -19,6 +19,27 @@ public partial interface IPropertyClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IProvidersClient.g.cs b/src/libs/Helicone/Generated/Helicone.IProvidersClient.g.cs index 6f3fe0c6..0d5a0164 100644 --- a/src/libs/Helicone/Generated/Helicone.IProvidersClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IProvidersClient.g.cs @@ -19,6 +19,27 @@ public partial interface IProvidersClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IRequestClient.g.cs b/src/libs/Helicone/Generated/Helicone.IRequestClient.g.cs index c6326605..5f704920 100644 --- a/src/libs/Helicone/Generated/Helicone.IRequestClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IRequestClient.g.cs @@ -19,6 +19,27 @@ public partial interface IRequestClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.ISecurityClient.g.cs b/src/libs/Helicone/Generated/Helicone.ISecurityClient.g.cs index b4decfd3..16a705ad 100644 --- a/src/libs/Helicone/Generated/Helicone.ISecurityClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ISecurityClient.g.cs @@ -19,6 +19,27 @@ public partial interface ISecurityClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.ISessionClient.g.cs b/src/libs/Helicone/Generated/Helicone.ISessionClient.g.cs index c66ef79f..13d7278b 100644 --- a/src/libs/Helicone/Generated/Helicone.ISessionClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ISessionClient.g.cs @@ -19,6 +19,27 @@ public partial interface ISessionClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IStatusClient.g.cs b/src/libs/Helicone/Generated/Helicone.IStatusClient.g.cs index ad333738..36ea857b 100644 --- a/src/libs/Helicone/Generated/Helicone.IStatusClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IStatusClient.g.cs @@ -19,6 +19,27 @@ public partial interface IStatusClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IStripeClient.g.cs b/src/libs/Helicone/Generated/Helicone.IStripeClient.g.cs index 155a6488..98236d81 100644 --- a/src/libs/Helicone/Generated/Helicone.IStripeClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IStripeClient.g.cs @@ -19,6 +19,27 @@ public partial interface IStripeClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.ITestClient.g.cs b/src/libs/Helicone/Generated/Helicone.ITestClient.g.cs index 80ae50e2..928ecd70 100644 --- a/src/libs/Helicone/Generated/Helicone.ITestClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ITestClient.g.cs @@ -19,6 +19,27 @@ public partial interface ITestClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.ITraceClient.g.cs b/src/libs/Helicone/Generated/Helicone.ITraceClient.g.cs index e3cc93ff..cc8aec97 100644 --- a/src/libs/Helicone/Generated/Helicone.ITraceClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ITraceClient.g.cs @@ -19,6 +19,27 @@ public partial interface ITraceClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IUserClient.g.cs b/src/libs/Helicone/Generated/Helicone.IUserClient.g.cs index cd11bf4e..3b559086 100644 --- a/src/libs/Helicone/Generated/Helicone.IUserClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IUserClient.g.cs @@ -19,6 +19,27 @@ public partial interface IUserClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IVaultClient.g.cs b/src/libs/Helicone/Generated/Helicone.IVaultClient.g.cs index aed0daed..d37717c7 100644 --- a/src/libs/Helicone/Generated/Helicone.IVaultClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IVaultClient.g.cs @@ -19,6 +19,27 @@ public partial interface IVaultClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IWebhooksClient.g.cs b/src/libs/Helicone/Generated/Helicone.IWebhooksClient.g.cs index b922be5e..fdf9d83e 100644 --- a/src/libs/Helicone/Generated/Helicone.IWebhooksClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IWebhooksClient.g.cs @@ -19,6 +19,27 @@ public partial interface IWebhooksClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IWrappedClient.g.cs b/src/libs/Helicone/Generated/Helicone.IWrappedClient.g.cs index e0b65f2e..37986a74 100644 --- a/src/libs/Helicone/Generated/Helicone.IWrappedClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IWrappedClient.g.cs @@ -19,6 +19,27 @@ public partial interface IWrappedClient : global::System.IDisposable /// 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::Helicone.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. /// diff --git a/src/libs/Helicone/Generated/Helicone.IntegrationClient.CreateIntegration.g.cs b/src/libs/Helicone/Generated/Helicone.IntegrationClient.CreateIntegration.g.cs index 7ce9f558..c5322627 100644 --- a/src/libs/Helicone/Generated/Helicone.IntegrationClient.CreateIntegration.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IntegrationClient.CreateIntegration.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class IntegrationClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateIntegrationServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateIntegrationSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateIntegrationResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/integration", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateIntegrationServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegration.g.cs b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegration.g.cs index b0050f84..eab4e9d6 100644 --- a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegration.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegration.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class IntegrationClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetIntegrationServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetIntegrationSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetIntegrationResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/integration/{integrationId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetIntegrationServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegrationByType.g.cs b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegrationByType.g.cs index 2961dedf..c1bc6450 100644 --- a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegrationByType.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegrationByType.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class IntegrationClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetIntegrationByTypeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetIntegrationByTypeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetIntegrationByTypeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/integration/type/{type}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetIntegrationByTypeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegrations.g.cs b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegrations.g.cs index 526da530..60388044 100644 --- a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegrations.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetIntegrations.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class IntegrationClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetIntegrationsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetIntegrationsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetIntegrationsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/integration", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetIntegrationsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetSlackChannels.g.cs b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetSlackChannels.g.cs index 4b52effd..1c0fa5d0 100644 --- a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetSlackChannels.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetSlackChannels.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class IntegrationClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSlackChannelsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSlackChannelsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetSlackChannelsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/integration/slack/channels", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSlackChannelsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetSlackSettings.g.cs b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetSlackSettings.g.cs index ee587c0d..a75dd9be 100644 --- a/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetSlackSettings.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IntegrationClient.GetSlackSettings.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class IntegrationClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSlackSettingsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSlackSettingsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetSlackSettingsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/integration/slack/settings", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSlackSettingsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.IntegrationClient.TestStripeMeterEvent.g.cs b/src/libs/Helicone/Generated/Helicone.IntegrationClient.TestStripeMeterEvent.g.cs index 44655667..17fb51f3 100644 --- a/src/libs/Helicone/Generated/Helicone.IntegrationClient.TestStripeMeterEvent.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IntegrationClient.TestStripeMeterEvent.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class IntegrationClient { + private static readonly global::Helicone.AutoSDKServer[] s_TestStripeMeterEventServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_TestStripeMeterEventSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessTestStripeMeterEventResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/integration/{integrationId}/stripe/test-meter-event", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_TestStripeMeterEventServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.IntegrationClient.UpdateIntegration.g.cs b/src/libs/Helicone/Generated/Helicone.IntegrationClient.UpdateIntegration.g.cs index 1b7aaaf7..d637bfed 100644 --- a/src/libs/Helicone/Generated/Helicone.IntegrationClient.UpdateIntegration.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IntegrationClient.UpdateIntegration.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class IntegrationClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateIntegrationServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateIntegrationSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdateIntegrationResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/integration/{integrationId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateIntegrationServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.IntegrationClient.g.cs b/src/libs/Helicone/Generated/Helicone.IntegrationClient.g.cs index e09bc68c..7cdd9a2c 100644 --- a/src/libs/Helicone/Generated/Helicone.IntegrationClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.IntegrationClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class IntegrationClient : global::Helicone.IIntegrationCli public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class IntegrationClient : global::Helicone.IIntegrationCli /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the IntegrationClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public IntegrationClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.MetricsClient.GetActiveUsers.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetActiveUsers.g.cs index 7aaef237..c48f717d 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetActiveUsers.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetActiveUsers.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetActiveUsersServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetActiveUsersSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetActiveUsersResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/activeUsers", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetActiveUsersServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageLatency.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageLatency.g.cs index cacd5235..84478b76 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageLatency.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageLatency.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetAverageLatencyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetAverageLatencySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetAverageLatencyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/averageLatency", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetAverageLatencyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageTimeToFirstToken.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageTimeToFirstToken.g.cs index 05d30d81..f0d8aac1 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageTimeToFirstToken.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageTimeToFirstToken.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetAverageTimeToFirstTokenServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetAverageTimeToFirstTokenSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetAverageTimeToFirstTokenResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/averageTimeToFirstToken", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetAverageTimeToFirstTokenServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageTokensPerRequest.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageTokensPerRequest.g.cs index 56eb6070..89423abe 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageTokensPerRequest.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetAverageTokensPerRequest.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetAverageTokensPerRequestServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetAverageTokensPerRequestSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetAverageTokensPerRequestResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/averageTokensPerRequest", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetAverageTokensPerRequestServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetCostOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetCostOverTime.g.cs index b2c73f0d..24253fbb 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetCostOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetCostOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetCostOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetCostOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetCostOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/costOverTime", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetCostOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetCountryMetrics.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetCountryMetrics.g.cs index 15a86876..a7549df2 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetCountryMetrics.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetCountryMetrics.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetCountryMetricsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetCountryMetricsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetCountryMetricsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/country", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetCountryMetricsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetErrorsOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetErrorsOverTime.g.cs index 07eb36fa..1cb81d86 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetErrorsOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetErrorsOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetErrorsOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetErrorsOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetErrorsOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/errorOverTime", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetErrorsOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetLatencyOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetLatencyOverTime.g.cs index 9c249602..cc8f5651 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetLatencyOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetLatencyOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetLatencyOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetLatencyOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetLatencyOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/latencyOverTime", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetLatencyOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetModelMetrics.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetModelMetrics.g.cs index eed43a9f..96a18f6b 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetModelMetrics.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetModelMetrics.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetModelMetricsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetModelMetricsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetModelMetricsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/models", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetModelMetricsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetQuantiles.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetQuantiles.g.cs index 16286694..07726dae 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetQuantiles.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetQuantiles.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetQuantilesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetQuantilesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetQuantilesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/quantiles", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetQuantilesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestCount.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestCount.g.cs index 2642ad42..ed0b3b9c 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestCount.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestCount.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestCountServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestCountSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetRequestCountResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/requestCount", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestCountServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestStatusOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestStatusOverTime.g.cs index cfd465d4..2cfd232a 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestStatusOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestStatusOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestStatusOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestStatusOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetRequestStatusOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/requestStatusOverTime", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestStatusOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestsOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestsOverTime.g.cs index 32f474f6..b4e538f4 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestsOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetRequestsOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestsOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestsOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetRequestsOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/requestOverTime", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestsOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetThreatsOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetThreatsOverTime.g.cs index f5abcfa2..f1b258f0 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetThreatsOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetThreatsOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetThreatsOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetThreatsOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetThreatsOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/threatsOverTime", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetThreatsOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTimeToFirstTokenOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTimeToFirstTokenOverTime.g.cs index 979eba80..598951f2 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTimeToFirstTokenOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTimeToFirstTokenOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetTimeToFirstTokenOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetTimeToFirstTokenOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetTimeToFirstTokenOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/timeToFirstToken", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetTimeToFirstTokenOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTokensOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTokensOverTime.g.cs index 5606c4ad..1d07ffd2 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTokensOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTokensOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetTokensOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetTokensOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetTokensOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/tokensOverTime", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetTokensOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalCost.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalCost.g.cs index 2a91808b..4a9af228 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalCost.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalCost.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetTotalCostServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetTotalCostSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetTotalCostResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/totalCost", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetTotalCostServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalRequests.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalRequests.g.cs index d77f2d47..fa1eaef1 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalRequests.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalRequests.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetTotalRequestsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetTotalRequestsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetTotalRequestsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/totalRequests", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetTotalRequestsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalThreats.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalThreats.g.cs index c6352428..107a29f1 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalThreats.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetTotalThreats.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetTotalThreatsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetTotalThreatsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetTotalThreatsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/totalThreats", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetTotalThreatsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetUsersOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetUsersOverTime.g.cs index 661e8071..c9953e09 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.GetUsersOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.GetUsersOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class MetricsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetUsersOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetUsersOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetUsersOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/metrics/usersOverTime", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetUsersOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.MetricsClient.g.cs b/src/libs/Helicone/Generated/Helicone.MetricsClient.g.cs index 0796bdcc..614cb0f6 100644 --- a/src/libs/Helicone/Generated/Helicone.MetricsClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.MetricsClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class MetricsClient : global::Helicone.IMetricsClient, glo public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class MetricsClient : global::Helicone.IMetricsClient, glo /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the MetricsClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public MetricsClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.ModelRegistryClient.GetModelRegistry.g.cs b/src/libs/Helicone/Generated/Helicone.ModelRegistryClient.GetModelRegistry.g.cs index 8129f2df..b290f7a8 100644 --- a/src/libs/Helicone/Generated/Helicone.ModelRegistryClient.GetModelRegistry.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ModelRegistryClient.GetModelRegistry.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ModelRegistryClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetModelRegistryServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetModelRegistrySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -79,7 +92,9 @@ partial void ProcessGetModelRegistryResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/public/model-registry/models", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetModelRegistryServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ModelRegistryClient.g.cs b/src/libs/Helicone/Generated/Helicone.ModelRegistryClient.g.cs index eacbaaee..681522a7 100644 --- a/src/libs/Helicone/Generated/Helicone.ModelRegistryClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ModelRegistryClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class ModelRegistryClient : global::Helicone.IModelRegistr public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class ModelRegistryClient : global::Helicone.IModelRegistr /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the ModelRegistryClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public ModelRegistryClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.ModelsClient.GetModels.g.cs b/src/libs/Helicone/Generated/Helicone.ModelsClient.GetModels.g.cs index 1b03ba38..9566238d 100644 --- a/src/libs/Helicone/Generated/Helicone.ModelsClient.GetModels.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ModelsClient.GetModels.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ModelsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetModelsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetModelsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetModelsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/models", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetModelsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ModelsClient.GetMultimodalModels.g.cs b/src/libs/Helicone/Generated/Helicone.ModelsClient.GetMultimodalModels.g.cs index 4c2c6ef2..fd562c0a 100644 --- a/src/libs/Helicone/Generated/Helicone.ModelsClient.GetMultimodalModels.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ModelsClient.GetMultimodalModels.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ModelsClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetMultimodalModelsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetMultimodalModelsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetMultimodalModelsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/models/multimodal", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetMultimodalModelsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ModelsClient.g.cs b/src/libs/Helicone/Generated/Helicone.ModelsClient.g.cs index c75f7d58..ef43eb12 100644 --- a/src/libs/Helicone/Generated/Helicone.ModelsClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ModelsClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class ModelsClient : global::Helicone.IModelsClient, globa public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class ModelsClient : global::Helicone.IModelsClient, globa /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the ModelsClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public ModelsClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.PiClient.AddSession.g.cs b/src/libs/Helicone/Generated/Helicone.PiClient.AddSession.g.cs index 3dd7ba65..4747327b 100644 --- a/src/libs/Helicone/Generated/Helicone.PiClient.AddSession.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PiClient.AddSession.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PiClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddSessionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddSessionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessAddSessionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/pi/session", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddSessionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PiClient.GetApiKey.g.cs b/src/libs/Helicone/Generated/Helicone.PiClient.GetApiKey.g.cs index d08de24d..f8cc255c 100644 --- a/src/libs/Helicone/Generated/Helicone.PiClient.GetApiKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PiClient.GetApiKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PiClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetApiKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetApiKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetApiKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/public/pi/get-api-key", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetApiKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PiClient.GetCostsOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.PiClient.GetCostsOverTime.g.cs index 2183cd9e..63ba005e 100644 --- a/src/libs/Helicone/Generated/Helicone.PiClient.GetCostsOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PiClient.GetCostsOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PiClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetCostsOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetCostsOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetCostsOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/pi/costs-over-time/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetCostsOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PiClient.GetOrgName.g.cs b/src/libs/Helicone/Generated/Helicone.PiClient.GetOrgName.g.cs index 72d4e332..2fac62d2 100644 --- a/src/libs/Helicone/Generated/Helicone.PiClient.GetOrgName.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PiClient.GetOrgName.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PiClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetOrgNameServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetOrgNameSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetOrgNameResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/pi/org-name/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetOrgNameServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PiClient.GetTotalCosts.g.cs b/src/libs/Helicone/Generated/Helicone.PiClient.GetTotalCosts.g.cs index a45329e0..d6e34df2 100644 --- a/src/libs/Helicone/Generated/Helicone.PiClient.GetTotalCosts.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PiClient.GetTotalCosts.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PiClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetTotalCostsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetTotalCostsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetTotalCostsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/pi/total-costs", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetTotalCostsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PiClient.PiGetTotalRequests.g.cs b/src/libs/Helicone/Generated/Helicone.PiClient.PiGetTotalRequests.g.cs index f537ee5d..e23045e9 100644 --- a/src/libs/Helicone/Generated/Helicone.PiClient.PiGetTotalRequests.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PiClient.PiGetTotalRequests.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PiClient { + private static readonly global::Helicone.AutoSDKServer[] s_PiGetTotalRequestsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_PiGetTotalRequestsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessPiGetTotalRequestsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/pi/total_requests", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_PiGetTotalRequestsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PiClient.g.cs b/src/libs/Helicone/Generated/Helicone.PiClient.g.cs index ec87c8d6..4f69735c 100644 --- a/src/libs/Helicone/Generated/Helicone.PiClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PiClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class PiClient : global::Helicone.IPiClient, global::Syste public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class PiClient : global::Helicone.IPiClient, global::Syste /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the PiClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public PiClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.PlaygroundClient.Generate.g.cs b/src/libs/Helicone/Generated/Helicone.PlaygroundClient.Generate.g.cs index b83be1b0..06191204 100644 --- a/src/libs/Helicone/Generated/Helicone.PlaygroundClient.Generate.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PlaygroundClient.Generate.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PlaygroundClient { + private static readonly global::Helicone.AutoSDKServer[] s_GenerateServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GenerateSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -84,7 +97,9 @@ partial void ProcessGenerateResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/playground/generate", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GenerateServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PlaygroundClient.GetRequestsThroughHelicone.g.cs b/src/libs/Helicone/Generated/Helicone.PlaygroundClient.GetRequestsThroughHelicone.g.cs index 27afa962..862924df 100644 --- a/src/libs/Helicone/Generated/Helicone.PlaygroundClient.GetRequestsThroughHelicone.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PlaygroundClient.GetRequestsThroughHelicone.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PlaygroundClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestsThroughHeliconeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestsThroughHeliconeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetRequestsThroughHeliconeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/playground/requests-through-helicone", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestsThroughHeliconeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PlaygroundClient.RequestsThroughHelicone.g.cs b/src/libs/Helicone/Generated/Helicone.PlaygroundClient.RequestsThroughHelicone.g.cs index 3e81c976..fadcaf12 100644 --- a/src/libs/Helicone/Generated/Helicone.PlaygroundClient.RequestsThroughHelicone.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PlaygroundClient.RequestsThroughHelicone.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PlaygroundClient { + private static readonly global::Helicone.AutoSDKServer[] s_RequestsThroughHeliconeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_RequestsThroughHeliconeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessRequestsThroughHeliconeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/playground/requests-through-helicone", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_RequestsThroughHeliconeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PlaygroundClient.g.cs b/src/libs/Helicone/Generated/Helicone.PlaygroundClient.g.cs index b5ff1ed6..82e32a2c 100644 --- a/src/libs/Helicone/Generated/Helicone.PlaygroundClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PlaygroundClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class PlaygroundClient : global::Helicone.IPlaygroundClien public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class PlaygroundClient : global::Helicone.IPlaygroundClien /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the PlaygroundClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public PlaygroundClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.Prompt2025Client.CreatePrompt2025.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.CreatePrompt2025.g.cs index b04d023b..8ba0458a 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.CreatePrompt2025.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.CreatePrompt2025.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_CreatePrompt2025Servers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreatePrompt2025SecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreatePrompt2025ResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreatePrompt2025Servers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.DeletePrompt2025.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.DeletePrompt2025.g.cs index d1285b6c..21c88845 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.DeletePrompt2025.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.DeletePrompt2025.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_DeletePrompt2025Servers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeletePrompt2025SecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeletePrompt2025ResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt-2025/{promptId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeletePrompt2025Servers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.DeletePrompt2025Version.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.DeletePrompt2025Version.g.cs index b445b4c5..f0a21f80 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.DeletePrompt2025Version.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.DeletePrompt2025Version.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_DeletePrompt2025VersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeletePrompt2025VersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessDeletePrompt2025VersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt-2025/{promptId}/{versionId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeletePrompt2025VersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025.g.cs index b0ea8999..e61ce573 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025Servers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025SecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetPrompt2025ResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt-2025/id/{promptId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025Servers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Count.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Count.g.cs index 42a2860c..8ad5a7f3 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Count.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Count.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025CountServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025CountSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetPrompt2025CountResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/count", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025CountServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025EnvironmentVersion.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025EnvironmentVersion.g.cs index ca3ed0bb..bc715cc6 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025EnvironmentVersion.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025EnvironmentVersion.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025EnvironmentVersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025EnvironmentVersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPrompt2025EnvironmentVersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/query/environment-version", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025EnvironmentVersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Environments.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Environments.g.cs index a9fcf959..284a62a4 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Environments.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Environments.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025EnvironmentsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025EnvironmentsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetPrompt2025EnvironmentsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/environments", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025EnvironmentsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Inputs.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Inputs.g.cs index 55a65247..c4d369d5 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Inputs.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Inputs.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025InputsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025InputsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -93,7 +106,9 @@ partial void ProcessGetPrompt2025InputsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt-2025/id/{promptId}/{versionId}/inputs", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025InputsServers, + defaultBaseUrl: "https://api.helicone.ai/")); __pathBuilder .AddRequiredParameter("requestId", requestId) ; diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025ProductionVersion.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025ProductionVersion.g.cs index edecccd8..f1b06e31 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025ProductionVersion.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025ProductionVersion.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025ProductionVersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025ProductionVersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPrompt2025ProductionVersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/query/production-version", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025ProductionVersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Tags.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Tags.g.cs index 2bdf592a..4e1a6fa2 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Tags.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Tags.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025TagsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025TagsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetPrompt2025TagsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/tags", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025TagsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025TotalVersions.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025TotalVersions.g.cs index 3479b1bb..2c83c14f 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025TotalVersions.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025TotalVersions.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025TotalVersionsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025TotalVersionsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPrompt2025TotalVersionsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/query/total-versions", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025TotalVersionsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Version.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Version.g.cs index 4a89e23f..ff270bb4 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Version.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Version.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025VersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025VersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPrompt2025VersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/query/version", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025VersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025VersionBody.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025VersionBody.g.cs index b97424f9..907d09fe 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025VersionBody.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025VersionBody.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025VersionBodyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025VersionBodySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetPrompt2025VersionBodyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt-2025/{promptVersionId}/prompt-body", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025VersionBodyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Versions.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Versions.g.cs index c40d1995..cf51196a 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Versions.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompt2025Versions.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025VersionsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025VersionsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPrompt2025VersionsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/query/versions", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025VersionsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompts2025.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompts2025.g.cs index 3ca7fb2e..0e7bf8a2 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompts2025.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.GetPrompts2025.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompts2025Servers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompts2025SecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPrompts2025ResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompts2025Servers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.RemoveEnvironmentFromVersion.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.RemoveEnvironmentFromVersion.g.cs index 46ab877a..26df8c28 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.RemoveEnvironmentFromVersion.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.RemoveEnvironmentFromVersion.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_RemoveEnvironmentFromVersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_RemoveEnvironmentFromVersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessRemoveEnvironmentFromVersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/remove/environment", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_RemoveEnvironmentFromVersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.RenamePrompt2025.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.RenamePrompt2025.g.cs index 4a0e0c92..dc722fdd 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.RenamePrompt2025.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.RenamePrompt2025.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_RenamePrompt2025Servers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_RenamePrompt2025SecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessRenamePrompt2025ResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt-2025/id/{promptId}/rename", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_RenamePrompt2025Servers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.SetPromptVersionEnvironment.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.SetPromptVersionEnvironment.g.cs index b2dd3855..8a4ddb47 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.SetPromptVersionEnvironment.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.SetPromptVersionEnvironment.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_SetPromptVersionEnvironmentServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_SetPromptVersionEnvironmentSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessSetPromptVersionEnvironmentResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/update/environment", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_SetPromptVersionEnvironmentServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.UpdatePrompt2025.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.UpdatePrompt2025.g.cs index 0286827a..91fd3d12 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.UpdatePrompt2025.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.UpdatePrompt2025.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_UpdatePrompt2025Servers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdatePrompt2025SecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessUpdatePrompt2025ResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt-2025/update", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdatePrompt2025Servers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.UpdatePrompt2025Tags.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.UpdatePrompt2025Tags.g.cs index c78f7222..1c76189b 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.UpdatePrompt2025Tags.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.UpdatePrompt2025Tags.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025Client { + private static readonly global::Helicone.AutoSDKServer[] s_UpdatePrompt2025TagsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdatePrompt2025TagsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdatePrompt2025TagsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt-2025/id/{promptId}/tags", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdatePrompt2025TagsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.g.cs index b5fcebce..f51332a7 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025Client.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025Client.g.cs @@ -20,7 +20,7 @@ public sealed partial class Prompt2025Client : global::Helicone.IPrompt2025Clien public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class Prompt2025Client : global::Helicone.IPrompt2025Clien /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the Prompt2025Client. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public Prompt2025Client( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025EnvironmentVersion.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025EnvironmentVersion.g.cs index 689cf9d1..a2a2db38 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025EnvironmentVersion.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025EnvironmentVersion.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025V2Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025EnvironmentVersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025EnvironmentVersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPrompt2025EnvironmentVersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v2/prompt-2025/query/environment-version", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025EnvironmentVersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025ProductionVersion.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025ProductionVersion.g.cs index 18ecf420..b2b055e6 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025ProductionVersion.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025ProductionVersion.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025V2Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025ProductionVersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025ProductionVersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPrompt2025ProductionVersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v2/prompt-2025/query/production-version", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025ProductionVersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025Version.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025Version.g.cs index 014d9bd6..f5a0867b 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025Version.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.GetPrompt2025Version.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class Prompt2025V2Client { + private static readonly global::Helicone.AutoSDKServer[] s_GetPrompt2025VersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPrompt2025VersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPrompt2025VersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v2/prompt-2025/query/version", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPrompt2025VersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.g.cs b/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.g.cs index 964cac7e..41741fe7 100644 --- a/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.g.cs +++ b/src/libs/Helicone/Generated/Helicone.Prompt2025V2Client.g.cs @@ -20,7 +20,7 @@ public sealed partial class Prompt2025V2Client : global::Helicone.IPrompt2025V2C public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class Prompt2025V2Client : global::Helicone.IPrompt2025V2C /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the Prompt2025V2Client. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public Prompt2025V2Client( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.PromptClient.CreatePrompt.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.CreatePrompt.g.cs index 615b331c..dd20f16e 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.CreatePrompt.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.CreatePrompt.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreatePromptServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreatePromptSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreatePromptResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt/create", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreatePromptServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.CreateSubversion.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.CreateSubversion.g.cs index 478d0d16..786bbaf5 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.CreateSubversion.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.CreateSubversion.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateSubversionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateSubversionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateSubversionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/version/{promptVersionId}/subversion", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateSubversionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.CreateSubversionFromUi.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.CreateSubversionFromUi.g.cs index cac750c2..89433a8e 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.CreateSubversionFromUi.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.CreateSubversionFromUi.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateSubversionFromUiServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateSubversionFromUiSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessCreateSubversionFromUiResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/version/{promptVersionId}/subversion-from-ui", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateSubversionFromUiServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.DeletePrompt.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.DeletePrompt.g.cs index db708076..3dbc3b06 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.DeletePrompt.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.DeletePrompt.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeletePromptServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeletePromptSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessDeletePromptResponse( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/{promptId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeletePromptServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.DeletePromptVersion.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.DeletePromptVersion.g.cs index fd6f51c4..e1a83396 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.DeletePromptVersion.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.DeletePromptVersion.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeletePromptVersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeletePromptVersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeletePromptVersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/version/{promptVersionId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeletePromptVersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.EditPromptVersionLabel.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.EditPromptVersionLabel.g.cs index c7e9332c..e7153d42 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.EditPromptVersionLabel.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.EditPromptVersionLabel.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_EditPromptVersionLabelServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_EditPromptVersionLabelSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessEditPromptVersionLabelResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/version/{promptVersionId}/edit-label", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_EditPromptVersionLabelServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.EditPromptVersionTemplate.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.EditPromptVersionTemplate.g.cs index cd05d329..a06ac803 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.EditPromptVersionTemplate.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.EditPromptVersionTemplate.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_EditPromptVersionTemplateServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_EditPromptVersionTemplateSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessEditPromptVersionTemplateResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/version/{promptVersionId}/edit-template", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_EditPromptVersionTemplateServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.GetInputs.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.GetInputs.g.cs index c0930ba6..4053806d 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.GetInputs.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.GetInputs.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetInputsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetInputsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessGetInputsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/version/{promptVersionId}/inputs/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetInputsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPrompt.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPrompt.g.cs index d283bd39..c4e49b36 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPrompt.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPrompt.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPromptServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPromptSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessGetPromptResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/{promptId}/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPromptServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptExperiments.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptExperiments.g.cs index ae8de238..7bf582d0 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptExperiments.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptExperiments.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPromptExperimentsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPromptExperimentsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetPromptExperimentsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/{promptId}/experiments", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPromptExperimentsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersion.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersion.g.cs index e7f99b0f..0da103bb 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersion.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersion.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPromptVersionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPromptVersionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetPromptVersionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/version/{promptVersionId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPromptVersionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersionTemplates.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersionTemplates.g.cs index 0f04da94..7dd602c3 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersionTemplates.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersionTemplates.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPromptVersionTemplatesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPromptVersionTemplatesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessGetPromptVersionTemplatesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/{userDefinedId}/template", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPromptVersionTemplatesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersions.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersions.g.cs index 355a8176..c4bf2a07 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersions.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersions.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPromptVersionsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPromptVersionsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessGetPromptVersionsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/{promptId}/versions/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPromptVersionsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersionsCompiled.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersionsCompiled.g.cs index 3de16532..7a349180 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersionsCompiled.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPromptVersionsCompiled.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPromptVersionsCompiledServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPromptVersionsCompiledSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessGetPromptVersionsCompiledResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/{userDefinedId}/compile", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPromptVersionsCompiledServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPrompts.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPrompts.g.cs index 2bcb8acb..c3a68272 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.GetPrompts.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.GetPrompts.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPromptsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPromptsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPromptsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPromptsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.HasPrompts.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.HasPrompts.g.cs index f185e480..94a24d85 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.HasPrompts.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.HasPrompts.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_HasPromptsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_HasPromptsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessHasPromptsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/prompt/has-prompts", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_HasPromptsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.PromotePromptVersionToProduction.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.PromotePromptVersionToProduction.g.cs index cc196463..0f4a6740 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.PromotePromptVersionToProduction.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.PromotePromptVersionToProduction.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_PromotePromptVersionToProductionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_PromotePromptVersionToProductionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessPromotePromptVersionToProductionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/version/{promptVersionId}/promote", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_PromotePromptVersionToProductionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.UpdatePromptUserDefinedId.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.UpdatePromptUserDefinedId.g.cs index 28f90b8f..2981235a 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.UpdatePromptUserDefinedId.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.UpdatePromptUserDefinedId.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PromptClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdatePromptUserDefinedIdServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdatePromptUserDefinedIdSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdatePromptUserDefinedIdResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/prompt/{promptId}/user-defined-id", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdatePromptUserDefinedIdServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PromptClient.g.cs b/src/libs/Helicone/Generated/Helicone.PromptClient.g.cs index 2ea6f362..568bc3c3 100644 --- a/src/libs/Helicone/Generated/Helicone.PromptClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PromptClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class PromptClient : global::Helicone.IPromptClient, globa public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class PromptClient : global::Helicone.IPromptClient, globa /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the PromptClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public PromptClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.PropertyClient.GetHiddenProperties.g.cs b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetHiddenProperties.g.cs index f5f302c2..b52e1eef 100644 --- a/src/libs/Helicone/Generated/Helicone.PropertyClient.GetHiddenProperties.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetHiddenProperties.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PropertyClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetHiddenPropertiesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetHiddenPropertiesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetHiddenPropertiesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/property/hidden/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetHiddenPropertiesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PropertyClient.GetProperties.g.cs b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetProperties.g.cs index 7a1bcd41..4508660a 100644 --- a/src/libs/Helicone/Generated/Helicone.PropertyClient.GetProperties.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetProperties.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PropertyClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPropertiesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPropertiesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetPropertiesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/property/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPropertiesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PropertyClient.GetPropertiesOverTime.g.cs b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetPropertiesOverTime.g.cs index 3802aeb3..f1b26608 100644 --- a/src/libs/Helicone/Generated/Helicone.PropertyClient.GetPropertiesOverTime.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetPropertiesOverTime.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PropertyClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPropertiesOverTimeServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPropertiesOverTimeSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -84,7 +97,9 @@ partial void ProcessGetPropertiesOverTimeResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/property/properties/over-time", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPropertiesOverTimeServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PropertyClient.GetTopCosts.g.cs b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetTopCosts.g.cs index dbdb40ea..5c0baf12 100644 --- a/src/libs/Helicone/Generated/Helicone.PropertyClient.GetTopCosts.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetTopCosts.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PropertyClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetTopCostsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetTopCostsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessGetTopCostsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/property/{propertyKey}/top-costs/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetTopCostsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PropertyClient.GetTopRequests.g.cs b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetTopRequests.g.cs index 1b09f550..649d5258 100644 --- a/src/libs/Helicone/Generated/Helicone.PropertyClient.GetTopRequests.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PropertyClient.GetTopRequests.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PropertyClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetTopRequestsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetTopRequestsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessGetTopRequestsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/property/{propertyKey}/top-requests/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetTopRequestsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PropertyClient.HideProperty.g.cs b/src/libs/Helicone/Generated/Helicone.PropertyClient.HideProperty.g.cs index 7b26bd7a..69dcebb5 100644 --- a/src/libs/Helicone/Generated/Helicone.PropertyClient.HideProperty.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PropertyClient.HideProperty.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PropertyClient { + private static readonly global::Helicone.AutoSDKServer[] s_HidePropertyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_HidePropertySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessHidePropertyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/property/hide", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_HidePropertyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PropertyClient.RestoreProperty.g.cs b/src/libs/Helicone/Generated/Helicone.PropertyClient.RestoreProperty.g.cs index d168dd23..828a042b 100644 --- a/src/libs/Helicone/Generated/Helicone.PropertyClient.RestoreProperty.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PropertyClient.RestoreProperty.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PropertyClient { + private static readonly global::Helicone.AutoSDKServer[] s_RestorePropertyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_RestorePropertySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessRestorePropertyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/property/restore", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_RestorePropertyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PropertyClient.SearchProperties.g.cs b/src/libs/Helicone/Generated/Helicone.PropertyClient.SearchProperties.g.cs index 6167c38b..6bc0dccd 100644 --- a/src/libs/Helicone/Generated/Helicone.PropertyClient.SearchProperties.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PropertyClient.SearchProperties.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class PropertyClient { + private static readonly global::Helicone.AutoSDKServer[] s_SearchPropertiesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_SearchPropertiesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessSearchPropertiesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/property/{propertyKey}/search", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_SearchPropertiesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.PropertyClient.g.cs b/src/libs/Helicone/Generated/Helicone.PropertyClient.g.cs index 034ca6ae..92b5dc6e 100644 --- a/src/libs/Helicone/Generated/Helicone.PropertyClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.PropertyClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class PropertyClient : global::Helicone.IPropertyClient, g public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class PropertyClient : global::Helicone.IPropertyClient, g /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the PropertyClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public PropertyClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.ProvidersClient.GetProviders.g.cs b/src/libs/Helicone/Generated/Helicone.ProvidersClient.GetProviders.g.cs index bb3a47fb..22d704d6 100644 --- a/src/libs/Helicone/Generated/Helicone.ProvidersClient.GetProviders.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ProvidersClient.GetProviders.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class ProvidersClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetProvidersServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetProvidersSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetProvidersResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/providers", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetProvidersServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.ProvidersClient.g.cs b/src/libs/Helicone/Generated/Helicone.ProvidersClient.g.cs index 4b09a5a3..138e23cd 100644 --- a/src/libs/Helicone/Generated/Helicone.ProvidersClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.ProvidersClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class ProvidersClient : global::Helicone.IProvidersClient, public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class ProvidersClient : global::Helicone.IProvidersClient, /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the ProvidersClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public ProvidersClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.RequestClient.AddScores.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.AddScores.g.cs index 9c828d85..351dca81 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.AddScores.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.AddScores.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddScoresServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddScoresSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessAddScoresResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/request/{requestId}/score", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddScoresServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.FeedbackRequest.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.FeedbackRequest.g.cs index c23e2113..acd46d18 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.FeedbackRequest.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.FeedbackRequest.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_FeedbackRequestServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_FeedbackRequestSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessFeedbackRequestResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/request/{requestId}/feedback", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_FeedbackRequestServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestAssetById.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestAssetById.g.cs index 07f654b0..db181ab9 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestAssetById.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestAssetById.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestAssetByIdServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestAssetByIdSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessGetRequestAssetByIdResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/request/{requestId}/assets/{assetId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestAssetByIdServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestById.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestById.g.cs index 3dabbbac..8d4344f4 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestById.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestById.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestByIdServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestByIdSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -90,7 +103,9 @@ partial void ProcessGetRequestByIdResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/request/{requestId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestByIdServers, + defaultBaseUrl: "https://api.helicone.ai/")); __pathBuilder .AddOptionalParameter("includeBody", includeBody?.ToString().ToLowerInvariant()) ; diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestCount.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestCount.g.cs index e0b4675e..bba04484 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestCount.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestCount.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestCountServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestCountSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetRequestCountResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/request/count/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestCountServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestInputs.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestInputs.g.cs index 0173224c..49798724 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestInputs.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestInputs.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestInputsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestInputsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetRequestInputsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/request/{requestId}/inputs", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestInputsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequests.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequests.g.cs index 379668a5..e542b7d8 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequests.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequests.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetRequestsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/request/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestsByIds.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestsByIds.g.cs index 410c2501..dda30191 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestsByIds.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestsByIds.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestsByIdsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestsByIdsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetRequestsByIdsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/request/query-ids", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestsByIdsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestsClickhouse.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestsClickhouse.g.cs index 06e8c55b..b47d6ed9 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestsClickhouse.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.GetRequestsClickhouse.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetRequestsClickhouseServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetRequestsClickhouseSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetRequestsClickhouseResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/request/query-clickhouse", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetRequestsClickhouseServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.PutProperty.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.PutProperty.g.cs index 00a2733f..40454ffc 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.PutProperty.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.PutProperty.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class RequestClient { + private static readonly global::Helicone.AutoSDKServer[] s_PutPropertyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_PutPropertySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessPutPropertyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/request/{requestId}/property", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_PutPropertyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.RequestClient.g.cs b/src/libs/Helicone/Generated/Helicone.RequestClient.g.cs index b9e35d68..287d0818 100644 --- a/src/libs/Helicone/Generated/Helicone.RequestClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.RequestClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class RequestClient : global::Helicone.IRequestClient, glo public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class RequestClient : global::Helicone.IRequestClient, glo /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the RequestClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public RequestClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.SecurityClient.GetSecurity.g.cs b/src/libs/Helicone/Generated/Helicone.SecurityClient.GetSecurity.g.cs index 0c1f5e6d..b3984548 100644 --- a/src/libs/Helicone/Generated/Helicone.SecurityClient.GetSecurity.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SecurityClient.GetSecurity.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class SecurityClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSecurityServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSecuritySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetSecurityResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/public/security", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSecurityServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.SecurityClient.g.cs b/src/libs/Helicone/Generated/Helicone.SecurityClient.g.cs index c56b9e09..0d7c3a5d 100644 --- a/src/libs/Helicone/Generated/Helicone.SecurityClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SecurityClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class SecurityClient : global::Helicone.ISecurityClient, g public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class SecurityClient : global::Helicone.ISecurityClient, g /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the SecurityClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public SecurityClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.ServerSelection.g.cs b/src/libs/Helicone/Generated/Helicone.ServerSelection.g.cs new file mode 100644 index 00000000..353b71b2 --- /dev/null +++ b/src/libs/Helicone/Generated/Helicone.ServerSelection.g.cs @@ -0,0 +1,57 @@ +#nullable enable + +namespace Helicone +{ + /// + /// Represents a concrete OpenAPI server option. + /// + public sealed class AutoSDKServer + { + /// + /// Initializes a new instance of the class. + /// + /// The stable identifier for this server option. + /// The display name for this server option. + /// The server URL. + /// The server description. + public AutoSDKServer( + string id, + string name, + string url, + string description) + { + Id = id ?? throw new global::System.ArgumentNullException(nameof(id)); + Name = name ?? string.Empty; + Url = url ?? throw new global::System.ArgumentNullException(nameof(url)); + Description = description ?? string.Empty; + Uri = new global::System.Uri(url, global::System.UriKind.RelativeOrAbsolute); + } + + /// + /// Gets the stable identifier for this server option. + /// + public string Id { get; } + /// + /// Gets the display name for this server option. + /// + public string Name { get; } + /// + /// Gets the server URL. + /// + public string Url { get; } + /// + /// Gets the server description. + /// + public string Description { get; } + /// + /// Gets the parsed server URI. + /// + public global::System.Uri Uri { get; } + } + + internal sealed class AutoSDKServerConfiguration + { + public global::System.Uri? ExplicitBaseUri { get; set; } + public global::Helicone.AutoSDKServer? SelectedServer { get; set; } + } +} \ No newline at end of file diff --git a/src/libs/Helicone/Generated/Helicone.SessionClient.GetMetrics.g.cs b/src/libs/Helicone/Generated/Helicone.SessionClient.GetMetrics.g.cs index 17552007..0840e945 100644 --- a/src/libs/Helicone/Generated/Helicone.SessionClient.GetMetrics.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SessionClient.GetMetrics.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class SessionClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetMetricsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetMetricsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetMetricsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/session/metrics/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetMetricsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.SessionClient.GetNames.g.cs b/src/libs/Helicone/Generated/Helicone.SessionClient.GetNames.g.cs index 97d5ba95..5b806e2c 100644 --- a/src/libs/Helicone/Generated/Helicone.SessionClient.GetNames.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SessionClient.GetNames.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class SessionClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetNamesServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetNamesSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetNamesResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/session/name/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetNamesServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessionTag.g.cs b/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessionTag.g.cs index 94950329..5064346b 100644 --- a/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessionTag.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessionTag.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class SessionClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSessionTagServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSessionTagSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetSessionTagResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/session/{sessionId}/tag", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSessionTagServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessions.g.cs b/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessions.g.cs index 192591ce..46aa9b94 100644 --- a/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessions.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessions.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class SessionClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSessionsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSessionsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetSessionsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/session/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSessionsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessionsCount.g.cs b/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessionsCount.g.cs index 95acc8d0..a793c82f 100644 --- a/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessionsCount.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SessionClient.GetSessionsCount.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class SessionClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSessionsCountServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSessionsCountSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetSessionsCountResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/session/count", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSessionsCountServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.SessionClient.UpdateSessionFeedback.g.cs b/src/libs/Helicone/Generated/Helicone.SessionClient.UpdateSessionFeedback.g.cs index 564e00d2..95655615 100644 --- a/src/libs/Helicone/Generated/Helicone.SessionClient.UpdateSessionFeedback.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SessionClient.UpdateSessionFeedback.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class SessionClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateSessionFeedbackServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateSessionFeedbackSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdateSessionFeedbackResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/session/{sessionId}/feedback", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateSessionFeedbackServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.SessionClient.UpdateSessionTag.g.cs b/src/libs/Helicone/Generated/Helicone.SessionClient.UpdateSessionTag.g.cs index 478b7d98..228f284b 100644 --- a/src/libs/Helicone/Generated/Helicone.SessionClient.UpdateSessionTag.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SessionClient.UpdateSessionTag.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class SessionClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateSessionTagServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateSessionTagSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdateSessionTagResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/session/{sessionId}/tag", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateSessionTagServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.SessionClient.g.cs b/src/libs/Helicone/Generated/Helicone.SessionClient.g.cs index e68cb424..c56f73b6 100644 --- a/src/libs/Helicone/Generated/Helicone.SessionClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.SessionClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class SessionClient : global::Helicone.ISessionClient, glo public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class SessionClient : global::Helicone.ISessionClient, glo /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the SessionClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public SessionClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.StatusClient.GetAllProviderStatus.g.cs b/src/libs/Helicone/Generated/Helicone.StatusClient.GetAllProviderStatus.g.cs index 9f945b90..ce9cba8a 100644 --- a/src/libs/Helicone/Generated/Helicone.StatusClient.GetAllProviderStatus.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StatusClient.GetAllProviderStatus.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StatusClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetAllProviderStatusServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetAllProviderStatusSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetAllProviderStatusResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/public/status/provider", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetAllProviderStatusServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StatusClient.GetProviderStatus.g.cs b/src/libs/Helicone/Generated/Helicone.StatusClient.GetProviderStatus.g.cs index e3ba59f3..8f530063 100644 --- a/src/libs/Helicone/Generated/Helicone.StatusClient.GetProviderStatus.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StatusClient.GetProviderStatus.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StatusClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetProviderStatusServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetProviderStatusSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -88,7 +101,9 @@ partial void ProcessGetProviderStatusResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/public/status/provider/{provider}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetProviderStatusServers, + defaultBaseUrl: "https://api.helicone.ai/")); __pathBuilder .AddRequiredParameter("timeFrame", timeFrame.ToValueString()) ; diff --git a/src/libs/Helicone/Generated/Helicone.StatusClient.g.cs b/src/libs/Helicone/Generated/Helicone.StatusClient.g.cs index ed3734a0..7b8bdb3f 100644 --- a/src/libs/Helicone/Generated/Helicone.StatusClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StatusClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class StatusClient : global::Helicone.IStatusClient, globa public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class StatusClient : global::Helicone.IStatusClient, globa /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the StatusClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public StatusClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.StripeClient.AddOns.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.AddOns.g.cs index 3670865b..77a4275e 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.AddOns.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.AddOns.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddOnsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddOnsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessAddOnsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/stripe/subscription/add-ons/{productType}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddOnsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.CancelSubscription.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.CancelSubscription.g.cs index 3fe75643..be11ba4d 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.CancelSubscription.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.CancelSubscription.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_CancelSubscriptionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CancelSubscriptionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessCancelSubscriptionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/cancel-subscription", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CancelSubscriptionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.CreateCloudGatewayCheckoutSession.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.CreateCloudGatewayCheckoutSession.g.cs index 9b6da0e9..4d47031c 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.CreateCloudGatewayCheckoutSession.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.CreateCloudGatewayCheckoutSession.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateCloudGatewayCheckoutSessionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateCloudGatewayCheckoutSessionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateCloudGatewayCheckoutSessionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/cloud/checkout-session", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateCloudGatewayCheckoutSessionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.CreateSetupSession.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.CreateSetupSession.g.cs index 5faa26e8..c3a6d41b 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.CreateSetupSession.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.CreateSetupSession.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_CreateSetupSessionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CreateSetupSessionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessCreateSetupSessionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/payment-methods/setup-session", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CreateSetupSessionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.DeleteAddOns.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.DeleteAddOns.g.cs index fcc4795b..8c1da3d3 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.DeleteAddOns.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.DeleteAddOns.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteAddOnsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteAddOnsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeleteAddOnsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/stripe/subscription/add-ons/{productType}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteAddOnsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.DisableAutoTopoff.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.DisableAutoTopoff.g.cs index b01cd79f..e9912520 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.DisableAutoTopoff.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.DisableAutoTopoff.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_DisableAutoTopoffServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DisableAutoTopoffSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessDisableAutoTopoffResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/auto-topoff/settings", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DisableAutoTopoffServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.GetAutoTopoffSettings.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.GetAutoTopoffSettings.g.cs index e59be5c8..b8ffc827 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.GetAutoTopoffSettings.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.GetAutoTopoffSettings.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetAutoTopoffSettingsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetAutoTopoffSettingsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetAutoTopoffSettingsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/auto-topoff/settings", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetAutoTopoffSettingsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForEvals.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForEvals.g.cs index 8a668477..2e96f269 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForEvals.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForEvals.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetCostForEvalsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetCostForEvalsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetCostForEvalsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/cost-for-evals", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetCostForEvalsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForExperiments.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForExperiments.g.cs index 7eb9fce1..25958d2d 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForExperiments.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForExperiments.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetCostForExperimentsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetCostForExperimentsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetCostForExperimentsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/cost-for-experiments", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetCostForExperimentsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForPrompts.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForPrompts.g.cs index 89a1101f..983d2405 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForPrompts.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.GetCostForPrompts.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetCostForPromptsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetCostForPromptsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetCostForPromptsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/cost-for-prompts", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetCostForPromptsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.GetFreeUsage.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.GetFreeUsage.g.cs index 3b50a14e..4d5ef112 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.GetFreeUsage.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.GetFreeUsage.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetFreeUsageServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetFreeUsageSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetFreeUsageResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/free/usage", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetFreeUsageServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.GetPaymentMethods.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.GetPaymentMethods.g.cs index c28fc922..35c87d33 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.GetPaymentMethods.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.GetPaymentMethods.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetPaymentMethodsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetPaymentMethodsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetPaymentMethodsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/payment-methods", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetPaymentMethodsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.GetSubscription.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.GetSubscription.g.cs index 2766b99c..e38abaf9 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.GetSubscription.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.GetSubscription.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetSubscriptionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetSubscriptionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetSubscriptionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetSubscriptionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.GetUsageStats.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.GetUsageStats.g.cs index 228c7384..cf52bb59 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.GetUsageStats.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.GetUsageStats.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetUsageStatsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetUsageStatsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetUsageStatsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/usage-stats", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetUsageStatsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.ManageSubscription.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.ManageSubscription.g.cs index 4b82c173..3d534c6a 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.ManageSubscription.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.ManageSubscription.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_ManageSubscriptionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_ManageSubscriptionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessManageSubscriptionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/manage-subscription", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_ManageSubscriptionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.MigrateToPro.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.MigrateToPro.g.cs index f1f13e82..24e67290 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.MigrateToPro.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.MigrateToPro.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_MigrateToProServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_MigrateToProSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessMigrateToProResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/migrate-to-pro", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_MigrateToProServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.PreviewInvoice.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.PreviewInvoice.g.cs index d4dbaa26..6a563a93 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.PreviewInvoice.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.PreviewInvoice.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_PreviewInvoiceServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_PreviewInvoiceSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessPreviewInvoiceResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/preview-invoice", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_PreviewInvoiceServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.RemovePaymentMethod.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.RemovePaymentMethod.g.cs index ae73a5df..4ecec9ce 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.RemovePaymentMethod.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.RemovePaymentMethod.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_RemovePaymentMethodServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_RemovePaymentMethodSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessRemovePaymentMethodResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/stripe/payment-methods/{paymentMethodId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_RemovePaymentMethodServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.SearchPaymentIntents.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.SearchPaymentIntents.g.cs index 7549441b..fb14f888 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.SearchPaymentIntents.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.SearchPaymentIntents.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_SearchPaymentIntentsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_SearchPaymentIntentsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -93,7 +106,9 @@ partial void ProcessSearchPaymentIntentsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/payment-intents/search", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_SearchPaymentIntentsServers, + defaultBaseUrl: "https://api.helicone.ai/")); __pathBuilder .AddRequiredParameter("search_kind", searchKind) .AddOptionalParameter("limit", limit?.ToString()) diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.UndoCancelSubscription.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.UndoCancelSubscription.g.cs index 95b7557d..e50e679e 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.UndoCancelSubscription.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.UndoCancelSubscription.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_UndoCancelSubscriptionServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UndoCancelSubscriptionSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessUndoCancelSubscriptionResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/undo-cancel-subscription", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UndoCancelSubscriptionServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.UpdateAutoTopoffSettings.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.UpdateAutoTopoffSettings.g.cs index faec332f..e15db2ba 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.UpdateAutoTopoffSettings.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.UpdateAutoTopoffSettings.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateAutoTopoffSettingsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateAutoTopoffSettingsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessUpdateAutoTopoffSettingsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/auto-topoff/settings", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateAutoTopoffSettingsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeExistingCustomer.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeExistingCustomer.g.cs index 073e64e7..4ec2b57d 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeExistingCustomer.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeExistingCustomer.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpgradeExistingCustomerServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpgradeExistingCustomerSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessUpgradeExistingCustomerResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/existing-customer/upgrade-to-pro", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpgradeExistingCustomerServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeExistingCustomerToTeamBundle.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeExistingCustomerToTeamBundle.g.cs index 22adfaf0..c167ec5c 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeExistingCustomerToTeamBundle.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeExistingCustomerToTeamBundle.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpgradeExistingCustomerToTeamBundleServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpgradeExistingCustomerToTeamBundleSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessUpgradeExistingCustomerToTeamBundleResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpgradeExistingCustomerToTeamBundleServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeToPro.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeToPro.g.cs index ffd513db..36809954 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeToPro.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeToPro.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpgradeToProServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpgradeToProSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessUpgradeToProResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/new-customer/upgrade-to-pro", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpgradeToProServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeToTeamBundle.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeToTeamBundle.g.cs index baf630f7..9dfe16a6 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeToTeamBundle.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.UpgradeToTeamBundle.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class StripeClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpgradeToTeamBundleServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpgradeToTeamBundleSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessUpgradeToTeamBundleResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpgradeToTeamBundleServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.StripeClient.g.cs b/src/libs/Helicone/Generated/Helicone.StripeClient.g.cs index eeb1e43d..f312eb49 100644 --- a/src/libs/Helicone/Generated/Helicone.StripeClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.StripeClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class StripeClient : global::Helicone.IStripeClient, globa public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class StripeClient : global::Helicone.IStripeClient, globa /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the StripeClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public StripeClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.TestClient.SendTestRequest.g.cs b/src/libs/Helicone/Generated/Helicone.TestClient.SendTestRequest.g.cs index e6058900..3e057eed 100644 --- a/src/libs/Helicone/Generated/Helicone.TestClient.SendTestRequest.g.cs +++ b/src/libs/Helicone/Generated/Helicone.TestClient.SendTestRequest.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class TestClient { + private static readonly global::Helicone.AutoSDKServer[] s_SendTestRequestServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_SendTestRequestSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessSendTestRequestResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/test/gateway-request", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_SendTestRequestServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.TestClient.g.cs b/src/libs/Helicone/Generated/Helicone.TestClient.g.cs index 0541c820..55c600f5 100644 --- a/src/libs/Helicone/Generated/Helicone.TestClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.TestClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class TestClient : global::Helicone.ITestClient, global::S public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class TestClient : global::Helicone.ITestClient, global::S /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the TestClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public TestClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.TraceClient.LogCustomTrace.g.cs b/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTrace.g.cs index 0e1761b4..2fd5dc6b 100644 --- a/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTrace.g.cs +++ b/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTrace.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class TraceClient { + private static readonly global::Helicone.AutoSDKServer[] s_LogCustomTraceServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_LogCustomTraceSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -81,7 +94,9 @@ partial void ProcessLogCustomTraceResponse( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/trace/custom/log", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_LogCustomTraceServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTraceLegacy.g.cs b/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTraceLegacy.g.cs index 19355e29..5ccef53e 100644 --- a/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTraceLegacy.g.cs +++ b/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTraceLegacy.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class TraceClient { + private static readonly global::Helicone.AutoSDKServer[] s_LogCustomTraceLegacyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_LogCustomTraceLegacySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -81,7 +94,9 @@ partial void ProcessLogCustomTraceLegacyResponse( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/trace/custom/v1/log", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_LogCustomTraceLegacyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTraceTyped.g.cs b/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTraceTyped.g.cs index 1a8b3f1a..549844f3 100644 --- a/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTraceTyped.g.cs +++ b/src/libs/Helicone/Generated/Helicone.TraceClient.LogCustomTraceTyped.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class TraceClient { + private static readonly global::Helicone.AutoSDKServer[] s_LogCustomTraceTypedServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_LogCustomTraceTypedSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessLogCustomTraceTypedResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/trace/custom/log/typed", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_LogCustomTraceTypedServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.TraceClient.LogPythonTrace.g.cs b/src/libs/Helicone/Generated/Helicone.TraceClient.LogPythonTrace.g.cs index af53fbb8..424a8631 100644 --- a/src/libs/Helicone/Generated/Helicone.TraceClient.LogPythonTrace.g.cs +++ b/src/libs/Helicone/Generated/Helicone.TraceClient.LogPythonTrace.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class TraceClient { + private static readonly global::Helicone.AutoSDKServer[] s_LogPythonTraceServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_LogPythonTraceSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -81,7 +94,9 @@ partial void ProcessLogPythonTraceResponse( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/trace/log-python", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_LogPythonTraceServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.TraceClient.LogTrace.g.cs b/src/libs/Helicone/Generated/Helicone.TraceClient.LogTrace.g.cs index 308060c8..e45bb69d 100644 --- a/src/libs/Helicone/Generated/Helicone.TraceClient.LogTrace.g.cs +++ b/src/libs/Helicone/Generated/Helicone.TraceClient.LogTrace.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class TraceClient { + private static readonly global::Helicone.AutoSDKServer[] s_LogTraceServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_LogTraceSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -81,7 +94,9 @@ partial void ProcessLogTraceResponse( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/trace/log", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_LogTraceServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.TraceClient.g.cs b/src/libs/Helicone/Generated/Helicone.TraceClient.g.cs index 010a36d1..eef79182 100644 --- a/src/libs/Helicone/Generated/Helicone.TraceClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.TraceClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class TraceClient : global::Helicone.ITraceClient, global: public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class TraceClient : global::Helicone.ITraceClient, global: /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the TraceClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public TraceClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.UserClient.GetUserMetrics.g.cs b/src/libs/Helicone/Generated/Helicone.UserClient.GetUserMetrics.g.cs index 977895c8..01a83f6e 100644 --- a/src/libs/Helicone/Generated/Helicone.UserClient.GetUserMetrics.g.cs +++ b/src/libs/Helicone/Generated/Helicone.UserClient.GetUserMetrics.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class UserClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetUserMetricsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetUserMetricsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetUserMetricsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/user/metrics/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetUserMetricsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.UserClient.GetUserMetricsOverview.g.cs b/src/libs/Helicone/Generated/Helicone.UserClient.GetUserMetricsOverview.g.cs index 73fadfdb..597b5884 100644 --- a/src/libs/Helicone/Generated/Helicone.UserClient.GetUserMetricsOverview.g.cs +++ b/src/libs/Helicone/Generated/Helicone.UserClient.GetUserMetricsOverview.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class UserClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetUserMetricsOverviewServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetUserMetricsOverviewSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetUserMetricsOverviewResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/user/metrics-overview/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetUserMetricsOverviewServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.UserClient.GetUsers.g.cs b/src/libs/Helicone/Generated/Helicone.UserClient.GetUsers.g.cs index 132b411e..47f2dd74 100644 --- a/src/libs/Helicone/Generated/Helicone.UserClient.GetUsers.g.cs +++ b/src/libs/Helicone/Generated/Helicone.UserClient.GetUsers.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class UserClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetUsersServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetUsersSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessGetUsersResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/user/query", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetUsersServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.UserClient.g.cs b/src/libs/Helicone/Generated/Helicone.UserClient.g.cs index b9d1e522..64d64aa9 100644 --- a/src/libs/Helicone/Generated/Helicone.UserClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.UserClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class UserClient : global::Helicone.IUserClient, global::S public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class UserClient : global::Helicone.IUserClient, global::S /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the UserClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public UserClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.VaultClient.AddKey.g.cs b/src/libs/Helicone/Generated/Helicone.VaultClient.AddKey.g.cs index 4a2f28f8..06f8bd25 100644 --- a/src/libs/Helicone/Generated/Helicone.VaultClient.AddKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.VaultClient.AddKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class VaultClient { + private static readonly global::Helicone.AutoSDKServer[] s_AddKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_AddKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessAddKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/vault/add", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_AddKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.VaultClient.GetKeyById.g.cs b/src/libs/Helicone/Generated/Helicone.VaultClient.GetKeyById.g.cs index 8b3be03b..a7d6f0d3 100644 --- a/src/libs/Helicone/Generated/Helicone.VaultClient.GetKeyById.g.cs +++ b/src/libs/Helicone/Generated/Helicone.VaultClient.GetKeyById.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class VaultClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetKeyByIdServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetKeyByIdSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessGetKeyByIdResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/vault/key/{providerKeyId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetKeyByIdServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.VaultClient.GetKeys.g.cs b/src/libs/Helicone/Generated/Helicone.VaultClient.GetKeys.g.cs index 89b4294e..579fde38 100644 --- a/src/libs/Helicone/Generated/Helicone.VaultClient.GetKeys.g.cs +++ b/src/libs/Helicone/Generated/Helicone.VaultClient.GetKeys.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class VaultClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetKeysServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetKeysSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetKeysResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/vault/keys", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetKeysServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.VaultClient.UpdateKey.g.cs b/src/libs/Helicone/Generated/Helicone.VaultClient.UpdateKey.g.cs index 331906e7..3f5f67d0 100644 --- a/src/libs/Helicone/Generated/Helicone.VaultClient.UpdateKey.g.cs +++ b/src/libs/Helicone/Generated/Helicone.VaultClient.UpdateKey.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class VaultClient { + private static readonly global::Helicone.AutoSDKServer[] s_UpdateKeyServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_UpdateKeySecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -91,7 +104,9 @@ partial void ProcessUpdateKeyResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/vault/update/{id}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_UpdateKeyServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.VaultClient.g.cs b/src/libs/Helicone/Generated/Helicone.VaultClient.g.cs index 6533b11b..7db19a08 100644 --- a/src/libs/Helicone/Generated/Helicone.VaultClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.VaultClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class VaultClient : global::Helicone.IVaultClient, global: public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class VaultClient : global::Helicone.IVaultClient, global: /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the VaultClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public VaultClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.WebhooksClient.DeleteWebhook.g.cs b/src/libs/Helicone/Generated/Helicone.WebhooksClient.DeleteWebhook.g.cs index 4cbef72b..a2f35604 100644 --- a/src/libs/Helicone/Generated/Helicone.WebhooksClient.DeleteWebhook.g.cs +++ b/src/libs/Helicone/Generated/Helicone.WebhooksClient.DeleteWebhook.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class WebhooksClient { + private static readonly global::Helicone.AutoSDKServer[] s_DeleteWebhookServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_DeleteWebhookSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessDeleteWebhookResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/webhooks/{webhookId}", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_DeleteWebhookServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.WebhooksClient.GetWebhooks.g.cs b/src/libs/Helicone/Generated/Helicone.WebhooksClient.GetWebhooks.g.cs index 7460e471..20e09e23 100644 --- a/src/libs/Helicone/Generated/Helicone.WebhooksClient.GetWebhooks.g.cs +++ b/src/libs/Helicone/Generated/Helicone.WebhooksClient.GetWebhooks.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class WebhooksClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetWebhooksServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetWebhooksSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetWebhooksResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/webhooks", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetWebhooksServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.WebhooksClient.NewWebhook.g.cs b/src/libs/Helicone/Generated/Helicone.WebhooksClient.NewWebhook.g.cs index 3e961f1b..e2882855 100644 --- a/src/libs/Helicone/Generated/Helicone.WebhooksClient.NewWebhook.g.cs +++ b/src/libs/Helicone/Generated/Helicone.WebhooksClient.NewWebhook.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class WebhooksClient { + private static readonly global::Helicone.AutoSDKServer[] s_NewWebhookServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_NewWebhookSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -86,7 +99,9 @@ partial void ProcessNewWebhookResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/webhooks", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_NewWebhookServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.WebhooksClient.TestWebhook.g.cs b/src/libs/Helicone/Generated/Helicone.WebhooksClient.TestWebhook.g.cs index c4c46113..9ab4dd30 100644 --- a/src/libs/Helicone/Generated/Helicone.WebhooksClient.TestWebhook.g.cs +++ b/src/libs/Helicone/Generated/Helicone.WebhooksClient.TestWebhook.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class WebhooksClient { + private static readonly global::Helicone.AutoSDKServer[] s_TestWebhookServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_TestWebhookSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -83,7 +96,9 @@ partial void ProcessTestWebhookResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: $"/v1/webhooks/{webhookId}/test", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_TestWebhookServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.WebhooksClient.g.cs b/src/libs/Helicone/Generated/Helicone.WebhooksClient.g.cs index 6da8665f..f481920c 100644 --- a/src/libs/Helicone/Generated/Helicone.WebhooksClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.WebhooksClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class WebhooksClient : global::Helicone.IWebhooksClient, g public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class WebhooksClient : global::Helicone.IWebhooksClient, g /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the WebhooksClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public WebhooksClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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/Helicone/Generated/Helicone.WrappedClient.CheckHasWrapped2025Data.g.cs b/src/libs/Helicone/Generated/Helicone.WrappedClient.CheckHasWrapped2025Data.g.cs index d2f40696..abb87a96 100644 --- a/src/libs/Helicone/Generated/Helicone.WrappedClient.CheckHasWrapped2025Data.g.cs +++ b/src/libs/Helicone/Generated/Helicone.WrappedClient.CheckHasWrapped2025Data.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class WrappedClient { + private static readonly global::Helicone.AutoSDKServer[] s_CheckHasWrapped2025DataServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_CheckHasWrapped2025DataSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessCheckHasWrapped2025DataResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/wrapped/2025/check", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_CheckHasWrapped2025DataServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.WrappedClient.GetWrapped2025Stats.g.cs b/src/libs/Helicone/Generated/Helicone.WrappedClient.GetWrapped2025Stats.g.cs index 01c496fc..b534e661 100644 --- a/src/libs/Helicone/Generated/Helicone.WrappedClient.GetWrapped2025Stats.g.cs +++ b/src/libs/Helicone/Generated/Helicone.WrappedClient.GetWrapped2025Stats.g.cs @@ -6,6 +6,19 @@ namespace Helicone public partial class WrappedClient { + private static readonly global::Helicone.AutoSDKServer[] s_GetWrapped2025StatsServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + private static readonly global::Helicone.EndPointSecurityRequirement s_GetWrapped2025StatsSecurityRequirement0 = new global::Helicone.EndPointSecurityRequirement @@ -78,7 +91,9 @@ partial void ProcessGetWrapped2025StatsResponseContent( { var __pathBuilder = new global::Helicone.PathBuilder( path: "/v1/wrapped/2025", - baseUri: HttpClient.BaseAddress); + baseUri: ResolveBaseUri( + servers: s_GetWrapped2025StatsServers, + defaultBaseUrl: "https://api.helicone.ai/")); var __path = __pathBuilder.ToString(); __path = global::Helicone.AutoSDKRequestOptionsSupport.AppendQueryParameters( path: __path, diff --git a/src/libs/Helicone/Generated/Helicone.WrappedClient.g.cs b/src/libs/Helicone/Generated/Helicone.WrappedClient.g.cs index b0417ba8..5bbbc220 100644 --- a/src/libs/Helicone/Generated/Helicone.WrappedClient.g.cs +++ b/src/libs/Helicone/Generated/Helicone.WrappedClient.g.cs @@ -20,7 +20,7 @@ public sealed partial class WrappedClient : global::Helicone.IWrappedClient, glo public global::System.Net.Http.HttpClient HttpClient { get; } /// - public System.Uri? BaseUri => HttpClient.BaseAddress; + public System.Uri? BaseUri => ResolveDisplayedBaseUri(); /// public global::System.Collections.Generic.List Authorizations { get; } @@ -33,12 +33,43 @@ public sealed partial class WrappedClient : global::Helicone.IWrappedClient, glo /// public global::Helicone.AutoSDKClientOptions Options { get; } + + + internal global::Helicone.AutoSDKServerConfiguration AutoSDKServerConfiguration { get; set; } = new global::Helicone.AutoSDKServerConfiguration(); /// /// /// public global::System.Text.Json.Serialization.JsonSerializerContext JsonSerializerContext { get; set; } = global::Helicone.SourceGenerationContext.Default; + + private static readonly global::Helicone.AutoSDKServer[] s_availableServers = new global::Helicone.AutoSDKServer[] + { new global::Helicone.AutoSDKServer( + id: "https-api-helicone-ai", + name: "api.helicone.ai", + url: "https://api.helicone.ai/", + description: ""), + new global::Helicone.AutoSDKServer( + id: "http-localhost", + name: "localhost", + url: "http://localhost:8585/", + description: ""), + }; + + /// + /// 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::Helicone.AutoSDKServer? SelectedServer + { + get => ResolveSelectedServer(); + set => SelectServer(value); + } + /// /// Creates a new instance of the WrappedClient. /// If no httpClient is provided, a new one will be created. @@ -85,6 +116,8 @@ public WrappedClient( Options = options ?? new global::Helicone.AutoSDKClientOptions(); _disposeHttpClient = disposeHttpClient; + AutoSDKServerConfiguration.ExplicitBaseUri = baseUri ?? httpClient?.BaseAddress; + Initialized(HttpClient); } @@ -111,5 +144,117 @@ 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::Helicone.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::Helicone.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 ?? HttpClient.BaseAddress; + } + + private global::System.Uri? ResolveBaseUri( + global::Helicone.AutoSDKServer[] servers, + string defaultBaseUrl) + { + if (AutoSDKServerConfiguration.ExplicitBaseUri is global::System.Uri explicitBaseUri) + { + return explicitBaseUri; + } + + if (AutoSDKServerConfiguration.SelectedServer is global::Helicone.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