mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-07-30 09:53:27 +00:00
* DEV: refactor bot internals This introduces a proper object for bot context, this makes it simpler to improve context management as we go cause we have a nice object to work with Starts refactoring allowing for a single message to have multiple uploads throughout * transplant method to message builder * chipping away at inline uploads * image support is improved but not fully fixed yet partially working in anthropic, still got quite a few dialects to go * open ai and claude are now working * Gemini is now working as well * fix nova * more dialects... * fix ollama * fix specs * update artifact fixed * more tests * spam scanner * pass more specs * bunch of specs improved * more bug fixes. * all the rest of the tests are working * improve tests coverage and ensure custom tools are aware of new context object * tests are working, but we need more tests * resolve merge conflict * new preamble and expanded specs on ai tool * remove concept of "standalone tools" This is no longer needed, we can set custom raw, tool details are injected into tool calls
18 lines
470 B
Ruby
18 lines
470 B
Ruby
# frozen_string_literal: true
|
|
module DiscourseAi
|
|
module Automation
|
|
module LlmToolTriage
|
|
def self.handle(post:, tool_id:, automation: nil)
|
|
tool = AiTool.find_by(id: tool_id)
|
|
return if !tool
|
|
return if !tool.parameters.blank?
|
|
|
|
context = DiscourseAi::AiBot::BotContext.new(post: post)
|
|
|
|
runner = tool.runner({}, llm: nil, bot_user: Discourse.system_user, context: context)
|
|
runner.invoke
|
|
end
|
|
end
|
|
end
|
|
end
|