diff --git a/assets/javascripts/discourse/admin/models/ai-tool.js b/assets/javascripts/discourse/admin/models/ai-tool.js index 4b9cdf7c..25b60a84 100644 --- a/assets/javascripts/discourse/admin/models/ai-tool.js +++ b/assets/javascripts/discourse/admin/models/ai-tool.js @@ -32,8 +32,10 @@ export default class AiTool extends RestModel { if (parameter.enum && parameter.enum.length) { parameter.enum = new TrackedArray(parameter.enum); + parameter.isEnum = true; } else { parameter.enum = null; + parameter.isEnum = false; } return parameter; diff --git a/assets/javascripts/discourse/components/ai-tool-editor-form.gjs b/assets/javascripts/discourse/components/ai-tool-editor-form.gjs index aed8e30d..4e842411 100644 --- a/assets/javascripts/discourse/components/ai-tool-editor-form.gjs +++ b/assets/javascripts/discourse/components/ai-tool-editor-form.gjs @@ -28,12 +28,13 @@ export default class AiToolEditorForm extends Component { ]; get formData() { + const parameters = this.args.editingModel.parameters || []; return { name: this.args.editingModel.name || "", tool_name: this.args.editingModel.tool_name || "", description: this.args.editingModel.description || "", summary: this.args.editingModel.summary || "", - parameters: this.args.editingModel.parameters || [], + parameters, script: this.args.editingModel.script || "", rag_uploads: this.args.editingModel.rag_uploads || [], }; @@ -109,6 +110,10 @@ export default class AiToolEditorForm extends Component { return data.parameters[index].type; } + parameterIsEnum(data, index) { + return data.parameters[index].isEnum; + } + get ragUploadsDescription() { return this.siteSettings.rag_images_enabled ? i18n("discourse_ai.rag.uploads.description_with_images") @@ -229,7 +234,7 @@ export default class AiToolEditorForm extends Component { - + @@ -243,6 +248,9 @@ export default class AiToolEditorForm extends Component { /> + {{#if (this.parameterIsEnum data index)}} + I am an enum + {{/if}} @@ -252,7 +260,9 @@ export default class AiToolEditorForm extends Component { @action={{fn form.addItemToCollection "parameters" - (hash name="" type="string" description="" required=false enum=false) + (hash + name="" type="string" description="" required=false isEnum=false + ) }} /> @@ -299,6 +309,13 @@ export default class AiToolEditorForm extends Component { class="ai-tool-editor__test-button" /> + {{/unless}} + + + {{#unless @isNew}} {{/unless}} - -