solana-agent 17.0.4__tar.gz → 17.0.6__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.0.4 → solana_agent-17.0.6}/PKG-INFO +31 -11
  2. {solana_agent-17.0.4 → solana_agent-17.0.6}/README.md +29 -9
  3. {solana_agent-17.0.4 → solana_agent-17.0.6}/pyproject.toml +2 -2
  4. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/services/query.py +4 -27
  5. {solana_agent-17.0.4 → solana_agent-17.0.6}/LICENSE +0 -0
  6. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/__init__.py +0 -0
  7. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/adapters/__init__.py +0 -0
  8. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/adapters/llm_adapter.py +0 -0
  9. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/adapters/mongodb_adapter.py +0 -0
  10. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/client/__init__.py +0 -0
  11. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/client/solana_agent.py +0 -0
  12. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/domains/__init__.py +0 -0
  13. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/domains/agent.py +0 -0
  14. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/domains/routing.py +0 -0
  15. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/factories/__init__.py +0 -0
  16. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/factories/agent_factory.py +0 -0
  17. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/__init__.py +0 -0
  18. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/client/client.py +0 -0
  19. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/plugins/plugins.py +0 -0
  20. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/providers/data_storage.py +0 -0
  21. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/providers/llm.py +0 -0
  22. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/providers/memory.py +0 -0
  23. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/repositories/agent.py +0 -0
  24. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/services/agent.py +0 -0
  25. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/services/query.py +0 -0
  26. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/interfaces/services/routing.py +0 -0
  27. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/plugins/__init__.py +0 -0
  28. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/plugins/manager.py +0 -0
  29. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/plugins/registry.py +0 -0
  30. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/plugins/tools/__init__.py +0 -0
  31. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/plugins/tools/auto_tool.py +0 -0
  32. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/repositories/__init__.py +0 -0
  33. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/repositories/agent.py +0 -0
  34. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/repositories/memory.py +0 -0
  35. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/services/__init__.py +0 -0
  36. {solana_agent-17.0.4 → solana_agent-17.0.6}/solana_agent/services/agent.py +0 -0
  37. {solana_agent-17.0.4 → solana_agent-17.0.6}/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.0.4
3
+ Version: 17.0.6
4
4
  Summary: The Future of Work
5
5
  License: MIT
6
6
  Keywords: ai,openai,ai agents,agi
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3.12
13
13
  Classifier: Programming Language :: Python :: 3.13
14
14
  Classifier: Programming Language :: Python :: 3 :: Only
15
15
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
16
- Requires-Dist: openai (>=1.68.1,<2.0.0)
16
+ Requires-Dist: openai (>=1.68.2,<2.0.0)
17
17
  Requires-Dist: pydantic (>=2.10.6,<3.0.0)
18
18
  Requires-Dist: pymongo (>=4.11.3,<5.0.0)
19
19
  Requires-Dist: zep-cloud (>=2.7.0,<3.0.0)
@@ -32,13 +32,30 @@ Description-Content-Type: text/markdown
32
32
 
33
33
  ![Solana Agent Logo](https://dl.walletbubbles.com/solana-agent-logo.png?width=200)
34
34
 
35
+ ## Agentic IQ
36
+
37
+ Solana Agent is an AI Agent framework defined on five key dimensions:
38
+
39
+ * **Multi-Modal Intelligence:** Agents process both text and audio seamlessly. Users interact naturally through their preferred communication channel.
40
+
41
+ * **Episodic Memory:** Agents remember past conversations with users. This eliminates repetitive explanations and builds meaningful relationships.
42
+
43
+ * **Cognitive Routing:** Queries go to the most qualified agent automatically. Each specialist has domain-specific knowledge for optimal responses.
44
+
45
+ * **Value Alignment:** Every agent follows clear organizational values and ethics. This ensures consistent, principled responses aligned with human priorities.
46
+
47
+ * **Extensible Tooling:** Agents recognize when specialized tools are needed. They extend capabilities beyond conversation to take actions via Python package integration.
48
+
49
+ This approach creates AI Agents that are intelligent, contextually aware, and aligned with organizational values.
50
+
51
+
35
52
  ## Features
36
53
 
37
- * Multi-modal input-output streaming with text or audio by AI Agents
38
- * Conversational memory per user shared by all AI Agents
39
- * Routing based on AI Agent specializations
40
- * Organizational mission, values, goals, and guidance for all AI Agents
41
- * Robust AI Agent tool plugins based on standard python packages
54
+ * Seamless text and audio streaming with real-time multi-modal processing
55
+ * Persistent memory that preserves context across all agent interactions
56
+ * Intelligent query routing to agents with optimal domain expertise
57
+ * Unified value system ensuring aligned, principled agent responses
58
+ * Powerful tool integration that extends capabilities using standard Python packages
42
59
 
43
60
  ## Stack
44
61
 
@@ -109,17 +126,20 @@ async for response in solana_agent.process("user123", "What are the latest AI de
109
126
  ```
110
127
 
111
128
  ## Models Used
112
- * The model used for AI Agents is `gpt-4o-mini`
113
- * The model used for internal structured outputs is `gpt-4o-mini`
114
- * The model used for audio_transcription is `gpt-4o-mini-transcribe`
115
- * The model used for tts is `tts-1`
129
+ * `gpt-4o-mini`
130
+ * `gpt-4o-mini-transcribe`
131
+ * `tts-1`
116
132
 
117
133
  ## Solana Agent Kit
118
134
 
135
+ A collection of Solana Agent tools
136
+
119
137
  [Solana Agent Kit](https://github.com/truemagic-coder/solana-agent-kit)
120
138
 
121
139
  ## Example App
122
140
 
141
+ A Solana Agent example app written in FastAPI and Next.js
142
+
123
143
  [Solana Agent Example App](https://github.com/truemagic-coder/solana-agent-app)
124
144
 
125
145
  ## License
@@ -9,13 +9,30 @@
9
9
 
10
10
  ![Solana Agent Logo](https://dl.walletbubbles.com/solana-agent-logo.png?width=200)
11
11
 
12
+ ## Agentic IQ
13
+
14
+ Solana Agent is an AI Agent framework defined on five key dimensions:
15
+
16
+ * **Multi-Modal Intelligence:** Agents process both text and audio seamlessly. Users interact naturally through their preferred communication channel.
17
+
18
+ * **Episodic Memory:** Agents remember past conversations with users. This eliminates repetitive explanations and builds meaningful relationships.
19
+
20
+ * **Cognitive Routing:** Queries go to the most qualified agent automatically. Each specialist has domain-specific knowledge for optimal responses.
21
+
22
+ * **Value Alignment:** Every agent follows clear organizational values and ethics. This ensures consistent, principled responses aligned with human priorities.
23
+
24
+ * **Extensible Tooling:** Agents recognize when specialized tools are needed. They extend capabilities beyond conversation to take actions via Python package integration.
25
+
26
+ This approach creates AI Agents that are intelligent, contextually aware, and aligned with organizational values.
27
+
28
+
12
29
  ## Features
13
30
 
14
- * Multi-modal input-output streaming with text or audio by AI Agents
15
- * Conversational memory per user shared by all AI Agents
16
- * Routing based on AI Agent specializations
17
- * Organizational mission, values, goals, and guidance for all AI Agents
18
- * Robust AI Agent tool plugins based on standard python packages
31
+ * Seamless text and audio streaming with real-time multi-modal processing
32
+ * Persistent memory that preserves context across all agent interactions
33
+ * Intelligent query routing to agents with optimal domain expertise
34
+ * Unified value system ensuring aligned, principled agent responses
35
+ * Powerful tool integration that extends capabilities using standard Python packages
19
36
 
20
37
  ## Stack
21
38
 
@@ -86,17 +103,20 @@ async for response in solana_agent.process("user123", "What are the latest AI de
86
103
  ```
87
104
 
88
105
  ## Models Used
89
- * The model used for AI Agents is `gpt-4o-mini`
90
- * The model used for internal structured outputs is `gpt-4o-mini`
91
- * The model used for audio_transcription is `gpt-4o-mini-transcribe`
92
- * The model used for tts is `tts-1`
106
+ * `gpt-4o-mini`
107
+ * `gpt-4o-mini-transcribe`
108
+ * `tts-1`
93
109
 
94
110
  ## Solana Agent Kit
95
111
 
112
+ A collection of Solana Agent tools
113
+
96
114
  [Solana Agent Kit](https://github.com/truemagic-coder/solana-agent-kit)
97
115
 
98
116
  ## Example App
99
117
 
118
+ A Solana Agent example app written in FastAPI and Next.js
119
+
100
120
  [Solana Agent Example App](https://github.com/truemagic-coder/solana-agent-app)
101
121
 
102
122
  ## License
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "solana-agent"
3
- version = "17.0.4"
3
+ version = "17.0.6"
4
4
  description = "The Future of Work"
5
5
  authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
6
6
  license = "MIT"
@@ -18,7 +18,7 @@ python_paths = [".", "tests"]
18
18
 
19
19
  [tool.poetry.dependencies]
20
20
  python = ">=3.12,<4.0"
21
- openai = "^1.68.1"
21
+ openai = "^1.68.2"
22
22
  pydantic = "^2.10.6"
23
23
  pymongo = "^4.11.3"
24
24
  zep-cloud = "^2.7.0"
@@ -94,32 +94,12 @@ class QueryService(QueryServiceInterface):
94
94
  agent_name = await self.routing_service.route_query(user_text)
95
95
  print(f"Routed to agent: {agent_name}")
96
96
 
97
- # For audio mode, we need to carefully handle the response to make sure
98
- # tool calls are properly executed and formatted for audio
97
+ # Generate response
99
98
  if output_format == "audio":
100
- # Use the agent service to generate the response
101
- text_response = ""
102
-
103
- # First, get complete text response
104
- # Note: This is a separate call from the audio generation
105
- temp_response = ""
106
- async for chunk in self.agent_service.generate_response(
107
- agent_name=agent_name,
108
- user_id=user_id,
109
- query=user_text,
110
- memory_context=memory_context,
111
- output_format="text"
112
- ):
113
- temp_response += chunk
114
-
115
- # Store the complete text for memory
116
- text_response = temp_response
117
-
118
- # Now generate audio from same request
119
99
  async for audio_chunk in self.agent_service.generate_response(
120
100
  agent_name=agent_name,
121
101
  user_id=user_id,
122
- query=user_text,
102
+ query=query,
123
103
  memory_context=memory_context,
124
104
  output_format="audio",
125
105
  audio_voice=audio_voice,
@@ -129,15 +109,13 @@ class QueryService(QueryServiceInterface):
129
109
  ):
130
110
  yield audio_chunk
131
111
 
132
- # Store conversation in memory
133
- if self.memory_provider and text_response:
112
+ if self.memory_provider:
134
113
  await self._store_conversation(
135
114
  user_id=user_id,
136
115
  user_message=user_text,
137
- assistant_message=text_response
116
+ assistant_message=self.agent_service.last_text_response,
138
117
  )
139
118
  else:
140
- # For text mode, we can collect the response and store it directly
141
119
  full_text_response = ""
142
120
  async for chunk in self.agent_service.generate_response(
143
121
  agent_name=agent_name,
@@ -149,7 +127,6 @@ class QueryService(QueryServiceInterface):
149
127
  yield chunk
150
128
  full_text_response += chunk
151
129
 
152
- # Store conversation in memory
153
130
  if self.memory_provider and full_text_response:
154
131
  await self._store_conversation(
155
132
  user_id=user_id,
File without changes