solana-agent 20.1.4__tar.gz → 21.0.0__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 (35) hide show
  1. {solana_agent-20.1.4 → solana_agent-21.0.0}/PKG-INFO +55 -48
  2. {solana_agent-20.1.4 → solana_agent-21.0.0}/README.md +54 -47
  3. {solana_agent-20.1.4 → solana_agent-21.0.0}/pyproject.toml +1 -1
  4. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/client/solana_agent.py +4 -5
  5. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/interfaces/client/client.py +1 -1
  6. {solana_agent-20.1.4 → solana_agent-21.0.0}/LICENSE +0 -0
  7. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/__init__.py +0 -0
  8. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/adapters/__init__.py +0 -0
  9. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/adapters/llm_adapter.py +0 -0
  10. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/adapters/mongodb_adapter.py +0 -0
  11. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/client/__init__.py +0 -0
  12. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/domains/__init__.py +0 -0
  13. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/domains/agent.py +0 -0
  14. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/domains/routing.py +0 -0
  15. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/factories/__init__.py +0 -0
  16. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/factories/agent_factory.py +0 -0
  17. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/interfaces/__init__.py +0 -0
  18. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/interfaces/plugins/plugins.py +0 -0
  19. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/interfaces/providers/data_storage.py +0 -0
  20. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/interfaces/providers/llm.py +0 -0
  21. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/interfaces/providers/memory.py +0 -0
  22. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/interfaces/services/agent.py +0 -0
  23. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/interfaces/services/query.py +0 -0
  24. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/interfaces/services/routing.py +0 -0
  25. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/plugins/__init__.py +0 -0
  26. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/plugins/manager.py +0 -0
  27. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/plugins/registry.py +0 -0
  28. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/plugins/tools/__init__.py +0 -0
  29. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/plugins/tools/auto_tool.py +0 -0
  30. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/repositories/__init__.py +0 -0
  31. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/repositories/memory.py +0 -0
  32. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/services/__init__.py +0 -0
  33. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/services/agent.py +0 -0
  34. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/services/query.py +0 -0
  35. {solana_agent-20.1.4 → solana_agent-21.0.0}/solana_agent/services/routing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: solana-agent
3
- Version: 20.1.4
3
+ Version: 21.0.0
4
4
  Summary: Agentic IQ
5
5
  License: MIT
6
6
  Keywords: ai,openai,ai agents,agi
@@ -40,7 +40,8 @@ Description-Content-Type: text/markdown
40
40
  Build your AI business in three lines of code!
41
41
 
42
42
  ## Why?
43
- * Three lines of code required
43
+ * Three lines of code setup
44
+ * Multi-Agent Swarm
44
45
  * Multi-Modal Streaming
45
46
  * Conversational Memory & History
46
47
  * Intelligent Routing
@@ -54,15 +55,17 @@ Build your AI business in three lines of code!
54
55
 
55
56
  ## Features
56
57
 
58
+ * Easy three lines of code setup
59
+ * Designed for a multi-agent swarm
57
60
  * Seamless text and audio streaming with real-time multi-modal processing
58
61
  * Persistent memory that preserves context across all agent interactions
59
62
  * Streamlined message history for all agent interactions
60
63
  * Intelligent query routing to agents with optimal domain expertise or your own custom routing
61
64
  * Unified value system ensuring brand-aligned agent responses
62
- * Powerful tool integration using standard Python packages and/or inline classes
65
+ * Powerful tool integration using standard Python packages and/or inline tools
63
66
  * Assigned tools are utilized by agents automatically and effectively
64
67
  * Simple business definition using JSON
65
- * Ability to access any MCP server via a URL
68
+ * Ability to access any MCP server via URL
66
69
 
67
70
  ## Stack
68
71
 
@@ -79,46 +82,6 @@ You can install Solana Agent using pip:
79
82
 
80
83
  ## Usage
81
84
 
82
- ### Business Alignment Config - Optional
83
-
84
- ```python
85
- config = {
86
- "business": {
87
- "mission": "To provide users with a one-stop shop for their queries.",
88
- "values": {
89
- "Friendliness": "Users must be treated fairly, openly, and with friendliness.",
90
- "Ethical": "Agents must use a strong ethical framework in their interactions with users.",
91
- },
92
- "goals": [
93
- "Empower users with great answers to their queries.",
94
- ],
95
- "voice": "The voice of the brand is that of a research business."
96
- },
97
- }
98
- ```
99
-
100
- ### Conversational History Config - Optional
101
-
102
- ```python
103
- config = {
104
- "mongo": {
105
- "connection_string": "mongodb://localhost:27017",
106
- "database": "solana_agent"
107
- },
108
- }
109
- ```
110
-
111
- ### Conversational Memory Config - Optional
112
-
113
- ```python
114
- config = {
115
- "zep": {
116
- "api_key": "your-zep-api-key",
117
- "base_url": "your-zep-base-url", # not applicable if using Zep Cloud
118
- },
119
- }
120
- ```
121
-
122
85
  ### Text/Text Streaming
