Skip to content

Commit

Permalink
Merge pull request #37 from AssemblyAI/fern-bot/06-27-2024-0121PM
Browse files Browse the repository at this point in the history
🌿 Fern Regeneration -- June 27, 2024
  • Loading branch information
Swimburger committed Jun 27, 2024
2 parents f86c35f + 7eeb5a9 commit bdce5f6
Show file tree
Hide file tree
Showing 9 changed files with 107 additions and 45 deletions.
4 changes: 2 additions & 2 deletions lib/assemblyai/lemur/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ def action_items(transcript_ids: nil, input_text: nil, context: nil, final_model
# @param request_id [String] The ID of the LeMUR request you previously made.
# This would be found in the response of the original request.
# @param request_options [AssemblyAI::RequestOptions]
# @return [AssemblyAI::Lemur::LemurTaskResponse, AssemblyAI::Lemur::LemurSummaryResponse, AssemblyAI::Lemur::LemurQuestionAnswerResponse, AssemblyAI::Lemur::LemurActionItemsResponse]
# @return [AssemblyAI::Lemur::LemurStringResponse, AssemblyAI::Lemur::LemurQuestionAnswerResponse]
# @example
# api = AssemblyAI::Client.new(
# environment: AssemblyAI::Environment::DEFAULT,
Expand Down Expand Up @@ -499,7 +499,7 @@ def action_items(transcript_ids: nil, input_text: nil, context: nil, final_model
# @param request_id [String] The ID of the LeMUR request you previously made.
# This would be found in the response of the original request.
# @param request_options [AssemblyAI::RequestOptions]
# @return [AssemblyAI::Lemur::LemurTaskResponse, AssemblyAI::Lemur::LemurSummaryResponse, AssemblyAI::Lemur::LemurQuestionAnswerResponse, AssemblyAI::Lemur::LemurActionItemsResponse]
# @return [AssemblyAI::Lemur::LemurStringResponse, AssemblyAI::Lemur::LemurQuestionAnswerResponse]
# @example
# api = AssemblyAI::Client.new(
# environment: AssemblyAI::Environment::DEFAULT,
Expand Down
4 changes: 2 additions & 2 deletions lib/assemblyai/lemur/types/lemur_action_items_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
module AssemblyAI
class Lemur
class LemurActionItemsResponse
# @return [String] The response generated by LeMUR
# @return [String] The response generated by LeMUR.
attr_reader :response
# @return [String] The ID of the LeMUR request
attr_reader :request_id
Expand All @@ -21,7 +21,7 @@ class LemurActionItemsResponse

OMIT = Object.new

# @param response [String] The response generated by LeMUR
# @param response [String] The response generated by LeMUR.
# @param request_id [String] The ID of the LeMUR request
# @param usage [AssemblyAI::Lemur::LemurUsage] The usage numbers for the LeMUR request
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
Expand Down
36 changes: 4 additions & 32 deletions lib/assemblyai/lemur/types/lemur_response.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
# frozen_string_literal: true

require "json"
require_relative "lemur_task_response"
require_relative "lemur_summary_response"
require_relative "lemur_string_response"
require_relative "lemur_question_answer_response"
require_relative "lemur_action_items_response"

module AssemblyAI
class Lemur
Expand All @@ -16,16 +14,8 @@ class LemurResponse
def self.from_json(json_object:)
struct = JSON.parse(json_object, object_class: OpenStruct)
begin
AssemblyAI::Lemur::LemurTaskResponse.validate_raw(obj: struct)
return AssemblyAI::Lemur::LemurTaskResponse.from_json(json_object: json_object) unless json_object.nil?

return nil
rescue StandardError
# noop
end
begin
AssemblyAI::Lemur::LemurSummaryResponse.validate_raw(obj: struct)
return AssemblyAI::Lemur::LemurSummaryResponse.from_json(json_object: json_object) unless json_object.nil?
AssemblyAI::Lemur::LemurStringResponse.validate_raw(obj: struct)
return AssemblyAI::Lemur::LemurStringResponse.from_json(json_object: json_object) unless json_object.nil?

return nil
rescue StandardError
Expand All @@ -41,14 +31,6 @@ def self.from_json(json_object:)
rescue StandardError
# noop
end
begin
AssemblyAI::Lemur::LemurActionItemsResponse.validate_raw(obj: struct)
return AssemblyAI::Lemur::LemurActionItemsResponse.from_json(json_object: json_object) unless json_object.nil?

return nil
rescue StandardError
# noop
end
struct
end

Expand All @@ -60,12 +42,7 @@ def self.from_json(json_object:)
# @return [Void]
def self.validate_raw(obj:)
begin
return AssemblyAI::Lemur::LemurTaskResponse.validate_raw(obj: obj)
rescue StandardError
# noop
end
begin
return AssemblyAI::Lemur::LemurSummaryResponse.validate_raw(obj: obj)
return AssemblyAI::Lemur::LemurStringResponse.validate_raw(obj: obj)
rescue StandardError
# noop
end
Expand All @@ -74,11 +51,6 @@ def self.validate_raw(obj:)
rescue StandardError
# noop
end
begin
return AssemblyAI::Lemur::LemurActionItemsResponse.validate_raw(obj: obj)
rescue StandardError
# noop
end
raise("Passed value matched no type within the union, validation failed.")
end
end
Expand Down
80 changes: 80 additions & 0 deletions lib/assemblyai/lemur/types/lemur_string_response.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# frozen_string_literal: true

require_relative "lemur_usage"
require "ostruct"
require "json"

module AssemblyAI
class Lemur
class LemurStringResponse
# @return [String] The response generated by LeMUR.
attr_reader :response
# @return [String] The ID of the LeMUR request
attr_reader :request_id
# @return [AssemblyAI::Lemur::LemurUsage] The usage numbers for the LeMUR request
attr_reader :usage
# @return [OpenStruct] Additional properties unmapped to the current class definition
attr_reader :additional_properties
# @return [Object]
attr_reader :_field_set
protected :_field_set

OMIT = Object.new

# @param response [String] The response generated by LeMUR.
# @param request_id [String] The ID of the LeMUR request
# @param usage [AssemblyAI::Lemur::LemurUsage] The usage numbers for the LeMUR request
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
# @return [AssemblyAI::Lemur::LemurStringResponse]
def initialize(response:, request_id:, usage:, additional_properties: nil)
@response = response
@request_id = request_id
@usage = usage
@additional_properties = additional_properties
@_field_set = { "response": response, "request_id": request_id, "usage": usage }
end

# Deserialize a JSON object to an instance of LemurStringResponse
#
# @param json_object [String]
# @return [AssemblyAI::Lemur::LemurStringResponse]
def self.from_json(json_object:)
struct = JSON.parse(json_object, object_class: OpenStruct)
parsed_json = JSON.parse(json_object)
response = struct["response"]
request_id = struct["request_id"]
if parsed_json["usage"].nil?
usage = nil
else
usage = parsed_json["usage"].to_json
usage = AssemblyAI::Lemur::LemurUsage.from_json(json_object: usage)
end
new(
response: response,
request_id: request_id,
usage: usage,
additional_properties: struct
)
end

# Serialize an instance of LemurStringResponse to a JSON object
#
# @return [String]
def to_json(*_args)
@_field_set&.to_json
end

# 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.
#
# @param obj [Object]
# @return [Void]
def self.validate_raw(obj:)
obj.response.is_a?(String) != false || raise("Passed value for field obj.response is not the expected type, validation failed.")
obj.request_id.is_a?(String) != false || raise("Passed value for field obj.request_id is not the expected type, validation failed.")
AssemblyAI::Lemur::LemurUsage.validate_raw(obj: obj.usage)
end
end
end
end
4 changes: 2 additions & 2 deletions lib/assemblyai/lemur/types/lemur_summary_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
module AssemblyAI
class Lemur
class LemurSummaryResponse
# @return [String] The response generated by LeMUR
# @return [String] The response generated by LeMUR.
attr_reader :response
# @return [String] The ID of the LeMUR request
attr_reader :request_id
Expand All @@ -21,7 +21,7 @@ class LemurSummaryResponse

OMIT = Object.new

# @param response [String] The response generated by LeMUR
# @param response [String] The response generated by LeMUR.
# @param request_id [String] The ID of the LeMUR request
# @param usage [AssemblyAI::Lemur::LemurUsage] The usage numbers for the LeMUR request
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ class TranscriptOptionalParams
attr_reader :dual_channel
# @return [AssemblyAI::Transcripts::SpeechModel]
attr_reader :speech_model
# @return [String]
# @return [String] The URL to which we send webhook requests. We sends two different types of
# webhook requests. One request when a transcript is completed or failed, and one
# request when the redacted audio is ready if redact_pii_audio is enabled.
attr_reader :webhook_url
# @return [String] The header name to be sent with the transcript completed or failed webhook
# requests
Expand Down Expand Up @@ -135,7 +137,9 @@ class TranscriptOptionalParams
# ://www.assemblyai.com/docs/models/speech-recognition#dual-channel-transcription)
# transcription, can be true or false.
# @param speech_model [AssemblyAI::Transcripts::SpeechModel]
# @param webhook_url [String]
# @param webhook_url [String] The URL to which we send webhook requests. We sends two different types of
# webhook requests. One request when a transcript is completed or failed, and one
# request when the redacted audio is ready if redact_pii_audio is enabled.
# @param webhook_auth_header_name [String] The header name to be sent with the transcript completed or failed webhook
# requests
# @param webhook_auth_header_value [String] The header value to send back with the transcript completed or failed webhook
Expand Down
2 changes: 1 addition & 1 deletion lib/gemconfig.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

module AssemblyAI
module Gemconfig
VERSION = "1.0.0-beta.12"
VERSION = "1.0.0-beta.13"
AUTHORS = [""].freeze
EMAIL = "[email protected]"
SUMMARY = "AssemblyAI Ruby SDK"
Expand Down
3 changes: 2 additions & 1 deletion lib/types_export.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,12 @@
require_relative "assemblyai/realtime/types/realtime_temporary_token_response"
require_relative "assemblyai/lemur/types/purge_lemur_request_data_response"
require_relative "assemblyai/lemur/types/lemur_base_response"
require_relative "assemblyai/lemur/types/lemur_string_response"
require_relative "assemblyai/lemur/types/lemur_task_response"
require_relative "assemblyai/lemur/types/lemur_summary_response"
require_relative "assemblyai/lemur/types/lemur_action_items_response"
require_relative "assemblyai/lemur/types/lemur_question_answer_response"
require_relative "assemblyai/lemur/types/lemur_question_answer"
require_relative "assemblyai/lemur/types/lemur_action_items_response"
require_relative "assemblyai/lemur/types/lemur_response"
require_relative "assemblyai/lemur/types/lemur_base_params_context"
require_relative "assemblyai/lemur/types/lemur_base_params"
Expand Down
11 changes: 8 additions & 3 deletions test/test_assemblyai.rb
Original file line number Diff line number Diff line change
Expand Up @@ -98,12 +98,17 @@ def test_lemur
client = AssemblyAI::Client.new(api_key: api_key)
assert !client.lemur.summary(transcript_ids: transcript_ids).response.nil?

assert !client.lemur.question_answer(
qa_response = client.lemur.question_answer(
transcript_ids: transcript_ids,
questions: [{
question: "What are they discussing?", answer_format: "text"
}]
).response.nil?
)
assert !qa_response.response.nil?

qa_response2 = client.lemur.get_response(request_id: qa_response.request_id)

assert qa_response.to_json == qa_response2.to_json

lemur_task = client.lemur.task(
transcript_ids: transcript_ids,
Expand All @@ -113,6 +118,6 @@ def test_lemur

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

assert Marshal.dump(lemur_task) == Marshal.dump(lemur_task2)
assert lemur_task.to_json == lemur_task2.to_json
end
end

0 comments on commit bdce5f6

Please sign in to comment.