solana-agent 16.0.0__py3-none-any.whl → 17.0.1__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.
@@ -21,7 +21,7 @@ class OpenAIAdapter(LLMProvider):
21
21
  self.parse_model = "gpt-4o-mini"
22
22
  self.search_model = "gpt-4o-mini-search-preview"
23
23
  self.transcription_model = "gpt-4o-mini-transcribe"
24
- self.tts_model = "gpt-4o-mini-tts"
24
+ self.tts_model = "tts-1"
25
25
 
26
26
  async def tts(
27
27
  self,
@@ -48,7 +48,6 @@ class OpenAIAdapter(LLMProvider):
48
48
  model=self.tts_model,
49
49
  voice=voice,
50
50
  input=text,
51
- instructions=instructions,
52
51
  response_format=response_format
53
52
  )
54
53
 
@@ -47,8 +47,8 @@ class SolanaAgent(SolanaAgentInterface):
47
47
  audio_voice: Literal["alloy", "ash", "ballad", "coral", "echo",
48
48
  "fable", "onyx", "nova", "sage", "shimmer"] = "nova",
49
49
  audio_instructions: Optional[str] = None,
50
- audio_response_format: Literal['mp3', 'opus',
51
- 'aac', 'flac', 'wav', 'pcm'] = "aac",
50
+ audio_output_format: Literal['mp3', 'opus',
51
+ 'aac', 'flac', 'wav', 'pcm'] = "aac",
52
52
  audio_input_format: Literal[
53
53
  "flac", "mp3", "mp4", "mpeg", "mpga", "m4a", "ogg", "wav", "webm"
54
54
  ] = "mp4",
@@ -61,7 +61,7 @@ class SolanaAgent(SolanaAgentInterface):
61
61
  output_format: Response format ("text" or "audio")
62
62
  audio_voice: Voice to use for audio output
63
63
  audio_instructions: Optional instructions for audio synthesis
64
- audio_response_format: Audio format
64
+ audio_output_format: Audio output format
65
65
  audio_input_format: Audio input format
66
66
 
67
67
  Returns:
@@ -73,7 +73,7 @@ class SolanaAgent(SolanaAgentInterface):
73
73
  output_format=output_format,
74
74
  audio_voice=audio_voice,
75
75
  audio_instructions=audio_instructions,
76
- audio_response_format=audio_response_format,
76
+ audio_output_format=audio_output_format,
77
77
  audio_input_format=audio_input_format,
78
78
  ):
79
79
  yield chunk
@@ -14,8 +14,8 @@ class SolanaAgent(ABC):
14
14
  audio_voice: Literal["alloy", "ash", "ballad", "coral", "echo",
15
15
  "fable", "onyx", "nova", "sage", "shimmer"] = "nova",
16
16
  audio_instructions: str = None,
17
- audio_response_format: Literal['mp3', 'opus',
18
- 'aac', 'flac', 'wav', 'pcm'] = "aac",
17
+ audio_output_format: Literal['mp3', 'opus',
18
+ 'aac', 'flac', 'wav', 'pcm'] = "aac",
19
19
  audio_input_format: Literal[
20
20
  "flac", "mp3", "mp4", "mpeg", "mpga", "m4a", "ogg", "wav", "webm"
21
21
  ] = "mp4",
@@ -33,8 +33,8 @@ class AgentService(ABC):
33
33
  audio_voice: Literal["alloy", "ash", "ballad", "coral", "echo",
34
34
  "fable", "onyx", "nova", "sage", "shimmer"] = "nova",
35
35
  audio_instructions: str = None,
36
- audio_response_format: Literal['mp3', 'opus',
37
- 'aac', 'flac', 'wav', 'pcm'] = "aac",
36
+ audio_output_format: Literal['mp3', 'opus',
37
+ 'aac', 'flac', 'wav', 'pcm'] = "aac",
38
38
  audio_input_format: Literal[
39
39
  "flac", "mp3", "mp4", "mpeg", "mpga", "m4a", "ogg", "wav", "webm"
40
40
  ] = "mp4",