123
86
 
124
87
  ```python
@@ -239,13 +202,55 @@ async for response in solana_agent.process("user123", audio_content, audio_input
239
202
  print(response, end="")
240
203
  ```
241
204
 
242
- ### Plugins
205
+ ## Optional Feature Configs
206
+
207
+ ### Business Alignment
208
+
209
+ ```python
210
+ config = {
211
+ "business": {
212
+ "mission": "To provide users with a one-stop shop for their queries.",
213
+ "values": {
214
+ "Friendliness": "Users must be treated fairly, openly, and with friendliness.",
215
+ "Ethical": "Agents must use a strong ethical framework in their interactions with users.",
216
+ },
217
+ "goals": [
218
+ "Empower users with great answers to their queries.",
219
+ ],
220
+ "voice": "The voice of the brand is that of a research business."
221
+ },
222
+ }
223
+ ```
224
+
225
+ ### Conversational History
226
+
227
+ ```python
228
+ config = {
229
+ "mongo": {
230
+ "connection_string": "mongodb://localhost:27017",
231
+ "database": "solana_agent"
232
+ },
233
+ }
234
+ ```
235
+
236
+ ### Conversational Memory
237
+
238
+ ```python
239
+ config = {
240
+ "zep": {
241
+ "api_key": "your-zep-api-key",
242
+ "base_url": "your-zep-base-url", # not applicable if using Zep Cloud
243
+ },
244
+ }
245
+ ```
246
+
247
+ ## Plugins
243
248
 
244
249
  Plugins like Solana Agent Kit (sakit) integrate automatically with Solana Agent.
245
250
 
246
251
  `pip install sakit`
247
252
 
248
- #### Internet Search
253
+ ### Internet Search
249
254
  ```python
250
255
  from solana_agent import SolanaAgent
251
256
 
@@ -281,7 +286,7 @@ async for response in solana_agent.process("user123", "What are the latest AI de
281
286
  print(response, end="")
282
287
  ```
283
288
 
284
- #### MCP
289
+ ### MCP
285
290
  ```python
286
291
  from solana_agent import SolanaAgent
287
292
 
@@ -321,6 +326,8 @@ async for response in solana_agent.process("user123", "What are the latest AI de
321
326
 
322
327
  To create a plugin like Solana Agent Kit - read the [code](https://github.com/truemagic-coder/solana-agent-kit)
323
328
 
329
+ ## Advanced
330
+
324
331
  ### Custom Inline Tools
325
332
 
326
333
  ```python
@@ -395,7 +402,7 @@ solana_agent = SolanaAgent(config=config)
395
402
 
396
403
  test_tool = TestTool()
397
404
 
398
- solana_agent.register_tool(test_tool)
405
+ solana_agent.register_tool("customer_support", test_tool)
399
406
 
400
407
  async for response in solana_agent.process("user123", "What are the latest AI developments?"):
401
408
  print(response, end="")
@@ -15,7 +15,8 @@
15
15
  Build your AI business in three lines of code!
16
16
 
17
17
  ## Why?
18
- * Three lines of code required
18
+ * Three lines of code setup
19
+ * Multi-Agent Swarm
19
20
  * Multi-Modal Streaming
20
21
  * Conversational Memory & History
21
22
  * Intelligent Routing
@@ -29,15 +30,17 @@ Build your AI business in three lines of code!
29
30
 
30
31
  ## Features
31
32
 
33
+ * Easy three lines of code setup
34
+ * Designed for a multi-agent swarm
32
35
  * Seamless text and audio streaming with real-time multi-modal processing
33
36
  * Persistent memory that preserves context across all agent interactions
34
37
  * Streamlined message history for all agent interactions
35
38
  * Intelligent query routing to agents with optimal domain expertise or your own custom routing
36
39
  * Unified value system ensuring brand-aligned agent responses
37
- * Powerful tool integration using standard Python packages and/or inline classes
40
+ * Powerful tool integration using standard Python packages and/or inline tools
38
41
  * Assigned tools are utilized by agents automatically and effectively
39
42
  * Simple business definition using JSON
40
- * Ability to access any MCP server via a URL
43
+ * Ability to access any MCP server via URL
41
44
 
42
45
  ## Stack
43
46
 
@@ -54,46 +57,6 @@ You can install Solana Agent using pip:
54
57
 
55
58
  ## Usage
56
59
 
57
- ### Business Alignment Config - Optional
58
-
59
- ```python
60
- config = {
61
- "business": {
62
- "mission": "To provide users with a one-stop shop for their queries.",
63
- "values": {
64
- "Friendliness": "Users must be treated fairly, openly, and with friendliness.",
65
- "Ethical": "Agents must use a strong ethical framework in their interactions with users.",
66
- },
67
- "goals": [
68
- "Empower users with great answers to their queries.",
69
- ],
70
- "voice": "The voice of the brand is that of a research business."
71
- },
72
- }
73
- ```
74
-
75
- ### Conversational History Config - Optional
76
-
77
- ```python
78
- config = {
79
- "mongo": {
80
- "connection_string": "mongodb://localhost:27017",
81
- "database": "solana_agent"
82
- },
83
- }
84
- ```
85
-
86
- ### Conversational Memory Config - Optional
87
-
88
- ```python
89
- config = {
90
- "zep": {
91
- "api_key": "your-zep-api-key",
92
- "base_url": "your-zep-base-url", # not applicable if using Zep Cloud
93
- },
94
- }
95
- ```
96
-
97
60
  ### Text/Text Streaming
