class Vellum::PromptOutput
def self.error(member:)
-
(PromptOutput)-
Parameters:
-
member(ErrorVariableValue) --
def self.error(member:) new(member: member, discriminant: "ERROR") end
def self.from_json(json_object:)
-
(PromptOutput)-
Parameters:
-
json_object(JSON) --
def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) member = case struct.type when "STRING" StringVariableValue.from_json(json_object: json_object) when "JSON" JsonVariableValue.from_json(json_object: json_object) when "ERROR" ErrorVariableValue.from_json(json_object: json_object) when "FUNCTION_CALL" FunctionCallVariableValue.from_json(json_object: json_object) else StringVariableValue.from_json(json_object: json_object) end new(member: member, discriminant: struct.type) end
def self.function_call(member:)
-
(PromptOutput)-
Parameters:
-
member(FunctionCallVariableValue) --
def self.function_call(member:) new(member: member, discriminant: "FUNCTION_CALL") end
def self.json(member:)
-
(PromptOutput)-
Parameters:
-
member(JsonVariableValue) --
def self.json(member:) new(member: member, discriminant: "JSON") end
def self.string(member:)
-
(PromptOutput)-
Parameters:
-
member(StringVariableValue) --
def self.string(member:) new(member: member, discriminant: "STRING") end
def self.validate_raw(obj:)
-
(Void)-
Parameters:
-
obj(Object) --
def self.validate_raw(obj:) case obj.type when "STRING" StringVariableValue.validate_raw(obj: obj) when "JSON" JsonVariableValue.validate_raw(obj: obj) when "ERROR" ErrorVariableValue.validate_raw(obj: obj) when "FUNCTION_CALL" FunctionCallVariableValue.validate_raw(obj: obj) else raise("Passed value matched no type within the union, validation failed.") end end
def initialize(member:, discriminant:)
-
(PromptOutput)-
Parameters:
-
discriminant(String) -- -
member(Object) --
def initialize(member:, discriminant:) # @type [Object] @member = member # @type [String] @discriminant = discriminant end
def is_a?(obj)
-
(Boolean)-
Parameters:
-
obj(Object) --
def is_a?(obj) @member.is_a?(obj) end
def to_json(*_args)
-
(JSON)-
def to_json(*_args) case @discriminant when "STRING" { **@member.to_json, type: @discriminant }.to_json when "JSON" { **@member.to_json, type: @discriminant }.to_json when "ERROR" { **@member.to_json, type: @discriminant }.to_json when "FUNCTION_CALL" { **@member.to_json, type: @discriminant }.to_json else { "type": @discriminant, value: @member }.to_json end @member.to_json end