diff --git a/packages/editor-ui/src/utils/fromAIOverrideUtils.test.ts b/packages/editor-ui/src/utils/fromAIOverrideUtils.test.ts index 8144f5c60c..bf1c979f03 100644 --- a/packages/editor-ui/src/utils/fromAIOverrideUtils.test.ts +++ b/packages/editor-ui/src/utils/fromAIOverrideUtils.test.ts @@ -54,6 +54,17 @@ const AI_DENYLIST_NODE_TYPE: INodeTypeDescription = { ...MOCK_NODE_TYPE_MIXIN, }; +const AI_VECTOR_STORE_NODE_TYPE: INodeTypeDescription = { + name: 'aVectorStore', + codex: { + categories: ['AI'], + subcategories: { + AI: ['Tools', 'Vector Stores'], + }, + }, + ...MOCK_NODE_TYPE_MIXIN, +}; + const NON_AI_NODE_TYPE: INodeTypeDescription = { name: 'AN_NOT_AI_NODE_TYPE', ...MOCK_NODE_TYPE_MIXIN, @@ -64,6 +75,8 @@ describe('makeOverrideValue', () => { ['null nodeType', makeContext(''), null], ['non-ai node type', makeContext(''), NON_AI_NODE_TYPE], ['ai node type on denylist', makeContext(''), AI_DENYLIST_NODE_TYPE], + ['vector store type', makeContext(''), AI_VECTOR_STORE_NODE_TYPE], + ['denied parameter name', makeContext('', 'parameters.toolName'), AI_NODE_TYPE], ])('should not create an override for %s', (_name, context, nodeType) => { expect(makeOverrideValue(context, nodeType)).toBeNull(); }); diff --git a/packages/editor-ui/src/utils/fromAIOverrideUtils.ts b/packages/editor-ui/src/utils/fromAIOverrideUtils.ts index e5272de695..50a35110e6 100644 --- a/packages/editor-ui/src/utils/fromAIOverrideUtils.ts +++ b/packages/editor-ui/src/utils/fromAIOverrideUtils.ts @@ -48,6 +48,8 @@ const NODE_DENYLIST = ['toolCode', 'toolHttpRequest']; const PATH_DENYLIST = [ 'parameters.name', + // this is used in vector store tools + 'parameters.toolName', 'parameters.description', // This is used in e.g. the telegram node if the dropdown selects manual mode 'parameters.toolDescription', @@ -164,7 +166,11 @@ export function canBeContentOverride( if (PATH_DENYLIST.includes(props.path)) return false; const codex = nodeType?.codex; - if (!codex?.categories?.includes('AI') || !codex?.subcategories?.AI?.includes('Tools')) + if ( + !codex?.categories?.includes('AI') || + !codex?.subcategories?.AI?.includes('Tools') || + codex?.subcategories?.AI?.includes('Vector Stores') // vector stores do not support fromAI + ) return false; return !props.parameter.noDataExpression && 'options' !== props.parameter.type;