Class: Vapi::WorkflowTranscriber

Inherits:
Object
  • Object
show all
Defined in:
lib/vapi_server_sdk/types/workflow_transcriber.rb

Overview

This is the transcriber for the workflow.

This can be overridden at node level using `nodes[n].transcriber`.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(member:, discriminant:) ⇒ Vapi::WorkflowTranscriber



31
32
33
34
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 31

def initialize(member:, discriminant:)
  @member = member
  @discriminant = discriminant
end

Instance Attribute Details

#discriminantString (readonly)



23
24
25
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 23

def discriminant
  @discriminant
end

#memberObject (readonly)



21
22
23
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 21

def member
  @member
end

Class Method Details

._11_labs(member:) ⇒ Vapi::WorkflowTranscriber



173
174
175
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 173

def self._11_labs(member:)
  new(member: member, discriminant: "11labs")
end

.assembly_ai(member:) ⇒ Vapi::WorkflowTranscriber



149
150
151
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 149

def self.assembly_ai(member:)
  new(member: member, discriminant: "assembly-ai")
end

.azure(member:) ⇒ Vapi::WorkflowTranscriber



155
156
157
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 155

def self.azure(member:)
  new(member: member, discriminant: "azure")
end

.cartesia(member:) ⇒ Vapi::WorkflowTranscriber



209
210
211
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 209

def self.cartesia(member:)
  new(member: member, discriminant: "cartesia")
end

.custom_transcriber(member:) ⇒ Vapi::WorkflowTranscriber



161
162
163
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 161

def self.custom_transcriber(member:)
  new(member: member, discriminant: "custom-transcriber")
end

.deepgram(member:) ⇒ Vapi::WorkflowTranscriber



167
168
169
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 167

def self.deepgram(member:)
  new(member: member, discriminant: "deepgram")
end

.from_json(json_object:) ⇒ Vapi::WorkflowTranscriber

Deserialize a JSON object to an instance of WorkflowTranscriber



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 40

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  member = case struct.provider
           when "assembly-ai"
             Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
           when "azure"
             Vapi::AzureSpeechTranscriber.from_json(json_object: json_object)
           when "custom-transcriber"
             Vapi::CustomTranscriber.from_json(json_object: json_object)
           when "deepgram"
             Vapi::DeepgramTranscriber.from_json(json_object: json_object)
           when "11labs"
             Vapi::ElevenLabsTranscriber.from_json(json_object: json_object)
           when "gladia"
             Vapi::GladiaTranscriber.from_json(json_object: json_object)
           when "google"
             Vapi::GoogleTranscriber.from_json(json_object: json_object)
           when "speechmatics"
             Vapi::SpeechmaticsTranscriber.from_json(json_object: json_object)
           when "talkscriber"
             Vapi::TalkscriberTranscriber.from_json(json_object: json_object)
           when "openai"
             Vapi::OpenAiTranscriber.from_json(json_object: json_object)
           when "cartesia"
             Vapi::CartesiaTranscriber.from_json(json_object: json_object)
           else
             Vapi::AssemblyAiTranscriber.from_json(json_object: json_object)
           end
  new(member: member, discriminant: struct.provider)
end

.gladia(member:) ⇒ Vapi::WorkflowTranscriber



179
180
181
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 179

def self.gladia(member:)
  new(member: member, discriminant: "gladia")
end

.google(member:) ⇒ Vapi::WorkflowTranscriber



185
186
187
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 185

def self.google(member:)
  new(member: member, discriminant: "google")
end

.openai(member:) ⇒ Vapi::WorkflowTranscriber



203
204
205
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 203

def self.openai(member:)
  new(member: member, discriminant: "openai")
end

.speechmatics(member:) ⇒ Vapi::WorkflowTranscriber



191
192
193
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 191

def self.speechmatics(member:)
  new(member: member, discriminant: "speechmatics")
end

.talkscriber(member:) ⇒ Vapi::WorkflowTranscriber



197
198
199
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 197

def self.talkscriber(member:)
  new(member: member, discriminant: "talkscriber")
end

.validate_raw(obj:) ⇒ Void

Leveraged for Union-type generation, validate_raw attempts to parse the given

hash and check each fields type against the current object's property
definitions.


110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 110

def self.validate_raw(obj:)
  case obj.provider
  when "assembly-ai"
    Vapi::AssemblyAiTranscriber.validate_raw(obj: obj)
  when "azure"
    Vapi::AzureSpeechTranscriber.validate_raw(obj: obj)
  when "custom-transcriber"
    Vapi::CustomTranscriber.validate_raw(obj: obj)
  when "deepgram"
    Vapi::DeepgramTranscriber.validate_raw(obj: obj)
  when "11labs"
    Vapi::ElevenLabsTranscriber.validate_raw(obj: obj)
  when "gladia"
    Vapi::GladiaTranscriber.validate_raw(obj: obj)
  when "google"
    Vapi::GoogleTranscriber.validate_raw(obj: obj)
  when "speechmatics"
    Vapi::SpeechmaticsTranscriber.validate_raw(obj: obj)
  when "talkscriber"
    Vapi::TalkscriberTranscriber.validate_raw(obj: obj)
  when "openai"
    Vapi::OpenAiTranscriber.validate_raw(obj: obj)
  when "cartesia"
    Vapi::CartesiaTranscriber.validate_raw(obj: obj)
  else
    raise("Passed value matched no type within the union, validation failed.")
  end
end

Instance Method Details

#is_a?(obj) ⇒ Boolean

For Union Types, is_a? functionality is delegated to the wrapped member.



143
144
145
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 143

def is_a?(obj)
  @member.is_a?(obj)
end

#kind_of?Object



26
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 26

alias kind_of? is_a?

#to_json(*_args) ⇒ String

For Union Types, to_json functionality is delegated to the wrapped member.



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/vapi_server_sdk/types/workflow_transcriber.rb', line 74

def to_json(*_args)
  case @discriminant
  when "assembly-ai"
    { **@member.to_json, provider: @discriminant }.to_json
  when "azure"
    { **@member.to_json, provider: @discriminant }.to_json
  when "custom-transcriber"
    { **@member.to_json, provider: @discriminant }.to_json
  when "deepgram"
    { **@member.to_json, provider: @discriminant }.to_json
  when "11labs"
    { **@member.to_json, provider: @discriminant }.to_json
  when "gladia"
    { **@member.to_json, provider: @discriminant }.to_json
  when "google"
    { **@member.to_json, provider: @discriminant }.to_json
  when "speechmatics"
    { **@member.to_json, provider: @discriminant }.to_json
  when "talkscriber"
    { **@member.to_json, provider: @discriminant }.to_json
  when "openai"
    { **@member.to_json, provider: @discriminant }.to_json
  when "cartesia"
    { **@member.to_json, provider: @discriminant }.to_json
  else
    { "provider": @discriminant, value: @member }.to_json
  end
  @member.to_json
end