21 lines
645 B
Ruby
Executable File
21 lines
645 B
Ruby
Executable File
class Captain::Tools::Copilot::GetArticleService < Captain::Tools::BaseTool
|
|
def self.name
|
|
'get_article'
|
|
end
|
|
description 'Get details of an article including its content and metadata'
|
|
param :article_id, type: :number, desc: 'The ID of the article to retrieve', required: true
|
|
|
|
def execute(*args, **params)
|
|
actual_params = resolve_params(args, params)
|
|
article_id = actual_params[:article_id]
|
|
article = Article.find_by(id: article_id, account_id: @assistant.account_id)
|
|
return 'Article not found' if article.nil?
|
|
|
|
article.to_llm_text
|
|
end
|
|
|
|
def active?
|
|
user_has_permission('knowledge_base_manage')
|
|
end
|
|
end
|