@@ -84,8 +84,9 @@ type Assistant struct {
8484 ModelOutputInMessagesEnabled * bool `json:"modelOutputInMessagesEnabled,omitempty" url:"modelOutputInMessagesEnabled,omitempty"`
8585 // These are the configurations to be passed to the transport providers of assistant's calls, like Twilio. You can store multiple configurations for different transport providers. For a call, only the configuration matching the call transport provider is used.
8686 TransportConfigurations []* TransportConfigurationTwilio `json:"transportConfigurations,omitempty" url:"transportConfigurations,omitempty"`
87- // This is the plan for observability configuration of assistant's calls.
88- // Currently supports Langfuse for tracing and monitoring.
87+ // This is the plan for observability of assistant's calls.
88+ //
89+ // Currently, only Langfuse is supported.
8990 ObservabilityPlan * LangfuseObservabilityPlan `json:"observabilityPlan,omitempty" url:"observabilityPlan,omitempty"`
9091 // These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials.
9192 Credentials []* AssistantCredentialsItem `json:"credentials,omitempty" url:"credentials,omitempty"`
@@ -108,11 +109,21 @@ type Assistant struct {
108109 CompliancePlan * CompliancePlan `json:"compliancePlan,omitempty" url:"compliancePlan,omitempty"`
109110 // This is for metadata you want to store on the assistant.
110111 Metadata map [string ]interface {} `json:"metadata,omitempty" url:"metadata,omitempty"`
112+ // This enables filtering of noise and background speech while the user is talking.
113+ //
114+ // Features:
115+ // - Smart denoising using Krisp
116+ // - Fourier denoising
117+ //
118+ // Smart denoising can be combined with or used independently of Fourier denoising.
119+ //
120+ // Order of precedence:
121+ // - Smart denoising
122+ // - Fourier denoising
123+ BackgroundSpeechDenoisingPlan * BackgroundSpeechDenoisingPlan `json:"backgroundSpeechDenoisingPlan,omitempty" url:"backgroundSpeechDenoisingPlan,omitempty"`
111124 // This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
112125 AnalysisPlan * AnalysisPlan `json:"analysisPlan,omitempty" url:"analysisPlan,omitempty"`
113126 // This is the plan for artifacts generated during assistant's calls. Stored in `call.artifact`.
114- //
115- // Note: `recordingEnabled` is currently at the root level. It will be moved to `artifactPlan` in the future, but will remain backwards compatible.
116127 ArtifactPlan * ArtifactPlan `json:"artifactPlan,omitempty" url:"artifactPlan,omitempty"`
117128 // This is the plan for static predefined messages that can be spoken by the assistant during the call, like `idleMessages`.
118129 //
@@ -139,8 +150,6 @@ type Assistant struct {
139150 // Usage:
140151 // - To enable live listening of the assistant's calls, set `monitorPlan.listenEnabled` to `true`.
141152 // - To enable live control of the assistant's calls, set `monitorPlan.controlEnabled` to `true`.
142- //
143- // Note, `serverMessages`, `clientMessages`, `serverUrl` and `serverUrlSecret` are currently at the root level but will be moved to `monitorPlan` in the future. Will remain backwards compatible
144153 MonitorPlan * MonitorPlan `json:"monitorPlan,omitempty" url:"monitorPlan,omitempty"`
145154 // These are the credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can provide a subset using this.
146155 CredentialIds []string `json:"credentialIds,omitempty" url:"credentialIds,omitempty"`
@@ -334,6 +343,13 @@ func (a *Assistant) GetMetadata() map[string]interface{} {
334343 return a .Metadata
335344}
336345
346+ func (a * Assistant ) GetBackgroundSpeechDenoisingPlan () * BackgroundSpeechDenoisingPlan {
347+ if a == nil {
348+ return nil
349+ }
350+ return a .BackgroundSpeechDenoisingPlan
351+ }
352+
337353func (a * Assistant ) GetAnalysisPlan () * AnalysisPlan {
338354 if a == nil {
339355 return nil
@@ -2170,6 +2186,7 @@ type AssistantTranscriber struct {
21702186 SpeechmaticsTranscriber * SpeechmaticsTranscriber
21712187 TalkscriberTranscriber * TalkscriberTranscriber
21722188 OpenAiTranscriber * OpenAiTranscriber
2189+ CartesiaTranscriber * CartesiaTranscriber
21732190
21742191 typ string
21752192}
@@ -2244,6 +2261,13 @@ func (a *AssistantTranscriber) GetOpenAiTranscriber() *OpenAiTranscriber {
22442261 return a .OpenAiTranscriber
22452262}
22462263
2264+ func (a * AssistantTranscriber ) GetCartesiaTranscriber () * CartesiaTranscriber {
2265+ if a == nil {
2266+ return nil
2267+ }
2268+ return a .CartesiaTranscriber
2269+ }
2270+
22472271func (a * AssistantTranscriber ) UnmarshalJSON (data []byte ) error {
22482272 valueAssemblyAiTranscriber := new (AssemblyAiTranscriber )
22492273 if err := json .Unmarshal (data , & valueAssemblyAiTranscriber ); err == nil {
@@ -2305,6 +2329,12 @@ func (a *AssistantTranscriber) UnmarshalJSON(data []byte) error {
23052329 a .OpenAiTranscriber = valueOpenAiTranscriber
23062330 return nil
23072331 }
2332+ valueCartesiaTranscriber := new (CartesiaTranscriber )
2333+ if err := json .Unmarshal (data , & valueCartesiaTranscriber ); err == nil {
2334+ a .typ = "CartesiaTranscriber"
2335+ a .CartesiaTranscriber = valueCartesiaTranscriber
2336+ return nil
2337+ }
23082338 return fmt .Errorf ("%s cannot be deserialized as a %T" , data , a )
23092339}
23102340
@@ -2339,6 +2369,9 @@ func (a AssistantTranscriber) MarshalJSON() ([]byte, error) {
23392369 if a .typ == "OpenAiTranscriber" || a .OpenAiTranscriber != nil {
23402370 return json .Marshal (a .OpenAiTranscriber )
23412371 }
2372+ if a .typ == "CartesiaTranscriber" || a .CartesiaTranscriber != nil {
2373+ return json .Marshal (a .CartesiaTranscriber )
2374+ }
23422375 return nil , fmt .Errorf ("type %T does not include a non-empty union type" , a )
23432376}
23442377
@@ -2353,6 +2386,7 @@ type AssistantTranscriberVisitor interface {
23532386 VisitSpeechmaticsTranscriber (* SpeechmaticsTranscriber ) error
23542387 VisitTalkscriberTranscriber (* TalkscriberTranscriber ) error
23552388 VisitOpenAiTranscriber (* OpenAiTranscriber ) error
2389+ VisitCartesiaTranscriber (* CartesiaTranscriber ) error
23562390}
23572391
23582392func (a * AssistantTranscriber ) Accept (visitor AssistantTranscriberVisitor ) error {
@@ -2386,6 +2420,9 @@ func (a *AssistantTranscriber) Accept(visitor AssistantTranscriberVisitor) error
23862420 if a .typ == "OpenAiTranscriber" || a .OpenAiTranscriber != nil {
23872421 return visitor .VisitOpenAiTranscriber (a .OpenAiTranscriber )
23882422 }
2423+ if a .typ == "CartesiaTranscriber" || a .CartesiaTranscriber != nil {
2424+ return visitor .VisitCartesiaTranscriber (a .CartesiaTranscriber )
2425+ }
23892426 return fmt .Errorf ("type %T does not include a non-empty union type" , a )
23902427}
23912428
@@ -4523,6 +4560,7 @@ type UpdateAssistantDtoTranscriber struct {
45234560 SpeechmaticsTranscriber * SpeechmaticsTranscriber
45244561 TalkscriberTranscriber * TalkscriberTranscriber
45254562 OpenAiTranscriber * OpenAiTranscriber
4563+ CartesiaTranscriber * CartesiaTranscriber
45264564
45274565 typ string
45284566}
@@ -4597,6 +4635,13 @@ func (u *UpdateAssistantDtoTranscriber) GetOpenAiTranscriber() *OpenAiTranscribe
45974635 return u .OpenAiTranscriber
45984636}
45994637
4638+ func (u * UpdateAssistantDtoTranscriber ) GetCartesiaTranscriber () * CartesiaTranscriber {
4639+ if u == nil {
4640+ return nil
4641+ }
4642+ return u .CartesiaTranscriber
4643+ }
4644+
46004645func (u * UpdateAssistantDtoTranscriber ) UnmarshalJSON (data []byte ) error {
46014646 valueAssemblyAiTranscriber := new (AssemblyAiTranscriber )
46024647 if err := json .Unmarshal (data , & valueAssemblyAiTranscriber ); err == nil {
@@ -4658,6 +4703,12 @@ func (u *UpdateAssistantDtoTranscriber) UnmarshalJSON(data []byte) error {
46584703 u .OpenAiTranscriber = valueOpenAiTranscriber
46594704 return nil
46604705 }
4706+ valueCartesiaTranscriber := new (CartesiaTranscriber )
4707+ if err := json .Unmarshal (data , & valueCartesiaTranscriber ); err == nil {
4708+ u .typ = "CartesiaTranscriber"
4709+ u .CartesiaTranscriber = valueCartesiaTranscriber
4710+ return nil
4711+ }
46614712 return fmt .Errorf ("%s cannot be deserialized as a %T" , data , u )
46624713}
46634714
@@ -4692,6 +4743,9 @@ func (u UpdateAssistantDtoTranscriber) MarshalJSON() ([]byte, error) {
46924743 if u .typ == "OpenAiTranscriber" || u .OpenAiTranscriber != nil {
46934744 return json .Marshal (u .OpenAiTranscriber )
46944745 }
4746+ if u .typ == "CartesiaTranscriber" || u .CartesiaTranscriber != nil {
4747+ return json .Marshal (u .CartesiaTranscriber )
4748+ }
46954749 return nil , fmt .Errorf ("type %T does not include a non-empty union type" , u )
46964750}
46974751
@@ -4706,6 +4760,7 @@ type UpdateAssistantDtoTranscriberVisitor interface {
47064760 VisitSpeechmaticsTranscriber (* SpeechmaticsTranscriber ) error
47074761 VisitTalkscriberTranscriber (* TalkscriberTranscriber ) error
47084762 VisitOpenAiTranscriber (* OpenAiTranscriber ) error
4763+ VisitCartesiaTranscriber (* CartesiaTranscriber ) error
47094764}
47104765
47114766func (u * UpdateAssistantDtoTranscriber ) Accept (visitor UpdateAssistantDtoTranscriberVisitor ) error {
@@ -4739,6 +4794,9 @@ func (u *UpdateAssistantDtoTranscriber) Accept(visitor UpdateAssistantDtoTranscr
47394794 if u .typ == "OpenAiTranscriber" || u .OpenAiTranscriber != nil {
47404795 return visitor .VisitOpenAiTranscriber (u .OpenAiTranscriber )
47414796 }
4797+ if u .typ == "CartesiaTranscriber" || u .CartesiaTranscriber != nil {
4798+ return visitor .VisitCartesiaTranscriber (u .CartesiaTranscriber )
4799+ }
47424800 return fmt .Errorf ("type %T does not include a non-empty union type" , u )
47434801}
47444802
@@ -5239,8 +5297,9 @@ type UpdateAssistantDto struct {
52395297 ModelOutputInMessagesEnabled * bool `json:"modelOutputInMessagesEnabled,omitempty" url:"-"`
52405298 // These are the configurations to be passed to the transport providers of assistant's calls, like Twilio. You can store multiple configurations for different transport providers. For a call, only the configuration matching the call transport provider is used.
52415299 TransportConfigurations []* TransportConfigurationTwilio `json:"transportConfigurations,omitempty" url:"-"`
5242- // This is the plan for observability configuration of assistant's calls.
5243- // Currently supports Langfuse for tracing and monitoring.
5300+ // This is the plan for observability of assistant's calls.
5301+ //
5302+ // Currently, only Langfuse is supported.
52445303 ObservabilityPlan * LangfuseObservabilityPlan `json:"observabilityPlan,omitempty" url:"-"`
52455304 // These are dynamic credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can supplement an additional credentials using this. Dynamic credentials override existing credentials.
52465305 Credentials []* UpdateAssistantDtoCredentialsItem `json:"credentials,omitempty" url:"-"`
@@ -5263,11 +5322,21 @@ type UpdateAssistantDto struct {
52635322 CompliancePlan * CompliancePlan `json:"compliancePlan,omitempty" url:"-"`
52645323 // This is for metadata you want to store on the assistant.
52655324 Metadata map [string ]interface {} `json:"metadata,omitempty" url:"-"`
5325+ // This enables filtering of noise and background speech while the user is talking.
5326+ //
5327+ // Features:
5328+ // - Smart denoising using Krisp
5329+ // - Fourier denoising
5330+ //
5331+ // Smart denoising can be combined with or used independently of Fourier denoising.
5332+ //
5333+ // Order of precedence:
5334+ // - Smart denoising
5335+ // - Fourier denoising
5336+ BackgroundSpeechDenoisingPlan * BackgroundSpeechDenoisingPlan `json:"backgroundSpeechDenoisingPlan,omitempty" url:"-"`
52665337 // This is the plan for analysis of assistant's calls. Stored in `call.analysis`.
52675338 AnalysisPlan * AnalysisPlan `json:"analysisPlan,omitempty" url:"-"`
52685339 // This is the plan for artifacts generated during assistant's calls. Stored in `call.artifact`.
5269- //
5270- // Note: `recordingEnabled` is currently at the root level. It will be moved to `artifactPlan` in the future, but will remain backwards compatible.
52715340 ArtifactPlan * ArtifactPlan `json:"artifactPlan,omitempty" url:"-"`
52725341 // This is the plan for static predefined messages that can be spoken by the assistant during the call, like `idleMessages`.
52735342 //
@@ -5294,8 +5363,6 @@ type UpdateAssistantDto struct {
52945363 // Usage:
52955364 // - To enable live listening of the assistant's calls, set `monitorPlan.listenEnabled` to `true`.
52965365 // - To enable live control of the assistant's calls, set `monitorPlan.controlEnabled` to `true`.
5297- //
5298- // Note, `serverMessages`, `clientMessages`, `serverUrl` and `serverUrlSecret` are currently at the root level but will be moved to `monitorPlan` in the future. Will remain backwards compatible
52995366 MonitorPlan * MonitorPlan `json:"monitorPlan,omitempty" url:"-"`
53005367 // These are the credentials that will be used for the assistant calls. By default, all the credentials are available for use in the call but you can provide a subset using this.
53015368 CredentialIds []string `json:"credentialIds,omitempty" url:"-"`
0 commit comments