1
0
mirror of synced 2026-08-04 14:56:54 +00:00

FIX: forced tools wasn't set correctly when tool has no options. (#1231)

* wip: more dynamic availableForcedTools

* FIX: forced tools wasn't set correctly when tool has no options.

---------

Co-authored-by: Roman Rizzi <rizziromanalejandro@gmail.com>
This commit is contained in:
Joffrey JAFFEUX
2025-03-31 15:45:03 +02:00
committed by GitHub
parent f43137e067
commit 28fa723472
3 changed files with 16 additions and 8 deletions
@@ -77,7 +77,11 @@ export default class AiPersona extends RestModel {
flattenedToolStructure(data) {
return (data.tools || []).map((tName) => {
return [tName, data.toolOptions[tName], data.forcedTools.includes(tName)];
return [
tName,
data.toolOptions[tName] || {},
data.forcedTools.includes(tName),
];
});
}
@@ -30,7 +30,6 @@ export default class PersonaEditor extends Component {
@tracked allGroups = [];
@tracked isSaving = false;
@tracked availableForcedTools = [];
dirtyFormData = null;
@@ -208,10 +207,6 @@ export default class PersonaEditor extends Component {
toolOptions: updatedOptions,
});
this.availableForcedTools = this.allTools.filter((tool) =>
updatedTools.includes(tool.id)
);
if (currentData.forcedTools?.length > 0) {
const updatedForcedTools = currentData.forcedTools.filter(
(fct) => !removedTools.includes(fct)
@@ -220,6 +215,11 @@ export default class PersonaEditor extends Component {
}
}
@action
availableForcedTools(tools) {
return this.allTools.filter((tool) => tools.includes(tool.id));
}
mapToolOptions(currentOptions, toolNames) {
const updatedOptions = Object.assign({}, currentOptions);
@@ -439,7 +439,7 @@ export default class PersonaEditor extends Component {
@value={{field.value}}
@disabled={{data.system}}
@onChange={{field.set}}
@content={{this.availableForcedTools}}
@content={{this.availableForcedTools data.tools}}
/>
</field.Custom>
</form.Field>