solana-agent 17.0.8__tar.gz → 17.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. {solana_agent-17.0.8 → solana_agent-17.1.1}/PKG-INFO +2 -2
  2. {solana_agent-17.0.8 → solana_agent-17.1.1}/README.md +1 -1
  3. {solana_agent-17.0.8 → solana_agent-17.1.1}/pyproject.toml +2 -1
  4. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/client/solana_agent.py +26 -0
  5. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/client/client.py +7 -0
  6. {solana_agent-17.0.8 → solana_agent-17.1.1}/LICENSE +0 -0
  7. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/__init__.py +0 -0
  8. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/adapters/__init__.py +0 -0
  9. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/adapters/llm_adapter.py +0 -0
  10. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/adapters/mongodb_adapter.py +0 -0
  11. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/client/__init__.py +0 -0
  12. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/domains/__init__.py +0 -0
  13. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/domains/agent.py +0 -0
  14. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/domains/routing.py +0 -0
  15. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/factories/__init__.py +0 -0
  16. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/factories/agent_factory.py +0 -0
  17. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/__init__.py +0 -0
  18. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/plugins/plugins.py +0 -0
  19. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/providers/data_storage.py +0 -0
  20. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/providers/llm.py +0 -0
  21. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/providers/memory.py +0 -0
  22. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/repositories/agent.py +0 -0
  23. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/services/agent.py +0 -0
  24. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/services/query.py +0 -0
  25. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/interfaces/services/routing.py +0 -0
  26. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/plugins/__init__.py +0 -0
  27. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/plugins/manager.py +0 -0
  28. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/plugins/registry.py +0 -0
  29. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/plugins/tools/__init__.py +0 -0
  30. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/plugins/tools/auto_tool.py +0 -0
  31. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/repositories/__init__.py +0 -0
  32. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/repositories/agent.py +0 -0
  33. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/repositories/memory.py +0 -0
  34. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/services/__init__.py +0 -0
  35. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/services/agent.py +0 -0
  36. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/services/query.py +0 -0
  37. {solana_agent-17.0.8 → solana_agent-17.1.1}/solana_agent/services/routing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: solana-agent
3
- Version: 17.0.8
3
+ Version: 17.1.1
4
4
  Summary: Agentic IQ
5
5
  License: MIT
6
6
  Keywords: ai,openai,ai agents,agi
@@ -28,7 +28,7 @@ Description-Content-Type: text/markdown
28
28
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
29
29
  [![Python 3.12+](https://img.shields.io/badge/python-3.12+-orange.svg)](https://www.python.org/downloads/)
30
30
  [![codecov](https://img.shields.io/codecov/c/github/truemagic-coder/solana-agent/main.svg)](https://codecov.io/gh/truemagic-coder/solana-agent)
31
- [![Build Status](https://img.shields.io/github/actions/workflow/status/truemagic-coder/solana-agent/test.yml?branch=main)](https://github.com/truemagic-coder/solana-agent/actions/workflows/test.yml)
31
+ [![Build Status](https://img.shields.io/github/actions/workflow/status/truemagic-coder/solana-agent/ci.yml?branch=main)](https://github.com/truemagic-coder/solana-agent/actions/workflows/ci.yml)
32
32
 
33
33
  ![Solana Agent Logo](https://dl.walletbubbles.com/solana-agent-logo.png?width=200)
34
34
 
@@ -5,7 +5,7 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
6
6
  [![Python 3.12+](https://img.shields.io/badge/python-3.12+-orange.svg)](https://www.python.org/downloads/)
7
7
  [![codecov](https://img.shields.io/codecov/c/github/truemagic-coder/solana-agent/main.svg)](https://codecov.io/gh/truemagic-coder/solana-agent)
8
- [![Build Status](https://img.shields.io/github/actions/workflow/status/truemagic-coder/solana-agent/test.yml?branch=main)](https://github.com/truemagic-coder/solana-agent/actions/workflows/test.yml)
8
+ [![Build Status](https://img.shields.io/github/actions/workflow/status/truemagic-coder/solana-agent/ci.yml?branch=main)](https://github.com/truemagic-coder/solana-agent/actions/workflows/ci.yml)
9
9
 
10
10
  ![Solana Agent Logo](https://dl.walletbubbles.com/solana-agent-logo.png?width=200)
11
11
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "solana-agent"
3
- version = "17.0.8"
3
+ version = "17.1.1"
4
4
  description = "Agentic IQ"
5
5
  authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
6
6
  license = "MIT"
@@ -28,6 +28,7 @@ zep-python = "^2.0.2"
28
28
  pytest = "^8.3.5"
29
29
  pytest-cov = "^6.0.0"
30
30
  pytest-asyncio = "^0.25.3"
31
+ pytest-github-actions-annotate-failures = "^0.3.0"
31
32
 
32
33
  [build-system]
33
34
  requires = ["poetry-core>=1.0.0"]
@@ -10,6 +10,7 @@ from typing import AsyncGenerator, Dict, Any, Literal, Optional, Union
10
10
 
11
11
  from solana_agent.factories.agent_factory import SolanaAgentFactory
12
12
  from solana_agent.interfaces.client.client import SolanaAgent as SolanaAgentInterface
13
+ from solana_agent.interfaces.plugins.plugins import Tool
13
14
 
14
15
 
15
16
  class SolanaAgent(SolanaAgentInterface):
@@ -109,3 +110,28 @@ class SolanaAgent(SolanaAgentInterface):
109
110
  return await self.query_service.get_user_history(
110
111
  user_id, page_num, page_size, sort_order
111
112
  )
113
+
114
+ def register_tool(self, tool: Tool) -> bool:
115
+ """Register a custom tool for use by agents.
116
+
117
+ Args:
118
+ tool: Tool implementation following the Tool interface
119
+
120
+ Returns:
121
+ bool: True if registration was successful
122
+
123
+ Example:
124
+ ```python
125
+ from solana_agent import SolanaAgent
126
+ from my_tools import CustomTool
127
+
128
+ agent = SolanaAgent(config=config)
129
+ tool = CustomTool()
130
+ agent.register_tool(tool)
131
+ ```
132
+ """
133
+ try:
134
+ return self.query_service.agent_service.tool_registry.register_tool(tool)
135
+ except Exception as e:
136
+ print(f"Error registering tool: {str(e)}")
137
+ return False
@@ -1,6 +1,8 @@
1
1
  from abc import ABC, abstractmethod
2
2
  from typing import Any, AsyncGenerator, Dict, Literal, Union
3
3
 
4
+ from solana_agent.interfaces.plugins.plugins import Tool
5
+
4
6
 
5
7
  class SolanaAgent(ABC):
6
8
  """Interface for the Solana agent system."""
@@ -33,3 +35,8 @@ class SolanaAgent(ABC):
33
35
  ) -> Dict[str, Any]:
34
36
  """Get paginated message history for a user."""
35
37
  pass
38
+
39
+ @abstractmethod
40
+ def register_tool(self, tool: Tool) -> bool:
41
+ """Register a tool in the registry."""
42
+ pass
File without changes