solana-agent 17.0.8__py3-none-any.whl → 17.1.1__py3-none-any.whl
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.
- solana_agent/client/solana_agent.py +26 -0
- solana_agent/interfaces/client/client.py +7 -0
- {solana_agent-17.0.8.dist-info → solana_agent-17.1.1.dist-info}/METADATA +2 -2
- {solana_agent-17.0.8.dist-info → solana_agent-17.1.1.dist-info}/RECORD +6 -6
- {solana_agent-17.0.8.dist-info → solana_agent-17.1.1.dist-info}/LICENSE +0 -0
- {solana_agent-17.0.8.dist-info → solana_agent-17.1.1.dist-info}/WHEEL +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
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: solana-agent
|
3
|
-
Version: 17.
|
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
|
[](https://opensource.org/licenses/MIT)
|
29
29
|
[](https://www.python.org/downloads/)
|
30
30
|
[](https://codecov.io/gh/truemagic-coder/solana-agent)
|
31
|
-
[](https://github.com/truemagic-coder/solana-agent/actions/workflows/ci.yml)
|
32
32
|
|
33
33
|

|
34
34
|
|
@@ -3,14 +3,14 @@ solana_agent/adapters/__init__.py,sha256=tiEEuuy0NF3ngc_tGEcRTt71zVI58v3dYY9RvMr
|
|
3
3
|
solana_agent/adapters/llm_adapter.py,sha256=hi2JYj6CvhNLJxznIv_7Ef7Y0mk7aztHd_OMYe2scMQ,6034
|
4
4
|
solana_agent/adapters/mongodb_adapter.py,sha256=qqEFbY_v1XGyFXBmwd5HSXSSHnA9wWo-Hm1vGEyIG0k,2718
|
5
5
|
solana_agent/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
-
solana_agent/client/solana_agent.py,sha256=
|
6
|
+
solana_agent/client/solana_agent.py,sha256=no4TH0G44gGVft3GJKLHf_L_JDAwUkzHk-hwxZZeAxk,5010
|
7
7
|
solana_agent/domains/__init__.py,sha256=HiC94wVPRy-QDJSSRywCRrhrFfTBeHjfi5z-QfZv46U,168
|
8
8
|
solana_agent/domains/agent.py,sha256=Ak_hD5gTCzRqAHLmqtxnny0Xki1qAKR7RzLW9LOQBTg,2930
|
9
9
|
solana_agent/domains/routing.py,sha256=UDlgTjUoC9xIBVYu_dnf9-KG_bBgdEXAv_UtDOrYo0w,650
|
10
10
|
solana_agent/factories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
11
|
solana_agent/factories/agent_factory.py,sha256=7krNpsAHnle-IFjKqYz4aJgfvlj7yMRhfSeqi-4S2sI,5563
|
12
12
|
solana_agent/interfaces/__init__.py,sha256=IQs1WIM1FeKP1-kY2FEfyhol_dB-I-VAe2rD6jrVF6k,355
|
13
|
-
solana_agent/interfaces/client/client.py,sha256=
|
13
|
+
solana_agent/interfaces/client/client.py,sha256=2-YxrNH54aDYf68KYSLfFVBktAJkVCGG8TE76yzM8N8,1445
|
14
14
|
solana_agent/interfaces/plugins/plugins.py,sha256=TMmTXwHhmkdJpIhgADfrpGGGk7PHP7O9Qi89uA26uMI,3013
|
15
15
|
solana_agent/interfaces/providers/data_storage.py,sha256=NqGeFvAzhz9rr-liLPRNCGjooB2EIhe-EVsMmX__b0M,1658
|
16
16
|
solana_agent/interfaces/providers/llm.py,sha256=Ay0-37ppAirGZdGS2LrDq0xAr_WY1_Gis84OXPGsaWs,1653
|
@@ -31,7 +31,7 @@ solana_agent/services/__init__.py,sha256=ab_NXJmwYUCmCrCzuTlZ47bJZINW0Y0F5jfQ9Oo
|
|
31
31
|
solana_agent/services/agent.py,sha256=j0aI_BGaY5Nhkb9ga0r4BqI3qMKu5TOc4QPQsU3NHyQ,17000
|
32
32
|
solana_agent/services/query.py,sha256=rm7XlTCcp5NeorIaLUdr7rdxtWCgg1Q1qe5YuI1bumo,11246
|
33
33
|
solana_agent/services/routing.py,sha256=TPJ2Pas4acE93QzMEV6ZP670OtTNrVEPa76fz6urEV4,4996
|
34
|
-
solana_agent-17.
|
35
|
-
solana_agent-17.
|
36
|
-
solana_agent-17.
|
37
|
-
solana_agent-17.
|
34
|
+
solana_agent-17.1.1.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
|
35
|
+
solana_agent-17.1.1.dist-info/METADATA,sha256=XqHyBtNMXKlh2ve12z7eg0aAxI5I5IGEesMOhMIXuOU,4547
|
36
|
+
solana_agent-17.1.1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
37
|
+
solana_agent-17.1.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|