1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-20 13:49:39 +02:00
Maybe/app/models/tool_call/function.rb
Zach Gollwitzer 5cf758bd03
improvements(ai): Improve AI streaming UI/UX interactions + better separation of AI provider responsibilities (#2039)
* Start refactor

* Interface updates

* Rework Assistant, Provider, and tests for better domain boundaries

* Consolidate and simplify OpenAI provider and provider concepts

* Clean up assistant streaming

* Improve assistant message orchestration logic

* Clean up "thinking" UI interactions

* Remove stale class

* Regenerate VCR test responses
2025-04-01 07:21:54 -04:00

24 lines
700 B
Ruby

class ToolCall::Function < ToolCall
validates :function_name, :function_result, presence: true
validates :function_arguments, presence: true, allow_blank: true
class << self
# Translates an "LLM Concept" provider's FunctionRequest into a ToolCall::Function
def from_function_request(function_request, result)
new(
provider_id: function_request.id,
provider_call_id: function_request.call_id,
function_name: function_request.function_name,
function_arguments: function_request.function_args,
function_result: result
)
end
end
def to_result
{
call_id: provider_call_id,
output: function_result
}
end
end