assemblyai 1.0.0.pre.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. checksums.yaml +7 -0
  2. data/lib/assemblyai/files/client.rb +63 -0
  3. data/lib/assemblyai/files/types/uploaded_file.rb +47 -0
  4. data/lib/assemblyai/lemur/client.rb +390 -0
  5. data/lib/assemblyai/lemur/types/lemur_action_items_response.rb +52 -0
  6. data/lib/assemblyai/lemur/types/lemur_base_params.rb +99 -0
  7. data/lib/assemblyai/lemur/types/lemur_base_params_context.rb +75 -0
  8. data/lib/assemblyai/lemur/types/lemur_base_response.rb +47 -0
  9. data/lib/assemblyai/lemur/types/lemur_model.rb +13 -0
  10. data/lib/assemblyai/lemur/types/lemur_question.rb +74 -0
  11. data/lib/assemblyai/lemur/types/lemur_question_answer.rb +53 -0
  12. data/lib/assemblyai/lemur/types/lemur_question_answer_response.rb +56 -0
  13. data/lib/assemblyai/lemur/types/lemur_question_context.rb +75 -0
  14. data/lib/assemblyai/lemur/types/lemur_summary_response.rb +52 -0
  15. data/lib/assemblyai/lemur/types/lemur_task_response.rb +52 -0
  16. data/lib/assemblyai/lemur/types/purge_lemur_request_data_response.rb +58 -0
  17. data/lib/assemblyai/realtime/client.rb +61 -0
  18. data/lib/assemblyai/realtime/types/audio_data.rb +7 -0
  19. data/lib/assemblyai/realtime/types/audio_encoding.rb +8 -0
  20. data/lib/assemblyai/realtime/types/final_transcript.rb +107 -0
  21. data/lib/assemblyai/realtime/types/message_type.rb +13 -0
  22. data/lib/assemblyai/realtime/types/partial_transcript.rb +94 -0
  23. data/lib/assemblyai/realtime/types/realtime_base_message.rb +48 -0
  24. data/lib/assemblyai/realtime/types/realtime_base_transcript.rb +87 -0
  25. data/lib/assemblyai/realtime/types/realtime_error.rb +47 -0
  26. data/lib/assemblyai/realtime/types/realtime_message.rb +115 -0
  27. data/lib/assemblyai/realtime/types/realtime_temporary_token_response.rb +47 -0
  28. data/lib/assemblyai/realtime/types/realtime_transcript.rb +76 -0
  29. data/lib/assemblyai/realtime/types/realtime_transcript_type.rb +8 -0
  30. data/lib/assemblyai/realtime/types/session_begins.rb +58 -0
  31. data/lib/assemblyai/realtime/types/session_terminated.rb +47 -0
  32. data/lib/assemblyai/realtime/types/terminate_session.rb +56 -0
  33. data/lib/assemblyai/realtime/types/word.rb +62 -0
  34. data/lib/assemblyai/transcripts/client.rb +525 -0
  35. data/lib/assemblyai/transcripts/polling_client.rb +173 -0
  36. data/lib/assemblyai/transcripts/types/audio_intelligence_model_status.rb +8 -0
  37. data/lib/assemblyai/transcripts/types/auto_highlight_result.rb +66 -0
  38. data/lib/assemblyai/transcripts/types/auto_highlights_result.rb +53 -0
  39. data/lib/assemblyai/transcripts/types/chapter.rb +68 -0
  40. data/lib/assemblyai/transcripts/types/content_safety_label.rb +57 -0
  41. data/lib/assemblyai/transcripts/types/content_safety_label_result.rb +84 -0
  42. data/lib/assemblyai/transcripts/types/content_safety_labels_result.rb +75 -0
  43. data/lib/assemblyai/transcripts/types/entity.rb +69 -0
  44. data/lib/assemblyai/transcripts/types/entity_type.rb +38 -0
  45. data/lib/assemblyai/transcripts/types/page_details.rb +74 -0
  46. data/lib/assemblyai/transcripts/types/paragraphs_response.rb +67 -0
  47. data/lib/assemblyai/transcripts/types/pii_policy.rb +36 -0
  48. data/lib/assemblyai/transcripts/types/polling_options.rb +21 -0
  49. data/lib/assemblyai/transcripts/types/redact_pii_audio_quality.rb +8 -0
  50. data/lib/assemblyai/transcripts/types/redacted_audio_response.rb +53 -0
  51. data/lib/assemblyai/transcripts/types/redacted_audio_status.rb +7 -0
  52. data/lib/assemblyai/transcripts/types/sentences_response.rb +67 -0
  53. data/lib/assemblyai/transcripts/types/sentiment.rb +8 -0
  54. data/lib/assemblyai/transcripts/types/sentiment_analysis_result.rb +82 -0
  55. data/lib/assemblyai/transcripts/types/severity_score_summary.rb +57 -0
  56. data/lib/assemblyai/transcripts/types/speech_model.rb +7 -0
  57. data/lib/assemblyai/transcripts/types/substitution_policy.rb +8 -0
  58. data/lib/assemblyai/transcripts/types/subtitle_format.rb +8 -0
  59. data/lib/assemblyai/transcripts/types/summary_model.rb +8 -0
  60. data/lib/assemblyai/transcripts/types/summary_type.rb +14 -0
  61. data/lib/assemblyai/transcripts/types/timestamp.rb +53 -0
  62. data/lib/assemblyai/transcripts/types/topic_detection_model_result.rb +68 -0
  63. data/lib/assemblyai/transcripts/types/topic_detection_result.rb +68 -0
  64. data/lib/assemblyai/transcripts/types/topic_detection_result_labels_item.rb +52 -0
  65. data/lib/assemblyai/transcripts/types/transcript.rb +454 -0
  66. data/lib/assemblyai/transcripts/types/transcript_boost_param.rb +8 -0
  67. data/lib/assemblyai/transcripts/types/transcript_custom_spelling.rb +53 -0
  68. data/lib/assemblyai/transcripts/types/transcript_language_code.rb +29 -0
  69. data/lib/assemblyai/transcripts/types/transcript_list.rb +62 -0
  70. data/lib/assemblyai/transcripts/types/transcript_list_item.rb +82 -0
  71. data/lib/assemblyai/transcripts/types/transcript_optional_params.rb +280 -0
  72. data/lib/assemblyai/transcripts/types/transcript_paragraph.rb +84 -0
  73. data/lib/assemblyai/transcripts/types/transcript_sentence.rb +84 -0
  74. data/lib/assemblyai/transcripts/types/transcript_status.rb +8 -0
  75. data/lib/assemblyai/transcripts/types/transcript_utterance.rb +84 -0
  76. data/lib/assemblyai/transcripts/types/transcript_word.rb +68 -0
  77. data/lib/assemblyai/transcripts/types/word_search_match.rb +63 -0
  78. data/lib/assemblyai/transcripts/types/word_search_response.rb +61 -0
  79. data/lib/assemblyai/transcripts/types/word_search_timestamp.rb +7 -0
  80. data/lib/assemblyai/types/error.rb +50 -0
  81. data/lib/assemblyai.rb +48 -0
  82. data/lib/environment.rb +7 -0
  83. data/lib/gemconfig.rb +14 -0
  84. data/lib/requests.rb +87 -0
  85. data/lib/types_export.rb +75 -0
  86. metadata +170 -0
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "word"
4
+ require "date"
5
+ require "json"
6
+
7
+ module AssemblyAI
8
+ class Realtime
9
+ class FinalTranscript
10
+ attr_reader :message_type, :punctuated, :text_formatted, :audio_start, :audio_end, :confidence, :text, :words,
11
+ :created, :additional_properties
12
+
13
+ # @param message_type [String]
14
+ # @param punctuated [Boolean] Whether the text is punctuated and cased
15
+ # @param text_formatted [Boolean] Whether the text is formatted, for example Dollar -> $
16
+ # @param audio_start [Integer] Start time of audio sample relative to session start, in milliseconds
17
+ # @param audio_end [Integer] End time of audio sample relative to session start, in milliseconds
18
+ # @param confidence [Float] The confidence score of the entire transcription, between 0 and 1
19
+ # @param text [String] The partial transcript for your audio
20
+ # @param words [Array<Realtime::Word>] An array of objects, with the information for each word in the transcription text.
21
+ # Includes the start and end time of the word in milliseconds, the confidence score of the word, and the text, which is the word itself.
22
+ # @param created [DateTime] The timestamp for the partial transcript
23
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
24
+ # @return [Realtime::FinalTranscript]
25
+ def initialize(message_type:, punctuated:, text_formatted:, audio_start:, audio_end:, confidence:, text:, words:,
26
+ created:, additional_properties: nil)
27
+ # @type [String]
28
+ @message_type = message_type
29
+ # @type [Boolean] Whether the text is punctuated and cased
30
+ @punctuated = punctuated
31
+ # @type [Boolean] Whether the text is formatted, for example Dollar -> $
32
+ @text_formatted = text_formatted
33
+ # @type [Integer] Start time of audio sample relative to session start, in milliseconds
34
+ @audio_start = audio_start
35
+ # @type [Integer] End time of audio sample relative to session start, in milliseconds
36
+ @audio_end = audio_end
37
+ # @type [Float] The confidence score of the entire transcription, between 0 and 1
38
+ @confidence = confidence
39
+ # @type [String] The partial transcript for your audio
40
+ @text = text
41
+ # @type [Array<Realtime::Word>] An array of objects, with the information for each word in the transcription text.
42
+ # Includes the start and end time of the word in milliseconds, the confidence score of the word, and the text, which is the word itself.
43
+ @words = words
44
+ # @type [DateTime] The timestamp for the partial transcript
45
+ @created = created
46
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
47
+ @additional_properties = additional_properties
48
+ end
49
+
50
+ # Deserialize a JSON object to an instance of FinalTranscript
51
+ #
52
+ # @param json_object [JSON]
53
+ # @return [Realtime::FinalTranscript]
54
+ def self.from_json(json_object:)
55
+ struct = JSON.parse(json_object, object_class: OpenStruct)
56
+ parsed_json = JSON.parse(json_object)
57
+ message_type = struct.message_type
58
+ punctuated = struct.punctuated
59
+ text_formatted = struct.text_formatted
60
+ audio_start = struct.audio_start
61
+ audio_end = struct.audio_end
62
+ confidence = struct.confidence
63
+ text = struct.text
64
+ words = parsed_json["words"]&.map do |v|
65
+ v = v.to_json
66
+ Realtime::Word.from_json(json_object: v)
67
+ end
68
+ created = (DateTime.parse(parsed_json["created"]) unless parsed_json["created"].nil?)
69
+ new(message_type: message_type, punctuated: punctuated, text_formatted: text_formatted,
70
+ audio_start: audio_start, audio_end: audio_end, confidence: confidence, text: text, words: words, created: created, additional_properties: struct)
71
+ end
72
+
73
+ # Serialize an instance of FinalTranscript to a JSON object
74
+ #
75
+ # @return [JSON]
76
+ def to_json(*_args)
77
+ {
78
+ "message_type": @message_type,
79
+ "punctuated": @punctuated,
80
+ "text_formatted": @text_formatted,
81
+ "audio_start": @audio_start,
82
+ "audio_end": @audio_end,
83
+ "confidence": @confidence,
84
+ "text": @text,
85
+ "words": @words,
86
+ "created": @created
87
+ }.to_json
88
+ end
89
+
90
+ # 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.
91
+ #
92
+ # @param obj [Object]
93
+ # @return [Void]
94
+ def self.validate_raw(obj:)
95
+ obj.message_type.is_a?(String) != false || raise("Passed value for field obj.message_type is not the expected type, validation failed.")
96
+ obj.punctuated.is_a?(Boolean) != false || raise("Passed value for field obj.punctuated is not the expected type, validation failed.")
97
+ obj.text_formatted.is_a?(Boolean) != false || raise("Passed value for field obj.text_formatted is not the expected type, validation failed.")
98
+ obj.audio_start.is_a?(Integer) != false || raise("Passed value for field obj.audio_start is not the expected type, validation failed.")
99
+ obj.audio_end.is_a?(Integer) != false || raise("Passed value for field obj.audio_end is not the expected type, validation failed.")
100
+ obj.confidence.is_a?(Float) != false || raise("Passed value for field obj.confidence is not the expected type, validation failed.")
101
+ obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
102
+ obj.words.is_a?(Array) != false || raise("Passed value for field obj.words is not the expected type, validation failed.")
103
+ obj.created.is_a?(DateTime) != false || raise("Passed value for field obj.created is not the expected type, validation failed.")
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AssemblyAI
4
+ class Realtime
5
+ # @type [MESSAGE_TYPE]
6
+ MESSAGE_TYPE = {
7
+ session_begins: "SessionBegins",
8
+ partial_transcript: "PartialTranscript",
9
+ final_transcript: "FinalTranscript",
10
+ session_terminated: "SessionTerminated"
11
+ }.freeze
12
+ end
13
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "word"
4
+ require "date"
5
+ require "json"
6
+
7
+ module AssemblyAI
8
+ class Realtime
9
+ class PartialTranscript
10
+ attr_reader :message_type, :audio_start, :audio_end, :confidence, :text, :words, :created, :additional_properties
11
+
12
+ # @param message_type [String]
13
+ # @param audio_start [Integer] Start time of audio sample relative to session start, in milliseconds
14
+ # @param audio_end [Integer] End time of audio sample relative to session start, in milliseconds
15
+ # @param confidence [Float] The confidence score of the entire transcription, between 0 and 1
16
+ # @param text [String] The partial transcript for your audio
17
+ # @param words [Array<Realtime::Word>] An array of objects, with the information for each word in the transcription text.
18
+ # Includes the start and end time of the word in milliseconds, the confidence score of the word, and the text, which is the word itself.
19
+ # @param created [DateTime] The timestamp for the partial transcript
20
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
21
+ # @return [Realtime::PartialTranscript]
22
+ def initialize(message_type:, audio_start:, audio_end:, confidence:, text:, words:, created:,
23
+ additional_properties: nil)
24
+ # @type [String]
25
+ @message_type = message_type
26
+ # @type [Integer] Start time of audio sample relative to session start, in milliseconds
27
+ @audio_start = audio_start
28
+ # @type [Integer] End time of audio sample relative to session start, in milliseconds
29
+ @audio_end = audio_end
30
+ # @type [Float] The confidence score of the entire transcription, between 0 and 1
31
+ @confidence = confidence
32
+ # @type [String] The partial transcript for your audio
33
+ @text = text
34
+ # @type [Array<Realtime::Word>] An array of objects, with the information for each word in the transcription text.
35
+ # Includes the start and end time of the word in milliseconds, the confidence score of the word, and the text, which is the word itself.
36
+ @words = words
37
+ # @type [DateTime] The timestamp for the partial transcript
38
+ @created = created
39
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
40
+ @additional_properties = additional_properties
41
+ end
42
+
43
+ # Deserialize a JSON object to an instance of PartialTranscript
44
+ #
45
+ # @param json_object [JSON]
46
+ # @return [Realtime::PartialTranscript]
47
+ def self.from_json(json_object:)
48
+ struct = JSON.parse(json_object, object_class: OpenStruct)
49
+ parsed_json = JSON.parse(json_object)
50
+ message_type = struct.message_type
51
+ audio_start = struct.audio_start
52
+ audio_end = struct.audio_end
53
+ confidence = struct.confidence
54
+ text = struct.text
55
+ words = parsed_json["words"]&.map do |v|
56
+ v = v.to_json
57
+ Realtime::Word.from_json(json_object: v)
58
+ end
59
+ created = (DateTime.parse(parsed_json["created"]) unless parsed_json["created"].nil?)
60
+ new(message_type: message_type, audio_start: audio_start, audio_end: audio_end, confidence: confidence,
61
+ text: text, words: words, created: created, additional_properties: struct)
62
+ end
63
+
64
+ # Serialize an instance of PartialTranscript to a JSON object
65
+ #
66
+ # @return [JSON]
67
+ def to_json(*_args)
68
+ {
69
+ "message_type": @message_type,
70
+ "audio_start": @audio_start,
71
+ "audio_end": @audio_end,
72
+ "confidence": @confidence,
73
+ "text": @text,
74
+ "words": @words,
75
+ "created": @created
76
+ }.to_json
77
+ end
78
+
79
+ # 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.
80
+ #
81
+ # @param obj [Object]
82
+ # @return [Void]
83
+ def self.validate_raw(obj:)
84
+ obj.message_type.is_a?(String) != false || raise("Passed value for field obj.message_type is not the expected type, validation failed.")
85
+ obj.audio_start.is_a?(Integer) != false || raise("Passed value for field obj.audio_start is not the expected type, validation failed.")
86
+ obj.audio_end.is_a?(Integer) != false || raise("Passed value for field obj.audio_end is not the expected type, validation failed.")
87
+ obj.confidence.is_a?(Float) != false || raise("Passed value for field obj.confidence is not the expected type, validation failed.")
88
+ obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
89
+ obj.words.is_a?(Array) != false || raise("Passed value for field obj.words is not the expected type, validation failed.")
90
+ obj.created.is_a?(DateTime) != false || raise("Passed value for field obj.created is not the expected type, validation failed.")
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "message_type"
4
+ require "json"
5
+
6
+ module AssemblyAI
7
+ class Realtime
8
+ class RealtimeBaseMessage
9
+ attr_reader :message_type, :additional_properties
10
+
11
+ # @param message_type [MESSAGE_TYPE] Describes the type of the message
12
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
13
+ # @return [Realtime::RealtimeBaseMessage]
14
+ def initialize(message_type:, additional_properties: nil)
15
+ # @type [MESSAGE_TYPE] Describes the type of the message
16
+ @message_type = message_type
17
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
18
+ @additional_properties = additional_properties
19
+ end
20
+
21
+ # Deserialize a JSON object to an instance of RealtimeBaseMessage
22
+ #
23
+ # @param json_object [JSON]
24
+ # @return [Realtime::RealtimeBaseMessage]
25
+ def self.from_json(json_object:)
26
+ struct = JSON.parse(json_object, object_class: OpenStruct)
27
+ parsed_json = JSON.parse(json_object)
28
+ message_type = Realtime::MESSAGE_TYPE.key(parsed_json["message_type"]) || parsed_json["message_type"]
29
+ new(message_type: message_type, additional_properties: struct)
30
+ end
31
+
32
+ # Serialize an instance of RealtimeBaseMessage to a JSON object
33
+ #
34
+ # @return [JSON]
35
+ def to_json(*_args)
36
+ { "message_type": Realtime::MESSAGE_TYPE[@message_type] || @message_type }.to_json
37
+ end
38
+
39
+ # 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.
40
+ #
41
+ # @param obj [Object]
42
+ # @return [Void]
43
+ def self.validate_raw(obj:)
44
+ obj.message_type.is_a?(Realtime::MESSAGE_TYPE) != false || raise("Passed value for field obj.message_type is not the expected type, validation failed.")
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "word"
4
+ require "date"
5
+ require "json"
6
+
7
+ module AssemblyAI
8
+ class Realtime
9
+ class RealtimeBaseTranscript
10
+ attr_reader :audio_start, :audio_end, :confidence, :text, :words, :created, :additional_properties
11
+
12
+ # @param audio_start [Integer] Start time of audio sample relative to session start, in milliseconds
13
+ # @param audio_end [Integer] End time of audio sample relative to session start, in milliseconds
14
+ # @param confidence [Float] The confidence score of the entire transcription, between 0 and 1
15
+ # @param text [String] The partial transcript for your audio
16
+ # @param words [Array<Realtime::Word>] An array of objects, with the information for each word in the transcription text.
17
+ # Includes the start and end time of the word in milliseconds, the confidence score of the word, and the text, which is the word itself.
18
+ # @param created [DateTime] The timestamp for the partial transcript
19
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
20
+ # @return [Realtime::RealtimeBaseTranscript]
21
+ def initialize(audio_start:, audio_end:, confidence:, text:, words:, created:, additional_properties: nil)
22
+ # @type [Integer] Start time of audio sample relative to session start, in milliseconds
23
+ @audio_start = audio_start
24
+ # @type [Integer] End time of audio sample relative to session start, in milliseconds
25
+ @audio_end = audio_end
26
+ # @type [Float] The confidence score of the entire transcription, between 0 and 1
27
+ @confidence = confidence
28
+ # @type [String] The partial transcript for your audio
29
+ @text = text
30
+ # @type [Array<Realtime::Word>] An array of objects, with the information for each word in the transcription text.
31
+ # Includes the start and end time of the word in milliseconds, the confidence score of the word, and the text, which is the word itself.
32
+ @words = words
33
+ # @type [DateTime] The timestamp for the partial transcript
34
+ @created = created
35
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
36
+ @additional_properties = additional_properties
37
+ end
38
+
39
+ # Deserialize a JSON object to an instance of RealtimeBaseTranscript
40
+ #
41
+ # @param json_object [JSON]
42
+ # @return [Realtime::RealtimeBaseTranscript]
43
+ def self.from_json(json_object:)
44
+ struct = JSON.parse(json_object, object_class: OpenStruct)
45
+ parsed_json = JSON.parse(json_object)
46
+ audio_start = struct.audio_start
47
+ audio_end = struct.audio_end
48
+ confidence = struct.confidence
49
+ text = struct.text
50
+ words = parsed_json["words"]&.map do |v|
51
+ v = v.to_json
52
+ Realtime::Word.from_json(json_object: v)
53
+ end
54
+ created = (DateTime.parse(parsed_json["created"]) unless parsed_json["created"].nil?)
55
+ new(audio_start: audio_start, audio_end: audio_end, confidence: confidence, text: text, words: words,
56
+ created: created, additional_properties: struct)
57
+ end
58
+
59
+ # Serialize an instance of RealtimeBaseTranscript to a JSON object
60
+ #
61
+ # @return [JSON]
62
+ def to_json(*_args)
63
+ {
64
+ "audio_start": @audio_start,
65
+ "audio_end": @audio_end,
66
+ "confidence": @confidence,
67
+ "text": @text,
68
+ "words": @words,
69
+ "created": @created
70
+ }.to_json
71
+ end
72
+
73
+ # 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.
74
+ #
75
+ # @param obj [Object]
76
+ # @return [Void]
77
+ def self.validate_raw(obj:)
78
+ obj.audio_start.is_a?(Integer) != false || raise("Passed value for field obj.audio_start is not the expected type, validation failed.")
79
+ obj.audio_end.is_a?(Integer) != false || raise("Passed value for field obj.audio_end is not the expected type, validation failed.")
80
+ obj.confidence.is_a?(Float) != false || raise("Passed value for field obj.confidence is not the expected type, validation failed.")
81
+ obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
82
+ obj.words.is_a?(Array) != false || raise("Passed value for field obj.words is not the expected type, validation failed.")
83
+ obj.created.is_a?(DateTime) != false || raise("Passed value for field obj.created is not the expected type, validation failed.")
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module AssemblyAI
6
+ class Realtime
7
+ class RealtimeError
8
+ attr_reader :error, :additional_properties
9
+
10
+ # @param error [String]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [Realtime::RealtimeError]
13
+ def initialize(error:, additional_properties: nil)
14
+ # @type [String]
15
+ @error = error
16
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
17
+ @additional_properties = additional_properties
18
+ end
19
+
20
+ # Deserialize a JSON object to an instance of RealtimeError
21
+ #
22
+ # @param json_object [JSON]
23
+ # @return [Realtime::RealtimeError]
24
+ def self.from_json(json_object:)
25
+ struct = JSON.parse(json_object, object_class: OpenStruct)
26
+ JSON.parse(json_object)
27
+ error = struct.error
28
+ new(error: error, additional_properties: struct)
29
+ end
30
+
31
+ # Serialize an instance of RealtimeError to a JSON object
32
+ #
33
+ # @return [JSON]
34
+ def to_json(*_args)
35
+ { "error": @error }.to_json
36
+ end
37
+
38
+ # 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.
39
+ #
40
+ # @param obj [Object]
41
+ # @return [Void]
42
+ def self.validate_raw(obj:)
43
+ obj.error.is_a?(String) != false || raise("Passed value for field obj.error is not the expected type, validation failed.")
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,115 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "session_begins"
5
+ require_relative "partial_transcript"
6
+ require_relative "final_transcript"
7
+ require_relative "session_terminated"
8
+ require_relative "realtime_error"
9
+
10
+ module AssemblyAI
11
+ class Realtime
12
+ class RealtimeMessage
13
+ attr_reader :member
14
+ alias kind_of? is_a?
15
+ # @param member [Object]
16
+ # @return [Realtime::RealtimeMessage]
17
+ def initialize(member:)
18
+ # @type [Object]
19
+ @member = member
20
+ end
21
+
22
+ # Deserialize a JSON object to an instance of RealtimeMessage
23
+ #
24
+ # @param json_object [JSON]
25
+ # @return [Realtime::RealtimeMessage]
26
+ def self.from_json(json_object:)
27
+ struct = JSON.parse(json_object, object_class: OpenStruct)
28
+ begin
29
+ Realtime::SessionBegins.validate_raw(obj: struct)
30
+ member = Realtime::SessionBegins.from_json(json_object: json_object)
31
+ return new(member: member)
32
+ rescue StandardError
33
+ # noop
34
+ end
35
+ begin
36
+ Realtime::PartialTranscript.validate_raw(obj: struct)
37
+ member = Realtime::PartialTranscript.from_json(json_object: json_object)
38
+ return new(member: member)
39
+ rescue StandardError
40
+ # noop
41
+ end
42
+ begin
43
+ Realtime::FinalTranscript.validate_raw(obj: struct)
44
+ member = Realtime::FinalTranscript.from_json(json_object: json_object)
45
+ return new(member: member)
46
+ rescue StandardError
47
+ # noop
48
+ end
49
+ begin
50
+ Realtime::SessionTerminated.validate_raw(obj: struct)
51
+ member = Realtime::SessionTerminated.from_json(json_object: json_object)
52
+ return new(member: member)
53
+ rescue StandardError
54
+ # noop
55
+ end
56
+ begin
57
+ Realtime::RealtimeError.validate_raw(obj: struct)
58
+ member = Realtime::RealtimeError.from_json(json_object: json_object)
59
+ return new(member: member)
60
+ rescue StandardError
61
+ # noop
62
+ end
63
+ new(member: struct)
64
+ end
65
+
66
+ # For Union Types, to_json functionality is delegated to the wrapped member.
67
+ #
68
+ # @return [JSON]
69
+ def to_json(*_args)
70
+ @member.to_json
71
+ end
72
+
73
+ # 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.
74
+ #
75
+ # @param obj [Object]
76
+ # @return [Void]
77
+ def self.validate_raw(obj:)
78
+ begin
79
+ return Realtime::SessionBegins.validate_raw(obj: obj)
80
+ rescue StandardError
81
+ # noop
82
+ end
83
+ begin
84
+ return Realtime::PartialTranscript.validate_raw(obj: obj)
85
+ rescue StandardError
86
+ # noop
87
+ end
88
+ begin
89
+ return Realtime::FinalTranscript.validate_raw(obj: obj)
90
+ rescue StandardError
91
+ # noop
92
+ end
93
+ begin
94
+ return Realtime::SessionTerminated.validate_raw(obj: obj)
95
+ rescue StandardError
96
+ # noop
97
+ end
98
+ begin
99
+ return Realtime::RealtimeError.validate_raw(obj: obj)
100
+ rescue StandardError
101
+ # noop
102
+ end
103
+ raise("Passed value matched no type within the union, validation failed.")
104
+ end
105
+
106
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
107
+ #
108
+ # @param obj [Object]
109
+ # @return [Boolean]
110
+ def is_a?(obj)
111
+ @member.is_a?(obj)
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module AssemblyAI
6
+ class Realtime
7
+ class RealtimeTemporaryTokenResponse
8
+ attr_reader :token, :additional_properties
9
+
10
+ # @param token [String] The temporary authentication token for real-time transcription
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [Realtime::RealtimeTemporaryTokenResponse]
13
+ def initialize(token:, additional_properties: nil)
14
+ # @type [String] The temporary authentication token for real-time transcription
15
+ @token = token
16
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
17
+ @additional_properties = additional_properties
18
+ end
19
+
20
+ # Deserialize a JSON object to an instance of RealtimeTemporaryTokenResponse
21
+ #
22
+ # @param json_object [JSON]
23
+ # @return [Realtime::RealtimeTemporaryTokenResponse]
24
+ def self.from_json(json_object:)
25
+ struct = JSON.parse(json_object, object_class: OpenStruct)
26
+ JSON.parse(json_object)
27
+ token = struct.token
28
+ new(token: token, additional_properties: struct)
29
+ end
30
+
31
+ # Serialize an instance of RealtimeTemporaryTokenResponse to a JSON object
32
+ #
33
+ # @return [JSON]
34
+ def to_json(*_args)
35
+ { "token": @token }.to_json
36
+ end
37
+
38
+ # 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.
39
+ #
40
+ # @param obj [Object]
41
+ # @return [Void]
42
+ def self.validate_raw(obj:)
43
+ obj.token.is_a?(String) != false || raise("Passed value for field obj.token is not the expected type, validation failed.")
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "partial_transcript"
5
+ require_relative "final_transcript"
6
+
7
+ module AssemblyAI
8
+ class Realtime
9
+ class RealtimeTranscript
10
+ attr_reader :member
11
+ alias kind_of? is_a?
12
+ # @param member [Object]
13
+ # @return [Realtime::RealtimeTranscript]
14
+ def initialize(member:)
15
+ # @type [Object]
16
+ @member = member
17
+ end
18
+
19
+ # Deserialize a JSON object to an instance of RealtimeTranscript
20
+ #
21
+ # @param json_object [JSON]
22
+ # @return [Realtime::RealtimeTranscript]
23
+ def self.from_json(json_object:)
24
+ struct = JSON.parse(json_object, object_class: OpenStruct)
25
+ begin
26
+ Realtime::PartialTranscript.validate_raw(obj: struct)
27
+ member = Realtime::PartialTranscript.from_json(json_object: json_object)
28
+ return new(member: member)
29
+ rescue StandardError
30
+ # noop
31
+ end
32
+ begin
33
+ Realtime::FinalTranscript.validate_raw(obj: struct)
34
+ member = Realtime::FinalTranscript.from_json(json_object: json_object)
35
+ return new(member: member)
36
+ rescue StandardError
37
+ # noop
38
+ end
39
+ new(member: struct)
40
+ end
41
+
42
+ # For Union Types, to_json functionality is delegated to the wrapped member.
43
+ #
44
+ # @return [JSON]
45
+ def to_json(*_args)
46
+ @member.to_json
47
+ end
48
+
49
+ # 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.
50
+ #
51
+ # @param obj [Object]
52
+ # @return [Void]
53
+ def self.validate_raw(obj:)
54
+ begin
55
+ return Realtime::PartialTranscript.validate_raw(obj: obj)
56
+ rescue StandardError
57
+ # noop
58
+ end
59
+ begin
60
+ return Realtime::FinalTranscript.validate_raw(obj: obj)
61
+ rescue StandardError
62
+ # noop
63
+ end
64
+ raise("Passed value matched no type within the union, validation failed.")
65
+ end
66
+
67
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
68
+ #
69
+ # @param obj [Object]
70
+ # @return [Boolean]
71
+ def is_a?(obj)
72
+ @member.is_a?(obj)
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AssemblyAI
4
+ class Realtime
5
+ # @type [REALTIME_TRANSCRIPT_TYPE]
6
+ REALTIME_TRANSCRIPT_TYPE = { partial_transcript: "PartialTranscript", final_transcript: "FinalTranscript" }.freeze
7
+ end
8
+ end