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.
@@ -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.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
 
@@ -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=G0m6GD6N8J3tpjfLoKBMzIR3cZU9qs9cDBfY1mngvzI,4207
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=S0uOPnELVUL-bbLm2z7htLrX-kR0HuSaOVxcWehS2a8,1257
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.0.8.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
35
- solana_agent-17.0.8.dist-info/METADATA,sha256=uHm7xKKQZSlnCJMymNFgTDtmAuMP4rSm5vV5GzmTo5E,4551
36
- solana_agent-17.0.8.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
37
- solana_agent-17.0.8.dist-info/RECORD,,
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,,