Skip to content

Commit b85fb7d

Browse files
committed
Release v0.8.1
1 parent 53a2512 commit b85fb7d

File tree

13 files changed

+51346
-37741
lines changed

13 files changed

+51346
-37741
lines changed

assistants.go

Lines changed: 79 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
337353
func (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+
22472271
func (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

23582392
func (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+
46004645
func (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

47114766
func (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

Comments
 (0)