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,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module AssemblyAI
6
+ class Transcripts
7
+ class TranscriptWord
8
+ attr_reader :confidence, :start, :end_, :text, :speaker, :additional_properties
9
+
10
+ # @param confidence [Float]
11
+ # @param start [Integer]
12
+ # @param end_ [Integer]
13
+ # @param text [String]
14
+ # @param speaker [String] The speaker of the sentence if [Speaker Diarization](https://www.assemblyai.com/docs/models/speaker-diarization) is enabled, else null
15
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
16
+ # @return [Transcripts::TranscriptWord]
17
+ def initialize(confidence:, start:, end_:, text:, speaker: nil, additional_properties: nil)
18
+ # @type [Float]
19
+ @confidence = confidence
20
+ # @type [Integer]
21
+ @start = start
22
+ # @type [Integer]
23
+ @end_ = end_
24
+ # @type [String]
25
+ @text = text
26
+ # @type [String] The speaker of the sentence if [Speaker Diarization](https://www.assemblyai.com/docs/models/speaker-diarization) is enabled, else null
27
+ @speaker = speaker
28
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
29
+ @additional_properties = additional_properties
30
+ end
31
+
32
+ # Deserialize a JSON object to an instance of TranscriptWord
33
+ #
34
+ # @param json_object [JSON]
35
+ # @return [Transcripts::TranscriptWord]
36
+ def self.from_json(json_object:)
37
+ struct = JSON.parse(json_object, object_class: OpenStruct)
38
+ JSON.parse(json_object)
39
+ confidence = struct.confidence
40
+ start = struct.start
41
+ end_ = struct.end
42
+ text = struct.text
43
+ speaker = struct.speaker
44
+ new(confidence: confidence, start: start, end_: end_, text: text, speaker: speaker,
45
+ additional_properties: struct)
46
+ end
47
+
48
+ # Serialize an instance of TranscriptWord to a JSON object
49
+ #
50
+ # @return [JSON]
51
+ def to_json(*_args)
52
+ { "confidence": @confidence, "start": @start, "end": @end_, "text": @text, "speaker": @speaker }.to_json
53
+ end
54
+
55
+ # 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.
56
+ #
57
+ # @param obj [Object]
58
+ # @return [Void]
59
+ def self.validate_raw(obj:)
60
+ obj.confidence.is_a?(Float) != false || raise("Passed value for field obj.confidence is not the expected type, validation failed.")
61
+ obj.start.is_a?(Integer) != false || raise("Passed value for field obj.start is not the expected type, validation failed.")
62
+ obj.end_.is_a?(Integer) != false || raise("Passed value for field obj.end_ is not the expected type, validation failed.")
63
+ obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
64
+ obj.speaker&.is_a?(String) != false || raise("Passed value for field obj.speaker is not the expected type, validation failed.")
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "word_search_timestamp"
4
+ require "json"
5
+
6
+ module AssemblyAI
7
+ class Transcripts
8
+ class WordSearchMatch
9
+ attr_reader :text, :count, :timestamps, :indexes, :additional_properties
10
+
11
+ # @param text [String] The matched word
12
+ # @param count [Integer] The total amount of times the word is in the transcript
13
+ # @param timestamps [Array<Transcripts::WORD_SEARCH_TIMESTAMP>] An array of timestamps
14
+ # @param indexes [Array<Integer>] An array of all index locations for that word within the `words` array of the completed transcript
15
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
16
+ # @return [Transcripts::WordSearchMatch]
17
+ def initialize(text:, count:, timestamps:, indexes:, additional_properties: nil)
18
+ # @type [String] The matched word
19
+ @text = text
20
+ # @type [Integer] The total amount of times the word is in the transcript
21
+ @count = count
22
+ # @type [Array<Transcripts::WORD_SEARCH_TIMESTAMP>] An array of timestamps
23
+ @timestamps = timestamps
24
+ # @type [Array<Integer>] An array of all index locations for that word within the `words` array of the completed transcript
25
+ @indexes = indexes
26
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
27
+ @additional_properties = additional_properties
28
+ end
29
+
30
+ # Deserialize a JSON object to an instance of WordSearchMatch
31
+ #
32
+ # @param json_object [JSON]
33
+ # @return [Transcripts::WordSearchMatch]
34
+ def self.from_json(json_object:)
35
+ struct = JSON.parse(json_object, object_class: OpenStruct)
36
+ JSON.parse(json_object)
37
+ text = struct.text
38
+ count = struct.count
39
+ timestamps = struct.timestamps
40
+ indexes = struct.indexes
41
+ new(text: text, count: count, timestamps: timestamps, indexes: indexes, additional_properties: struct)
42
+ end
43
+
44
+ # Serialize an instance of WordSearchMatch to a JSON object
45
+ #
46
+ # @return [JSON]
47
+ def to_json(*_args)
48
+ { "text": @text, "count": @count, "timestamps": @timestamps, "indexes": @indexes }.to_json
49
+ end
50
+
51
+ # 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.
52
+ #
53
+ # @param obj [Object]
54
+ # @return [Void]
55
+ def self.validate_raw(obj:)
56
+ obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
57
+ obj.count.is_a?(Integer) != false || raise("Passed value for field obj.count is not the expected type, validation failed.")
58
+ obj.timestamps.is_a?(Array) != false || raise("Passed value for field obj.timestamps is not the expected type, validation failed.")
59
+ obj.indexes.is_a?(Array) != false || raise("Passed value for field obj.indexes is not the expected type, validation failed.")
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "word_search_match"
4
+ require "json"
5
+
6
+ module AssemblyAI
7
+ class Transcripts
8
+ class WordSearchResponse
9
+ attr_reader :id, :total_count, :matches, :additional_properties
10
+
11
+ # @param id [String] The ID of the transcript
12
+ # @param total_count [Integer] The total count of all matched instances. For e.g., word 1 matched 2 times, and word 2 matched 3 times, `total_count` will equal 5.
13
+ # @param matches [Array<Transcripts::WordSearchMatch>] The matches of the search
14
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
15
+ # @return [Transcripts::WordSearchResponse]
16
+ def initialize(id:, total_count:, matches:, additional_properties: nil)
17
+ # @type [String] The ID of the transcript
18
+ @id = id
19
+ # @type [Integer] The total count of all matched instances. For e.g., word 1 matched 2 times, and word 2 matched 3 times, `total_count` will equal 5.
20
+ @total_count = total_count
21
+ # @type [Array<Transcripts::WordSearchMatch>] The matches of the search
22
+ @matches = matches
23
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
24
+ @additional_properties = additional_properties
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of WordSearchResponse
28
+ #
29
+ # @param json_object [JSON]
30
+ # @return [Transcripts::WordSearchResponse]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ parsed_json = JSON.parse(json_object)
34
+ id = struct.id
35
+ total_count = struct.total_count
36
+ matches = parsed_json["matches"]&.map do |v|
37
+ v = v.to_json
38
+ Transcripts::WordSearchMatch.from_json(json_object: v)
39
+ end
40
+ new(id: id, total_count: total_count, matches: matches, additional_properties: struct)
41
+ end
42
+
43
+ # Serialize an instance of WordSearchResponse to a JSON object
44
+ #
45
+ # @return [JSON]
46
+ def to_json(*_args)
47
+ { "id": @id, "total_count": @total_count, "matches": @matches }.to_json
48
+ end
49
+
50
+ # 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.
51
+ #
52
+ # @param obj [Object]
53
+ # @return [Void]
54
+ def self.validate_raw(obj:)
55
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
56
+ obj.total_count.is_a?(Integer) != false || raise("Passed value for field obj.total_count is not the expected type, validation failed.")
57
+ obj.matches.is_a?(Array) != false || raise("Passed value for field obj.matches is not the expected type, validation failed.")
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AssemblyAI
4
+ class Transcripts
5
+ WORD_SEARCH_TIMESTAMP = Array
6
+ end
7
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module AssemblyAI
6
+ class Error
7
+ attr_reader :error, :status, :additional_properties
8
+
9
+ # @param error [String] Error message
10
+ # @param status [String]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [Error]
13
+ def initialize(error:, status: nil, additional_properties: nil)
14
+ # @type [String] Error message
15
+ @error = error
16
+ # @type [String]
17
+ @status = status
18
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
19
+ @additional_properties = additional_properties
20
+ end
21
+
22
+ # Deserialize a JSON object to an instance of Error
23
+ #
24
+ # @param json_object [JSON]
25
+ # @return [Error]
26
+ def self.from_json(json_object:)
27
+ struct = JSON.parse(json_object, object_class: OpenStruct)
28
+ JSON.parse(json_object)
29
+ error = struct.error
30
+ status = struct.status
31
+ new(error: error, status: status, additional_properties: struct)
32
+ end
33
+
34
+ # Serialize an instance of Error to a JSON object
35
+ #
36
+ # @return [JSON]
37
+ def to_json(*_args)
38
+ { "error": @error, "status": @status }.to_json
39
+ end
40
+
41
+ # 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.
42
+ #
43
+ # @param obj [Object]
44
+ # @return [Void]
45
+ def self.validate_raw(obj:)
46
+ obj.error.is_a?(String) != false || raise("Passed value for field obj.error is not the expected type, validation failed.")
47
+ obj.status&.is_a?(String) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
48
+ end
49
+ end
50
+ end
data/lib/assemblyai.rb ADDED
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "environment"
4
+ require_relative "types_export"
5
+ require_relative "requests"
6
+ require_relative "assemblyai/files/client"
7
+ require_relative "assemblyai/transcripts/client"
8
+ require_relative "assemblyai/transcripts/polling_client"
9
+ require_relative "assemblyai/realtime/client"
10
+ require_relative "assemblyai/lemur/client"
11
+
12
+ module AssemblyAI
13
+ class Client
14
+ attr_reader :files, :transcripts, :realtime, :lemur
15
+
16
+ # @param environment [Environment]
17
+ # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
18
+ # @param timeout_in_seconds [Long]
19
+ # @param api_key [String]
20
+ # @return [Client]
21
+ def initialize(api_key:, environment: Environment::DEFAULT, max_retries: nil, timeout_in_seconds: nil)
22
+ @request_client = RequestClient.new(environment: environment, max_retries: max_retries,
23
+ timeout_in_seconds: timeout_in_seconds, api_key: api_key)
24
+ @files = FilesClient.new(request_client: @request_client)
25
+ @transcripts = TranscriptsClient.new(request_client: @request_client)
26
+ @realtime = RealtimeClient.new(request_client: @request_client)
27
+ @lemur = LemurClient.new(request_client: @request_client)
28
+ end
29
+ end
30
+
31
+ class AsyncClient
32
+ attr_reader :files, :transcripts, :realtime, :lemur
33
+
34
+ # @param environment [Environment]
35
+ # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
36
+ # @param timeout_in_seconds [Long]
37
+ # @param api_key [String]
38
+ # @return [AsyncClient]
39
+ def initialize(api_key:, environment: Environment::DEFAULT, max_retries: nil, timeout_in_seconds: nil)
40
+ @async_request_client = AsyncRequestClient.new(environment: environment, max_retries: max_retries,
41
+ timeout_in_seconds: timeout_in_seconds, api_key: api_key)
42
+ @files = AsyncFilesClient.new(request_client: @async_request_client)
43
+ @transcripts = AsyncTranscriptsClient.new(request_client: @async_request_client)
44
+ @realtime = AsyncRealtimeClient.new(request_client: @async_request_client)
45
+ @lemur = AsyncLemurClient.new(request_client: @async_request_client)
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AssemblyAI
4
+ class Environment
5
+ DEFAULT = "https://api.assemblyai.com"
6
+ end
7
+ end
data/lib/gemconfig.rb ADDED
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AssemblyAI
4
+ module Gemconfig
5
+ VERSION = ""
6
+ AUTHORS = [""].freeze
7
+ EMAIL = ""
8
+ SUMMARY = ""
9
+ DESCRIPTION = ""
10
+ HOMEPAGE = "https://github.com/AssemblyAI/assemblyai-ruby-sdk"
11
+ SOURCE_CODE_URI = "https://github.com/AssemblyAI/assemblyai-ruby-sdk"
12
+ CHANGELOG_URI = "https://github.com/AssemblyAI/assemblyai-ruby-sdk/blob/master/CHANGELOG.md"
13
+ end
14
+ end
data/lib/requests.rb ADDED
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "environment"
4
+ require "faraday"
5
+ require "faraday/retry"
6
+ require "async/http/faraday"
7
+
8
+ module AssemblyAI
9
+ class RequestClient
10
+ attr_reader :headers, :base_url, :conn
11
+
12
+ # @param environment [Environment]
13
+ # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
14
+ # @param timeout_in_seconds [Long]
15
+ # @param api_key [String]
16
+ # @return [RequestClient]
17
+ def initialize(api_key:, environment: Environment::DEFAULT, max_retries: nil, timeout_in_seconds: nil)
18
+ @default_environment = environment
19
+ @base_url = environment
20
+ @headers = {
21
+ "X-Fern-Language": "Ruby",
22
+ "X-Fern-SDK-Name": "AssemblyAI",
23
+ "X-Fern-SDK-Version": "1.0.0-beta",
24
+ "Authorization": api_key.to_s
25
+ }
26
+ @conn = Faraday.new(@base_url, headers: @headers) do |faraday|
27
+ faraday.request :json
28
+ faraday.response :raise_error, include_request: true
29
+ faraday.request :retry, { max: max_retries } unless max_retries.nil?
30
+ faraday.options.timeout = timeout_in_seconds unless timeout_in_seconds.nil?
31
+ end
32
+ end
33
+ end
34
+
35
+ class AsyncRequestClient
36
+ attr_reader :headers, :base_url, :conn
37
+
38
+ # @param environment [Environment]
39
+ # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
40
+ # @param timeout_in_seconds [Long]
41
+ # @param api_key [String]
42
+ # @return [AsyncRequestClient]
43
+ def initialize(api_key:, environment: Environment::DEFAULT, max_retries: nil, timeout_in_seconds: nil)
44
+ @default_environment = environment
45
+ @base_url = environment
46
+ @headers = {
47
+ "X-Fern-Language": "Ruby",
48
+ "X-Fern-SDK-Name": "AssemblyAI",
49
+ "X-Fern-SDK-Version": "1.0.0-beta",
50
+ "Authorization": api_key.to_s
51
+ }
52
+ @conn = Faraday.new(@base_url, headers: @headers) do |faraday|
53
+ faraday.request :json
54
+ faraday.response :raise_error, include_request: true
55
+ faraday.adapter :async_http
56
+ faraday.request :retry, { max: max_retries } unless max_retries.nil?
57
+ faraday.options.timeout = timeout_in_seconds unless timeout_in_seconds.nil?
58
+ end
59
+ end
60
+ end
61
+
62
+ # Additional options for request-specific configuration when calling APIs via the SDK.
63
+ class RequestOptions
64
+ attr_reader :api_key, :additional_headers, :additional_query_parameters, :additional_body_parameters,
65
+ :timeout_in_seconds
66
+
67
+ # @param api_key [String]
68
+ # @param additional_headers [Hash{String => Object}]
69
+ # @param additional_query_parameters [Hash{String => Object}]
70
+ # @param additional_body_parameters [Hash{String => Object}]
71
+ # @param timeout_in_seconds [Long]
72
+ # @return [RequestOptions]
73
+ def initialize(api_key: nil, additional_headers: nil, additional_query_parameters: nil,
74
+ additional_body_parameters: nil, timeout_in_seconds: nil)
75
+ # @type [String]
76
+ @api_key = api_key
77
+ # @type [Hash{String => Object}]
78
+ @additional_headers = additional_headers
79
+ # @type [Hash{String => Object}]
80
+ @additional_query_parameters = additional_query_parameters
81
+ # @type [Hash{String => Object}]
82
+ @additional_body_parameters = additional_body_parameters
83
+ # @type [Long]
84
+ @timeout_in_seconds = timeout_in_seconds
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "assemblyai/files/types/uploaded_file"
4
+ require_relative "assemblyai/transcripts/types/redacted_audio_response"
5
+ require_relative "assemblyai/transcripts/types/redacted_audio_status"
6
+ require_relative "assemblyai/transcripts/types/subtitle_format"
7
+ require_relative "assemblyai/transcripts/types/word_search_response"
8
+ require_relative "assemblyai/transcripts/types/word_search_match"
9
+ require_relative "assemblyai/transcripts/types/word_search_timestamp"
10
+ require_relative "assemblyai/transcripts/types/timestamp"
11
+ require_relative "assemblyai/transcripts/types/transcript_optional_params"
12
+ require_relative "assemblyai/transcripts/types/summary_model"
13
+ require_relative "assemblyai/transcripts/types/summary_type"
14
+ require_relative "assemblyai/transcripts/types/transcript_boost_param"
15
+ require_relative "assemblyai/transcripts/types/transcript_custom_spelling"
16
+ require_relative "assemblyai/transcripts/types/transcript_utterance"
17
+ require_relative "assemblyai/transcripts/types/substitution_policy"
18
+ require_relative "assemblyai/transcripts/types/redact_pii_audio_quality"
19
+ require_relative "assemblyai/transcripts/types/pii_policy"
20
+ require_relative "assemblyai/transcripts/types/speech_model"
21
+ require_relative "assemblyai/transcripts/types/transcript_language_code"
22
+ require_relative "assemblyai/transcripts/types/transcript_status"
23
+ require_relative "assemblyai/transcripts/types/transcript"
24
+ require_relative "assemblyai/transcripts/types/topic_detection_model_result"
25
+ require_relative "assemblyai/transcripts/types/content_safety_labels_result"
26
+ require_relative "assemblyai/transcripts/types/chapter"
27
+ require_relative "assemblyai/transcripts/types/entity"
28
+ require_relative "assemblyai/transcripts/types/entity_type"
29
+ require_relative "assemblyai/transcripts/types/sentiment_analysis_result"
30
+ require_relative "assemblyai/transcripts/types/sentiment"
31
+ require_relative "assemblyai/transcripts/types/topic_detection_result_labels_item"
32
+ require_relative "assemblyai/transcripts/types/topic_detection_result"
33
+ require_relative "assemblyai/transcripts/types/content_safety_label"
34
+ require_relative "assemblyai/transcripts/types/content_safety_label_result"
35
+ require_relative "assemblyai/transcripts/types/severity_score_summary"
36
+ require_relative "assemblyai/transcripts/types/auto_highlights_result"
37
+ require_relative "assemblyai/transcripts/types/auto_highlight_result"
38
+ require_relative "assemblyai/transcripts/types/transcript_word"
39
+ require_relative "assemblyai/transcripts/types/transcript_sentence"
40
+ require_relative "assemblyai/transcripts/types/sentences_response"
41
+ require_relative "assemblyai/transcripts/types/transcript_paragraph"
42
+ require_relative "assemblyai/transcripts/types/paragraphs_response"
43
+ require_relative "assemblyai/transcripts/types/page_details"
44
+ require_relative "assemblyai/transcripts/types/transcript_list_item"
45
+ require_relative "assemblyai/transcripts/types/transcript_list"
46
+ require_relative "assemblyai/transcripts/types/audio_intelligence_model_status"
47
+ require_relative "assemblyai/realtime/types/realtime_temporary_token_response"
48
+ require_relative "assemblyai/realtime/types/realtime_base_message"
49
+ require_relative "assemblyai/realtime/types/realtime_message"
50
+ require_relative "assemblyai/realtime/types/realtime_error"
51
+ require_relative "assemblyai/realtime/types/message_type"
52
+ require_relative "assemblyai/realtime/types/realtime_transcript_type"
53
+ require_relative "assemblyai/realtime/types/realtime_transcript"
54
+ require_relative "assemblyai/realtime/types/session_begins"
55
+ require_relative "assemblyai/realtime/types/session_terminated"
56
+ require_relative "assemblyai/realtime/types/realtime_base_transcript"
57
+ require_relative "assemblyai/realtime/types/partial_transcript"
58
+ require_relative "assemblyai/realtime/types/final_transcript"
59
+ require_relative "assemblyai/realtime/types/word"
60
+ require_relative "assemblyai/realtime/types/audio_data"
61
+ require_relative "assemblyai/realtime/types/terminate_session"
62
+ require_relative "assemblyai/realtime/types/audio_encoding"
63
+ require_relative "assemblyai/lemur/types/purge_lemur_request_data_response"
64
+ require_relative "assemblyai/lemur/types/lemur_base_response"
65
+ require_relative "assemblyai/lemur/types/lemur_summary_response"
66
+ require_relative "assemblyai/lemur/types/lemur_question_answer_response"
67
+ require_relative "assemblyai/lemur/types/lemur_question_answer"
68
+ require_relative "assemblyai/lemur/types/lemur_action_items_response"
69
+ require_relative "assemblyai/lemur/types/lemur_task_response"
70
+ require_relative "assemblyai/lemur/types/lemur_base_params_context"
71
+ require_relative "assemblyai/lemur/types/lemur_base_params"
72
+ require_relative "assemblyai/lemur/types/lemur_question_context"
73
+ require_relative "assemblyai/lemur/types/lemur_question"
74
+ require_relative "assemblyai/lemur/types/lemur_model"
75
+ require_relative "assemblyai/types/error"
metadata ADDED
@@ -0,0 +1,170 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: assemblyai
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.pre.beta
5
+ platform: ruby
6
+ authors:
7
+ - ''
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2024-02-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: async-http-faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.12'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.7'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday-retry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.2'
55
+ description: ''
56
+ email: ''
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - lib/assemblyai.rb
62
+ - lib/assemblyai/files/client.rb
63
+ - lib/assemblyai/files/types/uploaded_file.rb
64
+ - lib/assemblyai/lemur/client.rb
65
+ - lib/assemblyai/lemur/types/lemur_action_items_response.rb
66
+ - lib/assemblyai/lemur/types/lemur_base_params.rb
67
+ - lib/assemblyai/lemur/types/lemur_base_params_context.rb
68
+ - lib/assemblyai/lemur/types/lemur_base_response.rb
69
+ - lib/assemblyai/lemur/types/lemur_model.rb
70
+ - lib/assemblyai/lemur/types/lemur_question.rb
71
+ - lib/assemblyai/lemur/types/lemur_question_answer.rb
72
+ - lib/assemblyai/lemur/types/lemur_question_answer_response.rb
73
+ - lib/assemblyai/lemur/types/lemur_question_context.rb
74
+ - lib/assemblyai/lemur/types/lemur_summary_response.rb
75
+ - lib/assemblyai/lemur/types/lemur_task_response.rb
76
+ - lib/assemblyai/lemur/types/purge_lemur_request_data_response.rb
77
+ - lib/assemblyai/realtime/client.rb
78
+ - lib/assemblyai/realtime/types/audio_data.rb
79
+ - lib/assemblyai/realtime/types/audio_encoding.rb
80
+ - lib/assemblyai/realtime/types/final_transcript.rb
81
+ - lib/assemblyai/realtime/types/message_type.rb
82
+ - lib/assemblyai/realtime/types/partial_transcript.rb
83
+ - lib/assemblyai/realtime/types/realtime_base_message.rb
84
+ - lib/assemblyai/realtime/types/realtime_base_transcript.rb
85
+ - lib/assemblyai/realtime/types/realtime_error.rb
86
+ - lib/assemblyai/realtime/types/realtime_message.rb
87
+ - lib/assemblyai/realtime/types/realtime_temporary_token_response.rb
88
+ - lib/assemblyai/realtime/types/realtime_transcript.rb
89
+ - lib/assemblyai/realtime/types/realtime_transcript_type.rb
90
+ - lib/assemblyai/realtime/types/session_begins.rb
91
+ - lib/assemblyai/realtime/types/session_terminated.rb
92
+ - lib/assemblyai/realtime/types/terminate_session.rb
93
+ - lib/assemblyai/realtime/types/word.rb
94
+ - lib/assemblyai/transcripts/client.rb
95
+ - lib/assemblyai/transcripts/polling_client.rb
96
+ - lib/assemblyai/transcripts/types/audio_intelligence_model_status.rb
97
+ - lib/assemblyai/transcripts/types/auto_highlight_result.rb
98
+ - lib/assemblyai/transcripts/types/auto_highlights_result.rb
99
+ - lib/assemblyai/transcripts/types/chapter.rb
100
+ - lib/assemblyai/transcripts/types/content_safety_label.rb
101
+ - lib/assemblyai/transcripts/types/content_safety_label_result.rb
102
+ - lib/assemblyai/transcripts/types/content_safety_labels_result.rb
103
+ - lib/assemblyai/transcripts/types/entity.rb
104
+ - lib/assemblyai/transcripts/types/entity_type.rb
105
+ - lib/assemblyai/transcripts/types/page_details.rb
106
+ - lib/assemblyai/transcripts/types/paragraphs_response.rb
107
+ - lib/assemblyai/transcripts/types/pii_policy.rb
108
+ - lib/assemblyai/transcripts/types/polling_options.rb
109
+ - lib/assemblyai/transcripts/types/redact_pii_audio_quality.rb
110
+ - lib/assemblyai/transcripts/types/redacted_audio_response.rb
111
+ - lib/assemblyai/transcripts/types/redacted_audio_status.rb
112
+ - lib/assemblyai/transcripts/types/sentences_response.rb
113
+ - lib/assemblyai/transcripts/types/sentiment.rb
114
+ - lib/assemblyai/transcripts/types/sentiment_analysis_result.rb
115
+ - lib/assemblyai/transcripts/types/severity_score_summary.rb
116
+ - lib/assemblyai/transcripts/types/speech_model.rb
117
+ - lib/assemblyai/transcripts/types/substitution_policy.rb
118
+ - lib/assemblyai/transcripts/types/subtitle_format.rb
119
+ - lib/assemblyai/transcripts/types/summary_model.rb
120
+ - lib/assemblyai/transcripts/types/summary_type.rb
121
+ - lib/assemblyai/transcripts/types/timestamp.rb
122
+ - lib/assemblyai/transcripts/types/topic_detection_model_result.rb
123
+ - lib/assemblyai/transcripts/types/topic_detection_result.rb
124
+ - lib/assemblyai/transcripts/types/topic_detection_result_labels_item.rb
125
+ - lib/assemblyai/transcripts/types/transcript.rb
126
+ - lib/assemblyai/transcripts/types/transcript_boost_param.rb
127
+ - lib/assemblyai/transcripts/types/transcript_custom_spelling.rb
128
+ - lib/assemblyai/transcripts/types/transcript_language_code.rb
129
+ - lib/assemblyai/transcripts/types/transcript_list.rb
130
+ - lib/assemblyai/transcripts/types/transcript_list_item.rb
131
+ - lib/assemblyai/transcripts/types/transcript_optional_params.rb
132
+ - lib/assemblyai/transcripts/types/transcript_paragraph.rb
133
+ - lib/assemblyai/transcripts/types/transcript_sentence.rb
134
+ - lib/assemblyai/transcripts/types/transcript_status.rb
135
+ - lib/assemblyai/transcripts/types/transcript_utterance.rb
136
+ - lib/assemblyai/transcripts/types/transcript_word.rb
137
+ - lib/assemblyai/transcripts/types/word_search_match.rb
138
+ - lib/assemblyai/transcripts/types/word_search_response.rb
139
+ - lib/assemblyai/transcripts/types/word_search_timestamp.rb
140
+ - lib/assemblyai/types/error.rb
141
+ - lib/environment.rb
142
+ - lib/gemconfig.rb
143
+ - lib/requests.rb
144
+ - lib/types_export.rb
145
+ homepage: https://github.com/AssemblyAI/assemblyai-ruby-sdk
146
+ licenses: []
147
+ metadata:
148
+ homepage_uri: https://github.com/AssemblyAI/assemblyai-ruby-sdk
149
+ source_code_uri: https://github.com/AssemblyAI/assemblyai-ruby-sdk
150
+ changelog_uri: https://github.com/AssemblyAI/assemblyai-ruby-sdk/blob/master/CHANGELOG.md
151
+ post_install_message:
152
+ rdoc_options: []
153
+ require_paths:
154
+ - lib
155
+ required_ruby_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: 2.7.0
160
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">"
163
+ - !ruby/object:Gem::Version
164
+ version: 1.3.1
165
+ requirements: []
166
+ rubygems_version: 3.1.6
167
+ signing_key:
168
+ specification_version: 4
169
+ summary: ''
170
+ test_files: []