solana-agent 17.1.3__tar.gz → 17.1.4__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.1.3 → solana_agent-17.1.4}/PKG-INFO +1 -1
  2. {solana_agent-17.1.3 → solana_agent-17.1.4}/pyproject.toml +1 -1
  3. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/client/solana_agent.py +20 -15
  4. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/plugins/registry.py +18 -5
  5. {solana_agent-17.1.3 → solana_agent-17.1.4}/LICENSE +0 -0
  6. {solana_agent-17.1.3 → solana_agent-17.1.4}/README.md +0 -0
  7. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/__init__.py +0 -0
  8. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/adapters/__init__.py +0 -0
  9. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/adapters/llm_adapter.py +0 -0
  10. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/adapters/mongodb_adapter.py +0 -0
  11. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/client/__init__.py +0 -0
  12. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/domains/__init__.py +0 -0
  13. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/domains/agent.py +0 -0
  14. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/domains/routing.py +0 -0
  15. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/factories/__init__.py +0 -0
  16. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/factories/agent_factory.py +0 -0
  17. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/__init__.py +0 -0
  18. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/client/client.py +0 -0
  19. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/plugins/plugins.py +0 -0
  20. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/providers/data_storage.py +0 -0
  21. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/providers/llm.py +0 -0
  22. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/providers/memory.py +0 -0
  23. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/repositories/agent.py +0 -0
  24. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/services/agent.py +0 -0
  25. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/services/query.py +0 -0
  26. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/interfaces/services/routing.py +0 -0
  27. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/plugins/__init__.py +0 -0
  28. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/plugins/manager.py +0 -0
  29. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/plugins/tools/__init__.py +0 -0
  30. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/plugins/tools/auto_tool.py +0 -0
  31. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/repositories/__init__.py +0 -0
  32. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/repositories/agent.py +0 -0
  33. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/repositories/memory.py +0 -0
  34. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/services/__init__.py +0 -0
  35. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/services/agent.py +0 -0
  36. {solana_agent-17.1.3 → solana_agent-17.1.4}/solana_agent/services/query.py +0 -0
  37. {solana_agent-17.1.3 → solana_agent-17.1.4}/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.1.3
3
+ Version: 17.1.4
4
4
  Summary: Agentic IQ
5
5
  License: MIT
6
6
  Keywords: ai,openai,ai agents,agi
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "solana-agent"
3
- version = "17.1.3"
3
+ version = "17.1.4"
4
4
  description = "Agentic IQ"
5
5
  authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
6
6
  license = "MIT"
@@ -112,26 +112,31 @@ class SolanaAgent(SolanaAgentInterface):
112
112
  )
113
113
 
114
114
  def register_tool(self, tool: Tool) -> bool:
115
- """Register a custom tool for use by agents.
115
+ """
116
+ Register a tool with the agent system.
116
117
 
117
118
  Args:
118
- tool: Tool implementation following the Tool interface
119
+ tool: Tool instance to register
119
120
 
120
121
  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
- ```
122
+ True if successful, False
132
123
  """
124
+
133
125
  try:
134
- return self.query_service.agent_service.tool_registry.register_tool(tool)
126
+ print(f"Attempting to register tool: {tool.name}")
127
+ success = self.query_service.agent_service.tool_registry.register_tool(
128
+ tool)
129
+ if success:
130
+ print(f"Tool {tool.name} registered successfully")
131
+ # Get all agents and assign the tool to them
132
+ agents = self.query_service.agent_service.get_all_ai_agents()
133
+ for agent_name in agents:
134
+ print(f"Assigning {tool.name} to agent {agent_name}")
135
+ self.query_service.agent_service.assign_tool_for_agent(
136
+ agent_name, tool.name)
137
+ return success
135
138
  except Exception as e:
136
- print(f"Error registering tool: {str(e)}")
139
+ print(f"Error in register_tool: {str(e)}")
140
+ import traceback
141
+ print(traceback.format_exc())
137
142
  return False
@@ -20,9 +20,14 @@ class ToolRegistry(ToolRegistryInterface):
20
20
 
21
21
  def register_tool(self, tool: Tool) -> bool:
22
22
  """Register a tool with this registry."""
23
- self._tools[tool.name] = tool
24
- print(f"Registered tool: {tool.name}")
25
- return True
23
+ try:
24
+ self._tools[tool.name] = tool
25
+ print(f"Successfully registered tool: {tool.name}")
26
+ print(f"Current tools in registry: {list(self._tools.keys())}")
27
+ return True
28
+ except Exception as e:
29
+ print(f"Error registering tool: {str(e)}")
30
+ return False
26
31
 
27
32
  def get_tool(self, tool_name: str) -> Optional[Tool]:
28
33
  """Get a tool by name."""
@@ -31,7 +36,8 @@ class ToolRegistry(ToolRegistryInterface):
31
36
  def assign_tool_to_agent(self, agent_name: str, tool_name: str) -> bool:
32
37
  """Give an agent access to a specific tool."""
33
38
  if tool_name not in self._tools:
34
- print(f"Error: Tool {tool_name} is not registered")
39
+ print(
40
+ f"Error: Tool {tool_name} is not registered. Available tools: {list(self._tools.keys())}")
35
41
  return False
36
42
 
37
43
  if agent_name not in self._agent_tools:
@@ -39,13 +45,17 @@ class ToolRegistry(ToolRegistryInterface):
39
45
 
40
46
  if tool_name not in self._agent_tools[agent_name]:
41
47
  self._agent_tools[agent_name].append(tool_name)
48
+ print(
49
+ f"Successfully assigned tool {tool_name} to agent {agent_name}")
50
+ print(
51
+ f"Agent {agent_name} now has access to: {self._agent_tools[agent_name]}")
42
52
 
43
53
  return True
44
54
 
45
55
  def get_agent_tools(self, agent_name: str) -> List[Dict[str, Any]]:
46
56
  """Get all tools available to an agent."""
47
57
  tool_names = self._agent_tools.get(agent_name, [])
48
- return [
58
+ tools = [
49
59
  {
50
60
  "name": name,
51
61
  "description": self._tools[name].description,
@@ -53,6 +63,9 @@ class ToolRegistry(ToolRegistryInterface):
53
63
  }
54
64
  for name in tool_names if name in self._tools
55
65
  ]
66
+ print(
67
+ f"Tools available to agent {agent_name}: {[t['name'] for t in tools]}")
68
+ return tools
56
69
 
57
70
  def list_all_tools(self) -> List[str]:
58
71
  """List all registered tools."""
File without changes
File without changes