98
61
 
99
62
  ```python
@@ -214,13 +177,55 @@ async for response in solana_agent.process("user123", audio_content, audio_input
214
177
  print(response, end="")
215
178
  ```
216
179
 
217
- ### Plugins
180
+ ## Optional Feature Configs
181
+
182
+ ### Business Alignment
183
+
184
+ ```python
185
+ config = {
186
+ "business": {
187
+ "mission": "To provide users with a one-stop shop for their queries.",
188
+ "values": {
189
+ "Friendliness": "Users must be treated fairly, openly, and with friendliness.",
190
+ "Ethical": "Agents must use a strong ethical framework in their interactions with users.",
191
+ },
192
+ "goals": [
193
+ "Empower users with great answers to their queries.",
194
+ ],
195
+ "voice": "The voice of the brand is that of a research business."
196
+ },
197
+ }
198
+ ```
199
+
200
+ ### Conversational History
201
+
202
+ ```python
203
+ config = {
204
+ "mongo": {
205
+ "connection_string": "mongodb://localhost:27017",
206
+ "database": "solana_agent"
207
+ },
208
+ }
209
+ ```
210
+
211
+ ### Conversational Memory
212
+
213
+ ```python
214
+ config = {
215
+ "zep": {
216
+ "api_key": "your-zep-api-key",
217
+ "base_url": "your-zep-base-url", # not applicable if using Zep Cloud
218
+ },
219
+ }
220
+ ```
221
+
222
+ ## Plugins
218
223
 
219
224
  Plugins like Solana Agent Kit (sakit) integrate automatically with Solana Agent.
220
225
 
221
226
  `pip install sakit`
222
227
 
223
- #### Internet Search
228
+ ### Internet Search
224
229
  ```python
225
230
  from solana_agent import SolanaAgent
226
231
 
@@ -256,7 +261,7 @@ async for response in solana_agent.process("user123", "What are the latest AI de
256
261
  print(response, end="")
257
262
  ```
258
263
 
259
- #### MCP
264
+ ### MCP
260
265
  ```python
261
266
  from solana_agent import SolanaAgent
262
267
 
@@ -296,6 +301,8 @@ async for response in solana_agent.process("user123", "What are the latest AI de
296
301
 
297
302
  To create a plugin like Solana Agent Kit - read the [code](https://github.com/truemagic-coder/solana-agent-kit)
298
303
 
304
+ ## Advanced
305
+
299
306
  ### Custom Inline Tools
300
307
 
301
308
  ```python
@@ -370,7 +377,7 @@ solana_agent = SolanaAgent(config=config)
370
377
 
371
378
  test_tool = TestTool()
372
379
 
373
- solana_agent.register_tool(test_tool)
380
+ solana_agent.register_tool("customer_support", test_tool)
374
381
 
375
382
  async for response in solana_agent.process("user123", "What are the latest AI developments?"):
376
383
  print(response, end="")
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "solana-agent"
3
- version = "20.1.4"
3
+ version = "21.0.0"
4
4
  description = "Agentic IQ"
5
5
  authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
6
6
  license = "MIT"
@@ -118,11 +118,12 @@ class SolanaAgent(SolanaAgentInterface):
118
118
  user_id, page_num, page_size, sort_order
119
119
  )
120
120
 
121
- def register_tool(self, tool: Tool) -> bool:
121
+ def register_tool(self, agent_name: str, tool: Tool) -> bool:
122
122
  """
123
123
  Register a tool with the agent system.
124
124
 
125
125
  Args:
126
+ agent_name: Name of the agent to register the tool with
126
127
  tool: Tool instance to register
127
128
 
128
129
  Returns:
@@ -131,8 +132,6 @@ class SolanaAgent(SolanaAgentInterface):
131
132
  success = self.query_service.agent_service.tool_registry.register_tool(
132
133
  tool)
133
134
  if success:
134
- agents = self.query_service.agent_service.get_all_ai_agents()
135
- for agent_name in agents:
136
- self.query_service.agent_service.assign_tool_for_agent(
137
- agent_name, tool.name)
135
+ self.query_service.agent_service.assign_tool_for_agent(
136
+ agent_name, tool.name)
138
137
  return success
@@ -38,6 +38,6 @@ class SolanaAgent(ABC):
38
38
  pass
39
39
 
40
40
  @abstractmethod
41
- def register_tool(self, tool: Tool) -> bool:
41
+ def register_tool(self, agent_name: str, tool: Tool) -> bool:
42
42
  """Register a tool in the registry."""
43
43
  pass
File without changes