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: