From b3d78a6a10a6072b10704a02c2cf187ae30e7aeb Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 5 Jun 2025 12:05:55 +1000 Subject: [PATCH] FIX: when tool options are added they should be available (#1406) Fixes a regression where tool option editor was not showing all tools --- .../components/ai-persona-tool-options.gjs | 17 +++++++++++++++-- spec/system/admin_ai_persona_spec.rb | 9 +++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/discourse/components/ai-persona-tool-options.gjs b/assets/javascripts/discourse/components/ai-persona-tool-options.gjs index 58292b19..c4895adf 100644 --- a/assets/javascripts/discourse/components/ai-persona-tool-options.gjs +++ b/assets/javascripts/discourse/components/ai-persona-tool-options.gjs @@ -33,6 +33,19 @@ export default class AiPersonaToolOptions extends Component { return toolOptions ? Object.keys(toolOptions) : []; } + @action + toolOptionKeys(toolId) { + // this is important, some tools may not have all options defined (for example if a tool option is added) + const metadata = this.toolsMetadata[toolId]; + if (!metadata) { + return []; + } + + // a bit more verbose for clarity of our selection + const availableOptions = Object.keys(metadata).filter((k) => k !== "name"); + return availableOptions; + } +