diff --git a/src/libs/Ultravox/Generated/JsonSerializerContextTypes.g.cs b/src/libs/Ultravox/Generated/JsonSerializerContextTypes.g.cs index a8b988b..d44ffd2 100644 --- a/src/libs/Ultravox/Generated/JsonSerializerContextTypes.g.cs +++ b/src/libs/Ultravox/Generated/JsonSerializerContextTypes.g.cs @@ -102,274 +102,278 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Ultravox.CallStage? Type21 { get; set; } + public global::Ultravox.UltravoxV1VadSettings? Type21 { get; set; } /// /// /// - public global::Ultravox.CallTool? Type22 { get; set; } + public global::Ultravox.CallStage? Type22 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallTool? Type23 { get; set; } + public global::Ultravox.CallTool? Type23 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type24 { get; set; } + public global::Ultravox.UltravoxV1CallTool? Type24 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1DynamicParameter? Type25 { get; set; } + public global::System.Collections.Generic.IList? Type25 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1DynamicParameterLocation? Type26 { get; set; } + public global::Ultravox.UltravoxV1DynamicParameter? Type26 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type27 { get; set; } + public global::Ultravox.UltravoxV1DynamicParameterLocation? Type27 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StaticParameter? Type28 { get; set; } + public global::System.Collections.Generic.IList? Type28 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StaticParameterLocation? Type29 { get; set; } + public global::Ultravox.UltravoxV1StaticParameter? Type29 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type30 { get; set; } + public global::Ultravox.UltravoxV1StaticParameterLocation? Type30 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1AutomaticParameter? Type31 { get; set; } + public global::System.Collections.Generic.IList? Type31 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1AutomaticParameterLocation? Type32 { get; set; } + public global::Ultravox.UltravoxV1AutomaticParameter? Type32 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1AutomaticParameterKnownValue? Type33 { get; set; } + public global::Ultravox.UltravoxV1AutomaticParameterLocation? Type33 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1HttpCallToolDetails? Type34 { get; set; } + public global::Ultravox.UltravoxV1AutomaticParameterKnownValue? Type34 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type35 { get; set; } + public global::Ultravox.UltravoxV1HttpCallToolDetails? Type35 { get; set; } /// /// /// - public global::Ultravox.EventsEnum? Type36 { get; set; } + public global::System.Collections.Generic.IList? Type36 { get; set; } /// /// /// - public global::Ultravox.ModelAlias? Type37 { get; set; } + public global::Ultravox.EventsEnum? Type37 { get; set; } /// /// /// - public global::Ultravox.PaginatedAPIKeyList? Type38 { get; set; } + public global::Ultravox.ModelAlias? Type38 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type39 { get; set; } + public global::Ultravox.PaginatedAPIKeyList? Type39 { get; set; } /// /// /// - public global::Ultravox.PaginatedCallList? Type40 { get; set; } + public global::System.Collections.Generic.IList? Type40 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type41 { get; set; } + public global::Ultravox.PaginatedCallList? Type41 { get; set; } /// /// /// - public global::Ultravox.PaginatedCallStageList? Type42 { get; set; } + public global::System.Collections.Generic.IList? Type42 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type43 { get; set; } + public global::Ultravox.PaginatedCallStageList? Type43 { get; set; } /// /// /// - public global::Ultravox.PaginatedModelAliasList? Type44 { get; set; } + public global::System.Collections.Generic.IList? Type44 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type45 { get; set; } + public global::Ultravox.PaginatedModelAliasList? Type45 { get; set; } /// /// /// - public global::Ultravox.PaginatedToolList? Type46 { get; set; } + public global::System.Collections.Generic.IList? Type46 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type47 { get; set; } + public global::Ultravox.PaginatedToolList? Type47 { get; set; } /// /// /// - public global::Ultravox.Tool? Type48 { get; set; } + public global::System.Collections.Generic.IList? Type48 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1BaseToolDefinition? Type49 { get; set; } + public global::Ultravox.Tool? Type49 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1ToolRequirements? Type50 { get; set; } + public global::Ultravox.UltravoxV1BaseToolDefinition? Type50 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SecurityOptions? Type51 { get; set; } + public global::Ultravox.UltravoxV1ToolRequirements? Type51 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type52 { get; set; } + public global::Ultravox.UltravoxV1SecurityOptions? Type52 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SecurityRequirements? Type53 { get; set; } + public global::System.Collections.Generic.IList? Type53 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type54 { get; set; } + public global::Ultravox.UltravoxV1SecurityRequirements? Type54 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SecurityRequirement? Type55 { get; set; } + public global::System.Collections.Generic.Dictionary? Type55 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1QueryApiKeyRequirement? Type56 { get; set; } + public global::Ultravox.UltravoxV1SecurityRequirement? Type56 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1HeaderApiKeyRequirement? Type57 { get; set; } + public global::Ultravox.UltravoxV1QueryApiKeyRequirement? Type57 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1HttpAuthRequirement? Type58 { get; set; } + public global::Ultravox.UltravoxV1HeaderApiKeyRequirement? Type58 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1BaseHttpToolDetails? Type59 { get; set; } + public global::Ultravox.UltravoxV1HttpAuthRequirement? Type59 { get; set; } /// /// /// - public global::Ultravox.PaginatedVoiceList? Type60 { get; set; } + public global::Ultravox.UltravoxV1BaseHttpToolDetails? Type60 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type61 { get; set; } + public global::Ultravox.PaginatedVoiceList? Type61 { get; set; } /// /// /// - public global::Ultravox.Voice? Type62 { get; set; } + public global::System.Collections.Generic.IList? Type62 { get; set; } /// /// /// - public global::Ultravox.PaginatedWebhookList? Type63 { get; set; } + public global::Ultravox.Voice? Type63 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type64 { get; set; } + public global::Ultravox.PaginatedWebhookList? Type64 { get; set; } /// /// /// - public global::Ultravox.Webhook? Type65 { get; set; } + public global::System.Collections.Generic.IList? Type65 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type66 { get; set; } + public global::Ultravox.Webhook? Type66 { get; set; } /// /// /// - public global::Ultravox.PaginatedultravoxV1MessageList? Type67 { get; set; } + public global::System.Collections.Generic.IList? Type67 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type68 { get; set; } + public global::Ultravox.PaginatedultravoxV1MessageList? Type68 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1Message? Type69 { get; set; } + public global::System.Collections.Generic.IList? Type69 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1MessageRole? Type70 { get; set; } + public global::Ultravox.UltravoxV1Message? Type70 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1MessageMedium? Type71 { get; set; } + public global::Ultravox.UltravoxV1MessageRole? Type71 { get; set; } /// /// /// - public global::Ultravox.PatchedAPIKey? Type72 { get; set; } + public global::Ultravox.UltravoxV1MessageMedium? Type72 { get; set; } /// /// /// - public global::Ultravox.PatchedWebhook? Type73 { get; set; } + public global::Ultravox.PatchedAPIKey? Type73 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SelectedTool? Type74 { get; set; } + public global::Ultravox.PatchedWebhook? Type74 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type75 { get; set; } + public global::Ultravox.UltravoxV1SelectedTool? Type75 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartCallRequest? Type76 { get; set; } + public global::System.Collections.Generic.Dictionary? Type76 { get; set; } /// /// /// - public float? Type77 { get; set; } + public global::Ultravox.UltravoxV1StartCallRequest? Type77 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type78 { get; set; } + public float? Type78 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartCallRequestInitiator? Type79 { get; set; } + public global::System.Collections.Generic.IList? Type79 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartCallRequestFirstSpeaker? Type80 { get; set; } + public global::Ultravox.UltravoxV1StartCallRequestInitiator? Type80 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium? Type81 { get; set; } + public global::Ultravox.UltravoxV1StartCallRequestFirstSpeaker? Type81 { get; set; } /// /// /// - public global::Ultravox.ToolsCreateRequest? Type82 { get; set; } + public global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium? Type82 { get; set; } /// /// /// - public byte[]? Type83 { get; set; } + public global::Ultravox.ToolsCreateRequest? Type83 { get; set; } /// /// /// - public global::Ultravox.VoicesCreateRequest? Type84 { get; set; } + public byte[]? Type84 { get; set; } /// /// /// - public global::Ultravox.SchemaRetrieveFormat? Type85 { get; set; } + public global::Ultravox.VoicesCreateRequest? Type85 { get; set; } /// /// /// - public global::Ultravox.SchemaRetrieveLang? Type86 { get; set; } + public global::Ultravox.SchemaRetrieveFormat? Type86 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type87 { get; set; } + public global::Ultravox.SchemaRetrieveLang? Type87 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type88 { get; set; } + public global::System.Collections.Generic.IList? Type88 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type89 { get; set; } } } \ No newline at end of file diff --git a/src/libs/Ultravox/Generated/Ultravox.CallsClient.CallsCreate.g.cs b/src/libs/Ultravox/Generated/Ultravox.CallsClient.CallsCreate.g.cs index 93c2167..7569fc4 100644 --- a/src/libs/Ultravox/Generated/Ultravox.CallsClient.CallsCreate.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.CallsClient.CallsCreate.g.cs @@ -225,6 +225,9 @@ partial void ProcessCallsCreateResponseContent( /// The medium to use for the call initially. May be altered by the client later.
/// Defaults to voice. /// + /// + /// VAD settings for the call. + /// /// The token to cancel the operation with /// public async global::System.Threading.Tasks.Task CallsCreateAsync( @@ -246,6 +249,7 @@ partial void ProcessCallsCreateResponseContent( global::Ultravox.UltravoxV1StartCallRequestFirstSpeaker? firstSpeaker = default, bool? transcriptOptional = default, global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium? initialOutputMedium = default, + global::Ultravox.UltravoxV1VadSettings? vadSettings = default, global::System.Threading.CancellationToken cancellationToken = default) { var __request = new global::Ultravox.UltravoxV1StartCallRequest @@ -267,6 +271,7 @@ partial void ProcessCallsCreateResponseContent( FirstSpeaker = firstSpeaker, TranscriptOptional = transcriptOptional, InitialOutputMedium = initialOutputMedium, + VadSettings = vadSettings, }; return await CallsCreateAsync( diff --git a/src/libs/Ultravox/Generated/Ultravox.ICallsClient.CallsCreate.g.cs b/src/libs/Ultravox/Generated/Ultravox.ICallsClient.CallsCreate.g.cs index 14f6009..699f6d3 100644 --- a/src/libs/Ultravox/Generated/Ultravox.ICallsClient.CallsCreate.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.ICallsClient.CallsCreate.g.cs @@ -75,6 +75,9 @@ public partial interface ICallsClient /// The medium to use for the call initially. May be altered by the client later.
/// Defaults to voice. /// + /// + /// VAD settings for the call. + /// /// The token to cancel the operation with /// global::System.Threading.Tasks.Task CallsCreateAsync( @@ -96,6 +99,7 @@ public partial interface ICallsClient global::Ultravox.UltravoxV1StartCallRequestFirstSpeaker? firstSpeaker = default, bool? transcriptOptional = default, global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium? initialOutputMedium = default, + global::Ultravox.UltravoxV1VadSettings? vadSettings = default, global::System.Threading.CancellationToken cancellationToken = default); } } \ No newline at end of file diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.Call.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.Call.g.cs index de3a038..adf5241 100644 --- a/src/libs/Ultravox/Generated/Ultravox.Models.Call.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.Models.Call.g.cs @@ -155,6 +155,12 @@ public sealed partial class Call [global::System.Text.Json.Serialization.JsonPropertyName("errorCount")] public int ErrorCount { get; set; } = default!; + /// + /// VAD settings for the call. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("vadSettings")] + public global::Ultravox.UltravoxV1VadSettings? VadSettings { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -230,6 +236,9 @@ public sealed partial class Call /// Default Value: 0
/// Included only in responses /// + /// + /// VAD settings for the call. + /// [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] public Call( string? clientVersion, @@ -248,6 +257,7 @@ public Call( string? timeExceededMessage, string? voice, bool? transcriptOptional, + global::Ultravox.UltravoxV1VadSettings? vadSettings, global::System.Guid callId = default!, global::System.DateTime created = default!, global::Ultravox.FirstSpeakerEnum firstSpeaker = default!, @@ -275,6 +285,7 @@ public Call( this.Voice = voice; this.TranscriptOptional = transcriptOptional; this.ErrorCount = errorCount; + this.VadSettings = vadSettings; } /// diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1StartCallRequest.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1StartCallRequest.g.cs index e4fadad..60820f4 100644 --- a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1StartCallRequest.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1StartCallRequest.g.cs @@ -117,6 +117,12 @@ public sealed partial class UltravoxV1StartCallRequest [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Ultravox.JsonConverters.UltravoxV1StartCallRequestInitialOutputMediumJsonConverter))] public global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium? InitialOutputMedium { get; set; } + /// + /// VAD settings for the call. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("vadSettings")] + public global::Ultravox.UltravoxV1VadSettings? VadSettings { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -181,6 +187,9 @@ public sealed partial class UltravoxV1StartCallRequest /// The medium to use for the call initially. May be altered by the client later.
/// Defaults to voice. /// + /// + /// VAD settings for the call. + /// [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] public UltravoxV1StartCallRequest( string? systemPrompt, @@ -199,7 +208,8 @@ public UltravoxV1StartCallRequest( bool? recordingEnabled, global::Ultravox.UltravoxV1StartCallRequestFirstSpeaker? firstSpeaker, bool? transcriptOptional, - global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium? initialOutputMedium) + global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium? initialOutputMedium, + global::Ultravox.UltravoxV1VadSettings? vadSettings) { this.SystemPrompt = systemPrompt; this.Temperature = temperature; @@ -218,6 +228,7 @@ public UltravoxV1StartCallRequest( this.FirstSpeaker = firstSpeaker; this.TranscriptOptional = transcriptOptional; this.InitialOutputMedium = initialOutputMedium; + this.VadSettings = vadSettings; } /// diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1VadSettings.Json.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1VadSettings.Json.g.cs new file mode 100644 index 0000000..1cb1669 --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1VadSettings.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Ultravox +{ + public sealed partial class UltravoxV1VadSettings + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Ultravox.UltravoxV1VadSettings? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Ultravox.UltravoxV1VadSettings), + jsonSerializerContext) as global::Ultravox.UltravoxV1VadSettings; + } + + /// + /// 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.UltravoxV1VadSettings? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Ultravox.UltravoxV1VadSettings), + jsonSerializerContext).ConfigureAwait(false)) as global::Ultravox.UltravoxV1VadSettings; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1VadSettings.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1VadSettings.g.cs new file mode 100644 index 0000000..c557bae --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1VadSettings.g.cs @@ -0,0 +1,67 @@ + +#nullable enable + +namespace Ultravox +{ + /// + /// Call-level VAD settings. + /// + public sealed partial class UltravoxV1VadSettings + { + /// + /// The delay to wait after the last speech frame before ending the user's "turn". Increasing
+ /// this value makes the agent wait longer before speaking after the user stops speaking. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("turnEndpointDelay")] + public string? TurnEndpointDelay { get; set; } + + /// + /// The minimum duration of user speech required to be considered a user turn. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("minimumTurnDuration")] + public string? MinimumTurnDuration { get; set; } + + /// + /// The minimum duration of user speech required to interrupt the agent. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("minimumInterruptionDuration")] + public string? MinimumInterruptionDuration { 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. + /// + /// + /// The delay to wait after the last speech frame before ending the user's "turn". Increasing
+ /// this value makes the agent wait longer before speaking after the user stops speaking. + /// + /// + /// The minimum duration of user speech required to be considered a user turn. + /// + /// + /// The minimum duration of user speech required to interrupt the agent. + /// + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] + public UltravoxV1VadSettings( + string? turnEndpointDelay, + string? minimumTurnDuration, + string? minimumInterruptionDuration) + { + this.TurnEndpointDelay = turnEndpointDelay; + this.MinimumTurnDuration = minimumTurnDuration; + this.MinimumInterruptionDuration = minimumInterruptionDuration; + } + + /// + /// Initializes a new instance of the class. + /// + public UltravoxV1VadSettings() + { + } + } +} \ No newline at end of file diff --git a/src/libs/Ultravox/openapi.yaml b/src/libs/Ultravox/openapi.yaml index ebc9bdd..aca8146 100644 --- a/src/libs/Ultravox/openapi.yaml +++ b/src/libs/Ultravox/openapi.yaml @@ -1154,6 +1154,11 @@ components: description: The number of errors in this call. default: 0 readOnly: true + vadSettings: + allOf: + - $ref: '#/components/schemas/ultravox.v1.VadSettings' + description: VAD settings for the call. + nullable: true CallStage: required: - callId @@ -1991,6 +1996,10 @@ components: type: string description: "The medium to use for the call initially. May be altered by the client later.\n Defaults to voice." format: enum + vadSettings: + allOf: + - $ref: '#/components/schemas/ultravox.v1.VadSettings' + description: VAD settings for the call. description: A request to start a call. ultravox.v1.StaticParameter: type: object @@ -2045,6 +2054,22 @@ components: type: string description: Dynamic parameters that must be overridden with an explicit (static) value. description: 'The requirements for using a tool, which must be satisfied when creating a call with the tool.' + ultravox.v1.VadSettings: + type: object + properties: + turnEndpointDelay: + pattern: '^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$' + type: string + description: "The delay to wait after the last speech frame before ending the user's \"turn\". Increasing\n this value makes the agent wait longer before speaking after the user stops speaking." + minimumTurnDuration: + pattern: '^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$' + type: string + description: The minimum duration of user speech required to be considered a user turn. + minimumInterruptionDuration: + pattern: '^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$' + type: string + description: The minimum duration of user speech required to interrupt the agent. + description: Call-level VAD settings. securitySchemes: apiKeyAuth: type: apiKey