@@ -14,8 +14,8 @@ class QueryService(ABC):
14
14
  audio_voice: Literal["alloy", "ash", "ballad", "coral", "echo",
15
15
  "fable", "onyx", "nova", "sage", "shimmer"] = "nova",
16
16
  audio_instructions: Optional[str] = None,
17
- audio_response_format: Literal['mp3', 'opus',
18
- 'aac', 'flac', 'wav', 'pcm'] = "aac",
17
+ audio_output_format: Literal['mp3', 'opus',
18
+ 'aac', 'flac', 'wav', 'pcm'] = "aac",
19
19
  audio_input_format: Literal[
20
20
  "flac", "mp3", "mp4", "mpeg", "mpga", "m4a", "ogg", "wav", "webm"
21
21
  ] = "mp4",
@@ -194,8 +194,8 @@ class AgentService(AgentServiceInterface):
194
194
  audio_voice: Literal["alloy", "ash", "ballad", "coral", "echo",
195
195
  "fable", "onyx", "nova", "sage", "shimmer"] = "nova",
196
196
  audio_instructions: Optional[str] = None,
197
- audio_response_format: Literal['mp3', 'opus',
198
- 'aac', 'flac', 'wav', 'pcm'] = "aac",
197
+ audio_output_format: Literal['mp3', 'opus',
198
+ 'aac', 'flac', 'wav', 'pcm'] = "aac",
199
199
  audio_input_format: Literal[
200
200
  "flac", "mp3", "mp4", "mpeg", "mpga", "m4a", "ogg", "wav", "webm"
201
201
  ] = "mp4",
@@ -210,7 +210,7 @@ class AgentService(AgentServiceInterface):
210
210
  output_format: Response format ("text" or "audio")
211
211
  audio_voice: Voice to use for audio output
212
212
  audio_instructions: Optional instructions for audio synthesis
213
- audio_response_format: Audio format
213
+ audio_output_format: Audio output format
214
214
  audio_input_format: Audio input format
215
215
 
216
216
  Yields:
@@ -220,7 +220,7 @@ class AgentService(AgentServiceInterface):
220
220
  if not agent:
221
221
  error_msg = f"Agent '{agent_name}' not found."
222
222
  if output_format == "audio":
223
- async for chunk in self.llm_provider.tts(error_msg, instructions=audio_instructions, response_format=audio_response_format, voice=audio_voice):
223
+ async for chunk in self.llm_provider.tts(error_msg, instructions=audio_instructions, response_format=audio_output_format, voice=audio_voice):
224
224
  yield chunk
225
225
  else:
226
226
  yield error_msg
@@ -261,7 +261,7 @@ class AgentService(AgentServiceInterface):
261
261
  agent_name, chunk,
262
262
  )
263
263
  if output_format == "audio":
264
- async for audio_chunk in self.llm_provider.tts(result, instructions=audio_instructions, response_format=audio_response_format, voice=audio_voice):
264
+ async for audio_chunk in self.llm_provider.tts(result, instructions=audio_instructions, response_format=audio_output_format, voice=audio_voice):
265
265
  yield audio_chunk
266
266
  else:
267
267
  yield result
@@ -271,7 +271,7 @@ class AgentService(AgentServiceInterface):
271
271
  text_buffer += chunk
272
272
  if any(punct in chunk for punct in ".!?"):
273
273
  async for audio_chunk in self.llm_provider.tts(
274
- text_buffer, instructions=audio_instructions, response_format=audio_response_format, voice=audio_voice
274
+ text_buffer, instructions=audio_instructions, response_format=audio_output_format, voice=audio_voice
275
275
  ):
276
276
  yield audio_chunk
277
277
  text_buffer = ""
