From 2111101c3e6dcde8a8d1320710782b028578da62 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 28 Jul 2026 22:08:47 +0000 Subject: [PATCH] feat: Updated OpenAPI spec --- ...Ultravox.IToolsClient.ToolsTestCreate.g.cs | 32 +++- .../Ultravox.JsonSerializerContext.g.cs | 1 + .../Ultravox.JsonSerializerContextTypes.g.cs | 38 ++--- ...ox.Models.ToolsTestCreateRequest.Json.g.cs | 141 ++++++++++++++++++ ...ltravox.Models.ToolsTestCreateRequest.g.cs | 49 ++++++ ...ToolsTestCreateRequestAuthTokens.Json.g.cs | 141 ++++++++++++++++++ ...dels.ToolsTestCreateRequestAuthTokens.g.cs | 20 +++ .../Ultravox.ToolsClient.ToolsTestCreate.g.cs | 66 +++++++- src/libs/Ultravox/openapi.yaml | 26 +++- 9 files changed, 488 insertions(+), 26 deletions(-) create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequest.Json.g.cs create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequest.g.cs create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequestAuthTokens.Json.g.cs create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequestAuthTokens.g.cs diff --git a/src/libs/Ultravox/Generated/Ultravox.IToolsClient.ToolsTestCreate.g.cs b/src/libs/Ultravox/Generated/Ultravox.IToolsClient.ToolsTestCreate.g.cs index d447b5f..7b265f0 100644 --- a/src/libs/Ultravox/Generated/Ultravox.IToolsClient.ToolsTestCreate.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.IToolsClient.ToolsTestCreate.g.cs @@ -5,25 +5,53 @@ namespace Ultravox public partial interface IToolsClient { /// - /// Test a tool by executing it with the provided parameters. + /// Test a tool by executing it with the provided parameters.
+ /// Every property other than `authTokens` is treated as a value for one of the tool's dynamic parameters, matched by parameter name and sent in whichever location that parameter declares (query, path, header, or body). Properties that don't match a dynamic parameter are ignored. The tool's static and automatic parameters are filled in automatically, so they should not be supplied here.
+ /// Only HTTP tools can be tested. Tools requiring an Ultravox call token are rejected, since no call exists to issue one against. ///
/// + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// global::System.Threading.Tasks.Task ToolsTestCreateAsync( global::System.Guid toolId, + + global::Ultravox.ToolsTestCreateRequest request, global::Ultravox.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); /// - /// Test a tool by executing it with the provided parameters. + /// Test a tool by executing it with the provided parameters.
+ /// Every property other than `authTokens` is treated as a value for one of the tool's dynamic parameters, matched by parameter name and sent in whichever location that parameter declares (query, path, header, or body). Properties that don't match a dynamic parameter are ignored. The tool's static and automatic parameters are filled in automatically, so they should not be supplied here.
+ /// Only HTTP tools can be tested. Tools requiring an Ultravox call token are rejected, since no call exists to issue one against. ///
/// + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// global::System.Threading.Tasks.Task> ToolsTestCreateAsResponseAsync( global::System.Guid toolId, + + global::Ultravox.ToolsTestCreateRequest request, + global::Ultravox.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Test a tool by executing it with the provided parameters.
+ /// Every property other than `authTokens` is treated as a value for one of the tool's dynamic parameters, matched by parameter name and sent in whichever location that parameter declares (query, path, header, or body). Properties that don't match a dynamic parameter are ignored. The tool's static and automatic parameters are filled in automatically, so they should not be supplied here.
+ /// Only HTTP tools can be tested. Tools requiring an Ultravox call token are rejected, since no call exists to issue one against. + ///
+ /// + /// + /// Values satisfying the tool's security requirements, keyed by requirement name. Applied the same way as for a real call: a headerApiKey requirement sends its value as the named header, a queryApiKey requirement as the named query parameter, and an httpAuth requirement as an Authorization header prefixed with the requirement's scheme.
+ /// Example: {"myServiceApiKey":"my-secret-value"} + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task ToolsTestCreateAsync( + global::System.Guid toolId, + global::System.Collections.Generic.Dictionary? authTokens = default, global::Ultravox.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContext.g.cs b/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContext.g.cs index 9576097..fabd265 100644 --- a/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContext.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContext.g.cs @@ -468,6 +468,7 @@ namespace Ultravox [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1TimedMessageEndBehavior), TypeInfoPropertyName = "UltravoxV1TimedMessageEndBehavior2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.ToolsCreateRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(byte[]))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.ToolsTestCreateRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.VoicesCreateRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.AccountsMeUsageConcurrencyRetrieveBucket), TypeInfoPropertyName = "AccountsMeUsageConcurrencyRetrieveBucket2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.AgentsScheduledBatchesScheduledCallsListStatus), TypeInfoPropertyName = "AgentsScheduledBatchesScheduledCallsListStatus2")] diff --git a/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContextTypes.g.cs b/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContextTypes.g.cs index 09463a9..52c4926 100644 --- a/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContextTypes.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContextTypes.g.cs @@ -1036,71 +1036,75 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Ultravox.VoicesCreateRequest? Type252 { get; set; } + public global::Ultravox.ToolsTestCreateRequest? Type252 { get; set; } /// /// /// - public global::Ultravox.AccountsMeUsageConcurrencyRetrieveBucket? Type253 { get; set; } + public global::Ultravox.VoicesCreateRequest? Type253 { get; set; } /// /// /// - public global::Ultravox.AgentsScheduledBatchesScheduledCallsListStatus? Type254 { get; set; } + public global::Ultravox.AccountsMeUsageConcurrencyRetrieveBucket? Type254 { get; set; } /// /// /// - public global::Ultravox.CallsEventsListMinimumSeverity? Type255 { get; set; } + public global::Ultravox.AgentsScheduledBatchesScheduledCallsListStatus? Type255 { get; set; } /// /// /// - public global::Ultravox.CallsMessagesListMode? Type256 { get; set; } + public global::Ultravox.CallsEventsListMinimumSeverity? Type256 { get; set; } /// /// /// - public global::Ultravox.SchemaRetrieveFormat? Type257 { get; set; } + public global::Ultravox.CallsMessagesListMode? Type257 { get; set; } /// /// /// - public global::Ultravox.SchemaRetrieveLang? Type258 { get; set; } + public global::Ultravox.SchemaRetrieveFormat? Type258 { get; set; } /// /// /// - public global::Ultravox.ToolsListOwnership? Type259 { get; set; } + public global::Ultravox.SchemaRetrieveLang? Type259 { get; set; } /// /// /// - public global::Ultravox.ToolsListSortOrder? Type260 { get; set; } + public global::Ultravox.ToolsListOwnership? Type260 { get; set; } /// /// /// - public global::Ultravox.VoicesListBillingStyle? Type261 { get; set; } + public global::Ultravox.ToolsListSortOrder? Type261 { get; set; } /// /// /// - public global::Ultravox.VoicesListOwnership? Type262 { get; set; } + public global::Ultravox.VoicesListBillingStyle? Type262 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type263 { get; set; } + public global::Ultravox.VoicesListOwnership? Type263 { get; set; } /// /// /// - public global::Ultravox.VoicesListProviderItem? Type264 { get; set; } + public global::System.Collections.Generic.IList? Type264 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type265 { get; set; } + public global::Ultravox.VoicesListProviderItem? Type265 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type266 { get; set; } + public global::System.Collections.Generic.IList? Type266 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type267 { get; set; } + public global::System.Collections.Generic.IList? Type267 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type268 { get; set; } + public global::System.Collections.Generic.IList? Type268 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type269 { get; set; } /// /// diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequest.Json.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequest.Json.g.cs new file mode 100644 index 0000000..2dbb8a6 --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequest.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace Ultravox +{ + public sealed partial class ToolsTestCreateRequest + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::Ultravox.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::Ultravox.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Ultravox.ToolsTestCreateRequest? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Ultravox.ToolsTestCreateRequest), + jsonSerializerContext) as global::Ultravox.ToolsTestCreateRequest; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::Ultravox.ToolsTestCreateRequest? FromJson( + string json) + { + return FromJson( + json, + global::Ultravox.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Ultravox.ToolsTestCreateRequest? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::Ultravox.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Ultravox.ToolsTestCreateRequest), + jsonSerializerContext).ConfigureAwait(false)) as global::Ultravox.ToolsTestCreateRequest; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::Ultravox.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::Ultravox.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequest.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequest.g.cs new file mode 100644 index 0000000..015d28a --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequest.g.cs @@ -0,0 +1,49 @@ + +#nullable enable + +namespace Ultravox +{ + /// + /// + /// + public sealed partial class ToolsTestCreateRequest + { + /// + /// Values satisfying the tool's security requirements, keyed by requirement name. Applied the same way as for a real call: a headerApiKey requirement sends its value as the named header, a queryApiKey requirement as the named query parameter, and an httpAuth requirement as an Authorization header prefixed with the requirement's scheme.
+ /// Example: {"myServiceApiKey":"my-secret-value"} + ///
+ /// {"myServiceApiKey":"my-secret-value"} + [global::System.Text.Json.Serialization.JsonPropertyName("authTokens")] + public global::System.Collections.Generic.Dictionary? AuthTokens { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Values satisfying the tool's security requirements, keyed by requirement name. Applied the same way as for a real call: a headerApiKey requirement sends its value as the named header, a queryApiKey requirement as the named query parameter, and an httpAuth requirement as an Authorization header prefixed with the requirement's scheme.
+ /// Example: {"myServiceApiKey":"my-secret-value"} + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public ToolsTestCreateRequest( + global::System.Collections.Generic.Dictionary? authTokens) + { + this.AuthTokens = authTokens; + } + + /// + /// Initializes a new instance of the class. + /// + public ToolsTestCreateRequest() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequestAuthTokens.Json.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequestAuthTokens.Json.g.cs new file mode 100644 index 0000000..1e240c6 --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequestAuthTokens.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace Ultravox +{ + public sealed partial class ToolsTestCreateRequestAuthTokens + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::Ultravox.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::Ultravox.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Ultravox.ToolsTestCreateRequestAuthTokens? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Ultravox.ToolsTestCreateRequestAuthTokens), + jsonSerializerContext) as global::Ultravox.ToolsTestCreateRequestAuthTokens; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::Ultravox.ToolsTestCreateRequestAuthTokens? FromJson( + string json) + { + return FromJson( + json, + global::Ultravox.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Ultravox.ToolsTestCreateRequestAuthTokens? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::Ultravox.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Ultravox.ToolsTestCreateRequestAuthTokens), + jsonSerializerContext).ConfigureAwait(false)) as global::Ultravox.ToolsTestCreateRequestAuthTokens; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::Ultravox.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::Ultravox.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequestAuthTokens.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequestAuthTokens.g.cs new file mode 100644 index 0000000..b7bf082 --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.ToolsTestCreateRequestAuthTokens.g.cs @@ -0,0 +1,20 @@ + +#nullable enable + +namespace Ultravox +{ + /// + /// Values satisfying the tool's security requirements, keyed by requirement name. Applied the same way as for a real call: a headerApiKey requirement sends its value as the named header, a queryApiKey requirement as the named query parameter, and an httpAuth requirement as an Authorization header prefixed with the requirement's scheme.
+ /// Example: {"myServiceApiKey":"my-secret-value"} + ///
+ public sealed partial class ToolsTestCreateRequestAuthTokens + { + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + } +} \ No newline at end of file diff --git a/src/libs/Ultravox/Generated/Ultravox.ToolsClient.ToolsTestCreate.g.cs b/src/libs/Ultravox/Generated/Ultravox.ToolsClient.ToolsTestCreate.g.cs index b701791..09c683c 100644 --- a/src/libs/Ultravox/Generated/Ultravox.ToolsClient.ToolsTestCreate.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.ToolsClient.ToolsTestCreate.g.cs @@ -27,11 +27,13 @@ public partial class ToolsClient }; partial void PrepareToolsTestCreateArguments( global::System.Net.Http.HttpClient httpClient, - ref global::System.Guid toolId); + ref global::System.Guid toolId, + global::Ultravox.ToolsTestCreateRequest request); partial void PrepareToolsTestCreateRequest( global::System.Net.Http.HttpClient httpClient, global::System.Net.Http.HttpRequestMessage httpRequestMessage, - global::System.Guid toolId); + global::System.Guid toolId, + global::Ultravox.ToolsTestCreateRequest request); partial void ProcessToolsTestCreateResponse( global::System.Net.Http.HttpClient httpClient, global::System.Net.Http.HttpResponseMessage httpResponseMessage); @@ -42,19 +44,26 @@ partial void ProcessToolsTestCreateResponseContent( ref string content); /// - /// Test a tool by executing it with the provided parameters. + /// Test a tool by executing it with the provided parameters.
+ /// Every property other than `authTokens` is treated as a value for one of the tool's dynamic parameters, matched by parameter name and sent in whichever location that parameter declares (query, path, header, or body). Properties that don't match a dynamic parameter are ignored. The tool's static and automatic parameters are filled in automatically, so they should not be supplied here.
+ /// Only HTTP tools can be tested. Tools requiring an Ultravox call token are rejected, since no call exists to issue one against. ///
/// + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// public async global::System.Threading.Tasks.Task ToolsTestCreateAsync( global::System.Guid toolId, + + global::Ultravox.ToolsTestCreateRequest request, global::Ultravox.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { var __response = await ToolsTestCreateAsResponseAsync( toolId: toolId, + + request: request, requestOptions: requestOptions, cancellationToken: cancellationToken ).ConfigureAwait(false); @@ -62,22 +71,30 @@ partial void ProcessToolsTestCreateResponseContent( return __response.Body; } /// - /// Test a tool by executing it with the provided parameters. + /// Test a tool by executing it with the provided parameters.
+ /// Every property other than `authTokens` is treated as a value for one of the tool's dynamic parameters, matched by parameter name and sent in whichever location that parameter declares (query, path, header, or body). Properties that don't match a dynamic parameter are ignored. The tool's static and automatic parameters are filled in automatically, so they should not be supplied here.
+ /// Only HTTP tools can be tested. Tools requiring an Ultravox call token are rejected, since no call exists to issue one against. ///
/// + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// public async global::System.Threading.Tasks.Task> ToolsTestCreateAsResponseAsync( global::System.Guid toolId, + + global::Ultravox.ToolsTestCreateRequest request, global::Ultravox.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { + request = request ?? throw new global::System.ArgumentNullException(nameof(request)); + PrepareArguments( client: HttpClient); PrepareToolsTestCreateArguments( httpClient: HttpClient, - toolId: ref toolId); + toolId: ref toolId, + request: request); var __authorizations = global::Ultravox.EndPointSecurityResolver.ResolveAuthorizations( @@ -134,6 +151,12 @@ partial void ProcessToolsTestCreateResponseContent( __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); } } + var __httpRequestContentBody = request.ToJson(JsonSerializerContext); + var __httpRequestContent = new global::System.Net.Http.StringContent( + content: __httpRequestContentBody, + encoding: global::System.Text.Encoding.UTF8, + mediaType: "application/json"); + __httpRequest.Content = __httpRequestContent; global::Ultravox.AutoSDKRequestOptionsSupport.ApplyHeaders( request: __httpRequest, clientHeaders: Options.Headers, @@ -145,7 +168,8 @@ partial void ProcessToolsTestCreateResponseContent( PrepareToolsTestCreateRequest( httpClient: HttpClient, httpRequestMessage: __httpRequest, - toolId: toolId!); + toolId: toolId!, + request: request); return __httpRequest; } @@ -453,5 +477,35 @@ partial void ProcessToolsTestCreateResponseContent( __httpRequest?.Dispose(); } } + /// + /// Test a tool by executing it with the provided parameters.
+ /// Every property other than `authTokens` is treated as a value for one of the tool's dynamic parameters, matched by parameter name and sent in whichever location that parameter declares (query, path, header, or body). Properties that don't match a dynamic parameter are ignored. The tool's static and automatic parameters are filled in automatically, so they should not be supplied here.
+ /// Only HTTP tools can be tested. Tools requiring an Ultravox call token are rejected, since no call exists to issue one against. + ///
+ /// + /// + /// Values satisfying the tool's security requirements, keyed by requirement name. Applied the same way as for a real call: a headerApiKey requirement sends its value as the named header, a queryApiKey requirement as the named query parameter, and an httpAuth requirement as an Authorization header prefixed with the requirement's scheme.
+ /// Example: {"myServiceApiKey":"my-secret-value"} + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task ToolsTestCreateAsync( + global::System.Guid toolId, + global::System.Collections.Generic.Dictionary? authTokens = default, + global::Ultravox.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __request = new global::Ultravox.ToolsTestCreateRequest + { + AuthTokens = authTokens, + }; + + return await ToolsTestCreateAsync( + toolId: toolId, + request: __request, + requestOptions: requestOptions, + cancellationToken: cancellationToken).ConfigureAwait(false); + } } } \ No newline at end of file diff --git a/src/libs/Ultravox/openapi.yaml b/src/libs/Ultravox/openapi.yaml index 4f6a511..e7cc76e 100644 --- a/src/libs/Ultravox/openapi.yaml +++ b/src/libs/Ultravox/openapi.yaml @@ -2877,7 +2877,12 @@ paths: /api/tools/{tool_id}/test: post: operationId: tools_test_create - description: Test a tool by executing it with the provided parameters. + description: |- + Test a tool by executing it with the provided parameters. + + Every property other than `authTokens` is treated as a value for one of the tool's dynamic parameters, matched by parameter name and sent in whichever location that parameter declares (query, path, header, or body). Properties that don't match a dynamic parameter are ignored. The tool's static and automatic parameters are filled in automatically, so they should not be supplied here. + + Only HTTP tools can be tested. Tools requiring an Ultravox call token are rejected, since no call exists to issue one against. parameters: - in: path name: tool_id @@ -2887,6 +2892,25 @@ paths: required: true tags: - tools + requestBody: + content: + application/json: + schema: + type: object + properties: + authTokens: + type: object + additionalProperties: + type: string + description: 'Values satisfying the tool''s security requirements, + keyed by requirement name. Applied the same way as for a real + call: a headerApiKey requirement sends its value as the named + header, a queryApiKey requirement as the named query parameter, + and an httpAuth requirement as an Authorization header prefixed + with the requirement''s scheme.' + example: + myServiceApiKey: my-secret-value + additionalProperties: true security: - apiKeyAuth: [] responses: