solana-agent 27.3.5__py3-none-any.whl → 27.3.7__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/__init__.py +1 -3
- solana_agent/adapters/mongodb_adapter.py +5 -2
- solana_agent/adapters/openai_adapter.py +32 -27
- solana_agent/adapters/pinecone_adapter.py +91 -63
- solana_agent/client/solana_agent.py +38 -23
- solana_agent/domains/agent.py +7 -13
- solana_agent/domains/routing.py +5 -5
- solana_agent/factories/agent_factory.py +49 -34
- solana_agent/interfaces/client/client.py +22 -13
- solana_agent/interfaces/plugins/plugins.py +2 -1
- solana_agent/interfaces/providers/data_storage.py +9 -2
- solana_agent/interfaces/providers/llm.py +26 -12
- solana_agent/interfaces/providers/memory.py +1 -1
- solana_agent/interfaces/providers/vector_storage.py +3 -9
- solana_agent/interfaces/services/agent.py +21 -6
- solana_agent/interfaces/services/knowledge_base.py +6 -8
- solana_agent/interfaces/services/query.py +16 -5
- solana_agent/interfaces/services/routing.py +0 -1
- solana_agent/plugins/manager.py +14 -9
- solana_agent/plugins/registry.py +13 -11
- solana_agent/plugins/tools/__init__.py +0 -5
- solana_agent/plugins/tools/auto_tool.py +1 -0
- solana_agent/repositories/memory.py +20 -22
- solana_agent/services/__init__.py +1 -1
- solana_agent/services/agent.py +119 -89
- solana_agent/services/knowledge_base.py +182 -131
- solana_agent/services/query.py +48 -24
- solana_agent/services/routing.py +30 -18
- {solana_agent-27.3.5.dist-info → solana_agent-27.3.7.dist-info}/METADATA +6 -3
- solana_agent-27.3.7.dist-info/RECORD +39 -0
- solana_agent-27.3.5.dist-info/RECORD +0 -39
- {solana_agent-27.3.5.dist-info → solana_agent-27.3.7.dist-info}/LICENSE +0 -0
- {solana_agent-27.3.5.dist-info → solana_agent-27.3.7.dist-info}/WHEEL +0 -0
solana_agent/services/query.py
CHANGED
@@ -5,10 +5,13 @@ This service orchestrates the processing of user queries, coordinating
|
|
5
5
|
other services to provide comprehensive responses while maintaining
|
6
6
|
clean separation of concerns.
|
7
7
|
"""
|
8
|
+
|
8
9
|
from typing import Any, AsyncGenerator, Dict, Literal, Optional, Union
|
9
10
|
|
10
11
|
from solana_agent.interfaces.services.query import QueryService as QueryServiceInterface
|
11
|
-
from solana_agent.interfaces.services.routing import
|
12
|
+
from solana_agent.interfaces.services.routing import (
|
13
|
+
RoutingService as RoutingServiceInterface,
|
14
|
+
)
|
12
15
|
from solana_agent.services.agent import AgentService
|
13
16
|
from solana_agent.services.routing import RoutingService
|
14
17
|
from solana_agent.services.knowledge_base import KnowledgeBaseService
|
@@ -44,11 +47,22 @@ class QueryService(QueryServiceInterface):
|
|
44
47
|
user_id: str,
|
45
48
|
query: Union[str, bytes],
|
46
49
|
output_format: Literal["text", "audio"] = "text",
|
47
|
-
audio_voice: Literal[
|
48
|
-
|
50
|
+
audio_voice: Literal[
|
51
|
+
"alloy",
|
52
|
+
"ash",
|
53
|
+
"ballad",
|
54
|
+
"coral",
|
55
|
+
"echo",
|
56
|
+
"fable",
|
57
|
+
"onyx",
|
58
|
+
"nova",
|
59
|
+
"sage",
|
60
|
+
"shimmer",
|
61
|
+
] = "nova",
|
49
62
|
audio_instructions: str = "You speak in a friendly and helpful manner.",
|
50
|
-
audio_output_format: Literal[
|
51
|
-
|
63
|
+
audio_output_format: Literal[
|
64
|
+
"mp3", "opus", "aac", "flac", "wav", "pcm"
|
65
|
+
] = "aac",
|
52
66
|
audio_input_format: Literal[
|
53
67
|
"flac", "mp3", "mp4", "mpeg", "mpga", "m4a", "ogg", "wav", "webm"
|
54
68
|
] = "mp4",
|
@@ -75,7 +89,11 @@ class QueryService(QueryServiceInterface):
|
|
75
89
|
# Handle audio input if provided
|
76
90
|
user_text = ""
|
77
91
|
if not isinstance(query, str):
|
78
|
-
async for
|
92
|
+
async for (
|
93
|
+
transcript
|
94
|
+
) in self.agent_service.llm_provider.transcribe_audio(
|
95
|
+
query, audio_input_format
|
96
|
+
):
|
79
97
|
user_text += transcript
|
80
98
|
else:
|
81
99
|
user_text = query
|
@@ -112,7 +130,7 @@ class QueryService(QueryServiceInterface):
|
|
112
130
|
query_text=user_text,
|
113
131
|
top_k=self.kb_results_count,
|
114
132
|
include_content=True,
|
115
|
-
include_metadata=False
|
133
|
+
include_metadata=False,
|
116
134
|
)
|
117
135
|
|
118
136
|
if kb_results:
|
@@ -182,7 +200,7 @@ class QueryService(QueryServiceInterface):
|
|
182
200
|
await self._store_conversation(
|
183
201
|
user_id=user_id,
|
184
202
|
user_message=user_text,
|
185
|
-
assistant_message=full_text_response
|
203
|
+
assistant_message=full_text_response,
|
186
204
|
)
|
187
205
|
|
188
206
|
except Exception as e:
|
@@ -191,7 +209,7 @@ class QueryService(QueryServiceInterface):
|
|
191
209
|
async for chunk in self.agent_service.llm_provider.tts(
|
192
210
|
text=error_msg,
|
193
211
|
voice=audio_voice,
|
194
|
-
response_format=audio_output_format
|
212
|
+
response_format=audio_output_format,
|
195
213
|
):
|
196
214
|
yield chunk
|
197
215
|
else:
|
@@ -199,6 +217,7 @@ class QueryService(QueryServiceInterface):
|
|
199
217
|
|
200
218
|
print(f"Error in query processing: {str(e)}")
|
201
219
|
import traceback
|
220
|
+
|
202
221
|
print(traceback.format_exc())
|
203
222
|
|
204
223
|
async def delete_user_history(self, user_id: str) -> None:
|
@@ -218,7 +237,7 @@ class QueryService(QueryServiceInterface):
|
|
218
237
|
user_id: str,
|
219
238
|
page_num: int = 1,
|
220
239
|
page_size: int = 20,
|
221
|
-
sort_order: str = "desc" # "asc" for oldest-first, "desc" for newest-first
|
240
|
+
sort_order: str = "desc", # "asc" for oldest-first, "desc" for newest-first
|
222
241
|
) -> Dict[str, Any]:
|
223
242
|
"""Get paginated message history for a user.
|
224
243
|
|
@@ -246,7 +265,7 @@ class QueryService(QueryServiceInterface):
|
|
246
265
|
"page": page_num,
|
247
266
|
"page_size": page_size,
|
248
267
|
"total_pages": 0,
|
249
|
-
"error": "Memory provider not available"
|
268
|
+
"error": "Memory provider not available",
|
250
269
|
}
|
251
270
|
|
252
271
|
try:
|
@@ -255,8 +274,7 @@ class QueryService(QueryServiceInterface):
|
|
255
274
|
|
256
275
|
# Get total count of documents
|
257
276
|
total = self.memory_provider.count_documents(
|
258
|
-
collection="conversations",
|
259
|
-
query={"user_id": user_id}
|
277
|
+
collection="conversations", query={"user_id": user_id}
|
260
278
|
)
|
261
279
|
|
262
280
|
# Calculate total pages
|
@@ -268,22 +286,27 @@ class QueryService(QueryServiceInterface):
|
|
268
286
|
query={"user_id": user_id},
|
269
287
|
sort=[("timestamp", 1 if sort_order == "asc" else -1)],
|
270
288
|
skip=skip,
|
271
|
-
limit=page_size
|
289
|
+
limit=page_size,
|
272
290
|
)
|
273
291
|
|
274
292
|
# Format the results
|
275
293
|
formatted_conversations = []
|
276
294
|
for conv in conversations:
|
277
295
|
# Convert datetime to Unix timestamp (seconds since epoch)
|
278
|
-
timestamp =
|
279
|
-
|
296
|
+
timestamp = (
|
297
|
+
int(conv.get("timestamp").timestamp())
|
298
|
+
if conv.get("timestamp")
|
299
|
+
else None
|
300
|
+
)
|
280
301
|
|
281
|
-
formatted_conversations.append(
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
302
|
+
formatted_conversations.append(
|
303
|
+
{
|
304
|
+
"id": str(conv.get("_id")),
|
305
|
+
"user_message": conv.get("user_message"),
|
306
|
+
"assistant_message": conv.get("assistant_message"),
|
307
|
+
"timestamp": timestamp,
|
308
|
+
}
|
309
|
+
)
|
287
310
|
|
288
311
|
return {
|
289
312
|
"data": formatted_conversations,
|
@@ -291,12 +314,13 @@ class QueryService(QueryServiceInterface):
|
|
291
314
|
"page": page_num,
|
292
315
|
"page_size": page_size,
|
293
316
|
"total_pages": total_pages,
|
294
|
-
"error": None
|
317
|
+
"error": None,
|
295
318
|
}
|
296
319
|
|
297
320
|
except Exception as e:
|
298
321
|
print(f"Error retrieving user history: {str(e)}")
|
299
322
|
import traceback
|
323
|
+
|
300
324
|
print(traceback.format_exc())
|
301
325
|
return {
|
302
326
|
"data": [],
|
@@ -304,7 +328,7 @@ class QueryService(QueryServiceInterface):
|
|
304
328
|
"page": page_num,
|
305
329
|
"page_size": page_size,
|
306
330
|
"total_pages": 0,
|
307
|
-
"error": f"Error retrieving history: {str(e)}"
|
331
|
+
"error": f"Error retrieving history: {str(e)}",
|
308
332
|
}
|
309
333
|
|
310
334
|
async def _store_conversation(
|
solana_agent/services/routing.py
CHANGED
@@ -4,8 +4,11 @@ Routing service implementation.
|
|
4
4
|
This service manages query routing to appropriate agents based on
|
5
5
|
specializations and query analysis.
|
6
6
|
"""
|
7
|
+
|
7
8
|
from typing import Dict, List, Optional, Any
|
8
|
-
from solana_agent.interfaces.services.routing import
|
9
|
+
from solana_agent.interfaces.services.routing import (
|
10
|
+
RoutingService as RoutingServiceInterface,
|
11
|
+
)
|
9
12
|
from solana_agent.interfaces.services.agent import AgentService
|
10
13
|
from solana_agent.interfaces.providers.llm import LLMProvider
|
11
14
|
from solana_agent.domains.routing import QueryAnalysis
|
@@ -48,15 +51,19 @@ class RoutingService(RoutingServiceInterface):
|
|
48
51
|
available_specializations = []
|
49
52
|
|
50
53
|
for agent_id, agent in agents.items():
|
51
|
-
available_specializations.append(
|
52
|
-
|
53
|
-
|
54
|
-
|
54
|
+
available_specializations.append(
|
55
|
+
{
|
56
|
+
"agent_name": agent_id,
|
57
|
+
"specialization": agent.specialization,
|
58
|
+
}
|
59
|
+
)
|
55
60
|
|
56
|
-
specializations_text = "\n".join(
|
57
|
-
|
58
|
-
|
59
|
-
|
61
|
+
specializations_text = "\n".join(
|
62
|
+
[
|
63
|
+
f"- {spec['agent_name']}: {spec['specialization']}"
|
64
|
+
for spec in available_specializations
|
65
|
+
]
|
66
|
+
)
|
60
67
|
|
61
68
|
prompt = f"""
|
62
69
|
Analyze this user query and determine which agent would be best suited to answer it.
|
@@ -91,17 +98,19 @@ class RoutingService(RoutingServiceInterface):
|
|
91
98
|
"secondary_specializations": analysis.secondary_specializations,
|
92
99
|
"complexity_level": analysis.complexity_level,
|
93
100
|
"topics": analysis.topics,
|
94
|
-
"confidence": analysis.confidence
|
101
|
+
"confidence": analysis.confidence,
|
95
102
|
}
|
96
103
|
except Exception as e:
|
97
104
|
print(f"Error analyzing query: {e}")
|
98
105
|
# Return default analysis on error
|
99
106
|
return {
|
100
|
-
"primary_specialization": list(agents.keys())[0]
|
107
|
+
"primary_specialization": list(agents.keys())[0]
|
108
|
+
if agents
|
109
|
+
else "general",
|
101
110
|
"secondary_specializations": [],
|
102
111
|
"complexity_level": 1,
|
103
112
|
"topics": [],
|
104
|
-
"confidence": 0.0
|
113
|
+
"confidence": 0.0,
|
105
114
|
}
|
106
115
|
|
107
116
|
async def route_query(self, query: str) -> str: # pragma: no cover
|
@@ -124,8 +133,7 @@ class RoutingService(RoutingServiceInterface):
|
|
124
133
|
|
125
134
|
# Find best agent based on analysis
|
126
135
|
best_agent = await self._find_best_ai_agent(
|
127
|
-
analysis["primary_specialization"],
|
128
|
-
analysis["secondary_specializations"]
|
136
|
+
analysis["primary_specialization"], analysis["secondary_specializations"]
|
129
137
|
)
|
130
138
|
|
131
139
|
# Return best agent
|
@@ -161,8 +169,10 @@ class RoutingService(RoutingServiceInterface):
|
|
161
169
|
score = 0
|
162
170
|
|
163
171
|
# Check for specialization match
|
164
|
-
if
|
165
|
-
|
172
|
+
if (
|
173
|
+
agent.specialization.lower() in primary_specialization.lower()
|
174
|
+
or primary_specialization.lower() in agent.specialization.lower()
|
175
|
+
):
|
166
176
|
score += 10
|
167
177
|
|
168
178
|
# Check secondary specializations
|
@@ -170,8 +180,10 @@ class RoutingService(RoutingServiceInterface):
|
|
170
180
|
if sec_spec in ai_agents: # Direct agent name match
|
171
181
|
if sec_spec == agent_id:
|
172
182
|
score += 5
|
173
|
-
elif
|
174
|
-
|
183
|
+
elif (
|
184
|
+
agent.specialization.lower() in sec_spec.lower()
|
185
|
+
or sec_spec.lower() in agent.specialization.lower()
|
186
|
+
):
|
175
187
|
score += 3
|
176
188
|
|
177
189
|
agent_scores.append((agent_id, score))
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: solana-agent
|
3
|
-
Version: 27.3.
|
3
|
+
Version: 27.3.7
|
4
4
|
Summary: Agentic IQ
|
5
5
|
License: MIT
|
6
6
|
Keywords: ai,openai,ai agents,agi
|
@@ -36,6 +36,7 @@ Description-Content-Type: text/markdown
|
|
36
36
|
[](https://codecov.io/gh/truemagic-coder/solana-agent)
|
37
37
|
[](https://github.com/truemagic-coder/solana-agent/actions/workflows/ci.yml)
|
38
38
|
[](https://github.com/truemagic-coder/solana-agent)
|
39
|
+
[](https://github.com/astral-sh/ruff)
|
39
40
|
[](https://libraries.io/pypi/solana-agent)
|
40
41
|
|
41
42
|

|
@@ -67,7 +68,7 @@ Build your AI business in three lines of code!
|
|
67
68
|
* Easy three lines of code setup
|
68
69
|
* Fast AI responses
|
69
70
|
* Solana Ecosystem Integration via [AgentiPy](https://github.com/niceberginc/agentipy)
|
70
|
-
* MCP tool usage with first-class support for [Zapier](https://zapier.com)
|
71
|
+
* MCP tool usage with first-class support for [Zapier](https://zapier.com/mcp)
|
71
72
|
* Designed for a multi-agent swarm
|
72
73
|
* Seamless text and audio streaming with real-time multi-modal processing
|
73
74
|
* Configurable audio voice characteristics via prompting
|
@@ -518,7 +519,9 @@ async for response in solana_agent.process("user123", "What is the latest news o
|
|
518
519
|
|
519
520
|
### MCP
|
520
521
|
|
521
|
-
[Zapier](https://zapier.com) MCP has been tested, works, and is supported.
|
522
|
+
[Zapier](https://zapier.com/mcp) MCP has been tested, works, and is supported.
|
523
|
+
|
524
|
+
Zapier integrates over 7,000+ apps with 30,000+ actions that your Solana Agent can utilize.
|
522
525
|
|
523
526
|
Other MCP servers may work but are not supported.
|
524
527
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
solana_agent/__init__.py,sha256=s_Dq2yqss83jp9DnHgXsxjpf9HWGRmRW2EwqroH0XKk,895
|
2
|
+
solana_agent/adapters/__init__.py,sha256=tiEEuuy0NF3ngc_tGEcRTt71zVI58v3dYY9RvMrF2Cg,204
|
3
|
+
solana_agent/adapters/mongodb_adapter.py,sha256=0KWIa6kaFbUFvtKUzuV_0p0RFlPPGKrDVIEU2McVY3k,2734
|
4
|
+
solana_agent/adapters/openai_adapter.py,sha256=NZ35mJ80yVWTbdQOAYUh7hDzOFclgfdeJ1Z8v_gfQG8,10922
|
5
|
+
solana_agent/adapters/pinecone_adapter.py,sha256=SDbf_XJMuFDKhNfF25_VXaYG3vrmYyPIo2SyhaniEwg,23048
|
6
|
+
solana_agent/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
+
solana_agent/client/solana_agent.py,sha256=jUGWxYJL9ZWxGsVX9C6FrRQyX7r6Cep0ijcfm7cbkJI,10098
|
8
|
+
solana_agent/domains/__init__.py,sha256=HiC94wVPRy-QDJSSRywCRrhrFfTBeHjfi5z-QfZv46U,168
|
9
|
+
solana_agent/domains/agent.py,sha256=3Q1wg4eIul0CPpaYBOjEthKTfcdhf1SAiWc2R-IMGO8,2561
|
10
|
+
solana_agent/domains/routing.py,sha256=1yR4IswGcmREGgbOOI6TKCfuM7gYGOhQjLkBqnZ-rNo,582
|
11
|
+
solana_agent/factories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
|
+
solana_agent/factories/agent_factory.py,sha256=70f8QhV9bqCg2Fr3_iEejvDAAjpazOemsvI9H27jIiE,11687
|
13
|
+
solana_agent/interfaces/__init__.py,sha256=IQs1WIM1FeKP1-kY2FEfyhol_dB-I-VAe2rD6jrVF6k,355
|
14
|
+
solana_agent/interfaces/client/client.py,sha256=hsvaQiQdz3MLMNc77oD6ocvvnyl7Ez2n087ptFDA19M,3687
|
15
|
+
solana_agent/interfaces/plugins/plugins.py,sha256=Rz52cWBLdotwf4kV-2mC79tRYlN29zHSu1z9-y1HVPk,3329
|
16
|
+
solana_agent/interfaces/providers/data_storage.py,sha256=Y92Cq8BtC55VlsYLD7bo3ofqQabNnlg7Q4H1Q6CDsLU,1713
|
17
|
+
solana_agent/interfaces/providers/llm.py,sha256=SPCXsnCXj7p04E24xB0Wj1q36h2Ci4mmcNCkpHGS8LY,2417
|
18
|
+
solana_agent/interfaces/providers/memory.py,sha256=h3HEOwWCiFGIuFBX49XOv1jFaQW3NGjyKPOfmQloevk,1011
|
19
|
+
solana_agent/interfaces/providers/vector_storage.py,sha256=XPYzvoWrlDVFCS9ItBmoqCFWXXWNYY-d9I7_pvP7YYk,1561
|
20
|
+
solana_agent/interfaces/services/agent.py,sha256=YsxyvBPK3ygBEStLyL4BwmIl84NMrV3dK0PlwCFoyq0,2094
|
21
|
+
solana_agent/interfaces/services/knowledge_base.py,sha256=HsU4fAMc_oOUCqCX2z76_IbAtbTNTyvffHZ49J0ynSQ,2092
|
22
|
+
solana_agent/interfaces/services/query.py,sha256=QfpBA3hrv8pQdNbK05hbu3Vh3-53F46IFcoUjwj5J9w,1568
|
23
|
+
solana_agent/interfaces/services/routing.py,sha256=Qbn3-DQGVSQKaegHDekSFmn_XCklA0H2f0XUx9-o3wA,367
|
24
|
+
solana_agent/plugins/__init__.py,sha256=coZdgJKq1ExOaj6qB810i3rEhbjdVlrkN76ozt_Ojgo,193
|
25
|
+
solana_agent/plugins/manager.py,sha256=Rrpom5noR5XCcDDAE9C8H_ITJDfj5gdkQF1dmgi5Eu0,5040
|
26
|
+
solana_agent/plugins/registry.py,sha256=0Bx3e_4fq20FtI0vbCTQanwK0AashQOr4vsqR26Jql8,3631
|
27
|
+
solana_agent/plugins/tools/__init__.py,sha256=VDjJxvUjefIy10VztQ9WDKgIegvDbIXBQWsHLhxdZ3o,125
|
28
|
+
solana_agent/plugins/tools/auto_tool.py,sha256=uihijtlc9CCqCIaRcwPuuN7o1SHIpWL2GV3vr33GG3E,1576
|
29
|
+
solana_agent/repositories/__init__.py,sha256=fP83w83CGzXLnSdq-C5wbw9EhWTYtqE2lQTgp46-X_4,163
|
30
|
+
solana_agent/repositories/memory.py,sha256=YYpCyiDVi3a5ZOFYFkzBS6MDjo9g2TnwbEZ5KKfKbII,7204
|
31
|
+
solana_agent/services/__init__.py,sha256=iko0c2MlF8b_SA_nuBGFllr2E3g_JowOrOzGcnU9tkA,162
|
32
|
+
solana_agent/services/agent.py,sha256=2ngtuJucGsEyNPKaWu4axd1pPgKofY-H8FeSY-MPBCU,27229
|
33
|
+
solana_agent/services/knowledge_base.py,sha256=J9V8dNoCCcko3EasiGwK2JJ_A_oG_e-Ni9pgNg0T6wA,33486
|
34
|
+
solana_agent/services/query.py,sha256=J81IGpy_1xsHFR3tEQkNDNoLcX9mFBJBrUcXz0pTW2w,13279
|
35
|
+
solana_agent/services/routing.py,sha256=-0fNIKDtCn0-TLUYDFYAE4jPLMeI_jCXIpgtgWDpdf8,6986
|
36
|
+
solana_agent-27.3.7.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
|
37
|
+
solana_agent-27.3.7.dist-info/METADATA,sha256=R_6HGV9WmwWChKpl3m5L0E0gtNOcHweXt3GaCjFp6Y8,23964
|
38
|
+
solana_agent-27.3.7.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
39
|
+
solana_agent-27.3.7.dist-info/RECORD,,
|
@@ -1,39 +0,0 @@
|
|
1
|
-
solana_agent/__init__.py,sha256=ceYeUpjIitpln8YK1r0JVJU8mzG6cRPYu-HLny3d-Tw,887
|
2
|
-
solana_agent/adapters/__init__.py,sha256=tiEEuuy0NF3ngc_tGEcRTt71zVI58v3dYY9RvMrF2Cg,204
|
3
|
-
solana_agent/adapters/mongodb_adapter.py,sha256=qqEFbY_v1XGyFXBmwd5HSXSSHnA9wWo-Hm1vGEyIG0k,2718
|
4
|
-
solana_agent/adapters/openai_adapter.py,sha256=-GS_ujZIF3OVq3LDWb30a4zEvUADvfECDo7GO1lQnqM,10997
|
5
|
-
solana_agent/adapters/pinecone_adapter.py,sha256=xn_353EoFYD8KCTckOOO4e0OKzukeBWpyhGUmDawURw,22591
|
6
|
-
solana_agent/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
solana_agent/client/solana_agent.py,sha256=gARyoQkWStre3bwaTrR1AoAqdCpI3sw_p0hl6z6kkmA,9982
|
8
|
-
solana_agent/domains/__init__.py,sha256=HiC94wVPRy-QDJSSRywCRrhrFfTBeHjfi5z-QfZv46U,168
|
9
|
-
solana_agent/domains/agent.py,sha256=WTo-pEc66V6D_35cpDE-kTsw1SJM-dtylPZ7em5em7Q,2659
|
10
|
-
solana_agent/domains/routing.py,sha256=UDlgTjUoC9xIBVYu_dnf9-KG_bBgdEXAv_UtDOrYo0w,650
|
11
|
-
solana_agent/factories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
|
-
solana_agent/factories/agent_factory.py,sha256=7O1WdWA9etV2Wk8DRJUf7qTiFD3GOhBN2T278sfRegM,11536
|
13
|
-
solana_agent/interfaces/__init__.py,sha256=IQs1WIM1FeKP1-kY2FEfyhol_dB-I-VAe2rD6jrVF6k,355
|
14
|
-
solana_agent/interfaces/client/client.py,sha256=rIZQXFenEpoSWUvZrCMNE-FWwYwZMCBvXSFC8vCWksg,3610
|
15
|
-
solana_agent/interfaces/plugins/plugins.py,sha256=T8HPBsekmzVwfU_Rizp-vtzAeYkMlKMYD7U9d0Wjq9c,3338
|
16
|
-
solana_agent/interfaces/providers/data_storage.py,sha256=NqGeFvAzhz9rr-liLPRNCGjooB2EIhe-EVsMmX__b0M,1658
|
17
|
-
solana_agent/interfaces/providers/llm.py,sha256=gcZeu8ErLoSmdXWKiBVZuNl31c0KIUhGwX3wPBD_xuI,2356
|
18
|
-
solana_agent/interfaces/providers/memory.py,sha256=oNOH8WZXVW8assDigIWZAWiwkxbpDiKupxA2RB6tQvQ,1010
|
19
|
-
solana_agent/interfaces/providers/vector_storage.py,sha256=zgdlzQuXCRREVSlB-g7QKKNjVoshSe2AFoAt4CHCAB0,1606
|
20
|
-
solana_agent/interfaces/services/agent.py,sha256=tVs2piqWVfO1JiRd58e29oP1GWgYuCzberRSfaFfH4M,1979
|
21
|
-
solana_agent/interfaces/services/knowledge_base.py,sha256=J4jGeWcxpKL3XpcrqdNuV1xyd5dj2d-hyAmx4AZ272w,2103
|
22
|
-
solana_agent/interfaces/services/query.py,sha256=yo2JZPJSy2iwxtkUlMz0emm9u_27xNgnrAFJRHQoulQ,1480
|
23
|
-
solana_agent/interfaces/services/routing.py,sha256=UzJC-z-Q9puTWPFGEo2_CAhIxuxP5IRnze7S66NSrsI,397
|
24
|
-
solana_agent/plugins/__init__.py,sha256=coZdgJKq1ExOaj6qB810i3rEhbjdVlrkN76ozt_Ojgo,193
|
25
|
-
solana_agent/plugins/manager.py,sha256=Il49hXeqvu0b02pURNNp7mY8kp9_sqpi_vJIWBW5Hc0,5044
|
26
|
-
solana_agent/plugins/registry.py,sha256=5S0DlUQKogsg1zLiRUIGMHEmGYHtOovU-S-5W1Mwo1A,3639
|
27
|
-
solana_agent/plugins/tools/__init__.py,sha256=c0z7ij42gs94_VJrcn4Y8gUlTxMhsFNY6ahIsNswdLk,231
|
28
|
-
solana_agent/plugins/tools/auto_tool.py,sha256=DgES_cZ6xKSf_HJpFINpvJxrjVlk5oeqa7pZRBsR9SM,1575
|
29
|
-
solana_agent/repositories/__init__.py,sha256=fP83w83CGzXLnSdq-C5wbw9EhWTYtqE2lQTgp46-X_4,163
|
30
|
-
solana_agent/repositories/memory.py,sha256=xe6yvts31IDcv445LtRGkOpw8YWqssiSB40QAfx9zxY,7271
|
31
|
-
solana_agent/services/__init__.py,sha256=ab_NXJmwYUCmCrCzuTlZ47bJZINW0Y0F5jfQ9OovidU,163
|
32
|
-
solana_agent/services/agent.py,sha256=ZP-2fj0jbutasdul_BEQXaLLPq3Fpu2uGsVsawkVgrg,27040
|
33
|
-
solana_agent/services/knowledge_base.py,sha256=bvoLZHSrfp6BhT8i4fKhxOkaUkYGCFedLp2uTzL-7xI,32379
|
34
|
-
solana_agent/services/query.py,sha256=rAGC0Q_0Y_TQ-ONhyovQ_44myl1-not_VhD_hobmCE8,13005
|
35
|
-
solana_agent/services/routing.py,sha256=hC5t98KZPHty9kMX27KcuxcmZlwjm0g59uMkR8n7k_w,6818
|
36
|
-
solana_agent-27.3.5.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
|
37
|
-
solana_agent-27.3.5.dist-info/METADATA,sha256=Et1o5c7hyNePnQy8fYTtk2O2h2Iu4vHFYXyuAGXFNDQ,23764
|
38
|
-
solana_agent-27.3.5.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
39
|
-
solana_agent-27.3.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|