@@ -281,14 +281,14 @@ class AgentService(AgentServiceInterface):
281
281
  # Handle any remaining text in buffer
282
282
  if output_format == "audio" and text_buffer:
283
283
  async for audio_chunk in self.llm_provider.tts(
284
- text_buffer, instructions=audio_instructions, response_format=audio_response_format, voice=audio_voice
284
+ text_buffer, instructions=audio_instructions, response_format=audio_output_format, voice=audio_voice
285
285
  ):
286
286
  yield audio_chunk
287
287
 
288
288
  except Exception as e:
289
289
  error_msg = f"I apologize, but I encountered an error: {str(e)}"
290
290
  if output_format == "audio":
291
- async for chunk in self.llm_provider.tts(error_msg, instructions=audio_instructions, response_format=audio_response_format, voice=audio_voice):
291
+ async for chunk in self.llm_provider.tts(error_msg, instructions=audio_instructions, response_format=audio_output_format, voice=audio_voice):
292
292
  yield chunk
293
293
  else:
294
294
  yield error_msg
@@ -41,8 +41,8 @@ class QueryService(QueryServiceInterface):
41
41
  audio_voice: Literal["alloy", "ash", "ballad", "coral", "echo",
42
42
  "fable", "onyx", "nova", "sage", "shimmer"] = "nova",
43
43
  audio_instructions: Optional[str] = None,
44
- audio_response_format: Literal['mp3', 'opus',
45
- 'aac', 'flac', 'wav', 'pcm'] = "aac",
44
+ audio_output_format: Literal['mp3', 'opus',
45
+ 'aac', 'flac', 'wav', 'pcm'] = "aac",
46
46
  audio_input_format: Literal[
47
47
  "flac", "mp3", "mp4", "mpeg", "mpga", "m4a", "ogg", "wav", "webm"
48
48
  ] = "mp4",
@@ -55,7 +55,7 @@ class QueryService(QueryServiceInterface):
55
55
  output_format: Response format ("text" or "audio")
56
56
  audio_voice: Voice to use for audio output
57
57
  audio_instructions: Optional instructions for audio synthesis
58
- audio_response_format: Audio response format
58
+ audio_output_format: Audio output format
59
59
  audio_input_format: Audio input format
60
60
 
61
61
  Yields:
@@ -74,7 +74,7 @@ class QueryService(QueryServiceInterface):
74
74
  if user_text.strip().lower() in ["test", "hello", "hi", "hey", "ping"]:
75
75
  response = "Hello! How can I help you today?"
76
76
  if output_format == "audio":
77
- async for chunk in self.agent_service.llm_provider.tts(response, instructions=audio_instructions, response_format=audio_response_format, voice=audio_voice):
77
+ async for chunk in self.agent_service.llm_provider.tts(response, instructions=audio_instructions, response_format=audio_output_format, voice=audio_voice):
78
78
  yield chunk
79
79
  else:
80
80
  yield response
@@ -101,7 +101,7 @@ class QueryService(QueryServiceInterface):
101
101
  memory_context=memory_context,
102
102
  output_format=output_format,
103
103
  audio_voice=audio_voice,
104
- audio_response_format=audio_response_format,
104
+ audio_output_format=audio_output_format,
105
105
  ):
106
106
  yield chunk
107
107
  if output_format == "text":
@@ -126,7 +126,7 @@ class QueryService(QueryServiceInterface):
126
126
  except Exception as e:
127
127
  error_msg = f"I apologize for the technical difficulty. {str(e)}"
128
128
  if output_format == "audio":
129
- async for chunk in self.agent_service.llm_provider.tts(error_msg, instructions=audio_instructions, response_format=audio_response_format, voice=audio_voice):
129
+ async for chunk in self.agent_service.llm_provider.tts(error_msg, instructions=audio_instructions, response_format=audio_output_format, voice=audio_voice):
130
130
  yield chunk
131
131
  else:
