diff --git a/config/routes.rb b/config/routes.rb index 4aad60039..209333a5a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -56,6 +56,9 @@ Rails.application.routes.draw do member do post :playground end + collection do + get :tools + end resources :inboxes, only: [:index, :create, :destroy], param: :inbox_id resources :scenarios end diff --git a/enterprise/app/controllers/api/v1/accounts/captain/assistants_controller.rb b/enterprise/app/controllers/api/v1/accounts/captain/assistants_controller.rb index e5a055836..913998f6c 100644 --- a/enterprise/app/controllers/api/v1/accounts/captain/assistants_controller.rb +++ b/enterprise/app/controllers/api/v1/accounts/captain/assistants_controller.rb @@ -32,6 +32,10 @@ class Api::V1::Accounts::Captain::AssistantsController < Api::V1::Accounts::Base render json: response end + def tools + @tools = Captain::Assistant.available_agent_tools + end + private def set_assistant diff --git a/enterprise/app/models/captain/assistant.rb b/enterprise/app/models/captain/assistant.rb index 8f1227231..abb7bb9e1 100644 --- a/enterprise/app/models/captain/assistant.rb +++ b/enterprise/app/models/captain/assistant.rb @@ -16,6 +16,7 @@ # class Captain::Assistant < ApplicationRecord include Avatarable + include AgentToolsResolvable self.table_name = 'captain_assistants' diff --git a/enterprise/app/views/api/v1/accounts/captain/assistants/tools.json.jbuilder b/enterprise/app/views/api/v1/accounts/captain/assistants/tools.json.jbuilder new file mode 100644 index 000000000..3af1b179c --- /dev/null +++ b/enterprise/app/views/api/v1/accounts/captain/assistants/tools.json.jbuilder @@ -0,0 +1,6 @@ +json.array! @tools do |tool| + json.id tool[:id] + json.title tool[:title] + json.description tool[:description] + json.icon tool[:icon] +end \ No newline at end of file