Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Commit bdce5f6

Browse files
authored
Merge pull request #37 from AssemblyAI/fern-bot/06-27-2024-0121PM
🌿 Fern Regeneration -- June 27, 2024
2 parents f86c35f + 7eeb5a9 commit bdce5f6

File tree

9 files changed

+107
-45
lines changed

9 files changed

+107
-45
lines changed

lib/assemblyai/lemur/client.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ def action_items(transcript_ids: nil, input_text: nil, context: nil, final_model
230230
# @param request_id [String] The ID of the LeMUR request you previously made.
231231
# This would be found in the response of the original request.
232232
# @param request_options [AssemblyAI::RequestOptions]
233-
# @return [AssemblyAI::Lemur::LemurTaskResponse, AssemblyAI::Lemur::LemurSummaryResponse, AssemblyAI::Lemur::LemurQuestionAnswerResponse, AssemblyAI::Lemur::LemurActionItemsResponse]
233+
# @return [AssemblyAI::Lemur::LemurStringResponse, AssemblyAI::Lemur::LemurQuestionAnswerResponse]
234234
# @example
235235
# api = AssemblyAI::Client.new(
236236
# environment: AssemblyAI::Environment::DEFAULT,
@@ -499,7 +499,7 @@ def action_items(transcript_ids: nil, input_text: nil, context: nil, final_model
499499
# @param request_id [String] The ID of the LeMUR request you previously made.
500500
# This would be found in the response of the original request.
501501
# @param request_options [AssemblyAI::RequestOptions]
502-
# @return [AssemblyAI::Lemur::LemurTaskResponse, AssemblyAI::Lemur::LemurSummaryResponse, AssemblyAI::Lemur::LemurQuestionAnswerResponse, AssemblyAI::Lemur::LemurActionItemsResponse]
502+
# @return [AssemblyAI::Lemur::LemurStringResponse, AssemblyAI::Lemur::LemurQuestionAnswerResponse]
503503
# @example
504504
# api = AssemblyAI::Client.new(
505505
# environment: AssemblyAI::Environment::DEFAULT,

lib/assemblyai/lemur/types/lemur_action_items_response.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
module AssemblyAI
88
class Lemur
99
class LemurActionItemsResponse
10-
# @return [String] The response generated by LeMUR
10+
# @return [String] The response generated by LeMUR.
1111
attr_reader :response
1212
# @return [String] The ID of the LeMUR request
1313
attr_reader :request_id
@@ -21,7 +21,7 @@ class LemurActionItemsResponse
2121

2222
OMIT = Object.new
2323

24-
# @param response [String] The response generated by LeMUR
24+
# @param response [String] The response generated by LeMUR.
2525
# @param request_id [String] The ID of the LeMUR request
2626
# @param usage [AssemblyAI::Lemur::LemurUsage] The usage numbers for the LeMUR request
2727
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition

lib/assemblyai/lemur/types/lemur_response.rb

Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
# frozen_string_literal: true
22

33
require "json"
4-
require_relative "lemur_task_response"
5-
require_relative "lemur_summary_response"
4+
require_relative "lemur_string_response"
65
require_relative "lemur_question_answer_response"
7-
require_relative "lemur_action_items_response"
86

97
module AssemblyAI
108
class Lemur
@@ -16,16 +14,8 @@ class LemurResponse
1614
def self.from_json(json_object:)
1715
struct = JSON.parse(json_object, object_class: OpenStruct)
1816
begin
19-
AssemblyAI::Lemur::LemurTaskResponse.validate_raw(obj: struct)
20-
return AssemblyAI::Lemur::LemurTaskResponse.from_json(json_object: json_object) unless json_object.nil?
21-
22-
return nil
23-
rescue StandardError
24-
# noop
25-
end
26-
begin
27-
AssemblyAI::Lemur::LemurSummaryResponse.validate_raw(obj: struct)
28-
return AssemblyAI::Lemur::LemurSummaryResponse.from_json(json_object: json_object) unless json_object.nil?
17+
AssemblyAI::Lemur::LemurStringResponse.validate_raw(obj: struct)
18+
return AssemblyAI::Lemur::LemurStringResponse.from_json(json_object: json_object) unless json_object.nil?
2919

3020
return nil
3121
rescue StandardError
@@ -41,14 +31,6 @@ def self.from_json(json_object:)
4131
rescue StandardError
4232
# noop
4333
end
44-
begin
45-
AssemblyAI::Lemur::LemurActionItemsResponse.validate_raw(obj: struct)
46-
return AssemblyAI::Lemur::LemurActionItemsResponse.from_json(json_object: json_object) unless json_object.nil?
47-
48-
return nil
49-
rescue StandardError
50-
# noop
51-
end
5234
struct
5335
end
5436

@@ -60,12 +42,7 @@ def self.from_json(json_object:)
6042
# @return [Void]
6143
def self.validate_raw(obj:)
6244
begin
63-
return AssemblyAI::Lemur::LemurTaskResponse.validate_raw(obj: obj)
64-
rescue StandardError
65-
# noop
66-
end
67-
begin
68-
return AssemblyAI::Lemur::LemurSummaryResponse.validate_raw(obj: obj)
45+
return AssemblyAI::Lemur::LemurStringResponse.validate_raw(obj: obj)
6946
rescue StandardError
7047
# noop
7148
end
@@ -74,11 +51,6 @@ def self.validate_raw(obj:)
7451
rescue StandardError
7552
# noop
7653
end
77-
begin
78-
return AssemblyAI::Lemur::LemurActionItemsResponse.validate_raw(obj: obj)
79-
rescue StandardError
80-
# noop
81-
end
8254
raise("Passed value matched no type within the union, validation failed.")
8355
end
8456
end
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# frozen_string_literal: true
2+
3+
require_relative "lemur_usage"
4+
require "ostruct"
5+
require "json"
6+
7+
module AssemblyAI
8+
class Lemur
9+
class LemurStringResponse
10+
# @return [String] The response generated by LeMUR.
11+
attr_reader :response
12+
# @return [String] The ID of the LeMUR request
13+
attr_reader :request_id
14+
# @return [AssemblyAI::Lemur::LemurUsage] The usage numbers for the LeMUR request
15+
attr_reader :usage
16+
# @return [OpenStruct] Additional properties unmapped to the current class definition
17+
attr_reader :additional_properties
18+
# @return [Object]
19+
attr_reader :_field_set
20+
protected :_field_set
21+
22+
OMIT = Object.new
23+
24+
# @param response [String] The response generated by LeMUR.
25+
# @param request_id [String] The ID of the LeMUR request
26+
# @param usage [AssemblyAI::Lemur::LemurUsage] The usage numbers for the LeMUR request
27+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
28+
# @return [AssemblyAI::Lemur::LemurStringResponse]
29+
def initialize(response:, request_id:, usage:, additional_properties: nil)
30+
@response = response
31+
@request_id = request_id
32+
@usage = usage
33+
@additional_properties = additional_properties
34+
@_field_set = { "response": response, "request_id": request_id, "usage": usage }
35+
end
36+
37+
# Deserialize a JSON object to an instance of LemurStringResponse
38+
#
39+
# @param json_object [String]
40+
# @return [AssemblyAI::Lemur::LemurStringResponse]
41+
def self.from_json(json_object:)
42+
struct = JSON.parse(json_object, object_class: OpenStruct)
43+
parsed_json = JSON.parse(json_object)
44+
response = struct["response"]
45+
request_id = struct["request_id"]
46+
if parsed_json["usage"].nil?
47+
usage = nil
48+
else
49+
usage = parsed_json["usage"].to_json
50+
usage = AssemblyAI::Lemur::LemurUsage.from_json(json_object: usage)
51+
end
52+
new(
53+
response: response,
54+
request_id: request_id,
55+
usage: usage,
56+
additional_properties: struct
57+
)
58+
end
59+
60+
# Serialize an instance of LemurStringResponse to a JSON object
61+
#
62+
# @return [String]
63+
def to_json(*_args)
64+
@_field_set&.to_json
65+
end
66+
67+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
68+
# hash and check each fields type against the current object's property
69+
# definitions.
70+
#
71+
# @param obj [Object]
72+
# @return [Void]
73+
def self.validate_raw(obj:)
74+
obj.response.is_a?(String) != false || raise("Passed value for field obj.response is not the expected type, validation failed.")
75+
obj.request_id.is_a?(String) != false || raise("Passed value for field obj.request_id is not the expected type, validation failed.")
76+
AssemblyAI::Lemur::LemurUsage.validate_raw(obj: obj.usage)
77+
end
78+
end
79+
end
80+
end

lib/assemblyai/lemur/types/lemur_summary_response.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
module AssemblyAI
88
class Lemur
99
class LemurSummaryResponse
10-
# @return [String] The response generated by LeMUR
10+
# @return [String] The response generated by LeMUR.
1111
attr_reader :response
1212
# @return [String] The ID of the LeMUR request
1313
attr_reader :request_id
@@ -21,7 +21,7 @@ class LemurSummaryResponse
2121

2222
OMIT = Object.new
2323

24-
# @param response [String] The response generated by LeMUR
24+
# @param response [String] The response generated by LeMUR.
2525
# @param request_id [String] The ID of the LeMUR request
2626
# @param usage [AssemblyAI::Lemur::LemurUsage] The usage numbers for the LeMUR request
2727
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition

lib/assemblyai/transcripts/types/transcript_optional_params.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ class TranscriptOptionalParams
2828
attr_reader :dual_channel
2929
# @return [AssemblyAI::Transcripts::SpeechModel]
3030
attr_reader :speech_model
31-
# @return [String]
31+
# @return [String] The URL to which we send webhook requests. We sends two different types of
32+
# webhook requests. One request when a transcript is completed or failed, and one
33+
# request when the redacted audio is ready if redact_pii_audio is enabled.
3234
attr_reader :webhook_url
3335
# @return [String] The header name to be sent with the transcript completed or failed webhook
3436
# requests
@@ -135,7 +137,9 @@ class TranscriptOptionalParams
135137
# ://www.assemblyai.com/docs/models/speech-recognition#dual-channel-transcription)
136138
# transcription, can be true or false.
137139
# @param speech_model [AssemblyAI::Transcripts::SpeechModel]
138-
# @param webhook_url [String]
140+
# @param webhook_url [String] The URL to which we send webhook requests. We sends two different types of
141+
# webhook requests. One request when a transcript is completed or failed, and one
142+
# request when the redacted audio is ready if redact_pii_audio is enabled.
139143
# @param webhook_auth_header_name [String] The header name to be sent with the transcript completed or failed webhook
140144
# requests
141145
# @param webhook_auth_header_value [String] The header value to send back with the transcript completed or failed webhook

lib/gemconfig.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module AssemblyAI
44
module Gemconfig
5-
VERSION = "1.0.0-beta.12"
5+
VERSION = "1.0.0-beta.13"
66
AUTHORS = [""].freeze
77
EMAIL = "support@assemblyai.com"
88
SUMMARY = "AssemblyAI Ruby SDK"

lib/types_export.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,12 @@
7171
require_relative "assemblyai/realtime/types/realtime_temporary_token_response"
7272
require_relative "assemblyai/lemur/types/purge_lemur_request_data_response"
7373
require_relative "assemblyai/lemur/types/lemur_base_response"
74+
require_relative "assemblyai/lemur/types/lemur_string_response"
7475
require_relative "assemblyai/lemur/types/lemur_task_response"
7576
require_relative "assemblyai/lemur/types/lemur_summary_response"
77+
require_relative "assemblyai/lemur/types/lemur_action_items_response"
7678
require_relative "assemblyai/lemur/types/lemur_question_answer_response"
7779
require_relative "assemblyai/lemur/types/lemur_question_answer"
78-
require_relative "assemblyai/lemur/types/lemur_action_items_response"
7980
require_relative "assemblyai/lemur/types/lemur_response"
8081
require_relative "assemblyai/lemur/types/lemur_base_params_context"
8182
require_relative "assemblyai/lemur/types/lemur_base_params"

test/test_assemblyai.rb

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,17 @@ def test_lemur
9898
client = AssemblyAI::Client.new(api_key: api_key)
9999
assert !client.lemur.summary(transcript_ids: transcript_ids).response.nil?
100100

101-
assert !client.lemur.question_answer(
101+
qa_response = client.lemur.question_answer(
102102
transcript_ids: transcript_ids,
103103
questions: [{
104104
question: "What are they discussing?", answer_format: "text"
105105
}]
106-
).response.nil?
106+
)
107+
assert !qa_response.response.nil?
108+
109+
qa_response2 = client.lemur.get_response(request_id: qa_response.request_id)
110+
111+
assert qa_response.to_json == qa_response2.to_json
107112

108113
lemur_task = client.lemur.task(
109114
transcript_ids: transcript_ids,
@@ -113,6 +118,6 @@ def test_lemur
113118

114119
lemur_task2 = client.lemur.get_response(request_id: lemur_task.request_id)
115120

116-
assert Marshal.dump(lemur_task) == Marshal.dump(lemur_task2)
121+
assert lemur_task.to_json == lemur_task2.to_json
117122
end
118123
end

0 commit comments

Comments
 (0)