132
132
  yield error_msg
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: solana-agent
3
- Version: 16.0.0
3
+ Version: 17.0.1
4
4
  Summary: The Future of Work
5
5
  License: MIT
6
6
  Keywords: ai,openai,ai agents,agi
@@ -109,11 +109,11 @@ async for response in solana_agent.process("user123", "What are the latest AI de
109
109
  print(response, end="")
110
110
  ```
111
111
 
112
- ## LLMs Used
112
+ ## Models Used
113
113
  * The model used for AI Agents is `gpt-4o-mini-search-preview`
114
114
  * The model used for internal structured outputs is `gpt-4o-mini`
115
115
  * The model used for audio_transcription is `gpt-4o-mini-transcribe`
116
- * The model used for tts is `gpt-4o-mini-tts`
116
+ * The model used for tts is `tts-1`
117
117
 
118
118
  ## Solana Agent Kit
119
119
 
@@ -1,23 +1,23 @@
1
1
  solana_agent/__init__.py,sha256=ceYeUpjIitpln8YK1r0JVJU8mzG6cRPYu-HLny3d-Tw,887
2
2
  solana_agent/adapters/__init__.py,sha256=tiEEuuy0NF3ngc_tGEcRTt71zVI58v3dYY9RvMrF2Cg,204
3
- solana_agent/adapters/llm_adapter.py,sha256=9pnQr_386LK2sX38-BLWFjFqoYMxlmVZ6t-nByrcqN8,6133
3
+ solana_agent/adapters/llm_adapter.py,sha256=s9eZkS1b-m7hK99hPLK421AFkud2jySFg4u4qNB9ayE,6080
4
4
  solana_agent/adapters/mongodb_adapter.py,sha256=qqEFbY_v1XGyFXBmwd5HSXSSHnA9wWo-Hm1vGEyIG0k,2718
5
5
  solana_agent/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- solana_agent/client/solana_agent.py,sha256=SIcddD9Ww2EawEmCdKylixmpZEdnyAjEuv42QMPceFQ,4210
6
+ solana_agent/client/solana_agent.py,sha256=G0m6GD6N8J3tpjfLoKBMzIR3cZU9qs9cDBfY1mngvzI,4207
7
7
  solana_agent/domains/__init__.py,sha256=HiC94wVPRy-QDJSSRywCRrhrFfTBeHjfi5z-QfZv46U,168
8
8
  solana_agent/domains/agent.py,sha256=Ak_hD5gTCzRqAHLmqtxnny0Xki1qAKR7RzLW9LOQBTg,2930
9
9
  solana_agent/domains/routing.py,sha256=UDlgTjUoC9xIBVYu_dnf9-KG_bBgdEXAv_UtDOrYo0w,650
10
10
  solana_agent/factories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  solana_agent/factories/agent_factory.py,sha256=7krNpsAHnle-IFjKqYz4aJgfvlj7yMRhfSeqi-4S2sI,5563
12
12
  solana_agent/interfaces/__init__.py,sha256=IQs1WIM1FeKP1-kY2FEfyhol_dB-I-VAe2rD6jrVF6k,355
13
- solana_agent/interfaces/client/client.py,sha256=XrdbzXalBONqxU4S4ry4gysivc7Qb7LvZ43-IU8VUh0,1261
13
+ solana_agent/interfaces/client/client.py,sha256=S0uOPnELVUL-bbLm2z7htLrX-kR0HuSaOVxcWehS2a8,1257
14
14
  solana_agent/interfaces/plugins/plugins.py,sha256=TMmTXwHhmkdJpIhgADfrpGGGk7PHP7O9Qi89uA26uMI,3013
15
15
  solana_agent/interfaces/providers/data_storage.py,sha256=NqGeFvAzhz9rr-liLPRNCGjooB2EIhe-EVsMmX__b0M,1658
16
16
  solana_agent/interfaces/providers/llm.py,sha256=Ay0-37ppAirGZdGS2LrDq0xAr_WY1_Gis84OXPGsaWs,1653
17
17
  solana_agent/interfaces/providers/memory.py,sha256=oNOH8WZXVW8assDigIWZAWiwkxbpDiKupxA2RB6tQvQ,1010
18
18
  solana_agent/interfaces/repositories/agent.py,sha256=r2MzVYOpEBVN00yqRxr3bUgWUgSwqoI1hRrdHhgFpFU,819
19
- solana_agent/interfaces/services/agent.py,sha256=Ht0EvO5uLAvlNztipoYuaE89suJVcDrzMUbAqOncAsQ,2159
20
- solana_agent/interfaces/services/query.py,sha256=9fR9eE0EM56MFhCFXqUsFVPpcAYnLixI-QKHpKV7BSs,1275
19
+ solana_agent/interfaces/services/agent.py,sha256=V1v4NPwWdNNJhrVdiAUuHEqIpfrobKjJatSIWNa6mdQ,2155
20
+ solana_agent/interfaces/services/query.py,sha256=bspnm-CN6zjRWnlFnkl34qo0EIW5m2TQR53NTEWMaq4,1271
21
21
  solana_agent/interfaces/services/routing.py,sha256=gohkt5f9uYDLpu4iDVDk9yj8js9P56R6QHSIDNylgwA,438
22
22
  solana_agent/plugins/__init__.py,sha256=coZdgJKq1ExOaj6qB810i3rEhbjdVlrkN76ozt_Ojgo,193
23
23
  solana_agent/plugins/manager.py,sha256=GWwhfMBn9THwVn7biOvVa25GLthCA1ilWIoDkt5hXNI,5084
@@ -28,10 +28,10 @@ solana_agent/repositories/__init__.py,sha256=fP83w83CGzXLnSdq-C5wbw9EhWTYtqE2lQT
28
28
  solana_agent/repositories/agent.py,sha256=e1rnsQiigkKwJNLKro86a3b6TBiky3GMfmCRc5b_jPw,3187
29
29
  solana_agent/repositories/memory.py,sha256=GABGwaz00thjviHewLvb18NeKE8dkBROxy_stsiiWrE,4722
30
30
  solana_agent/services/__init__.py,sha256=ab_NXJmwYUCmCrCzuTlZ47bJZINW0Y0F5jfQ9OovidU,163
31
- solana_agent/services/agent.py,sha256=eiS9HOajywYOrF3JTbZROIvKP8kqeHqiiCBU3M8OKTQ,14228
32
- solana_agent/services/query.py,sha256=wCnFx4oW64KJe4M9vjr5yIFwFntPtWVOV8G0OJpDves,10774
31
+ solana_agent/services/agent.py,sha256=5BCzy8h37HAzvxiuOanu-RM_ARxwIdOUNie8xPLGDj0,14219
32
+ solana_agent/services/query.py,sha256=N0RMcQm7o4B0MGrbFFrZ_Ar5z9r-UUDgn1xzgoxQtqg,10758
33
33
  solana_agent/services/routing.py,sha256=TPJ2Pas4acE93QzMEV6ZP670OtTNrVEPa76fz6urEV4,4996
34
- solana_agent-16.0.0.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
35
- solana_agent-16.0.0.dist-info/METADATA,sha256=_lZPx9BIWliiZu087sfYUtt9x81t-tTKAGFSZ2HAbKA,4956
36
- solana_agent-16.0.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
37
- solana_agent-16.0.0.dist-info/RECORD,,
34
+ solana_agent-17.0.1.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
35
+ solana_agent-17.0.1.dist-info/METADATA,sha256=-KgZSOm4jpeQsuy8tCQs6lGFqfwJjTsqf3tZRLs_OwI,4948
36
+ solana_agent-17.0.1.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
37
+ solana_agent-17.0.1.dist-info/RECORD,,