diff --git a/src/uipath_langchain/agent/tools/context_tool.py b/src/uipath_langchain/agent/tools/context_tool.py index 062a5426e..8a6f95c3f 100644 --- a/src/uipath_langchain/agent/tools/context_tool.py +++ b/src/uipath_langchain/agent/tools/context_tool.py @@ -150,7 +150,6 @@ def create_context_tool( llm: BaseChatModel | None = None, agent: LowCodeAgentDefinition | None = None, ) -> StructuredTool | BaseTool | None: - assert resource.context_type is not None tool_name = sanitize_tool_name(resource.name) if resource.context_type == AgentContextType.DATA_FABRIC_ENTITY_SET: diff --git a/tests/agent/tools/test_context_tool.py b/tests/agent/tools/test_context_tool.py index c1f7f6375..1d2074237 100644 --- a/tests/agent/tools/test_context_tool.py +++ b/tests/agent/tools/test_context_tool.py @@ -396,6 +396,19 @@ def test_case_insensitive_retrieval_mode(self, deep_rag_config): result = create_context_tool(deep_rag_config) assert isinstance(result, StructuredToolWithArgumentProperties) + def test_legacy_none_context_type_semantic_search(self, semantic_search_config): + # Agents packaged with storage-schema < v48 have no contextType field. + semantic_search_config.context_type = None + result = create_context_tool(semantic_search_config) + assert isinstance(result, StructuredToolWithOutputType) + assert result.name == "test_semantic_search" + + def test_legacy_none_context_type_deep_rag(self, deep_rag_config): + deep_rag_config.context_type = None + result = create_context_tool(deep_rag_config) + assert isinstance(result, StructuredToolWithArgumentProperties) + assert result.name == "test_deep_rag" + class TestHandleSemanticSearch: """Test cases for handle_semantic_search function."""