Closed
Conversation
Release-As: 0.3.0
- Add Agno as optional dependency - Implement to_agno() method for StackOneTool and Tools classes - Create agno_integration.py example with sync and async usage - Add comprehensive tests for Agno integration - Update documentation and README with Agno support - Support both individual tool and batch tool conversion to Agno format
- Update import from agno.agent import Agent - Fix compatibility with Agno version 1.7.11 - Resolve GitHub Actions test failures
- Replace Tool class with tool decorator approach - Use agno.tools.tool decorator for function-based tools - Update tests to match new Agno tool architecture - Add comprehensive MyPy configuration for Agno modules - Fix compatibility with current Agno version
|
|
||
| load_dotenv() | ||
|
|
||
| account_id = "45072196112816593343" |
There was a problem hiding this comment.
Avoid hard-coding potentially sensitive account and employee identifiers; read them from environment variables or user input instead.
Prompt for AI agents
Address the following comment on examples/agno_integration.py at line 20:
<comment>Avoid hard-coding potentially sensitive account and employee identifiers; read them from environment variables or user input instead.</comment>
<file context>
@@ -0,0 +1,119 @@
+"""
+This example demonstrates how to use StackOne tools with Agno agents.
+
+This example is runnable with the following command:
+```bash
+uv run examples/agno_integration.py
+```
+
+You can find out more about Agno framework at https://docs.agno.com
</file context>
tests/test_agno_integration.py
Outdated
| def test_to_agno_with_mocked_agno(self, mock_tool: StackOneTool) -> None: | ||
| """Test Agno conversion with mocked Agno classes""" | ||
| # Mock the Agno Tool class | ||
| mock_agno_base_tool = MagicMock() |
There was a problem hiding this comment.
MagicMock instance used as base class stub—should pass a class, e.g. MagicMock(spec=type) or type('MockTool',(object,),{})
Prompt for AI agents
Address the following comment on tests/test_agno_integration.py at line 58:
<comment>MagicMock instance used as base class stub—should pass a class, e.g. MagicMock(spec=type) or type('MockTool',(object,),{})</comment>
<file context>
@@ -0,0 +1,164 @@
+from unittest.mock import MagicMock, patch
+
+import pytest
+
+from stackone_ai.models import (
+ ExecuteConfig,
+ StackOneTool,
+ ToolParameters,
+ Tools,
</file context>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds comprehensive integration support for Agno, a high-performance multi-agent AI system framework.
🔗 About Agno
Changes Made
to_agno()methods to bothStackOneToolandToolsclassesagno_integration.pywith both sync and async usage examplesKey Features
Integration Example
Test Coverage
Agno Compatibility
This integration is built for Agno v1.7.11 and uses the current function-based tool architecture:
@tooldecorator instead of class-based toolsTest Plan