solana-agent 23.0.2__tar.gz → 23.0.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 (35) hide show
  1. {solana_agent-23.0.2 → solana_agent-23.0.4}/PKG-INFO +48 -9
  2. {solana_agent-23.0.2 → solana_agent-23.0.4}/README.md +47 -8
  3. {solana_agent-23.0.2 → solana_agent-23.0.4}/pyproject.toml +1 -1
  4. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/repositories/memory.py +17 -11
  5. {solana_agent-23.0.2 → solana_agent-23.0.4}/LICENSE +0 -0
  6. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/__init__.py +0 -0
  7. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/adapters/__init__.py +0 -0
  8. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/adapters/llm_adapter.py +0 -0
  9. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/adapters/mongodb_adapter.py +0 -0
  10. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/client/__init__.py +0 -0
  11. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/client/solana_agent.py +0 -0
  12. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/domains/__init__.py +0 -0
  13. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/domains/agent.py +0 -0
  14. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/domains/routing.py +0 -0
  15. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/factories/__init__.py +0 -0
  16. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/factories/agent_factory.py +0 -0
  17. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/interfaces/__init__.py +0 -0
  18. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/interfaces/client/client.py +0 -0
  19. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/interfaces/plugins/plugins.py +0 -0
  20. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/interfaces/providers/data_storage.py +0 -0
  21. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/interfaces/providers/llm.py +0 -0
  22. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/interfaces/providers/memory.py +0 -0
  23. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/interfaces/services/agent.py +0 -0
  24. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/interfaces/services/query.py +0 -0
  25. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/interfaces/services/routing.py +0 -0
  26. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/plugins/__init__.py +0 -0
  27. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/plugins/manager.py +0 -0
  28. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/plugins/registry.py +0 -0
  29. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/plugins/tools/__init__.py +0 -0
  30. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/plugins/tools/auto_tool.py +0 -0
  31. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/repositories/__init__.py +0 -0
  32. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/services/__init__.py +0 -0
  33. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/services/agent.py +0 -0
  34. {solana_agent-23.0.2 → solana_agent-23.0.4}/solana_agent/services/query.py +0 -0
  35. {solana_agent-23.0.2 → solana_agent-23.0.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: 23.0.2
3
+ Version: 23.0.4
4
4
  Summary: Agentic IQ
5
5
  License: MIT
6
6
  Keywords: ai,openai,ai agents,agi
@@ -157,9 +157,17 @@ async for response in solana_agent.process("user123", "What are the latest AI de
157
157
  print(response, end="")
158
158
  ```
159
159
 
160
- OpenAI API calls with no tool call = 1 (text)
160
+ Single Agent:
161
161
 
162
- OpenAI API calls with tool call = 2 (text, text)
162
+ * OpenAI API calls with no tool call = 1 (agent)
163
+
164
+ * OpenAI API calls with tool call = 2 (agent, agent)
165
+
166
+ Multiple Agents:
167
+
168
+ * OpenAI API calls with no tool call = 2 (router, agent)
169
+
170
+ * OpenAI API calls with tool call = 3 (router, agent, agent)
163
171
 
164
172
  ### Audio/Audio Streaming
165
173
 
@@ -192,9 +200,18 @@ async for response in solana_agent.process("user123", audio_content, output_form
192
200
  print(response, end="")
193
201
  ```
194
202
 
195
- OpenAI API calls with no tool call = 3 (audio transcribe, text, TTS)
203
+ Single Agent:
204
+
205
+ * OpenAI API calls with no tool call = 3 (audio transcribe, agent, TTS)
206
+
207
+ * OpenAI API calls with tool call = 4 (audio transcribe, agent, agent, TTS)
208
+
209
+ Multiple Agents:
210
+
211
+ * OpenAI API calls with no tool call = 4 (router, audio transcribe, agent, TTS)
212
+
213
+ * OpenAI API calls with tool call = 5 (router, audio transcribe, agent, agent, TTS)
196
214
 
197
- OpenAI API calls with tool call = 4 (audio transcribe, text, text, TTS)
198
215
 
199
216
  ### Text/Audio Streaming
200
217
 
@@ -225,9 +242,17 @@ async for response in solana_agent.process("user123", "What is the latest news o
225
242
  print(response, end="")
226
243
  ```
227
244
 
228
- OpenAI API calls with no tool call = 2 (text, TTS)
245
+ Single Agent:
246
+
247
+ * OpenAI API calls with no tool call = 2 (agent, TTS)
229
248
 
230
- OpenAI API calls with tool call = 3 (text, text, TTS)
249
+ * OpenAI API calls with tool call = 3 (agent, agent, TTS)
250
+
251
+ Multiple Agents:
252
+
253
+ * OpenAI API calls with no tool call = 3 (router, agent, TTS)
254
+
255
+ * OpenAI API calls with tool call = 4 (router, agent, agent, TTS)
231
256
 
232
257
  ### Audio/Text Streaming
233
258
 
@@ -260,9 +285,17 @@ async for response in solana_agent.process("user123", audio_content, audio_input
260
285
  print(response, end="")
261
286
  ```
262
287
 
263
- OpenAI API calls with no tool call = 2 (audio transcribe, text)
288
+ Single Agent:
289
+
290
+ * OpenAI API calls with no tool call = 2 (audio transcribe, agent)
291
+
292
+ * OpenAI API calls with tool call = 3 (audio transcribe, agent, agent)
264
293
 
265
- OpenAI API calls with tool call = 3 (audio transcribe, text, text)
294
+ Multiple Agents:
295
+
296
+ * OpenAI API calls with no tool call = 3 (router, audio transcribe, agent)
297
+
298
+ * OpenAI API calls with tool call = 4 (router, audio transcribe, agent, agent)
266
299
 
267
300
  ## Optional Feature Configs
268
301
 
@@ -305,6 +338,12 @@ config = {
305
338
  }
306
339
  ```
307
340
 
341
+ API Calls:
342
+
343
+ * Zep adds 2 API calls per user query (GET and POST)
344
+
345
+ * If the Zep user and session isn't created it creates them for 2 API calls (POST)
346
+
308
347
  ### Internet Search
309
348
 
310
349
  This mode is great for text output where the default response from OpenAI is enough.
@@ -133,9 +133,17 @@ async for response in solana_agent.process("user123", "What are the latest AI de
133
133
  print(response, end="")
134
134
  ```
135
135
 
136
- OpenAI API calls with no tool call = 1 (text)
136
+ Single Agent:
137
137
 
138
- OpenAI API calls with tool call = 2 (text, text)
138
+ * OpenAI API calls with no tool call = 1 (agent)
139
+
140
+ * OpenAI API calls with tool call = 2 (agent, agent)
141
+
142
+ Multiple Agents:
143
+
144
+ * OpenAI API calls with no tool call = 2 (router, agent)
145
+
146
+ * OpenAI API calls with tool call = 3 (router, agent, agent)
139
147
 
140
148
  ### Audio/Audio Streaming
141
149
 
@@ -168,9 +176,18 @@ async for response in solana_agent.process("user123", audio_content, output_form
168
176
  print(response, end="")
169
177
  ```
170
178
 
171
- OpenAI API calls with no tool call = 3 (audio transcribe, text, TTS)
179
+ Single Agent:
180
+
181
+ * OpenAI API calls with no tool call = 3 (audio transcribe, agent, TTS)
182
+
183
+ * OpenAI API calls with tool call = 4 (audio transcribe, agent, agent, TTS)
184
+
185
+ Multiple Agents:
186
+
187
+ * OpenAI API calls with no tool call = 4 (router, audio transcribe, agent, TTS)
188
+
189
+ * OpenAI API calls with tool call = 5 (router, audio transcribe, agent, agent, TTS)
172
190
 
173
- OpenAI API calls with tool call = 4 (audio transcribe, text, text, TTS)
174
191
 
175
192
  ### Text/Audio Streaming
176
193
 
@@ -201,9 +218,17 @@ async for response in solana_agent.process("user123", "What is the latest news o
201
218
  print(response, end="")
202
219
  ```
203
220
 
204
- OpenAI API calls with no tool call = 2 (text, TTS)
221
+ Single Agent:
222
+
223
+ * OpenAI API calls with no tool call = 2 (agent, TTS)
205
224
 
206
- OpenAI API calls with tool call = 3 (text, text, TTS)
225
+ * OpenAI API calls with tool call = 3 (agent, agent, TTS)
226
+
227
+ Multiple Agents:
228
+
229
+ * OpenAI API calls with no tool call = 3 (router, agent, TTS)
230
+
231
+ * OpenAI API calls with tool call = 4 (router, agent, agent, TTS)
207
232
 
208
233
  ### Audio/Text Streaming
209
234
 
@@ -236,9 +261,17 @@ async for response in solana_agent.process("user123", audio_content, audio_input
236
261
  print(response, end="")
237
262
  ```
238
263
 
239
- OpenAI API calls with no tool call = 2 (audio transcribe, text)
264
+ Single Agent:
265
+
266
+ * OpenAI API calls with no tool call = 2 (audio transcribe, agent)
267
+
268
+ * OpenAI API calls with tool call = 3 (audio transcribe, agent, agent)
240
269
 
241
- OpenAI API calls with tool call = 3 (audio transcribe, text, text)
270
+ Multiple Agents:
271
+
272
+ * OpenAI API calls with no tool call = 3 (router, audio transcribe, agent)
273
+
274
+ * OpenAI API calls with tool call = 4 (router, audio transcribe, agent, agent)
242
275
 
243
276
  ## Optional Feature Configs
244
277
 
@@ -281,6 +314,12 @@ config = {
281
314
  }
282
315
  ```
283
316
 
317
+ API Calls:
318
+
319
+ * Zep adds 2 API calls per user query (GET and POST)
320
+
321
+ * If the Zep user and session isn't created it creates them for 2 API calls (POST)
322
+
284
323
  ### Internet Search
285
324
 
286
325
  This mode is great for text output where the default response from OpenAI is enough.
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "solana-agent"
3
- version = "23.0.2"
3
+ version = "23.0.4"
4
4
  description = "Agentic IQ"
5
5
  authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
6
6
  license = "MIT"
@@ -81,16 +81,6 @@ class MemoryRepository(MemoryProvider):
81
81
  if not self.zep:
82
82
  return
83
83
 
84
- try:
85
- await self.zep.user.add(user_id=user_id)
86
- except Exception as e:
87
- print(f"Zep user addition error: {e}")
88
-
89
- try:
90
- await self.zep.memory.add_session(session_id=user_id, user_id=user_id)
91
- except Exception as e:
92
- print(f"Zep session creation error: {e}")
93
-
94
84
  # Convert messages to Zep format
95
85
  zep_messages = []
96
86
  for msg in messages:
@@ -111,7 +101,23 @@ class MemoryRepository(MemoryProvider):
111
101
  messages=zep_messages
112
102
  )
113
103
  except Exception as e:
114
- print(f"Zep memory addition error: {e}")
104
+ try:
105
+ try:
106
+ await self.zep.user.add(user_id=user_id)
107
+ except Exception as e:
108
+ print(f"Zep user addition error: {e}")
109
+
110
+ try:
111
+ await self.zep.memory.add_session(session_id=user_id, user_id=user_id)
112
+ except Exception as e:
113
+ print(f"Zep session creation error: {e}")
114
+ await self.zep.memory.add(
115
+ session_id=user_id,
116
+ messages=zep_messages
117
+ )
118
+ except Exception as e:
119
+ print(f"Zep memory addition error: {e}")
120
+ return
115
121
 
116
122
  async def retrieve(self, user_id: str) -> str:
117
123
  """Retrieve memory context from Zep only."""
File without changes