solana-agent 28.3.0__py3-none-any.whl → 28.3.2__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-28.3.0.dist-info → solana_agent-28.3.2.dist-info}/METADATA +73 -14
- {solana_agent-28.3.0.dist-info → solana_agent-28.3.2.dist-info}/RECORD +5 -5
- {solana_agent-28.3.0.dist-info → solana_agent-28.3.2.dist-info}/LICENSE +0 -0
- {solana_agent-28.3.0.dist-info → solana_agent-28.3.2.dist-info}/WHEEL +0 -0
- {solana_agent-28.3.0.dist-info → solana_agent-28.3.2.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: solana-agent
|
3
|
-
Version: 28.3.
|
3
|
+
Version: 28.3.2
|
4
4
|
Summary: AI Agents for Solana
|
5
5
|
License: MIT
|
6
6
|
Keywords: solana,solana ai,solana agent,ai,ai agent,ai agents
|
@@ -14,20 +14,20 @@ Classifier: Programming Language :: Python :: 3
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.12
|
15
15
|
Classifier: Programming Language :: Python :: 3.13
|
16
16
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
17
|
-
Requires-Dist: instructor (
|
18
|
-
Requires-Dist: llama-index-core (
|
19
|
-
Requires-Dist: llama-index-embeddings-openai (
|
20
|
-
Requires-Dist: logfire (
|
21
|
-
Requires-Dist: openai (
|
22
|
-
Requires-Dist: pillow (
|
23
|
-
Requires-Dist: pinecone (
|
17
|
+
Requires-Dist: instructor (==1.7.9)
|
18
|
+
Requires-Dist: llama-index-core (==0.12.32)
|
19
|
+
Requires-Dist: llama-index-embeddings-openai (==0.3.1)
|
20
|
+
Requires-Dist: logfire (==3.14.1)
|
21
|
+
Requires-Dist: openai (==1.76.2)
|
22
|
+
Requires-Dist: pillow (==11.2.1)
|
23
|
+
Requires-Dist: pinecone (==6.0.2)
|
24
24
|
Requires-Dist: pydantic (>=2)
|
25
|
-
Requires-Dist: pymongo (
|
26
|
-
Requires-Dist: pypdf (
|
27
|
-
Requires-Dist: rich (>=13)
|
28
|
-
Requires-Dist: scrubadub (
|
29
|
-
Requires-Dist: typer (
|
30
|
-
Requires-Dist: zep-cloud (
|
25
|
+
Requires-Dist: pymongo (==4.12.1)
|
26
|
+
Requires-Dist: pypdf (==5.4.0)
|
27
|
+
Requires-Dist: rich (>=13,<14.0)
|
28
|
+
Requires-Dist: scrubadub (==2.0.1)
|
29
|
+
Requires-Dist: typer (==0.15.3)
|
30
|
+
Requires-Dist: zep-cloud (==2.11.0)
|
31
31
|
Project-URL: Documentation, https://docs.solana-agent.com
|
32
32
|
Project-URL: Homepage, https://solana-agent.com
|
33
33
|
Project-URL: Repository, https://github.com/truemagic-coder/solana-agent
|
@@ -64,9 +64,11 @@ Build your AI agents in three lines of code!
|
|
64
64
|
* Business Alignment
|
65
65
|
* Extensible Tooling
|
66
66
|
* Automatic Tool Workflows
|
67
|
+
* Autonomous Operation
|
67
68
|
* Knowledge Base
|
68
69
|
* MCP Support
|
69
70
|
* Guardrails
|
71
|
+
* Image Generation
|
70
72
|
* Pydantic Logfire
|
71
73
|
* Tested & Secure
|
72
74
|
* Built in Python
|
@@ -91,7 +93,9 @@ Build your AI agents in three lines of code!
|
|
91
93
|
* Assigned tools are utilized by agents automatically and effectively
|
92
94
|
* Integrated Knowledge Base with semantic search and automatic PDF chunking
|
93
95
|
* Input and output guardrails for content filtering, safety, and data sanitization
|
96
|
+
* Generate custom images based on text prompts with storage on S3 compatible services
|
94
97
|
* Automatic sequential tool workflows allowing agents to chain multiple tools
|
98
|
+
* Combine with event-driven systems to create autonomous agents
|
95
99
|
|
96
100
|
## Stack
|
97
101
|
|
@@ -113,6 +117,7 @@ Build your AI agents in three lines of code!
|
|
113
117
|
* [text-embedding-3-large](https://platform.openai.com/docs/models/text-embedding-3-large) or [text-embedding-3-small](https://platform.openai.com/docs/models/text-embedding-3-small) (embedding)
|
114
118
|
* [tts-1](https://platform.openai.com/docs/models/tts-1) (audio TTS)
|
115
119
|
* [gpt-4o-mini-transcribe](https://platform.openai.com/docs/models/gpt-4o-mini-transcribe) (audio transcription)
|
120
|
+
* [gpt-image-1](https://platform.openai.com/docs/models/gpt-image-1) (image generation)
|
116
121
|
|
117
122
|
## Installation
|
118
123
|
|
@@ -603,6 +608,8 @@ class MyOutputGuardrail(OutputGuardrail):
|
|
603
608
|
|
604
609
|
## Tools
|
605
610
|
|
611
|
+
Tools empower agents to interact with external systems, fetch data, or perform actions. They can be used reactively within a user conversation or proactively when an agent is triggered autonomously.
|
612
|
+
|
606
613
|
Tools can be used from plugins like Solana Agent Kit (sakit) or via inline tools. Tools available via plugins integrate automatically with Solana Agent.
|
607
614
|
|
608
615
|
* Agents can use multiple tools per response and should apply the right sequential order (like send an email to bob@bob.com with the latest news on Solana)
|
@@ -705,6 +712,45 @@ async for response in solana_agent.process("user123", "Send an email to bob@bob.
|
|
705
712
|
print(response, end="")
|
706
713
|
```
|
707
714
|
|
715
|
+
### Image Generation
|
716
|
+
|
717
|
+
Generate images using OpenAI's `gpt-image-1` and upload them to S3-compatible storage.
|
718
|
+
|
719
|
+
`pip install sakit`
|
720
|
+
|
721
|
+
```python
|
722
|
+
from solana_agent import SolanaAgent
|
723
|
+
|
724
|
+
config = {
|
725
|
+
"openai": {
|
726
|
+
"api_key": "your-openai-api-key" # Required: Your OpenAI API key
|
727
|
+
},
|
728
|
+
"tools": {
|
729
|
+
"image_gen": {
|
730
|
+
"s3_endpoint_url": "https://your-s3-endpoint.com", # Required: e.g., https://nyc3.digitaloceanspaces.com
|
731
|
+
"s3_access_key_id": "YOUR_S3_ACCESS_KEY", # Required: Your S3 access key ID
|
732
|
+
"s3_secret_access_key": "YOUR_S3_SECRET_KEY", # Required: Your S3 secret access key
|
733
|
+
"s3_bucket_name": "your-bucket-name", # Required: The name of your S3 bucket
|
734
|
+
"s3_region_name": "your-region", # Optional: e.g., "nyc3", needed by some providers
|
735
|
+
"s3_public_url_base": "https://your-cdn-or-bucket-url.com/", # Optional: Custom base URL for public links (include trailing slash). If omitted, a standard URL is constructed.
|
736
|
+
}
|
737
|
+
},
|
738
|
+
"agents": [
|
739
|
+
{
|
740
|
+
"name": "image_creator",
|
741
|
+
"instructions": "You are a creative assistant that generates images based on user descriptions. Use the image_gen tool to create and store the image.",
|
742
|
+
"specialization": "Image generation and storage",
|
743
|
+
"tools": ["image_gen"], # Enable the tool for this agent
|
744
|
+
}
|
745
|
+
]
|
746
|
+
}
|
747
|
+
|
748
|
+
solana_agent = SolanaAgent(config=config)
|
749
|
+
|
750
|
+
async for response in solana_agent.process("user123", "Generate an image of a smiling unicorn!"):
|
751
|
+
print(response, end="")
|
752
|
+
```
|
753
|
+
|
708
754
|
### Inline Tool Example
|
709
755
|
|
710
756
|
```python
|
@@ -785,6 +831,19 @@ async for response in solana_agent.process("user123", "What are the latest AI de
|
|
785
831
|
print(response, end="")
|
786
832
|
```
|
787
833
|
|
834
|
+
## Autonomous Operation & Event-Driven Agents
|
835
|
+
|
836
|
+
While Solana Agent facilitates request-response interactions, the underlying architecture supports building autonomous agents. You can achieve autonomy by orchestrating calls based on external triggers rather than direct user input.
|
837
|
+
|
838
|
+
**Key Concepts:**
|
839
|
+
|
840
|
+
* **External Triggers:** Use schedulers like cron, message queues (RabbitMQ, Kafka), monitoring systems, webhooks, or other event sources to initiate agent actions.
|
841
|
+
* **Programmatic Calls:** Instead of a user typing a message, your triggering system calls with a specific message (acting as instructions or data for the task) and potentially a dedicated user representing the autonomous process.
|
842
|
+
* **Tool-Centric Tasks:** Autonomous agents often focus on executing specific tools. The prompt can instruct the agent to use a particular tool with given parameters derived from the triggering event.
|
843
|
+
* **Example Scenario:** An agent could be triggered hourly by a scheduler. The `message` could be "Check the SOL balance for wallet X using the `solana` tool." The agent executes the tool, and the result could be logged or trigger another tool (e.g., using `mcp` to send an alert if the balance is low).
|
844
|
+
|
845
|
+
By combining Solana Agent's agent definitions, tool integration, and routing with external orchestration, you can create sophisticated autonomous systems.
|
846
|
+
|
788
847
|
## Advanced Customization
|
789
848
|
|
790
849
|
### Runtime Prompt Injection
|
@@ -36,8 +36,8 @@ solana_agent/services/agent.py,sha256=QoeQq_OEWyLdBS0FPa-lXm5qiE0RnRfrCKiFTfOSGE
|
|
36
36
|
solana_agent/services/knowledge_base.py,sha256=D4QNGC3Z8E7iX-CEGpRks0lW4wWJt-WorO3J8mu6ayU,35318
|
37
37
|
solana_agent/services/query.py,sha256=ENUfs4WSTpODMRXppDVW-Y3li9jYn8pOfQIHIPerUdQ,18498
|
38
38
|
solana_agent/services/routing.py,sha256=C5Ku4t9TqvY7S8wlUPMTC04HCrT4Ib3E8Q8yX0lVU_s,7137
|
39
|
-
solana_agent-28.3.
|
40
|
-
solana_agent-28.3.
|
41
|
-
solana_agent-28.3.
|
42
|
-
solana_agent-28.3.
|
43
|
-
solana_agent-28.3.
|
39
|
+
solana_agent-28.3.2.dist-info/LICENSE,sha256=BnSRc-NSFuyF2s496l_4EyrwAP6YimvxWcjPiJ0J7g4,1057
|
40
|
+
solana_agent-28.3.2.dist-info/METADATA,sha256=QWPRNGmX7hnlD7qYTBE6Nq72_NegfDRCc2yulDDy8Do,32731
|
41
|
+
solana_agent-28.3.2.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
42
|
+
solana_agent-28.3.2.dist-info/entry_points.txt,sha256=-AuT_mfqk8dlZ0pHuAjx1ouAWpTRjpqvEUa6YV3lmc0,53
|
43
|
+
solana_agent-28.3.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|