diff --git a/src/libs/Speechify/Generated/Speechify.ISubpackageTtsSubpackageTtsAgentsClient.Create.g.cs b/src/libs/Speechify/Generated/Speechify.ISubpackageTtsSubpackageTtsAgentsClient.Create.g.cs index 2204a79..06770a9 100644 --- a/src/libs/Speechify/Generated/Speechify.ISubpackageTtsSubpackageTtsAgentsClient.Create.g.cs +++ b/src/libs/Speechify/Generated/Speechify.ISubpackageTtsSubpackageTtsAgentsClient.Create.g.cs @@ -179,7 +179,7 @@ public partial interface ISubpackageTtsSubpackageTtsAgentsClient double? ttsPlaybackRate = default, double? responseDelaySeconds = default, int? inactivityTimeoutSeconds = default, - string? backgroundNoisePreset = default, + global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset? backgroundNoisePreset = default, double? backgroundNoiseVolume = default, global::Speechify.TtsCreateAgentRequestSttOverride? sttOverride = default, global::Speechify.AutoSDKRequestOptions? requestOptions = default, diff --git a/src/libs/Speechify/Generated/Speechify.ISubpackageTtsSubpackageTtsAgentsClient.Update.g.cs b/src/libs/Speechify/Generated/Speechify.ISubpackageTtsSubpackageTtsAgentsClient.Update.g.cs index 49a3cc7..950708a 100644 --- a/src/libs/Speechify/Generated/Speechify.ISubpackageTtsSubpackageTtsAgentsClient.Update.g.cs +++ b/src/libs/Speechify/Generated/Speechify.ISubpackageTtsSubpackageTtsAgentsClient.Update.g.cs @@ -184,7 +184,7 @@ public partial interface ISubpackageTtsSubpackageTtsAgentsClient double? responseDelaySeconds = default, bool? clearResponseDelaySeconds = default, int? inactivityTimeoutSeconds = default, - string? backgroundNoisePreset = default, + global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset? backgroundNoisePreset = default, double? backgroundNoiseVolume = default, global::Speechify.TtsUpdateAgentRequestSttOverride? sttOverride = default, global::Speechify.AutoSDKRequestOptions? requestOptions = default, diff --git a/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentBackgroundNoisePreset.g.cs b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentBackgroundNoisePreset.g.cs new file mode 100644 index 0000000..6a2c803 --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentBackgroundNoisePreset.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Speechify.JsonConverters +{ + /// + public sealed class TtsAgentBackgroundNoisePresetJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Speechify.TtsAgentBackgroundNoisePreset Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Speechify.TtsAgentBackgroundNoisePresetExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Speechify.TtsAgentBackgroundNoisePreset)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Speechify.TtsAgentBackgroundNoisePreset); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Speechify.TtsAgentBackgroundNoisePreset value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Speechify.TtsAgentBackgroundNoisePresetExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentBackgroundNoisePresetNullable.g.cs b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentBackgroundNoisePresetNullable.g.cs new file mode 100644 index 0000000..d632768 --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentBackgroundNoisePresetNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Speechify.JsonConverters +{ + /// + public sealed class TtsAgentBackgroundNoisePresetNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Speechify.TtsAgentBackgroundNoisePreset? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Speechify.TtsAgentBackgroundNoisePresetExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Speechify.TtsAgentBackgroundNoisePreset)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Speechify.TtsAgentBackgroundNoisePreset?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Speechify.TtsAgentBackgroundNoisePreset? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Speechify.TtsAgentBackgroundNoisePresetExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentSnapshotBackgroundNoisePreset.g.cs b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentSnapshotBackgroundNoisePreset.g.cs new file mode 100644 index 0000000..16eb12e --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentSnapshotBackgroundNoisePreset.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Speechify.JsonConverters +{ + /// + public sealed class TtsAgentSnapshotBackgroundNoisePresetJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Speechify.TtsAgentSnapshotBackgroundNoisePreset Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Speechify.TtsAgentSnapshotBackgroundNoisePresetExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Speechify.TtsAgentSnapshotBackgroundNoisePreset)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Speechify.TtsAgentSnapshotBackgroundNoisePreset); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Speechify.TtsAgentSnapshotBackgroundNoisePreset value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Speechify.TtsAgentSnapshotBackgroundNoisePresetExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentSnapshotBackgroundNoisePresetNullable.g.cs b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentSnapshotBackgroundNoisePresetNullable.g.cs new file mode 100644 index 0000000..66313fd --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsAgentSnapshotBackgroundNoisePresetNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Speechify.JsonConverters +{ + /// + public sealed class TtsAgentSnapshotBackgroundNoisePresetNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Speechify.TtsAgentSnapshotBackgroundNoisePreset? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Speechify.TtsAgentSnapshotBackgroundNoisePresetExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Speechify.TtsAgentSnapshotBackgroundNoisePreset)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Speechify.TtsAgentSnapshotBackgroundNoisePreset?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Speechify.TtsAgentSnapshotBackgroundNoisePreset? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Speechify.TtsAgentSnapshotBackgroundNoisePresetExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsCreateAgentRequestBackgroundNoisePreset.g.cs b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsCreateAgentRequestBackgroundNoisePreset.g.cs new file mode 100644 index 0000000..bec5735 --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsCreateAgentRequestBackgroundNoisePreset.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Speechify.JsonConverters +{ + /// + public sealed class TtsCreateAgentRequestBackgroundNoisePresetJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Speechify.TtsCreateAgentRequestBackgroundNoisePresetExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Speechify.TtsCreateAgentRequestBackgroundNoisePresetExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsCreateAgentRequestBackgroundNoisePresetNullable.g.cs b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsCreateAgentRequestBackgroundNoisePresetNullable.g.cs new file mode 100644 index 0000000..9d9e1b7 --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsCreateAgentRequestBackgroundNoisePresetNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Speechify.JsonConverters +{ + /// + public sealed class TtsCreateAgentRequestBackgroundNoisePresetNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Speechify.TtsCreateAgentRequestBackgroundNoisePresetExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Speechify.TtsCreateAgentRequestBackgroundNoisePresetExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsUpdateAgentRequestBackgroundNoisePreset.g.cs b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsUpdateAgentRequestBackgroundNoisePreset.g.cs new file mode 100644 index 0000000..e57925f --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsUpdateAgentRequestBackgroundNoisePreset.g.cs @@ -0,0 +1,53 @@ +#nullable enable + +namespace Speechify.JsonConverters +{ + /// + public sealed class TtsUpdateAgentRequestBackgroundNoisePresetJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Speechify.TtsUpdateAgentRequestBackgroundNoisePresetExtensions.ToEnum(stringValue) ?? default; + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + writer.WriteStringValue(global::Speechify.TtsUpdateAgentRequestBackgroundNoisePresetExtensions.ToValueString(value)); + } + } +} diff --git a/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsUpdateAgentRequestBackgroundNoisePresetNullable.g.cs b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsUpdateAgentRequestBackgroundNoisePresetNullable.g.cs new file mode 100644 index 0000000..bfc66b3 --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.JsonConverters.TtsUpdateAgentRequestBackgroundNoisePresetNullable.g.cs @@ -0,0 +1,60 @@ +#nullable enable + +namespace Speechify.JsonConverters +{ + /// + public sealed class TtsUpdateAgentRequestBackgroundNoisePresetNullableJsonConverter : global::System.Text.Json.Serialization.JsonConverter + { + /// + public override global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset? Read( + ref global::System.Text.Json.Utf8JsonReader reader, + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + switch (reader.TokenType) + { + case global::System.Text.Json.JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null) + { + return global::Speechify.TtsUpdateAgentRequestBackgroundNoisePresetExtensions.ToEnum(stringValue); + } + + break; + } + case global::System.Text.Json.JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + return (global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset)numValue; + } + case global::System.Text.Json.JsonTokenType.Null: + { + return default(global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset?); + } + default: + throw new global::System.ArgumentOutOfRangeException(nameof(reader)); + } + + return default; + } + + /// + public override void Write( + global::System.Text.Json.Utf8JsonWriter writer, + global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset? value, + global::System.Text.Json.JsonSerializerOptions options) + { + writer = writer ?? throw new global::System.ArgumentNullException(nameof(writer)); + + if (value == null) + { + writer.WriteNullValue(); + } + else + { + writer.WriteStringValue(global::Speechify.TtsUpdateAgentRequestBackgroundNoisePresetExtensions.ToValueString(value.Value)); + } + } + } +} diff --git a/src/libs/Speechify/Generated/Speechify.JsonSerializerContext.g.cs b/src/libs/Speechify/Generated/Speechify.JsonSerializerContext.g.cs index e0d12ba..d67c9fa 100644 --- a/src/libs/Speechify/Generated/Speechify.JsonSerializerContext.g.cs +++ b/src/libs/Speechify/Generated/Speechify.JsonSerializerContext.g.cs @@ -93,6 +93,10 @@ namespace Speechify typeof(global::Speechify.JsonConverters.TtsAmdConfigOnUnavailableActionNullableJsonConverter), + typeof(global::Speechify.JsonConverters.TtsCreateAgentRequestBackgroundNoisePresetJsonConverter), + + typeof(global::Speechify.JsonConverters.TtsCreateAgentRequestBackgroundNoisePresetNullableJsonConverter), + typeof(global::Speechify.JsonConverters.TtsCreateAgentRequestSttOverrideJsonConverter), typeof(global::Speechify.JsonConverters.TtsCreateAgentRequestSttOverrideNullableJsonConverter), @@ -101,6 +105,10 @@ namespace Speechify typeof(global::Speechify.JsonConverters.TtsAgentLlmProviderNullableJsonConverter), + typeof(global::Speechify.JsonConverters.TtsAgentBackgroundNoisePresetJsonConverter), + + typeof(global::Speechify.JsonConverters.TtsAgentBackgroundNoisePresetNullableJsonConverter), + typeof(global::Speechify.JsonConverters.TtsAgentSttOverrideJsonConverter), typeof(global::Speechify.JsonConverters.TtsAgentSttOverrideNullableJsonConverter), @@ -109,6 +117,10 @@ namespace Speechify typeof(global::Speechify.JsonConverters.TtsUpdateAgentRequestLlmProviderNullableJsonConverter), + typeof(global::Speechify.JsonConverters.TtsUpdateAgentRequestBackgroundNoisePresetJsonConverter), + + typeof(global::Speechify.JsonConverters.TtsUpdateAgentRequestBackgroundNoisePresetNullableJsonConverter), + typeof(global::Speechify.JsonConverters.TtsUpdateAgentRequestSttOverrideJsonConverter), typeof(global::Speechify.JsonConverters.TtsUpdateAgentRequestSttOverrideNullableJsonConverter), @@ -125,6 +137,10 @@ namespace Speechify typeof(global::Speechify.JsonConverters.TtsConversationEndReasonNullableJsonConverter), + typeof(global::Speechify.JsonConverters.TtsAgentSnapshotBackgroundNoisePresetJsonConverter), + + typeof(global::Speechify.JsonConverters.TtsAgentSnapshotBackgroundNoisePresetNullableJsonConverter), + typeof(global::Speechify.JsonConverters.TtsConversationIvrSurrenderReasonJsonConverter), typeof(global::Speechify.JsonConverters.TtsConversationIvrSurrenderReasonNullableJsonConverter), @@ -394,22 +410,26 @@ namespace Speechify [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsAmdConfigOnUnavailable))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsAmdConfigTuning))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsAMDConfig))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset), TypeInfoPropertyName = "TtsCreateAgentRequestBackgroundNoisePreset2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsCreateAgentRequestSttOverride), TypeInfoPropertyName = "TtsCreateAgentRequestSttOverride2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsCreateAgentRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(object))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsAgentLlmProvider), TypeInfoPropertyName = "TtsAgentLlmProvider2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsAgentBackgroundNoisePreset), TypeInfoPropertyName = "TtsAgentBackgroundNoisePreset2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsAgentSttOverride), TypeInfoPropertyName = "TtsAgentSttOverride2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsAgent))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsListAgentsResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsUpdateAgentRequestLlmProvider), TypeInfoPropertyName = "TtsUpdateAgentRequestLlmProvider2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset), TypeInfoPropertyName = "TtsUpdateAgentRequestBackgroundNoisePreset2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsUpdateAgentRequestSttOverride), TypeInfoPropertyName = "TtsUpdateAgentRequestSttOverride2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsUpdateAgentRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsCreateConversationRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsConversationStatus), TypeInfoPropertyName = "TtsConversationStatus2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsConversationTransport), TypeInfoPropertyName = "TtsConversationTransport2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsConversationEndReason), TypeInfoPropertyName = "TtsConversationEndReason2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsAgentSnapshotBackgroundNoisePreset), TypeInfoPropertyName = "TtsAgentSnapshotBackgroundNoisePreset2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsAgentSnapshot))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsConversationIvrSurrenderReason), TypeInfoPropertyName = "TtsConversationIvrSurrenderReason2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Speechify.TtsConversation))] diff --git a/src/libs/Speechify/Generated/Speechify.JsonSerializerContextTypes.g.cs b/src/libs/Speechify/Generated/Speechify.JsonSerializerContextTypes.g.cs index 020d0e0..8bc494d 100644 --- a/src/libs/Speechify/Generated/Speechify.JsonSerializerContextTypes.g.cs +++ b/src/libs/Speechify/Generated/Speechify.JsonSerializerContextTypes.g.cs @@ -260,1387 +260,1403 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Speechify.TtsCreateAgentRequestSttOverride? Type58 { get; set; } + public global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset? Type58 { get; set; } /// /// /// - public global::Speechify.TtsCreateAgentRequest? Type59 { get; set; } + public global::Speechify.TtsCreateAgentRequestSttOverride? Type59 { get; set; } /// /// /// - public object? Type60 { get; set; } + public global::Speechify.TtsCreateAgentRequest? Type60 { get; set; } /// /// /// - public global::Speechify.TtsAgentLlmProvider? Type61 { get; set; } + public object? Type61 { get; set; } /// /// /// - public global::Speechify.TtsAgentSttOverride? Type62 { get; set; } + public global::Speechify.TtsAgentLlmProvider? Type62 { get; set; } /// /// /// - public global::Speechify.TtsAgent? Type63 { get; set; } + public global::Speechify.TtsAgentBackgroundNoisePreset? Type63 { get; set; } /// /// /// - public global::System.DateTime? Type64 { get; set; } + public global::Speechify.TtsAgentSttOverride? Type64 { get; set; } /// /// /// - public global::Speechify.TtsListAgentsResponse? Type65 { get; set; } + public global::Speechify.TtsAgent? Type65 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type66 { get; set; } + public global::System.DateTime? Type66 { get; set; } /// /// /// - public global::Speechify.TtsUpdateAgentRequestLlmProvider? Type67 { get; set; } + public global::Speechify.TtsListAgentsResponse? Type67 { get; set; } /// /// /// - public global::Speechify.TtsUpdateAgentRequestSttOverride? Type68 { get; set; } + public global::System.Collections.Generic.IList? Type68 { get; set; } /// /// /// - public global::Speechify.TtsUpdateAgentRequest? Type69 { get; set; } + public global::Speechify.TtsUpdateAgentRequestLlmProvider? Type69 { get; set; } /// /// /// - public global::Speechify.TtsCreateConversationRequest? Type70 { get; set; } + public global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset? Type70 { get; set; } /// /// /// - public global::Speechify.TtsConversationStatus? Type71 { get; set; } + public global::Speechify.TtsUpdateAgentRequestSttOverride? Type71 { get; set; } /// /// /// - public global::Speechify.TtsConversationTransport? Type72 { get; set; } + public global::Speechify.TtsUpdateAgentRequest? Type72 { get; set; } /// /// /// - public global::Speechify.TtsConversationEndReason? Type73 { get; set; } + public global::Speechify.TtsCreateConversationRequest? Type73 { get; set; } /// /// /// - public global::Speechify.TtsAgentSnapshot? Type74 { get; set; } + public global::Speechify.TtsConversationStatus? Type74 { get; set; } /// /// /// - public global::Speechify.TtsConversationIvrSurrenderReason? Type75 { get; set; } + public global::Speechify.TtsConversationTransport? Type75 { get; set; } /// /// /// - public global::Speechify.TtsConversation? Type76 { get; set; } + public global::Speechify.TtsConversationEndReason? Type76 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type77 { get; set; } + public global::Speechify.TtsAgentSnapshotBackgroundNoisePreset? Type77 { get; set; } /// /// /// - public global::Speechify.TtsCreateConversationResponse? Type78 { get; set; } + public global::Speechify.TtsAgentSnapshot? Type78 { get; set; } /// /// /// - public global::Speechify.TtsCreateSessionRequest? Type79 { get; set; } + public global::Speechify.TtsConversationIvrSurrenderReason? Type79 { get; set; } /// /// /// - public global::Speechify.TtsAgentVoiceType? Type80 { get; set; } + public global::Speechify.TtsConversation? Type80 { get; set; } /// /// /// - public global::Speechify.TtsAgentVoiceModelName? Type81 { get; set; } + public global::System.Collections.Generic.IList? Type81 { get; set; } /// /// /// - public global::Speechify.TtsAgentVoiceLanguage? Type82 { get; set; } + public global::Speechify.TtsCreateConversationResponse? Type82 { get; set; } /// /// /// - public global::Speechify.TtsAgentVoiceModel? Type83 { get; set; } + public global::Speechify.TtsCreateSessionRequest? Type83 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type84 { get; set; } + public global::Speechify.TtsAgentVoiceType? Type84 { get; set; } /// /// /// - public global::Speechify.TtsAgentVoiceGender? Type85 { get; set; } + public global::Speechify.TtsAgentVoiceModelName? Type85 { get; set; } /// /// /// - public global::Speechify.TtsAgentVoice? Type86 { get; set; } + public global::Speechify.TtsAgentVoiceLanguage? Type86 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type87 { get; set; } + public global::Speechify.TtsAgentVoiceModel? Type87 { get; set; } /// /// /// - public global::Speechify.TtsCreateAgentBuiltinRequest? Type88 { get; set; } + public global::System.Collections.Generic.IList? Type88 { get; set; } /// /// /// - public global::Speechify.TtsAgentBuiltin? Type89 { get; set; } + public global::Speechify.TtsAgentVoiceGender? Type89 { get; set; } /// /// /// - public global::Speechify.TtsListAgentBuiltinsResponse? Type90 { get; set; } + public global::Speechify.TtsAgentVoice? Type90 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type91 { get; set; } + public global::System.Collections.Generic.IList? Type91 { get; set; } /// /// /// - public global::Speechify.TtsUpdateAgentBuiltinRequest? Type92 { get; set; } + public global::Speechify.TtsCreateAgentBuiltinRequest? Type92 { get; set; } /// /// /// - public global::Speechify.TtsDynamicVariableType? Type93 { get; set; } + public global::Speechify.TtsAgentBuiltin? Type93 { get; set; } /// /// /// - public global::Speechify.TtsDynamicVariable? Type94 { get; set; } + public global::Speechify.TtsListAgentBuiltinsResponse? Type94 { get; set; } /// /// /// - public global::Speechify.TtsSystemVariableDoc? Type95 { get; set; } + public global::System.Collections.Generic.IList? Type95 { get; set; } /// /// /// - public global::Speechify.TtsListDynamicVariablesResponse? Type96 { get; set; } + public global::Speechify.TtsUpdateAgentBuiltinRequest? Type96 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type97 { get; set; } + public global::Speechify.TtsDynamicVariableType? Type97 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type98 { get; set; } + public global::Speechify.TtsDynamicVariable? Type98 { get; set; } /// /// /// - public global::Speechify.TtsUpdateDynamicVariablesRequest? Type99 { get; set; } + public global::Speechify.TtsSystemVariableDoc? Type99 { get; set; } /// /// /// - public global::Speechify.TtsEvaluationCriterion? Type100 { get; set; } + public global::Speechify.TtsListDynamicVariablesResponse? Type100 { get; set; } /// /// /// - public global::Speechify.TtsDataCollectionFieldType? Type101 { get; set; } + public global::System.Collections.Generic.IList? Type101 { get; set; } /// /// /// - public global::Speechify.TtsDataCollectionField? Type102 { get; set; } + public global::System.Collections.Generic.IList? Type102 { get; set; } /// /// /// - public global::Speechify.TtsEvaluationConfig? Type103 { get; set; } + public global::Speechify.TtsUpdateDynamicVariablesRequest? Type103 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type104 { get; set; } + public global::Speechify.TtsEvaluationCriterion? Type104 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type105 { get; set; } + public global::Speechify.TtsDataCollectionFieldType? Type105 { get; set; } /// /// /// - public global::Speechify.TtsUpdateEvaluationConfigRequest? Type106 { get; set; } + public global::Speechify.TtsDataCollectionField? Type106 { get; set; } /// /// /// - public global::Speechify.TtsKnowledgeBase? Type107 { get; set; } + public global::Speechify.TtsEvaluationConfig? Type107 { get; set; } /// /// /// - public global::Speechify.TtsAttachedKnowledgeBasesResponse? Type108 { get; set; } + public global::System.Collections.Generic.IList? Type108 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type109 { get; set; } + public global::System.Collections.Generic.IList? Type109 { get; set; } /// /// /// - public global::Speechify.TtsMemory? Type110 { get; set; } + public global::Speechify.TtsUpdateEvaluationConfigRequest? Type110 { get; set; } /// /// /// - public global::Speechify.TtsListMemoriesResponse? Type111 { get; set; } + public global::Speechify.TtsKnowledgeBase? Type111 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type112 { get; set; } + public global::Speechify.TtsAttachedKnowledgeBasesResponse? Type112 { get; set; } /// /// /// - public global::Speechify.TtsDeleteMemoriesByCallerRequest? Type113 { get; set; } + public global::System.Collections.Generic.IList? Type113 { get; set; } /// /// /// - public global::Speechify.TtsDeleteMemoriesByCallerResponse? Type114 { get; set; } + public global::Speechify.TtsMemory? Type114 { get; set; } /// /// /// - public global::Speechify.TtsTestType? Type115 { get; set; } + public global::Speechify.TtsListMemoriesResponse? Type115 { get; set; } /// /// /// - public global::Speechify.TtsSimulationMessageRole? Type116 { get; set; } + public global::System.Collections.Generic.IList? Type116 { get; set; } /// /// /// - public global::Speechify.TtsSimulationMessage? Type117 { get; set; } + public global::Speechify.TtsDeleteMemoriesByCallerRequest? Type117 { get; set; } /// /// /// - public global::Speechify.TtsReplyConfig? Type118 { get; set; } + public global::Speechify.TtsDeleteMemoriesByCallerResponse? Type118 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type119 { get; set; } + public global::Speechify.TtsTestType? Type119 { get; set; } /// /// /// - public global::Speechify.TtsParameterCheckMode? Type120 { get; set; } + public global::Speechify.TtsSimulationMessageRole? Type120 { get; set; } /// /// /// - public global::Speechify.TtsParameterCheck? Type121 { get; set; } + public global::Speechify.TtsSimulationMessage? Type121 { get; set; } /// /// /// - public global::Speechify.TtsToolCallConfig? Type122 { get; set; } + public global::Speechify.TtsReplyConfig? Type122 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type123 { get; set; } + public global::System.Collections.Generic.IList? Type123 { get; set; } /// /// /// - public global::Speechify.TtsDataAssertionMode? Type124 { get; set; } + public global::Speechify.TtsParameterCheckMode? Type124 { get; set; } /// /// /// - public global::Speechify.TtsDataAssertion? Type125 { get; set; } + public global::Speechify.TtsParameterCheck? Type125 { get; set; } /// /// /// - public global::Speechify.TtsSimulationConfig? Type126 { get; set; } + public global::Speechify.TtsToolCallConfig? Type126 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type127 { get; set; } + public global::System.Collections.Generic.IList? Type127 { get; set; } /// /// /// - public global::Speechify.TtsAgentTestConfig? Type128 { get; set; } + public global::Speechify.TtsDataAssertionMode? Type128 { get; set; } /// /// /// - public global::Speechify.TtsMockingStrategy? Type129 { get; set; } + public global::Speechify.TtsDataAssertion? Type129 { get; set; } /// /// /// - public global::Speechify.TtsToolMock? Type130 { get; set; } + public global::Speechify.TtsSimulationConfig? Type130 { get; set; } /// /// /// - public global::Speechify.TtsNoMatchBehavior? Type131 { get; set; } + public global::System.Collections.Generic.IList? Type131 { get; set; } /// /// /// - public global::Speechify.TtsToolMockConfig? Type132 { get; set; } + public global::Speechify.TtsAgentTestConfig? Type132 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type133 { get; set; } + public global::Speechify.TtsMockingStrategy? Type133 { get; set; } /// /// /// - public global::Speechify.TtsTestRunStatus? Type134 { get; set; } + public global::Speechify.TtsToolMock? Type134 { get; set; } /// /// /// - public global::Speechify.TtsReplyResult? Type135 { get; set; } + public global::Speechify.TtsNoMatchBehavior? Type135 { get; set; } /// /// /// - public global::Speechify.TtsParameterCheckResult? Type136 { get; set; } + public global::Speechify.TtsToolMockConfig? Type136 { get; set; } /// /// /// - public global::Speechify.TtsToolCallResult? Type137 { get; set; } + public global::System.Collections.Generic.IList? Type137 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type138 { get; set; } + public global::Speechify.TtsTestRunStatus? Type138 { get; set; } /// /// /// - public global::Speechify.TtsSimulationToolCall? Type139 { get; set; } + public global::Speechify.TtsReplyResult? Type139 { get; set; } /// /// /// - public global::Speechify.TtsSimulationResultSentiment? Type140 { get; set; } + public global::Speechify.TtsParameterCheckResult? Type140 { get; set; } /// /// /// - public global::Speechify.TtsSimulationCriterionResultStatus? Type141 { get; set; } + public global::Speechify.TtsToolCallResult? Type141 { get; set; } /// /// /// - public global::Speechify.TtsSimulationCriterionResult? Type142 { get; set; } + public global::System.Collections.Generic.IList? Type142 { get; set; } /// /// /// - public global::Speechify.TtsDataAssertionResultMode? Type143 { get; set; } + public global::Speechify.TtsSimulationToolCall? Type143 { get; set; } /// /// /// - public global::Speechify.TtsDataAssertionResult? Type144 { get; set; } + public global::Speechify.TtsSimulationResultSentiment? Type144 { get; set; } /// /// /// - public global::Speechify.TtsSimulationResult? Type145 { get; set; } + public global::Speechify.TtsSimulationCriterionResultStatus? Type145 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type146 { get; set; } + public global::Speechify.TtsSimulationCriterionResult? Type146 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type147 { get; set; } + public global::Speechify.TtsDataAssertionResultMode? Type147 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type148 { get; set; } + public global::Speechify.TtsDataAssertionResult? Type148 { get; set; } /// /// /// - public global::Speechify.TtsTestRunResult? Type149 { get; set; } + public global::Speechify.TtsSimulationResult? Type149 { get; set; } /// /// /// - public global::Speechify.OneOf? Type150 { get; set; } + public global::System.Collections.Generic.IList? Type150 { get; set; } /// /// /// - public global::Speechify.OneOf? Type151 { get; set; } + public global::System.Collections.Generic.IList? Type151 { get; set; } /// /// /// - public global::Speechify.OneOf? Type152 { get; set; } + public global::System.Collections.Generic.IList? Type152 { get; set; } /// /// /// - public global::Speechify.TtsAgentTestRun? Type153 { get; set; } + public global::Speechify.TtsTestRunResult? Type153 { get; set; } /// /// /// - public global::Speechify.OneOf? Type154 { get; set; } + public global::Speechify.OneOf? Type154 { get; set; } /// /// /// - public global::Speechify.TtsAgentTestWithLastRun? Type155 { get; set; } + public global::Speechify.OneOf? Type155 { get; set; } /// /// /// - public global::Speechify.OneOf? Type156 { get; set; } + public global::Speechify.OneOf? Type156 { get; set; } /// /// /// - public global::Speechify.TtsListAgentTestsResponse? Type157 { get; set; } + public global::Speechify.TtsAgentTestRun? Type157 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type158 { get; set; } + public global::Speechify.OneOf? Type158 { get; set; } /// /// /// - public global::Speechify.TtsCreateAgentTestRequestConfig? Type159 { get; set; } + public global::Speechify.TtsAgentTestWithLastRun? Type159 { get; set; } /// /// /// - public global::Speechify.TtsCreateAgentTestRequest? Type160 { get; set; } + public global::Speechify.OneOf? Type160 { get; set; } /// /// /// - public global::Speechify.TtsAgentTest? Type161 { get; set; } + public global::Speechify.TtsListAgentTestsResponse? Type161 { get; set; } /// /// /// - public global::Speechify.TtsTestRunConfigOverride? Type162 { get; set; } + public global::System.Collections.Generic.IList? Type162 { get; set; } /// /// /// - public global::Speechify.TtsRunAllTestsRequest? Type163 { get; set; } + public global::Speechify.TtsCreateAgentTestRequestConfig? Type163 { get; set; } /// /// /// - public global::Speechify.TtsSuiteRunTrigger? Type164 { get; set; } + public global::Speechify.TtsCreateAgentTestRequest? Type164 { get; set; } /// /// /// - public global::Speechify.TtsAgentTestSuiteRun? Type165 { get; set; } + public global::Speechify.TtsAgentTest? Type165 { get; set; } /// /// /// - public global::Speechify.OneOf? Type166 { get; set; } + public global::Speechify.TtsTestRunConfigOverride? Type166 { get; set; } /// /// /// - public global::Speechify.TtsRunAgentTestsResponse? Type167 { get; set; } + public global::Speechify.TtsRunAllTestsRequest? Type167 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type168 { get; set; } + public global::Speechify.TtsSuiteRunTrigger? Type168 { get; set; } /// /// /// - public global::Speechify.OneOf? Type169 { get; set; } + public global::Speechify.TtsAgentTestSuiteRun? Type169 { get; set; } /// /// /// - public global::Speechify.TtsToolKind? Type170 { get; set; } + public global::Speechify.OneOf? Type170 { get; set; } /// /// /// - public global::Speechify.TtsToolParamType? Type171 { get; set; } + public global::Speechify.TtsRunAgentTestsResponse? Type171 { get; set; } /// /// /// - public global::Speechify.TtsToolParam? Type172 { get; set; } + public global::System.Collections.Generic.IList? Type172 { get; set; } /// /// /// - public global::Speechify.TtsSystemToolConfig? Type173 { get; set; } + public global::Speechify.OneOf? Type173 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type174 { get; set; } + public global::Speechify.TtsToolKind? Type174 { get; set; } /// /// /// - public global::Speechify.TtsWebhookToolConfigMethod? Type175 { get; set; } + public global::Speechify.TtsToolParamType? Type175 { get; set; } /// /// /// - public global::Speechify.TtsWebhookToolConfig? Type176 { get; set; } + public global::Speechify.TtsToolParam? Type176 { get; set; } /// /// /// - public global::Speechify.TtsClientToolConfig? Type177 { get; set; } + public global::Speechify.TtsSystemToolConfig? Type177 { get; set; } /// /// /// - public global::Speechify.TtsMCPTransport? Type178 { get; set; } + public global::System.Collections.Generic.IList? Type178 { get; set; } /// /// /// - public global::Speechify.TtsMCPAuth? Type179 { get; set; } + public global::Speechify.TtsWebhookToolConfigMethod? Type179 { get; set; } /// /// /// - public global::Speechify.TtsMCPAuthVariant1? Type180 { get; set; } + public global::Speechify.TtsWebhookToolConfig? Type180 { get; set; } /// /// /// - public global::Speechify.TtsMCPAuthVariant1Type? Type181 { get; set; } + public global::Speechify.TtsClientToolConfig? Type181 { get; set; } /// /// /// - public global::Speechify.TtsMCPAuthVariant2? Type182 { get; set; } + public global::Speechify.TtsMCPTransport? Type182 { get; set; } /// /// /// - public global::Speechify.TtsMCPAuthVariant2Type? Type183 { get; set; } + public global::Speechify.TtsMCPAuth? Type183 { get; set; } /// /// /// - public global::Speechify.TtsMCPAuthVariant3? Type184 { get; set; } + public global::Speechify.TtsMCPAuthVariant1? Type184 { get; set; } /// /// /// - public global::Speechify.TtsMCPAuthVariant3Type? Type185 { get; set; } + public global::Speechify.TtsMCPAuthVariant1Type? Type185 { get; set; } /// /// /// - public global::Speechify.TtsMCPAuthDiscriminator? Type186 { get; set; } + public global::Speechify.TtsMCPAuthVariant2? Type186 { get; set; } /// /// /// - public global::Speechify.TtsMCPAuthDiscriminatorType? Type187 { get; set; } + public global::Speechify.TtsMCPAuthVariant2Type? Type187 { get; set; } /// /// /// - public global::Speechify.TtsMCPToolConfig? Type188 { get; set; } + public global::Speechify.TtsMCPAuthVariant3? Type188 { get; set; } /// /// /// - public global::Speechify.TtsToolConfig? Type189 { get; set; } + public global::Speechify.TtsMCPAuthVariant3Type? Type189 { get; set; } /// /// /// - public global::Speechify.TtsTool? Type190 { get; set; } + public global::Speechify.TtsMCPAuthDiscriminator? Type190 { get; set; } /// /// /// - public global::Speechify.TtsAttachedToolsResponse? Type191 { get; set; } + public global::Speechify.TtsMCPAuthDiscriminatorType? Type191 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type192 { get; set; } + public global::Speechify.TtsMCPToolConfig? Type192 { get; set; } /// /// /// - public global::Speechify.TtsListConversationsResponse? Type193 { get; set; } + public global::Speechify.TtsToolConfig? Type193 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type194 { get; set; } + public global::Speechify.TtsTool? Type194 { get; set; } /// /// /// - public global::Speechify.TtsMessageRole? Type195 { get; set; } + public global::Speechify.TtsAttachedToolsResponse? Type195 { get; set; } /// /// /// - public global::Speechify.TtsMessage? Type196 { get; set; } + public global::System.Collections.Generic.IList? Type196 { get; set; } /// /// /// - public global::Speechify.TtsListMessagesResponse? Type197 { get; set; } + public global::Speechify.TtsListConversationsResponse? Type197 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type198 { get; set; } + public global::System.Collections.Generic.IList? Type198 { get; set; } /// /// /// - public global::Speechify.TtsEvaluationKind? Type199 { get; set; } + public global::Speechify.TtsMessageRole? Type199 { get; set; } /// /// /// - public global::Speechify.TtsEvaluationStatus? Type200 { get; set; } + public global::Speechify.TtsMessage? Type200 { get; set; } /// /// /// - public global::Speechify.TtsEvaluation? Type201 { get; set; } + public global::Speechify.TtsListMessagesResponse? Type201 { get; set; } /// /// /// - public global::Speechify.OneOf? Type202 { get; set; } + public global::System.Collections.Generic.IList? Type202 { get; set; } /// /// /// - public global::Speechify.TtsListEvaluationsResponse? Type203 { get; set; } + public global::Speechify.TtsEvaluationKind? Type203 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type204 { get; set; } + public global::Speechify.TtsEvaluationStatus? Type204 { get; set; } /// /// /// - public global::Speechify.TtsConversationStats? Type205 { get; set; } + public global::Speechify.TtsEvaluation? Type205 { get; set; } /// /// /// - public global::Speechify.TtsRecentCallee? Type206 { get; set; } + public global::Speechify.OneOf? Type206 { get; set; } /// /// /// - public global::Speechify.TtsListRecentCalleesResponse? Type207 { get; set; } + public global::Speechify.TtsListEvaluationsResponse? Type207 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type208 { get; set; } + public global::System.Collections.Generic.IList? Type208 { get; set; } /// /// /// - public global::Speechify.TtsWebhookDeliveryStatus? Type209 { get; set; } + public global::Speechify.TtsConversationStats? Type209 { get; set; } /// /// /// - public global::Speechify.TtsWebhookDelivery? Type210 { get; set; } + public global::Speechify.TtsRecentCallee? Type210 { get; set; } /// /// /// - public global::Speechify.TtsListWebhookDeliveriesResponse? Type211 { get; set; } + public global::Speechify.TtsListRecentCalleesResponse? Type211 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type212 { get; set; } + public global::System.Collections.Generic.IList? Type212 { get; set; } /// /// /// - public global::Speechify.TtsRetrievalLogResult? Type213 { get; set; } + public global::Speechify.TtsWebhookDeliveryStatus? Type213 { get; set; } /// /// /// - public global::Speechify.TtsRetrievalLogEntry? Type214 { get; set; } + public global::Speechify.TtsWebhookDelivery? Type214 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type215 { get; set; } + public global::Speechify.TtsListWebhookDeliveriesResponse? Type215 { get; set; } /// /// /// - public global::Speechify.TtsListRetrievalLogsResponse? Type216 { get; set; } + public global::System.Collections.Generic.IList? Type216 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type217 { get; set; } + public global::Speechify.TtsRetrievalLogResult? Type217 { get; set; } /// /// /// - public global::Speechify.TtsCreateKnowledgeBaseRequest? Type218 { get; set; } + public global::Speechify.TtsRetrievalLogEntry? Type218 { get; set; } /// /// /// - public global::Speechify.TtsListKnowledgeBasesResponse? Type219 { get; set; } + public global::System.Collections.Generic.IList? Type219 { get; set; } /// /// /// - public global::Speechify.TtsUpdateKnowledgeBaseRequest? Type220 { get; set; } + public global::Speechify.TtsListRetrievalLogsResponse? Type220 { get; set; } /// /// /// - public global::Speechify.TtsKnowledgeBaseDocumentSourceKind? Type221 { get; set; } + public global::System.Collections.Generic.IList? Type221 { get; set; } /// /// /// - public global::Speechify.TtsKnowledgeBaseDocumentStatus? Type222 { get; set; } + public global::Speechify.TtsCreateKnowledgeBaseRequest? Type222 { get; set; } /// /// /// - public global::Speechify.TtsKnowledgeBaseDocument? Type223 { get; set; } + public global::Speechify.TtsListKnowledgeBasesResponse? Type223 { get; set; } /// /// /// - public global::Speechify.TtsListKnowledgeBaseDocumentsResponse? Type224 { get; set; } + public global::Speechify.TtsUpdateKnowledgeBaseRequest? Type224 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type225 { get; set; } + public global::Speechify.TtsKnowledgeBaseDocumentSourceKind? Type225 { get; set; } /// /// /// - public global::Speechify.TtsDependentAgent? Type226 { get; set; } + public global::Speechify.TtsKnowledgeBaseDocumentStatus? Type226 { get; set; } /// /// /// - public global::Speechify.TtsRefreshConfig? Type227 { get; set; } + public global::Speechify.TtsKnowledgeBaseDocument? Type227 { get; set; } /// /// /// - public global::Speechify.TtsKnowledgeBaseDocumentDetail? Type228 { get; set; } + public global::Speechify.TtsListKnowledgeBaseDocumentsResponse? Type228 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type229 { get; set; } + public global::System.Collections.Generic.IList? Type229 { get; set; } /// /// /// - public global::Speechify.TtsKnowledgeBaseChunk? Type230 { get; set; } + public global::Speechify.TtsDependentAgent? Type230 { get; set; } /// /// /// - public global::Speechify.TtsListKnowledgeBaseChunksResponse? Type231 { get; set; } + public global::Speechify.TtsRefreshConfig? Type231 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type232 { get; set; } + public global::Speechify.TtsKnowledgeBaseDocumentDetail? Type232 { get; set; } /// /// /// - public global::Speechify.TtsSearchKnowledgeBasesRequest? Type233 { get; set; } + public global::System.Collections.Generic.IList? Type233 { get; set; } /// /// /// - public global::Speechify.TtsKnowledgeBaseSearchHit? Type234 { get; set; } + public global::Speechify.TtsKnowledgeBaseChunk? Type234 { get; set; } /// /// /// - public global::Speechify.TtsSearchKnowledgeBasesResponse? Type235 { get; set; } + public global::Speechify.TtsListKnowledgeBaseChunksResponse? Type235 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type236 { get; set; } + public global::System.Collections.Generic.IList? Type236 { get; set; } /// /// /// - public global::Speechify.TtsCreateTextDocumentRequest? Type237 { get; set; } + public global::Speechify.TtsSearchKnowledgeBasesRequest? Type237 { get; set; } /// /// /// - public global::Speechify.TtsCreateURLDocumentRequest? Type238 { get; set; } + public global::Speechify.TtsKnowledgeBaseSearchHit? Type238 { get; set; } /// /// /// - public global::Speechify.TtsCreateSitemapImportRequest? Type239 { get; set; } + public global::Speechify.TtsSearchKnowledgeBasesResponse? Type239 { get; set; } /// /// /// - public global::Speechify.TtsImportJobKind? Type240 { get; set; } + public global::System.Collections.Generic.IList? Type240 { get; set; } /// /// /// - public global::Speechify.TtsImportJobStatus? Type241 { get; set; } + public global::Speechify.TtsCreateTextDocumentRequest? Type241 { get; set; } /// /// /// - public global::Speechify.TtsImportJob? Type242 { get; set; } + public global::Speechify.TtsCreateURLDocumentRequest? Type242 { get; set; } /// /// /// - public global::Speechify.TtsImportJobResponse? Type243 { get; set; } + public global::Speechify.TtsCreateSitemapImportRequest? Type243 { get; set; } /// /// /// - public global::Speechify.TtsCreateCrawlImportRequest? Type244 { get; set; } + public global::Speechify.TtsImportJobKind? Type244 { get; set; } /// /// /// - public global::Speechify.TtsCreateURLBatchImportRequest? Type245 { get; set; } + public global::Speechify.TtsImportJobStatus? Type245 { get; set; } /// /// /// - public global::Speechify.TtsListImportJobsResponse? Type246 { get; set; } + public global::Speechify.TtsImportJob? Type246 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type247 { get; set; } + public global::Speechify.TtsImportJobResponse? Type247 { get; set; } /// /// /// - public global::Speechify.TtsBatchDeleteDocumentsRequest? Type248 { get; set; } + public global::Speechify.TtsCreateCrawlImportRequest? Type248 { get; set; } /// /// /// - public global::Speechify.TtsBatchMoveDocumentsRequest? Type249 { get; set; } + public global::Speechify.TtsCreateURLBatchImportRequest? Type249 { get; set; } /// /// /// - public global::Speechify.TtsUpdateRefreshConfigRequest? Type250 { get; set; } + public global::Speechify.TtsListImportJobsResponse? Type250 { get; set; } /// /// /// - public global::Speechify.TtsRefreshHistoryEntryStatus? Type251 { get; set; } + public global::System.Collections.Generic.IList? Type251 { get; set; } /// /// /// - public global::Speechify.TtsRefreshHistoryEntry? Type252 { get; set; } + public global::Speechify.TtsBatchDeleteDocumentsRequest? Type252 { get; set; } /// /// /// - public global::Speechify.TtsListRefreshHistoryResponse? Type253 { get; set; } + public global::Speechify.TtsBatchMoveDocumentsRequest? Type253 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type254 { get; set; } + public global::Speechify.TtsUpdateRefreshConfigRequest? Type254 { get; set; } /// /// /// - public global::Speechify.TtsKnowledgeBaseFolder? Type255 { get; set; } + public global::Speechify.TtsRefreshHistoryEntryStatus? Type255 { get; set; } /// /// /// - public global::Speechify.TtsListKnowledgeBaseFoldersResponse? Type256 { get; set; } + public global::Speechify.TtsRefreshHistoryEntry? Type256 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type257 { get; set; } + public global::Speechify.TtsListRefreshHistoryResponse? Type257 { get; set; } /// /// /// - public global::Speechify.TtsCreateFolderRequest? Type258 { get; set; } + public global::System.Collections.Generic.IList? Type258 { get; set; } /// /// /// - public global::Speechify.TtsUpdateFolderRequest? Type259 { get; set; } + public global::Speechify.TtsKnowledgeBaseFolder? Type259 { get; set; } /// /// /// - public global::Speechify.TtsListTestsResponse? Type260 { get; set; } + public global::Speechify.TtsListKnowledgeBaseFoldersResponse? Type260 { get; set; } /// /// /// - public global::Speechify.TtsTestStatsBucket? Type261 { get; set; } + public global::System.Collections.Generic.IList? Type261 { get; set; } /// /// /// - public global::Speechify.TtsTestStats? Type262 { get; set; } + public global::Speechify.TtsCreateFolderRequest? Type262 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type263 { get; set; } + public global::Speechify.TtsUpdateFolderRequest? Type263 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type264 { get; set; } + public global::Speechify.TtsListTestsResponse? Type264 { get; set; } /// /// /// - public global::Speechify.TtsUpdateAgentTestRequestConfig? Type265 { get; set; } + public global::Speechify.TtsTestStatsBucket? Type265 { get; set; } /// /// /// - public global::Speechify.TtsUpdateAgentTestRequest? Type266 { get; set; } + public global::Speechify.TtsTestStats? Type266 { get; set; } /// /// /// - public global::Speechify.TtsAgentTestAttachment? Type267 { get; set; } + public global::System.Collections.Generic.IList? Type267 { get; set; } /// /// /// - public global::Speechify.TtsListAgentTestAttachmentsResponse? Type268 { get; set; } + public global::System.Collections.Generic.Dictionary? Type268 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type269 { get; set; } + public global::Speechify.TtsUpdateAgentTestRequestConfig? Type269 { get; set; } /// /// /// - public global::Speechify.TtsAgentTestFolder? Type270 { get; set; } + public global::Speechify.TtsUpdateAgentTestRequest? Type270 { get; set; } /// /// /// - public global::Speechify.TtsListAgentTestFoldersResponse? Type271 { get; set; } + public global::Speechify.TtsAgentTestAttachment? Type271 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type272 { get; set; } + public global::Speechify.TtsListAgentTestAttachmentsResponse? Type272 { get; set; } /// /// /// - public global::Speechify.TtsCreateAgentTestFolderRequest? Type273 { get; set; } + public global::System.Collections.Generic.IList? Type273 { get; set; } /// /// /// - public global::Speechify.TtsUpdateAgentTestFolderRequest? Type274 { get; set; } + public global::Speechify.TtsAgentTestFolder? Type274 { get; set; } /// /// /// - public global::Speechify.TtsListAgentTestRunsResponse? Type275 { get; set; } + public global::Speechify.TtsListAgentTestFoldersResponse? Type275 { get; set; } /// /// /// - public global::Speechify.TtsBatchRunEntry? Type276 { get; set; } + public global::System.Collections.Generic.IList? Type276 { get; set; } /// /// /// - public global::Speechify.TtsRunBatchRequest? Type277 { get; set; } + public global::Speechify.TtsCreateAgentTestFolderRequest? Type277 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type278 { get; set; } + public global::Speechify.TtsUpdateAgentTestFolderRequest? Type278 { get; set; } /// /// /// - public global::Speechify.TtsRunBatchResponse? Type279 { get; set; } + public global::Speechify.TtsListAgentTestRunsResponse? Type279 { get; set; } /// /// /// - public global::Speechify.TtsListSuiteRunsResponse? Type280 { get; set; } + public global::Speechify.TtsBatchRunEntry? Type280 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type281 { get; set; } + public global::Speechify.TtsRunBatchRequest? Type281 { get; set; } /// /// /// - public global::Speechify.TtsSuiteChildRun? Type282 { get; set; } + public global::System.Collections.Generic.IList? Type282 { get; set; } /// /// /// - public global::Speechify.TtsAgentTestSuiteRunWithRuns? Type283 { get; set; } + public global::Speechify.TtsRunBatchResponse? Type283 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type284 { get; set; } + public global::Speechify.TtsListSuiteRunsResponse? Type284 { get; set; } /// /// /// - public global::Speechify.TtsCreateToolRequestConfig? Type285 { get; set; } + public global::System.Collections.Generic.IList? Type285 { get; set; } /// /// /// - public global::Speechify.TtsCreateToolRequest? Type286 { get; set; } + public global::Speechify.TtsSuiteChildRun? Type286 { get; set; } /// /// /// - public global::Speechify.TtsListToolsResponse? Type287 { get; set; } + public global::Speechify.TtsAgentTestSuiteRunWithRuns? Type287 { get; set; } /// /// /// - public global::Speechify.TtsUpdateToolRequestConfig? Type288 { get; set; } + public global::System.Collections.Generic.IList? Type288 { get; set; } /// /// /// - public global::Speechify.TtsUpdateToolRequest? Type289 { get; set; } + public global::Speechify.TtsCreateToolRequestConfig? Type289 { get; set; } /// /// /// - public global::Speechify.TtsSystemBuiltinInfo? Type290 { get; set; } + public global::Speechify.TtsCreateToolRequest? Type290 { get; set; } /// /// /// - public global::Speechify.TtsListSystemBuiltinsResponse? Type291 { get; set; } + public global::Speechify.TtsListToolsResponse? Type291 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type292 { get; set; } + public global::Speechify.TtsUpdateToolRequestConfig? Type292 { get; set; } /// /// /// - public global::Speechify.TtsToolAttachedAgent? Type293 { get; set; } + public global::Speechify.TtsUpdateToolRequest? Type293 { get; set; } /// /// /// - public global::Speechify.TtsListToolAttachedAgentsResponse? Type294 { get; set; } + public global::Speechify.TtsSystemBuiltinInfo? Type294 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type295 { get; set; } + public global::Speechify.TtsListSystemBuiltinsResponse? Type295 { get; set; } /// /// /// - public global::Speechify.TtsTestMCPConnectionRequest? Type296 { get; set; } + public global::System.Collections.Generic.IList? Type296 { get; set; } /// /// /// - public global::Speechify.TtsMCPProbeTool? Type297 { get; set; } + public global::Speechify.TtsToolAttachedAgent? Type297 { get; set; } /// /// /// - public global::Speechify.TtsMcpProbeErrorDetailsStage? Type298 { get; set; } + public global::Speechify.TtsListToolAttachedAgentsResponse? Type298 { get; set; } /// /// /// - public global::Speechify.TtsMCPProbeErrorDetails? Type299 { get; set; } + public global::System.Collections.Generic.IList? Type299 { get; set; } /// /// /// - public global::Speechify.TtsMCPProbeResult? Type300 { get; set; } + public global::Speechify.TtsTestMCPConnectionRequest? Type300 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type301 { get; set; } + public global::Speechify.TtsMCPProbeTool? Type301 { get; set; } /// /// /// - public global::Speechify.TtsTestWebhookConnectionRequest? Type302 { get; set; } + public global::Speechify.TtsMcpProbeErrorDetailsStage? Type302 { get; set; } /// /// /// - public global::Speechify.TtsWebhookProbeResult? Type303 { get; set; } + public global::Speechify.TtsMCPProbeErrorDetails? Type303 { get; set; } /// /// /// - public global::Speechify.TtsCaller? Type304 { get; set; } + public global::Speechify.TtsMCPProbeResult? Type304 { get; set; } /// /// /// - public global::Speechify.TtsListCallersResponse? Type305 { get; set; } + public global::System.Collections.Generic.IList? Type305 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type306 { get; set; } + public global::Speechify.TtsTestWebhookConnectionRequest? Type306 { get; set; } /// /// /// - public global::Speechify.TtsGetCallerResponse? Type307 { get; set; } + public global::Speechify.TtsWebhookProbeResult? Type307 { get; set; } /// /// /// - public global::Speechify.TtsDeleteCallerResponse? Type308 { get; set; } + public global::Speechify.TtsCaller? Type308 { get; set; } /// /// /// - public global::Speechify.TtsUpdateCallerRequest? Type309 { get; set; } + public global::Speechify.TtsListCallersResponse? Type309 { get; set; } /// /// /// - public global::Speechify.TtsCallerMemoryItem? Type310 { get; set; } + public global::System.Collections.Generic.IList? Type310 { get; set; } /// /// /// - public global::Speechify.TtsListCallerMemoriesResponse? Type311 { get; set; } + public global::Speechify.TtsGetCallerResponse? Type311 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type312 { get; set; } + public global::Speechify.TtsDeleteCallerResponse? Type312 { get; set; } /// /// /// - public global::Speechify.TtsListCallerConversationsResponse? Type313 { get; set; } + public global::Speechify.TtsUpdateCallerRequest? Type313 { get; set; } /// /// /// - public global::Speechify.TtsAudioAsset? Type314 { get; set; } + public global::Speechify.TtsCallerMemoryItem? Type314 { get; set; } /// /// /// - public global::Speechify.TtsListAudioAssetsResponse? Type315 { get; set; } + public global::Speechify.TtsListCallerMemoriesResponse? Type315 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type316 { get; set; } + public global::System.Collections.Generic.IList? Type316 { get; set; } /// /// /// - public global::Speechify.TtsUploadAudioAssetResponse? Type317 { get; set; } + public global::Speechify.TtsListCallerConversationsResponse? Type317 { get; set; } /// /// /// - public global::Speechify.TtsFlowVersion? Type318 { get; set; } + public global::Speechify.TtsAudioAsset? Type318 { get; set; } /// /// /// - public global::Speechify.TtsFlowGraphNodesItems? Type319 { get; set; } + public global::Speechify.TtsListAudioAssetsResponse? Type319 { get; set; } /// /// /// - public global::Speechify.TtsFlowGraphEdgesItems? Type320 { get; set; } + public global::System.Collections.Generic.IList? Type320 { get; set; } /// /// /// - public global::Speechify.TtsFlowGraphVariablesItems? Type321 { get; set; } + public global::Speechify.TtsUploadAudioAssetResponse? Type321 { get; set; } /// /// /// - public global::Speechify.TtsFlowGraph? Type322 { get; set; } + public global::Speechify.TtsFlowVersion? Type322 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type323 { get; set; } + public global::Speechify.TtsFlowGraphNodesItems? Type323 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type324 { get; set; } + public global::Speechify.TtsFlowGraphEdgesItems? Type324 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type325 { get; set; } + public global::Speechify.TtsFlowGraphVariablesItems? Type325 { get; set; } /// /// /// - public global::Speechify.TtsGetFlowResponse? Type326 { get; set; } + public global::Speechify.TtsFlowGraph? Type326 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type327 { get; set; } + public global::System.Collections.Generic.IList? Type327 { get; set; } /// /// /// - public global::Speechify.TtsPutFlowRequestNodesItems? Type328 { get; set; } + public global::System.Collections.Generic.IList? Type328 { get; set; } /// /// /// - public global::Speechify.TtsPutFlowRequestEdgesItems? Type329 { get; set; } + public global::System.Collections.Generic.IList? Type329 { get; set; } /// /// /// - public global::Speechify.TtsPutFlowRequestVariablesItems? Type330 { get; set; } + public global::Speechify.TtsGetFlowResponse? Type330 { get; set; } /// /// /// - public global::Speechify.TtsPutFlowRequest? Type331 { get; set; } + public global::System.Collections.Generic.IList? Type331 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type332 { get; set; } + public global::Speechify.TtsPutFlowRequestNodesItems? Type332 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type333 { get; set; } + public global::Speechify.TtsPutFlowRequestEdgesItems? Type333 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type334 { get; set; } + public global::Speechify.TtsPutFlowRequestVariablesItems? Type334 { get; set; } /// /// /// - public global::Speechify.TtsPublishFlowRequest? Type335 { get; set; } + public global::Speechify.TtsPutFlowRequest? Type335 { get; set; } /// /// /// - public global::Speechify.TtsRollbackFlowRequest? Type336 { get; set; } + public global::System.Collections.Generic.IList? Type336 { get; set; } /// /// /// - public global::Speechify.TtsListFlowVersionsResponse? Type337 { get; set; } + public global::System.Collections.Generic.IList? Type337 { get; set; } /// /// /// - public global::Speechify.TtsGetFlowVersionResponse? Type338 { get; set; } + public global::System.Collections.Generic.IList? Type338 { get; set; } /// /// /// - public global::Speechify.TtsFlowGetSchemaResponse200? Type339 { get; set; } + public global::Speechify.TtsPublishFlowRequest? Type339 { get; set; } /// /// /// - public global::Speechify.TtsFlowTemplate? Type340 { get; set; } + public global::Speechify.TtsRollbackFlowRequest? Type340 { get; set; } /// /// /// - public global::Speechify.TtsListFlowTemplatesResponse? Type341 { get; set; } + public global::Speechify.TtsListFlowVersionsResponse? Type341 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type342 { get; set; } + public global::Speechify.TtsGetFlowVersionResponse? Type342 { get; set; } /// /// /// - public global::Speechify.TtsFlowGraphInputNodesItems? Type343 { get; set; } + public global::Speechify.TtsFlowGetSchemaResponse200? Type343 { get; set; } /// /// /// - public global::Speechify.TtsFlowGraphInputEdgesItems? Type344 { get; set; } + public global::Speechify.TtsFlowTemplate? Type344 { get; set; } /// /// /// - public global::Speechify.TtsFlowGraphInputVariablesItems? Type345 { get; set; } + public global::Speechify.TtsListFlowTemplatesResponse? Type345 { get; set; } /// /// /// - public global::Speechify.TtsFlowGraphInput? Type346 { get; set; } + public global::System.Collections.Generic.IList? Type346 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type347 { get; set; } + public global::Speechify.TtsFlowGraphInputNodesItems? Type347 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type348 { get; set; } + public global::Speechify.TtsFlowGraphInputEdgesItems? Type348 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type349 { get; set; } + public global::Speechify.TtsFlowGraphInputVariablesItems? Type349 { get; set; } /// /// /// - public global::Speechify.TtsCreateFlowTemplateRequest? Type350 { get; set; } + public global::Speechify.TtsFlowGraphInput? Type350 { get; set; } /// /// /// - public global::Speechify.TtsCloneFlowTemplateRequest? Type351 { get; set; } + public global::System.Collections.Generic.IList? Type351 { get; set; } /// /// /// - public global::Speechify.TtsShadowConversationResponse? Type352 { get; set; } + public global::System.Collections.Generic.IList? Type352 { get; set; } /// /// /// - public global::Speechify.TtsBatchRecipientRequest? Type353 { get; set; } + public global::System.Collections.Generic.IList? Type353 { get; set; } /// /// /// - public global::Speechify.TtsCreateBatchCallRequest? Type354 { get; set; } + public global::Speechify.TtsCreateFlowTemplateRequest? Type354 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type355 { get; set; } + public global::Speechify.TtsCloneFlowTemplateRequest? Type355 { get; set; } /// /// /// - public global::Speechify.TtsBatchCallStatus? Type356 { get; set; } + public global::Speechify.TtsShadowConversationResponse? Type356 { get; set; } /// /// /// - public global::Speechify.TtsBatchCall? Type357 { get; set; } + public global::Speechify.TtsBatchRecipientRequest? Type357 { get; set; } /// /// /// - public global::Speechify.TtsCreateBatchCallResponse? Type358 { get; set; } + public global::Speechify.TtsCreateBatchCallRequest? Type358 { get; set; } /// /// /// - public global::Speechify.TtsListBatchCallsResponse? Type359 { get; set; } + public global::System.Collections.Generic.IList? Type359 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type360 { get; set; } + public global::Speechify.TtsBatchCallStatus? Type360 { get; set; } /// /// /// - public global::Speechify.TtsBatchRecipientStatus? Type361 { get; set; } + public global::Speechify.TtsBatchCall? Type361 { get; set; } /// /// /// - public global::Speechify.TtsBatchRecipient? Type362 { get; set; } + public global::Speechify.TtsCreateBatchCallResponse? Type362 { get; set; } /// /// /// - public global::Speechify.TtsGetBatchCallResponse? Type363 { get; set; } + public global::Speechify.TtsListBatchCallsResponse? Type363 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type364 { get; set; } + public global::System.Collections.Generic.IList? Type364 { get; set; } /// /// /// - public global::Speechify.TtsCreateOutboundCallRequest? Type365 { get; set; } + public global::Speechify.TtsBatchRecipientStatus? Type365 { get; set; } /// /// /// - public global::Speechify.TtsCreateOutboundCallResponse? Type366 { get; set; } + public global::Speechify.TtsBatchRecipient? Type366 { get; set; } /// /// /// - public global::Speechify.TtsPhoneNumberSource? Type367 { get; set; } + public global::Speechify.TtsGetBatchCallResponse? Type367 { get; set; } /// /// /// - public global::Speechify.TtsTwilioImportSpec? Type368 { get; set; } + public global::System.Collections.Generic.IList? Type368 { get; set; } /// /// /// - public global::Speechify.TtsImportPhoneNumberRequest? Type369 { get; set; } + public global::Speechify.TtsCreateOutboundCallRequest? Type369 { get; set; } /// /// /// - public global::Speechify.TtsPhoneNumberCapability? Type370 { get; set; } + public global::Speechify.TtsCreateOutboundCallResponse? Type370 { get; set; } /// /// /// - public global::Speechify.TtsPhoneNumber? Type371 { get; set; } + public global::Speechify.TtsPhoneNumberSource? Type371 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type372 { get; set; } + public global::Speechify.TtsTwilioImportSpec? Type372 { get; set; } /// /// /// - public global::Speechify.TtsListPhoneNumbersResponse? Type373 { get; set; } + public global::Speechify.TtsImportPhoneNumberRequest? Type373 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type374 { get; set; } + public global::Speechify.TtsPhoneNumberCapability? Type374 { get; set; } /// /// /// - public global::Speechify.TtsUpdatePhoneNumberRequest? Type375 { get; set; } + public global::Speechify.TtsPhoneNumber? Type375 { get; set; } /// /// /// - public global::Speechify.TtsAvailablePhoneNumber? Type376 { get; set; } + public global::System.Collections.Generic.IList? Type376 { get; set; } /// /// /// - public global::Speechify.TtsSearchAvailablePhoneNumbersResponse? Type377 { get; set; } + public global::Speechify.TtsListPhoneNumbersResponse? Type377 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type378 { get; set; } + public global::System.Collections.Generic.IList? Type378 { get; set; } /// /// /// - public global::Speechify.TtsPurchasePhoneNumberRequest? Type379 { get; set; } + public global::Speechify.TtsUpdatePhoneNumberRequest? Type379 { get; set; } /// /// /// - public global::Speechify.TtsSIPTrunkKind? Type380 { get; set; } + public global::Speechify.TtsAvailablePhoneNumber? Type380 { get; set; } /// /// /// - public global::Speechify.TtsSIPTrunkDirection? Type381 { get; set; } + public global::Speechify.TtsSearchAvailablePhoneNumbersResponse? Type381 { get; set; } /// /// /// - public global::Speechify.TtsSIPTransport? Type382 { get; set; } + public global::System.Collections.Generic.IList? Type382 { get; set; } /// /// /// - public global::Speechify.TtsSIPMediaEncryption? Type383 { get; set; } + public global::Speechify.TtsPurchasePhoneNumberRequest? Type383 { get; set; } /// /// /// - public global::Speechify.TtsCreateSipTrunkRequestCredentials? Type384 { get; set; } + public global::Speechify.TtsSIPTrunkKind? Type384 { get; set; } /// /// /// - public global::Speechify.TtsCreateSIPTrunkRequest? Type385 { get; set; } + public global::Speechify.TtsSIPTrunkDirection? Type385 { get; set; } /// /// /// - public global::Speechify.TtsSIPTrunk? Type386 { get; set; } + public global::Speechify.TtsSIPTransport? Type386 { get; set; } /// /// /// - public global::Speechify.TtsListSIPTrunksResponse? Type387 { get; set; } + public global::Speechify.TtsSIPMediaEncryption? Type387 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type388 { get; set; } + public global::Speechify.TtsCreateSipTrunkRequestCredentials? Type388 { get; set; } /// /// /// - public global::Speechify.TtsIvrMenuListEntryMenuTree? Type389 { get; set; } + public global::Speechify.TtsCreateSIPTrunkRequest? Type389 { get; set; } /// /// /// - public global::Speechify.TtsIVRMenuListEntry? Type390 { get; set; } + public global::Speechify.TtsSIPTrunk? Type390 { get; set; } /// /// /// - public global::Speechify.TtsListIVRMenusResponse? Type391 { get; set; } + public global::Speechify.TtsListSIPTrunksResponse? Type391 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type392 { get; set; } + public global::System.Collections.Generic.IList? Type392 { get; set; } /// /// /// - public global::Speechify.TtsIvrMenuMenuTree? Type393 { get; set; } + public global::Speechify.TtsIvrMenuListEntryMenuTree? Type393 { get; set; } /// /// /// - public global::Speechify.TtsIVRMenu? Type394 { get; set; } + public global::Speechify.TtsIVRMenuListEntry? Type394 { get; set; } /// /// /// - public global::Speechify.TtsUpdateIVRMenuLabelRequest? Type395 { get; set; } + public global::Speechify.TtsListIVRMenusResponse? Type395 { get; set; } /// /// /// - public global::Speechify.TtsInvalidateIVRMenuRequest? Type396 { get; set; } + public global::System.Collections.Generic.IList? Type396 { get; set; } /// /// /// - public global::Speechify.CreateRequest? Type397 { get; set; } + public global::Speechify.TtsIvrMenuMenuTree? Type397 { get; set; } /// /// /// - public global::Speechify.UploadDocumentRequest? Type398 { get; set; } + public global::Speechify.TtsIVRMenu? Type398 { get; set; } /// /// /// - public global::Speechify.UpdateDocumentRequest? Type399 { get; set; } + public global::Speechify.TtsUpdateIVRMenuLabelRequest? Type399 { get; set; } /// /// /// - public global::Speechify.RunTestRequest? Type400 { get; set; } + public global::Speechify.TtsInvalidateIVRMenuRequest? Type400 { get; set; } /// /// /// - public global::Speechify.UploadRequest? Type401 { get; set; } + public global::Speechify.CreateRequest? Type401 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type402 { get; set; } + public global::Speechify.UploadDocumentRequest? Type402 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type403 { get; set; } + public global::Speechify.UpdateDocumentRequest? Type403 { get; set; } + /// + /// + /// + public global::Speechify.RunTestRequest? Type404 { get; set; } + /// + /// + /// + public global::Speechify.UploadRequest? Type405 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type406 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type407 { get; set; } /// /// diff --git a/src/libs/Speechify/Generated/Speechify.Models.TtsAgent.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsAgent.g.cs index e74ddf0..9e30028 100644 --- a/src/libs/Speechify/Generated/Speechify.Models.TtsAgent.g.cs +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsAgent.g.cs @@ -272,11 +272,12 @@ public sealed partial class TtsAgent public int? InactivityTimeoutSeconds { get; set; } /// - /// Optional pre-mixed ambient bed (e.g. office, cafe). Null
- /// disables background noise. + /// Optional pre-mixed ambient bed. Null disables background
+ /// noise. ///
[global::System.Text.Json.Serialization.JsonPropertyName("background_noise_preset")] - public string? BackgroundNoisePreset { get; set; } + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Speechify.JsonConverters.TtsAgentBackgroundNoisePresetJsonConverter))] + public global::Speechify.TtsAgentBackgroundNoisePreset? BackgroundNoisePreset { get; set; } /// /// Volume of the background-noise bed. Null disables. @@ -473,8 +474,8 @@ public sealed partial class TtsAgent /// the platform default. /// /// - /// Optional pre-mixed ambient bed (e.g. office, cafe). Null
- /// disables background noise. + /// Optional pre-mixed ambient bed. Null disables background
+ /// noise. /// /// /// Volume of the background-noise bed. Null disables. @@ -523,7 +524,7 @@ public TtsAgent( double? ttsPlaybackRate, double? responseDelaySeconds, int? inactivityTimeoutSeconds, - string? backgroundNoisePreset, + global::Speechify.TtsAgentBackgroundNoisePreset? backgroundNoisePreset, double? backgroundNoiseVolume, global::Speechify.TtsAgentSttOverride? sttOverride) { diff --git a/src/libs/Speechify/Generated/Speechify.Models.TtsAgentBackgroundNoisePreset.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentBackgroundNoisePreset.g.cs new file mode 100644 index 0000000..8305416 --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentBackgroundNoisePreset.g.cs @@ -0,0 +1,76 @@ + +#nullable enable + +namespace Speechify +{ + /// + /// Optional pre-mixed ambient bed. Null disables background
+ /// noise. + ///
+ public enum TtsAgentBackgroundNoisePreset + { + /// + /// + /// + City, + /// + /// + /// + CrowdedRoom, + /// + /// + /// + Forest, + /// + /// + /// + HoldMusic, + /// + /// + /// + KeyboardTyping, + /// + /// + /// + Office, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class TtsAgentBackgroundNoisePresetExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this TtsAgentBackgroundNoisePreset value) + { + return value switch + { + TtsAgentBackgroundNoisePreset.City => "city", + TtsAgentBackgroundNoisePreset.CrowdedRoom => "crowded_room", + TtsAgentBackgroundNoisePreset.Forest => "forest", + TtsAgentBackgroundNoisePreset.HoldMusic => "hold_music", + TtsAgentBackgroundNoisePreset.KeyboardTyping => "keyboard_typing", + TtsAgentBackgroundNoisePreset.Office => "office", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static TtsAgentBackgroundNoisePreset? ToEnum(string value) + { + return value switch + { + "city" => TtsAgentBackgroundNoisePreset.City, + "crowded_room" => TtsAgentBackgroundNoisePreset.CrowdedRoom, + "forest" => TtsAgentBackgroundNoisePreset.Forest, + "hold_music" => TtsAgentBackgroundNoisePreset.HoldMusic, + "keyboard_typing" => TtsAgentBackgroundNoisePreset.KeyboardTyping, + "office" => TtsAgentBackgroundNoisePreset.Office, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshot.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshot.g.cs index 8a2aa5f..0af3283 100644 --- a/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshot.g.cs +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshot.g.cs @@ -4,12 +4,15 @@ namespace Speechify { /// - /// Frozen subset of the agent's configuration captured at
+ /// Frozen copy of the agent's behavioral configuration captured at
/// conversation-create time (AIS-2778) so the detail view can
- /// render historical calls accurately even after the live
- /// agent's prompt or voice has been edited. Carries its own
- /// `schema_version` because the snapshot shape evolves
- /// independently of the live Agent shape. + /// render historical calls accurately even after the live agent
+ /// has been edited. Carries its own `schema_version` because the
+ /// snapshot shape evolves independently of the live Agent shape.
+ /// Field-presence contract: new snapshots emit every field
+ /// (explicit null when unset). A key that is ABSENT from a stored
+ /// snapshot means the snapshot pre-dates that field's capture;
+ /// readers hide the value instead of guessing a default. ///
public sealed partial class TtsAgentSnapshot { @@ -49,12 +52,31 @@ public sealed partial class TtsAgentSnapshot [global::System.Text.Json.Serialization.JsonPropertyName("language")] public string? Language { get; set; } + /// + /// Resolved provider that actually ran (a "Platform default"
+ /// agent freezes the concrete platform pair at call time). + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("llm_provider")] + public string? LlmProvider { get; set; } + /// /// /// [global::System.Text.Json.Serialization.JsonPropertyName("llm_model")] public string? LlmModel { get; set; } + /// + /// Custom-provider endpoint base URL; null for managed providers. The bearer key is never captured. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("llm_base_url")] + public string? LlmBaseUrl { get; set; } + + /// + /// Extra chat.completions body forwarded verbatim for custom-provider agents; null otherwise. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("llm_extra_body")] + public object? LlmExtraBody { get; set; } + /// /// /// @@ -80,23 +102,78 @@ public sealed partial class TtsAgentSnapshot public int? MemoryRetentionDays { get; set; } /// - /// + /// Per-agent speaking-rate override at call time; null = the resolved voice's default rate. /// [global::System.Text.Json.Serialization.JsonPropertyName("tts_speaking_rate")] public double? TtsSpeakingRate { get; set; } /// - /// + /// Post-process time-stretch at call time; null = no time-stretch (1x). /// [global::System.Text.Json.Serialization.JsonPropertyName("tts_playback_rate")] public double? TtsPlaybackRate { get; set; } /// - /// + /// Silence-wait override at call time; null = stack default endpointing. /// [global::System.Text.Json.Serialization.JsonPropertyName("response_delay_seconds")] public double? ResponseDelaySeconds { get; set; } + /// + /// Streaming-STT stack the call dispatched with; null = the worker's platform default. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("stt_override")] + public string? SttOverride { get; set; } + + /// + /// Answering Machine Detection routing config for outbound voice
+ /// agents. AMD classifies the called party's first ~3-15 seconds of
+ /// audio into one of LiveKit's categories (human, uncertain,
+ /// machine-vm, machine-ivr, machine-unavailable) and dispatches per
+ /// category to the configured action. Stored on the agent row;
+ /// flowed onto outbound dispatch metadata under the `amd` key.
+ /// Rationale: see ADR 0008 (docs/adrs/0008-amd-as-session-routing-primitive.md). + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("amd")] + public global::Speechify.TtsAMDConfig? Amd { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("save_audio_recording")] + public bool? SaveAudioRecording { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("navigator_mode")] + public bool? NavigatorMode { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("ivr_memory_enabled")] + public bool? IvrMemoryEnabled { get; set; } + + /// + /// Silence-tolerance override at call time; null = platform default. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("inactivity_timeout_seconds")] + public int? InactivityTimeoutSeconds { get; set; } + + /// + /// Ambient-bed preset at call time; null = no background noise. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("background_noise_preset")] + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Speechify.JsonConverters.TtsAgentSnapshotBackgroundNoisePresetJsonConverter))] + public global::Speechify.TtsAgentSnapshotBackgroundNoisePreset? BackgroundNoisePreset { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("background_noise_volume")] + public double? BackgroundNoiseVolume { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -112,14 +189,52 @@ public sealed partial class TtsAgentSnapshot /// /// /// + /// + /// Resolved provider that actually ran (a "Platform default"
+ /// agent freezes the concrete platform pair at call time). + /// /// + /// + /// Custom-provider endpoint base URL; null for managed providers. The bearer key is never captured. + /// + /// + /// Extra chat.completions body forwarded verbatim for custom-provider agents; null otherwise. + /// /// /// /// /// - /// - /// - /// + /// + /// Per-agent speaking-rate override at call time; null = the resolved voice's default rate. + /// + /// + /// Post-process time-stretch at call time; null = no time-stretch (1x). + /// + /// + /// Silence-wait override at call time; null = stack default endpointing. + /// + /// + /// Streaming-STT stack the call dispatched with; null = the worker's platform default. + /// + /// + /// Answering Machine Detection routing config for outbound voice
+ /// agents. AMD classifies the called party's first ~3-15 seconds of
+ /// audio into one of LiveKit's categories (human, uncertain,
+ /// machine-vm, machine-ivr, machine-unavailable) and dispatches per
+ /// category to the configured action. Stored on the agent row;
+ /// flowed onto outbound dispatch metadata under the `amd` key.
+ /// Rationale: see ADR 0008 (docs/adrs/0008-amd-as-session-routing-primitive.md). + /// + /// + /// + /// + /// + /// Silence-tolerance override at call time; null = platform default. + /// + /// + /// Ambient-bed preset at call time; null = no background noise. + /// + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif @@ -130,14 +245,25 @@ public TtsAgentSnapshot( string? prompt, string? firstMessage, string? language, + string? llmProvider, string? llmModel, + string? llmBaseUrl, + object? llmExtraBody, string? voiceId, double? temperature, bool? memoryEnabled, int? memoryRetentionDays, double? ttsSpeakingRate, double? ttsPlaybackRate, - double? responseDelaySeconds) + double? responseDelaySeconds, + string? sttOverride, + global::Speechify.TtsAMDConfig? amd, + bool? saveAudioRecording, + bool? navigatorMode, + bool? ivrMemoryEnabled, + int? inactivityTimeoutSeconds, + global::Speechify.TtsAgentSnapshotBackgroundNoisePreset? backgroundNoisePreset, + double? backgroundNoiseVolume) { this.SchemaVersion = schemaVersion; this.CapturedAt = capturedAt; @@ -145,7 +271,10 @@ public TtsAgentSnapshot( this.Prompt = prompt; this.FirstMessage = firstMessage; this.Language = language; + this.LlmProvider = llmProvider; this.LlmModel = llmModel; + this.LlmBaseUrl = llmBaseUrl; + this.LlmExtraBody = llmExtraBody; this.VoiceId = voiceId; this.Temperature = temperature; this.MemoryEnabled = memoryEnabled; @@ -153,6 +282,14 @@ public TtsAgentSnapshot( this.TtsSpeakingRate = ttsSpeakingRate; this.TtsPlaybackRate = ttsPlaybackRate; this.ResponseDelaySeconds = responseDelaySeconds; + this.SttOverride = sttOverride; + this.Amd = amd; + this.SaveAudioRecording = saveAudioRecording; + this.NavigatorMode = navigatorMode; + this.IvrMemoryEnabled = ivrMemoryEnabled; + this.InactivityTimeoutSeconds = inactivityTimeoutSeconds; + this.BackgroundNoisePreset = backgroundNoisePreset; + this.BackgroundNoiseVolume = backgroundNoiseVolume; } /// diff --git a/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotBackgroundNoisePreset.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotBackgroundNoisePreset.g.cs new file mode 100644 index 0000000..1774b65 --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotBackgroundNoisePreset.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Speechify +{ + /// + /// Ambient-bed preset at call time; null = no background noise. + /// + public enum TtsAgentSnapshotBackgroundNoisePreset + { + /// + /// + /// + City, + /// + /// + /// + CrowdedRoom, + /// + /// + /// + Forest, + /// + /// + /// + HoldMusic, + /// + /// + /// + KeyboardTyping, + /// + /// + /// + Office, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class TtsAgentSnapshotBackgroundNoisePresetExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this TtsAgentSnapshotBackgroundNoisePreset value) + { + return value switch + { + TtsAgentSnapshotBackgroundNoisePreset.City => "city", + TtsAgentSnapshotBackgroundNoisePreset.CrowdedRoom => "crowded_room", + TtsAgentSnapshotBackgroundNoisePreset.Forest => "forest", + TtsAgentSnapshotBackgroundNoisePreset.HoldMusic => "hold_music", + TtsAgentSnapshotBackgroundNoisePreset.KeyboardTyping => "keyboard_typing", + TtsAgentSnapshotBackgroundNoisePreset.Office => "office", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static TtsAgentSnapshotBackgroundNoisePreset? ToEnum(string value) + { + return value switch + { + "city" => TtsAgentSnapshotBackgroundNoisePreset.City, + "crowded_room" => TtsAgentSnapshotBackgroundNoisePreset.CrowdedRoom, + "forest" => TtsAgentSnapshotBackgroundNoisePreset.Forest, + "hold_music" => TtsAgentSnapshotBackgroundNoisePreset.HoldMusic, + "keyboard_typing" => TtsAgentSnapshotBackgroundNoisePreset.KeyboardTyping, + "office" => TtsAgentSnapshotBackgroundNoisePreset.Office, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody.Json.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody.Json.g.cs new file mode 100644 index 0000000..1c1f56d --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Speechify +{ + public sealed partial class TtsAgentSnapshotLlmExtraBody + { + /// + /// 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::Speechify.TtsAgentSnapshotLlmExtraBody? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Speechify.TtsAgentSnapshotLlmExtraBody), + jsonSerializerContext) as global::Speechify.TtsAgentSnapshotLlmExtraBody; + } + + /// + /// 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::Speechify.TtsAgentSnapshotLlmExtraBody? 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::Speechify.TtsAgentSnapshotLlmExtraBody), + jsonSerializerContext).ConfigureAwait(false)) as global::Speechify.TtsAgentSnapshotLlmExtraBody; + } + + /// + /// 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/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody.g.cs new file mode 100644 index 0000000..052fdfc --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody.g.cs @@ -0,0 +1,19 @@ + +#nullable enable + +namespace Speechify +{ + /// + /// Extra chat.completions body forwarded verbatim for custom-provider agents; null otherwise. + /// + public sealed partial class TtsAgentSnapshotLlmExtraBody + { + + /// + /// 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/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody2.Json.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody2.Json.g.cs new file mode 100644 index 0000000..6ece8a9 --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody2.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Speechify +{ + public sealed partial class TtsAgentSnapshotLlmExtraBody2 + { + /// + /// 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::Speechify.TtsAgentSnapshotLlmExtraBody2? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Speechify.TtsAgentSnapshotLlmExtraBody2), + jsonSerializerContext) as global::Speechify.TtsAgentSnapshotLlmExtraBody2; + } + + /// + /// 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::Speechify.TtsAgentSnapshotLlmExtraBody2? 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::Speechify.TtsAgentSnapshotLlmExtraBody2), + jsonSerializerContext).ConfigureAwait(false)) as global::Speechify.TtsAgentSnapshotLlmExtraBody2; + } + + /// + /// 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/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody2.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody2.g.cs new file mode 100644 index 0000000..89ccf8b --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsAgentSnapshotLlmExtraBody2.g.cs @@ -0,0 +1,19 @@ + +#nullable enable + +namespace Speechify +{ + /// + /// Any type + /// + public sealed partial class TtsAgentSnapshotLlmExtraBody2 + { + + /// + /// 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/Speechify/Generated/Speechify.Models.TtsCreateAgentRequest.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsCreateAgentRequest.g.cs index 4397dbd..7f97a62 100644 --- a/src/libs/Speechify/Generated/Speechify.Models.TtsCreateAgentRequest.g.cs +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsCreateAgentRequest.g.cs @@ -208,7 +208,8 @@ public sealed partial class TtsCreateAgentRequest /// disable the bed, which also clears `background_noise_volume`. /// [global::System.Text.Json.Serialization.JsonPropertyName("background_noise_preset")] - public string? BackgroundNoisePreset { get; set; } + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Speechify.JsonConverters.TtsCreateAgentRequestBackgroundNoisePresetJsonConverter))] + public global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset? BackgroundNoisePreset { get; set; } /// /// Volume of the background-noise bed (0..1). Ignored when
@@ -380,7 +381,7 @@ public TtsCreateAgentRequest( double? ttsPlaybackRate, double? responseDelaySeconds, int? inactivityTimeoutSeconds, - string? backgroundNoisePreset, + global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset? backgroundNoisePreset, double? backgroundNoiseVolume, global::Speechify.TtsCreateAgentRequestSttOverride? sttOverride) { diff --git a/src/libs/Speechify/Generated/Speechify.Models.TtsCreateAgentRequestBackgroundNoisePreset.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsCreateAgentRequestBackgroundNoisePreset.g.cs new file mode 100644 index 0000000..d0e66c7 --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsCreateAgentRequestBackgroundNoisePreset.g.cs @@ -0,0 +1,76 @@ + +#nullable enable + +namespace Speechify +{ + /// + /// Pre-mixed ambient bed slug. Send empty string ("") to
+ /// disable the bed, which also clears `background_noise_volume`. + ///
+ public enum TtsCreateAgentRequestBackgroundNoisePreset + { + /// + /// + /// + City, + /// + /// + /// + CrowdedRoom, + /// + /// + /// + Forest, + /// + /// + /// + HoldMusic, + /// + /// + /// + KeyboardTyping, + /// + /// + /// + Office, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class TtsCreateAgentRequestBackgroundNoisePresetExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this TtsCreateAgentRequestBackgroundNoisePreset value) + { + return value switch + { + TtsCreateAgentRequestBackgroundNoisePreset.City => "city", + TtsCreateAgentRequestBackgroundNoisePreset.CrowdedRoom => "crowded_room", + TtsCreateAgentRequestBackgroundNoisePreset.Forest => "forest", + TtsCreateAgentRequestBackgroundNoisePreset.HoldMusic => "hold_music", + TtsCreateAgentRequestBackgroundNoisePreset.KeyboardTyping => "keyboard_typing", + TtsCreateAgentRequestBackgroundNoisePreset.Office => "office", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static TtsCreateAgentRequestBackgroundNoisePreset? ToEnum(string value) + { + return value switch + { + "city" => TtsCreateAgentRequestBackgroundNoisePreset.City, + "crowded_room" => TtsCreateAgentRequestBackgroundNoisePreset.CrowdedRoom, + "forest" => TtsCreateAgentRequestBackgroundNoisePreset.Forest, + "hold_music" => TtsCreateAgentRequestBackgroundNoisePreset.HoldMusic, + "keyboard_typing" => TtsCreateAgentRequestBackgroundNoisePreset.KeyboardTyping, + "office" => TtsCreateAgentRequestBackgroundNoisePreset.Office, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Speechify/Generated/Speechify.Models.TtsUpdateAgentRequest.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsUpdateAgentRequest.g.cs index 42d3d5d..e47f43b 100644 --- a/src/libs/Speechify/Generated/Speechify.Models.TtsUpdateAgentRequest.g.cs +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsUpdateAgentRequest.g.cs @@ -231,7 +231,8 @@ public sealed partial class TtsUpdateAgentRequest /// disable the bed, which also clears `background_noise_volume`. ///
[global::System.Text.Json.Serialization.JsonPropertyName("background_noise_preset")] - public string? BackgroundNoisePreset { get; set; } + [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Speechify.JsonConverters.TtsUpdateAgentRequestBackgroundNoisePresetJsonConverter))] + public global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset? BackgroundNoisePreset { get; set; } /// /// Volume of the background-noise bed (0..1). Ignored when
@@ -404,7 +405,7 @@ public TtsUpdateAgentRequest( double? responseDelaySeconds, bool? clearResponseDelaySeconds, int? inactivityTimeoutSeconds, - string? backgroundNoisePreset, + global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset? backgroundNoisePreset, double? backgroundNoiseVolume, global::Speechify.TtsUpdateAgentRequestSttOverride? sttOverride) { diff --git a/src/libs/Speechify/Generated/Speechify.Models.TtsUpdateAgentRequestBackgroundNoisePreset.g.cs b/src/libs/Speechify/Generated/Speechify.Models.TtsUpdateAgentRequestBackgroundNoisePreset.g.cs new file mode 100644 index 0000000..72ca65b --- /dev/null +++ b/src/libs/Speechify/Generated/Speechify.Models.TtsUpdateAgentRequestBackgroundNoisePreset.g.cs @@ -0,0 +1,76 @@ + +#nullable enable + +namespace Speechify +{ + /// + /// Pre-mixed ambient bed slug. Send empty string ("") to
+ /// disable the bed, which also clears `background_noise_volume`. + ///
+ public enum TtsUpdateAgentRequestBackgroundNoisePreset + { + /// + /// + /// + City, + /// + /// + /// + CrowdedRoom, + /// + /// + /// + Forest, + /// + /// + /// + HoldMusic, + /// + /// + /// + KeyboardTyping, + /// + /// + /// + Office, + } + + /// + /// Enum extensions to do fast conversions without the reflection. + /// + public static class TtsUpdateAgentRequestBackgroundNoisePresetExtensions + { + /// + /// Converts an enum to a string. + /// + public static string ToValueString(this TtsUpdateAgentRequestBackgroundNoisePreset value) + { + return value switch + { + TtsUpdateAgentRequestBackgroundNoisePreset.City => "city", + TtsUpdateAgentRequestBackgroundNoisePreset.CrowdedRoom => "crowded_room", + TtsUpdateAgentRequestBackgroundNoisePreset.Forest => "forest", + TtsUpdateAgentRequestBackgroundNoisePreset.HoldMusic => "hold_music", + TtsUpdateAgentRequestBackgroundNoisePreset.KeyboardTyping => "keyboard_typing", + TtsUpdateAgentRequestBackgroundNoisePreset.Office => "office", + _ => throw new global::System.ArgumentOutOfRangeException(nameof(value), value, null), + }; + } + /// + /// Converts an string to a enum. + /// + public static TtsUpdateAgentRequestBackgroundNoisePreset? ToEnum(string value) + { + return value switch + { + "city" => TtsUpdateAgentRequestBackgroundNoisePreset.City, + "crowded_room" => TtsUpdateAgentRequestBackgroundNoisePreset.CrowdedRoom, + "forest" => TtsUpdateAgentRequestBackgroundNoisePreset.Forest, + "hold_music" => TtsUpdateAgentRequestBackgroundNoisePreset.HoldMusic, + "keyboard_typing" => TtsUpdateAgentRequestBackgroundNoisePreset.KeyboardTyping, + "office" => TtsUpdateAgentRequestBackgroundNoisePreset.Office, + _ => null, + }; + } + } +} \ No newline at end of file diff --git a/src/libs/Speechify/Generated/Speechify.SubpackageTtsSubpackageTtsAgentsClient.Create.g.cs b/src/libs/Speechify/Generated/Speechify.SubpackageTtsSubpackageTtsAgentsClient.Create.g.cs index 884aa14..2ac4678 100644 --- a/src/libs/Speechify/Generated/Speechify.SubpackageTtsSubpackageTtsAgentsClient.Create.g.cs +++ b/src/libs/Speechify/Generated/Speechify.SubpackageTtsSubpackageTtsAgentsClient.Create.g.cs @@ -656,7 +656,7 @@ partial void ProcessCreateResponseContent( double? ttsPlaybackRate = default, double? responseDelaySeconds = default, int? inactivityTimeoutSeconds = default, - string? backgroundNoisePreset = default, + global::Speechify.TtsCreateAgentRequestBackgroundNoisePreset? backgroundNoisePreset = default, double? backgroundNoiseVolume = default, global::Speechify.TtsCreateAgentRequestSttOverride? sttOverride = default, global::Speechify.AutoSDKRequestOptions? requestOptions = default, diff --git a/src/libs/Speechify/Generated/Speechify.SubpackageTtsSubpackageTtsAgentsClient.Update.g.cs b/src/libs/Speechify/Generated/Speechify.SubpackageTtsSubpackageTtsAgentsClient.Update.g.cs index 55261f2..d1c36b5 100644 --- a/src/libs/Speechify/Generated/Speechify.SubpackageTtsSubpackageTtsAgentsClient.Update.g.cs +++ b/src/libs/Speechify/Generated/Speechify.SubpackageTtsSubpackageTtsAgentsClient.Update.g.cs @@ -703,7 +703,7 @@ partial void ProcessUpdateResponseContent( double? responseDelaySeconds = default, bool? clearResponseDelaySeconds = default, int? inactivityTimeoutSeconds = default, - string? backgroundNoisePreset = default, + global::Speechify.TtsUpdateAgentRequestBackgroundNoisePreset? backgroundNoisePreset = default, double? backgroundNoiseVolume = default, global::Speechify.TtsUpdateAgentRequestSttOverride? sttOverride = default, global::Speechify.AutoSDKRequestOptions? requestOptions = default, diff --git a/src/libs/Speechify/openapi.yaml b/src/libs/Speechify/openapi.yaml index 2762dde..be5c498 100644 --- a/src/libs/Speechify/openapi.yaml +++ b/src/libs/Speechify/openapi.yaml @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"API Reference","version":"1.0.0"},"paths":{"/v1/audio/speech":{"post":{"operationId":"speech","summary":"Create Speech","description":"Synthesize speech audio from text or SSML. Returns the complete audio\nfile plus billing and speech-mark metadata in a single response. For\nlow-latency playback or long-form text, use POST /v1/audio/stream.","tags":["subpackage_tts.subpackage_tts/audio"],"parameters":[{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Synthesized speech audio for the requested input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:GetSpeechResponse"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"402":{"description":"The workspace has insufficient credits, or the request needs a\nplan tier the workspace is not on (e.g. voice cloning). Distinct\nfrom `Forbidden` so SDK consumers can drive upgrade UX.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"403":{"description":"The credential authenticated, but is not authorised for this\nresource - typically a workspace-role gate (owner / admin\nrequired) or a cross-tenant access attempt.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"500":{"description":"An unexpected server-side error occurred. Safe to retry with\nexponential backoff for idempotent requests.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:GetSpeechRequest"}}}}}},"/v1/audio/stream":{"post":{"operationId":"stream","summary":"Stream Speech","description":"Synthesize speech and stream the audio back as it is generated, for\nlow-latency playback. The Accept header selects the audio container.\nFor short text where receiving the whole file at once is fine, use\nPOST /v1/audio/speech.","tags":["subpackage_tts.subpackage_tts/audio"],"parameters":[{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","required":true,"schema":{"$ref":"#/components/schemas/tts:V1AudioStreamPostParametersAccept"}}],"responses":{"200":{"description":"Chunked audio stream for the requested input.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"402":{"description":"The workspace has insufficient credits, or the request needs a\nplan tier the workspace is not on (e.g. voice cloning). Distinct\nfrom `Forbidden` so SDK consumers can drive upgrade UX.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"403":{"description":"The credential authenticated, but is not authorised for this\nresource - typically a workspace-role gate (owner / admin\nrequired) or a cross-tenant access attempt.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"500":{"description":"An unexpected server-side error occurred. Safe to retry with\nexponential backoff for idempotent requests.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:GetStreamRequest"}}}}}},"/v1/voices":{"get":{"operationId":"list","summary":"List Voices","description":"Gets the list of voices available for the user","tags":["subpackage_tts.subpackage_tts/voices"],"parameters":[{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A list of voices","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/tts:GetVoice"}}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"500":{"description":"An unexpected server-side error occurred. Safe to retry with\nexponential backoff for idempotent requests.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}},"post":{"operationId":"create","summary":"Create Voice","description":"Create a personal (cloned) voice for the user","tags":["subpackage_tts.subpackage_tts/voices"],"parameters":[{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A created voice","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:CreatedVoice"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"402":{"description":"The workspace has insufficient credits, or the request needs a\nplan tier the workspace is not on (e.g. voice cloning). Distinct\nfrom `Forbidden` so SDK consumers can drive upgrade UX.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"500":{"description":"An unexpected server-side error occurred. Safe to retry with\nexponential backoff for idempotent requests.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the personal voice"},"locale":{"type":"string","default":"en-US","description":"Native language (locale) of the personal voice (e.g. en-US, es-ES, etc.)"},"gender":{"$ref":"#/components/schemas/tts:V1VoicesPostRequestBodyContentMultipartFormDataSchemaGender","description":"Gender marker for the personal voice\nmale GenderMale\nfemale GenderFemale\nnotSpecified GenderNotSpecified"},"sample":{"type":"string","format":"binary","description":"Audio sample file"},"avatar":{"type":"string","format":"binary","description":"Avatar image file"},"consent":{"type":"string","description":"A **string** representing the user consent information in JSON format\nThis should include the fullName and email of the consenting individual.\nFor example, `{\"fullName\": \"John Doe\", \"email\": \"john@example.com\"}`"}},"required":["name","gender","sample","consent"]}}}}}},"/v1/voices/{id}":{"delete":{"operationId":"delete","summary":"Delete Voice","description":"Delete a personal (cloned) voice","tags":["subpackage_tts.subpackage_tts/voices"],"parameters":[{"name":"id","in":"path","description":"The ID of the voice to delete","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Voice deleted successfully","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"500":{"description":"An unexpected server-side error occurred. Safe to retry with\nexponential backoff for idempotent requests.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/voices/{id}/sample":{"get":{"operationId":"download-sample","summary":"Download Voice Sample","description":"Download a personal (cloned) voice sample","tags":["subpackage_tts.subpackage_tts/voices"],"parameters":[{"name":"id","in":"path","description":"The ID of the voice to download sample for","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Voice sample audio file","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"500":{"description":"An unexpected server-side error occurred. Safe to retry with\nexponential backoff for idempotent requests.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents":{"post":{"operationId":"create","summary":"Create Agent","description":"Create a voice agent.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"The created agent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Agent"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:CreateAgentRequest"}}}}},"get":{"operationId":"list","summary":"List Agents","description":"List voice agents owned by the caller.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A list of voice agents.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListAgentsResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}":{"get":{"operationId":"get","summary":"Get Agent","description":"Retrieve a voice agent by ID.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The requested agent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Agent"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}},"patch":{"operationId":"update","summary":"Update Agent","description":"Update a voice agent. Only fields present on the request body are changed.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The updated agent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Agent"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:UpdateAgentRequest"}}}}},"delete":{"operationId":"delete","summary":"Delete Agent","description":"Delete a voice agent. Conversations and attached tools remain. Tests whose only agent is this one are deleted with it; tests also attached to other agents survive, minus the attachment.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Agent deleted.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}/conversations":{"post":{"operationId":"create-conversation","summary":"Create Conversation","description":"Start a new voice conversation with the agent. Returns a realtime\nvoice session + short-lived client token so the caller can\nconnect the audio pipeline directly. The agent is dispatched\nserver-side; no additional client action required.\n\nPass `dynamic_variables` to supply per-session values that override\nthe agent's stored variable defaults for this one conversation.\nKeys in the `system__` namespace are rejected at this boundary.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"The created conversation with its realtime session token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:CreateConversationResponse"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:CreateConversationRequest"}}}}}},"/v1/agents/{id}/sessions":{"post":{"operationId":"create-session","summary":"Create Session","description":"Mint a realtime voice session for the given agent. Widget-friendly\ncounterpart to `createConversation` \u2014 same response shape, dual\nauthentication:\n\n* **Authenticated (Bearer)**: works for any agent the caller\n owns. Typical server-to-server flow where the embedding\n site's backend mints a token and hands it to the browser so\n the API key never reaches the client.\n* **Unauthenticated**: works only when `agent.is_public = true`\n AND the request's `Origin` header matches `agent.allowed_origins`\n (or that list is empty). When `agent.hostname_allowlist` is\n non-empty, the `Origin` hostname must additionally be a\n member of that list. Used directly by the\n `` web component.\n\nResponds with the same `CreateConversationResponse` as\n`createConversation`.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The created session with its realtime token + URL.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:CreateConversationResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"403":{"description":"The credential authenticated, but is not authorised for this\nresource - typically a workspace-role gate (owner / admin\nrequired) or a cross-tenant access attempt.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:CreateSessionRequest"}}}}}},"/v1/agents/voices":{"get":{"operationId":"list-agent-voices","summary":"List Agent Voices","description":"List the curated voice catalogue available for voice agents.\nMatches the `ai-api-agents` VMS scope one-for-one, so the same\nslug set is accepted by POST/PATCH /v1/agents. Personal\n(cloned) voices are NOT included \u2014 they stay on\n`GET /v1/voices`. The JSON layout intentionally mirrors the\nTTS `/v1/voices` shape so the console feeds both endpoints\ninto the same voice-picker component.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The curated agent voice catalogue.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/tts:AgentVoice"}}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}/builtins":{"post":{"operationId":"create-builtin","summary":"Create Agent Builtin","description":"Create a new builtin instance on this agent. `builtin` must\nresolve to one of the names returned by\n`GET /v1/agents/tools/system-builtins`; unknown values are rejected.\n`name` is the LLM-facing identifier the model uses to call the\ntool; it must match the tool-name regex and be unique within\nthe agent's builtin set.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"The created builtin instance.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:AgentBuiltin"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:CreateAgentBuiltinRequest"}}}}},"get":{"operationId":"list-builtins","summary":"List Agent Builtins","description":"List every builtin instance configured on this agent. Each row\nis one instance of a worker-resident capability (`end_call`,\n`play_audio`, etc.) bound to this specific agent with its own\nLLM-facing name, description, and per-call config. Same builtin\nmay appear N times on one agent \u2014 typically two `play_audio`\nrows bound to different audio assets.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The agent's builtin instances.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListAgentBuiltinsResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}/builtins/{builtinId}":{"get":{"operationId":"get-builtin","summary":"Get Agent Builtin","description":"Fetch one builtin instance by ID.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"builtinId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The builtin instance.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:AgentBuiltin"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}},"patch":{"operationId":"update-builtin","summary":"Update Agent Builtin","description":"Update a builtin instance. All fields optional; omitting a\nfield leaves it unchanged. The underlying `builtin` (which\ncapability the instance maps to) is intentionally NOT\npatchable \u2014 change of identity would surprise the worker, so\nthe customer should delete and recreate instead.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"builtinId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The updated builtin instance.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:AgentBuiltin"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:UpdateAgentBuiltinRequest"}}}}},"delete":{"operationId":"delete-builtin","summary":"Delete Agent Builtin","description":"Delete a builtin instance from this agent. Idempotent on\nalready-deleted ids (404). Does NOT detach references from\nflow nodes that name the instance; the worker logs and skips\non missing-row at session start (fail-soft).\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"builtinId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Builtin instance deleted.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}/variables":{"get":{"operationId":"get-dynamic-variables","summary":"Get Dynamic Variables","description":"Retrieve the agent's customer-scope dynamic variables and the read-only\ncatalogue of reserved `system__*` keys. The system variables list is\nprovided so editor UIs can render the reference list without maintaining\na client-side copy of the catalogue.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The agent's variable catalogue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListDynamicVariablesResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}},"patch":{"operationId":"update-dynamic-variables","summary":"Update Dynamic Variables","description":"Replace the agent's customer-scope dynamic variable definitions.\nThe supplied list overwrites the stored list wholesale (same\nsemantics as `updateEvaluationConfig`). Pass an empty array to\nclear all variables. Up to 20 variables per agent. Keys must\nmatch `[a-zA-Z0-9_]+` and must not start with the reserved\n`system__` prefix.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The updated variable catalogue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListDynamicVariablesResponse"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:UpdateDynamicVariablesRequest"}}}}}},"/v1/agents/{id}/evaluation-config":{"get":{"operationId":"get-evaluation-config","summary":"Get Evaluation Config","description":"Retrieve the agent's post-call evaluation criteria + data-collection config.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The evaluation config for the agent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:EvaluationConfig"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}},"patch":{"operationId":"update-evaluation-config","summary":"Update Evaluation Config","description":"Replace the agent's evaluation criteria + data-collection fields.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The updated evaluation config.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:EvaluationConfig"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:UpdateEvaluationConfigRequest"}}}}}},"/v1/agents/{id}/knowledge-bases":{"get":{"operationId":"list-agent-knowledge-bases","summary":"List Agent Knowledge Bases","description":"List knowledge bases attached to an agent. Bare list \u2014 the\nattachment count is bounded by configuration, not by data\nscale, so this endpoint does not paginate.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The knowledge bases attached to the agent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:AttachedKnowledgeBasesResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}/knowledge-bases/{kbId}":{"post":{"operationId":"attach-knowledge-base","summary":"Attach Agent Knowledge Base","description":"Attach a knowledge base to an agent. The `search_knowledge` tool\nis auto-registered on the next conversation and can only query the\nattached knowledge bases.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"kbId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Knowledge base attached.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}},"delete":{"operationId":"detach-knowledge-base","summary":"Detach Agent Knowledge Base","description":"Detach a knowledge base from an agent.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"kbId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Knowledge base detached.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}/memories":{"get":{"operationId":"list-memories","summary":"List Agent Memories","description":"List per-caller memories extracted for an agent. Memories are\nwritten post-call by the built-in extractor when `memory_enabled`\nis true on the agent; the list is sorted newest-first.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum rows to return. Defaults to 100, capped at 200.","required":false,"schema":{"type":"integer","default":100}},{"name":"offset","in":"query","description":"Number of rows to skip. Combine with `limit` to page through older memories.","required":false,"schema":{"type":"integer","default":0}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Memories for the agent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListMemoriesResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}/memories/delete":{"post":{"operationId":"delete-memories-by-caller","summary":"Delete Memories by Caller","description":"Delete every memory ever extracted for a specific caller on\nthis agent. Privacy / GDPR surface. Returns the count of rows\nsoft-deleted; rows become permanently unreachable immediately\nand are hard-deleted by the retention job after the tenant's\nconfigured retention window.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deletion summary.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:DeleteMemoriesByCallerResponse"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:DeleteMemoriesByCallerRequest"}}}}}},"/v1/agents/{id}/tests":{"get":{"operationId":"list-tests","summary":"List Agent Tests","description":"List all tests configured for the agent. Each entry includes the\nmost recent run so the console can render pass/fail badges without\nan extra round-trip.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tests for the agent with last-run summaries.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListAgentTestsResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}},"post":{"operationId":"create-test","summary":"Create Agent Test","description":"Create a new test for the agent.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"The created test.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:AgentTest"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:CreateAgentTestRequest"}}}}}},"/v1/agents/{id}/tests/runs":{"post":{"operationId":"run-all-tests","summary":"Run All Agent Tests","description":"Enqueue runs for every test on the agent concurrently. Up to 50\ntests are dispatched in one call. Each returned run starts in\n`queued` status; poll `GET /v1/agents/tests/runs/{id}` for the terminal\nresult.\n\nAn optional request body (AIS-3443) runs the whole suite against\na proposed config: a `config_override` (prompt / model / tools)\napplied to every test without editing the tests, and/or a\n`flow_version_id` to target a specific flow version instead of\nthe agent's active flow. Omit the body to run against the\nagent's live config and active flow.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Queued runs for all tests on the agent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:RunAgentTestsResponse"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:RunAllTestsRequest"}}}}}},"/v1/agents/{id}/tools":{"get":{"operationId":"list-tools","summary":"List Agent Tools","description":"List tools currently attached to the agent. Bare list \u2014 an\nagent's tool attachment count is bounded by configuration, so\nthis endpoint does not paginate.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Attached tools for the agent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:AttachedToolsResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}/tools/{toolId}":{"post":{"operationId":"attach-tool","summary":"Attach Tool","description":"Attach an existing tool to the agent so the LLM can call it.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"toolId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Tool attached.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}},"delete":{"operationId":"detach-tool","summary":"Detach Tool","description":"Detach a tool from the agent.","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"toolId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Tool detached.","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/{id}/widget-config":{"get":{"operationId":"get-widget-config","summary":"Get Agent Widget Config","description":"Return the embed-widget appearance config for an agent. Works\nunauthenticated for public agents; the body is cosmetic only.\n","tags":["subpackage_tts.subpackage_tts/agents"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The agent's widget configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:WidgetConfig"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"500":{"description":"An unexpected server-side error occurred. Safe to retry with\nexponential backoff for idempotent requests.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/conversations":{"get":{"operationId":"list","summary":"List Conversations","description":"List conversations owned by the caller, ordered by most recent.\nCursor-paginated: omit `cursor` to fetch the first page; pass the\nprevious response's `next_cursor` back to fetch the next page.\nWalk pages while `has_more` is true.","tags":["subpackage_tts.subpackage_tts/conversations"],"parameters":[{"name":"cursor","in":"query","description":"Opaque pagination cursor from a previous response.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Max conversations per page (default 50, max 200).","required":false,"schema":{"type":"integer"}},{"name":"agent_id","in":"query","description":"Filter to conversations for this agent.","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","description":"Filter by conversation status.","required":false,"schema":{"$ref":"#/components/schemas/tts:ConversationStatus"}},{"name":"transport","in":"query","description":"Filter by transport.","required":false,"schema":{"$ref":"#/components/schemas/tts:ConversationTransport"}},{"name":"caller_identity","in":"query","description":"Filter by caller identity.","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Free-text search across conversation content.","required":false,"schema":{"type":"string"}},{"name":"started_after","in":"query","description":"Only conversations started at or after this RFC 3339 timestamp.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"started_before","in":"query","description":"Only conversations started at or before this RFC 3339 timestamp.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"duration_min_ms","in":"query","description":"Minimum conversation duration in milliseconds.","required":false,"schema":{"type":"integer"}},{"name":"duration_max_ms","in":"query","description":"Maximum conversation duration in milliseconds.","required":false,"schema":{"type":"integer"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A list of conversations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListConversationsResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/conversations/{id}":{"get":{"operationId":"get","summary":"Get Conversation","description":"Retrieve a conversation by ID.","tags":["subpackage_tts.subpackage_tts/conversations"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The requested conversation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Conversation"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/conversations/{id}/messages":{"get":{"operationId":"list-messages","summary":"List Messages","description":"Retrieve the transcript for a conversation in started_at order\n(oldest first). Cursor-paginated: omit `cursor` to fetch the\nfirst page. Default page size is 50 and max is 200. Walk pages\nwhile `has_more` is true.","tags":["subpackage_tts.subpackage_tts/conversations"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","description":"Opaque pagination cursor from a previous response.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Max messages per page (default 50, max 200).","required":false,"schema":{"type":"integer"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The messages for the conversation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListMessagesResponse"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/conversations/{id}/evaluations":{"get":{"operationId":"list-evaluations","summary":"List Evaluations","description":"Retrieve post-call evaluation results for a conversation.","tags":["subpackage_tts.subpackage_tts/conversations"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The evaluations for the conversation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListEvaluationsResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/conversations/{id}/memories":{"get":{"operationId":"list-memories","summary":"List Conversation Memories","description":"List memories extracted from a specific conversation.","tags":["subpackage_tts.subpackage_tts/conversations"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Memories written during this conversation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListMemoriesResponse"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"404":{"description":"The referenced resource does not exist or is not visible to\nthe caller's workspace.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/conversations/stats":{"get":{"operationId":"stats","summary":"Conversation stats","description":"Aggregated counts and averages over the caller's conversations, scoped by the same filters as the list endpoint.","tags":["subpackage_tts.subpackage_tts/conversations"],"parameters":[{"name":"agent_id","in":"query","description":"Filter to conversations for this agent.","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","description":"Filter by conversation status.","required":false,"schema":{"$ref":"#/components/schemas/tts:ConversationStatus"}},{"name":"transport","in":"query","description":"Filter by transport.","required":false,"schema":{"$ref":"#/components/schemas/tts:ConversationTransport"}},{"name":"caller_identity","in":"query","description":"Filter by caller identity.","required":false,"schema":{"type":"string"}},{"name":"search","in":"query","description":"Free-text search across conversation content.","required":false,"schema":{"type":"string"}},{"name":"started_after","in":"query","description":"Only conversations started at or after this RFC 3339 timestamp.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"started_before","in":"query","description":"Only conversations started at or before this RFC 3339 timestamp.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"duration_min_ms","in":"query","description":"Minimum conversation duration in milliseconds.","required":false,"schema":{"type":"integer"}},{"name":"duration_max_ms","in":"query","description":"Maximum conversation duration in milliseconds.","required":false,"schema":{"type":"integer"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Stats for the matched conversations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ConversationStats"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/conversations/recent-callees":{"get":{"operationId":"recent-callees","summary":"List recent callees","description":"Distinct phone numbers the caller's workspace has dialled on\noutbound calls, ordered by most recent. Feeds the batch-calls\ncomposer's \"Suggested from history\" surface. Cursor-paginated:\nomit `cursor` to fetch the first page. Default page size is 50\nand max is 200. Walk pages while `has_more` is true.\n","tags":["subpackage_tts.subpackage_tts/conversations"],"parameters":[{"name":"cursor","in":"query","description":"Opaque pagination cursor from a previous response.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Max number of distinct phone numbers per page. Defaults to 50; clamped to 200.","required":false,"schema":{"type":"integer"}},{"name":"Authorization","in":"header","description":"Enter your API key with the `Bearer` prefix, e.g. 'Bearer sk_...'.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Recent callees for the caller's workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:ListRecentCalleesResponse"}}}},"400":{"description":"The request was malformed or failed validation. The response\nbody is the standard `Error` envelope; for validation\nfailures `error.fields` enumerates the offending fields as\na `path -> message` map (code = `validation_failed`).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}},"401":{"description":"Authentication is missing or invalid. The request did not\ncarry a recognised credential (Firebase ID token, API key, or\nworker JWT).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts:Error"}}}}}}},"/v1/agents/conversations/{id}/recording":{"get":{"operationId":"stream-recording","summary":"Stream Recording","description":"Proxy the GCS-stored audio recording for a conversation through\nthe Cloud Run service identity. Returns OGG/Opus bytes (LiveKit\nroom-composite egress default). The response is streamed so a\nlong recording does not buffer in memory; `