diff --git a/app/controllers/discourse_ai/admin/ai_personas_controller.rb b/app/controllers/discourse_ai/admin/ai_personas_controller.rb index ca92ed50..f8f9b796 100644 --- a/app/controllers/discourse_ai/admin/ai_personas_controller.rb +++ b/app/controllers/discourse_ai/admin/ai_personas_controller.rb @@ -125,6 +125,7 @@ module DiscourseAi :rag_chunk_overlap_tokens, :rag_conversation_chunks, :question_consolidator_llm, + :role, allowed_group_ids: [], rag_uploads: [:id], ) diff --git a/app/serializers/localized_ai_persona_serializer.rb b/app/serializers/localized_ai_persona_serializer.rb index d37a2276..6ddc4bd9 100644 --- a/app/serializers/localized_ai_persona_serializer.rb +++ b/app/serializers/localized_ai_persona_serializer.rb @@ -23,7 +23,12 @@ class LocalizedAiPersonaSerializer < ApplicationSerializer :rag_chunk_tokens, :rag_chunk_overlap_tokens, :rag_conversation_chunks, - :question_consolidator_llm + :question_consolidator_llm, + :role, + :role_tags, + :role_category_ids, + :role_whispers, + :role_max_responses_per_hour has_one :user, serializer: BasicUserSerializer, embed: :object has_many :rag_uploads, serializer: UploadSerializer, embed: :object diff --git a/assets/javascripts/discourse/admin/models/ai-persona.js b/assets/javascripts/discourse/admin/models/ai-persona.js index 9b0046d8..697d08f5 100644 --- a/assets/javascripts/discourse/admin/models/ai-persona.js +++ b/assets/javascripts/discourse/admin/models/ai-persona.js @@ -26,6 +26,9 @@ const CREATE_ATTRIBUTES = [ "rag_chunk_overlap_tokens", "rag_conversation_chunks", "question_consolidator_llm", + "role", + "role_category_ids", + "role_whispers", ]; const SYSTEM_ATTRIBUTES = [ diff --git a/assets/javascripts/discourse/components/ai-persona-editor.gjs b/assets/javascripts/discourse/components/ai-persona-editor.gjs index 334f7af8..9ead6c7d 100644 --- a/assets/javascripts/discourse/components/ai-persona-editor.gjs +++ b/assets/javascripts/discourse/components/ai-persona-editor.gjs @@ -23,6 +23,7 @@ import DTooltip from "float-kit/components/d-tooltip"; import AiCommandSelector from "./ai-command-selector"; import AiLlmSelector from "./ai-llm-selector"; import AiPersonaCommandOptions from "./ai-persona-command-options"; +import RoleSelector from "./ai-persona-role-selector"; import PersonaRagUploader from "./persona-rag-uploader"; export default class PersonaEditor extends Component { @@ -336,6 +337,14 @@ export default class PersonaEditor extends Component { disabled={{this.editingModel.system}} /> +
+ + +