solana-agent 28.3.1__tar.gz → 28.3.3__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 (42) hide show
  1. solana_agent-28.3.1/README.md → solana_agent-28.3.3/PKG-INFO +80 -1
  2. solana_agent-28.3.1/PKG-INFO → solana_agent-28.3.3/README.md +44 -37
  3. {solana_agent-28.3.1 → solana_agent-28.3.3}/pyproject.toml +15 -15
  4. {solana_agent-28.3.1 → solana_agent-28.3.3}/LICENSE +0 -0
  5. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/__init__.py +0 -0
  6. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/adapters/__init__.py +0 -0
  7. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/adapters/mongodb_adapter.py +0 -0
  8. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/adapters/openai_adapter.py +0 -0
  9. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/adapters/pinecone_adapter.py +0 -0
  10. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/cli.py +0 -0
  11. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/client/__init__.py +0 -0
  12. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/client/solana_agent.py +0 -0
  13. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/domains/__init__.py +0 -0
  14. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/domains/agent.py +0 -0
  15. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/domains/routing.py +0 -0
  16. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/factories/__init__.py +0 -0
  17. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/factories/agent_factory.py +0 -0
  18. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/guardrails/pii.py +0 -0
  19. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/__init__.py +0 -0
  20. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/client/client.py +0 -0
  21. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/guardrails/guardrails.py +0 -0
  22. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/plugins/plugins.py +0 -0
  23. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/providers/data_storage.py +0 -0
  24. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/providers/llm.py +0 -0
  25. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/providers/memory.py +0 -0
  26. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/providers/vector_storage.py +0 -0
  27. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/services/agent.py +0 -0
  28. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/services/knowledge_base.py +0 -0
  29. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/services/query.py +0 -0
  30. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/interfaces/services/routing.py +0 -0
  31. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/plugins/__init__.py +0 -0
  32. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/plugins/manager.py +0 -0
  33. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/plugins/registry.py +0 -0
  34. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/plugins/tools/__init__.py +0 -0
  35. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/plugins/tools/auto_tool.py +0 -0
  36. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/repositories/__init__.py +0 -0
  37. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/repositories/memory.py +0 -0
  38. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/services/__init__.py +0 -0
  39. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/services/agent.py +0 -0
  40. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/services/knowledge_base.py +0 -0
  41. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/services/query.py +0 -0
  42. {solana_agent-28.3.1 → solana_agent-28.3.3}/solana_agent/services/routing.py +0 -0
@@ -1,3 +1,38 @@
1
+ Metadata-Version: 2.3
2
+ Name: solana-agent
3
+ Version: 28.3.3
4
+ Summary: AI Agents for Solana
5
+ License: MIT
6
+ Keywords: solana,solana ai,solana agent,ai,ai agent,ai agents
7
+ Author: Bevan Hunt
8
+ Author-email: bevan@bevanhunt.com
9
+ Requires-Python: >=3.12,<4.0
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
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
+ Requires-Dist: pydantic (>=2)
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
+ Project-URL: Documentation, https://docs.solana-agent.com
32
+ Project-URL: Homepage, https://solana-agent.com
33
+ Project-URL: Repository, https://github.com/truemagic-coder/solana-agent
34
+ Description-Content-Type: text/markdown
35
+
1
36
  # Solana Agent
2
37
 
3
38
  [![PyPI - Version](https://img.shields.io/pypi/v/solana-agent)](https://pypi.org/project/solana-agent/)
@@ -33,6 +68,7 @@ Build your AI agents in three lines of code!
33
68
  * Knowledge Base
34
69
  * MCP Support
35
70
  * Guardrails
71
+ * Image Generation
36
72
  * Pydantic Logfire
37
73
  * Tested & Secure
38
74
  * Built in Python
@@ -57,6 +93,7 @@ Build your AI agents in three lines of code!
57
93
  * Assigned tools are utilized by agents automatically and effectively
58
94
  * Integrated Knowledge Base with semantic search and automatic PDF chunking
59
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
60
97
  * Automatic sequential tool workflows allowing agents to chain multiple tools
61
98
  * Combine with event-driven systems to create autonomous agents
62
99
 
@@ -77,9 +114,11 @@ Build your AI agents in three lines of code!
77
114
 
78
115
  * [gpt-4.1](https://platform.openai.com/docs/models/gpt-4.1) (agent)
79
116
  * [gpt-4.1-nano](https://platform.openai.com/docs/models/gpt-4.1-nano) (router)
80
- * [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)
117
+ * [text-embedding-3-large](https://platform.openai.com/docs/models/text-embedding-3-large) (embedding)
81
118
  * [tts-1](https://platform.openai.com/docs/models/tts-1) (audio TTS)
82
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)
121
+ * [gpt-4o-mini-search-preview](https://platform.openai.com/docs/models/gpt-4o-mini-search-preview) (Internet search)
83
122
 
84
123
  ## Installation
85
124
 
@@ -674,6 +713,45 @@ async for response in solana_agent.process("user123", "Send an email to bob@bob.
674
713
  print(response, end="")
675
714
  ```
676
715
 
716
+ ### Image Generation
717
+
718
+ Generate images using OpenAI's `gpt-image-1` and upload them to S3-compatible storage.
719
+
720
+ `pip install sakit`
721
+
722
+ ```python
723
+ from solana_agent import SolanaAgent
724
+
725
+ config = {
726
+ "openai": {
727
+ "api_key": "your-openai-api-key" # Required: Your OpenAI API key
728
+ },
729
+ "tools": {
730
+ "image_gen": {
731
+ "s3_endpoint_url": "https://your-s3-endpoint.com", # Required: e.g., https://nyc3.digitaloceanspaces.com
732
+ "s3_access_key_id": "YOUR_S3_ACCESS_KEY", # Required: Your S3 access key ID
733
+ "s3_secret_access_key": "YOUR_S3_SECRET_KEY", # Required: Your S3 secret access key
734
+ "s3_bucket_name": "your-bucket-name", # Required: The name of your S3 bucket
735
+ "s3_region_name": "your-region", # Optional: e.g., "nyc3", needed by some providers
736
+ "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.
737
+ }
738
+ },
739
+ "agents": [
740
+ {
741
+ "name": "image_creator",
742
+ "instructions": "You are a creative assistant that generates images based on user descriptions. Use the image_gen tool to create and store the image.",
743
+ "specialization": "Image generation and storage",
744
+ "tools": ["image_gen"], # Enable the tool for this agent
745
+ }
746
+ ]
747
+ }
748
+
749
+ solana_agent = SolanaAgent(config=config)
750
+
751
+ async for response in solana_agent.process("user123", "Generate an image of a smiling unicorn!"):
752
+ print(response, end="")
753
+ ```
754
+
677
755
  ### Inline Tool Example
678
756
 
679
757
  ```python
@@ -879,3 +957,4 @@ To run the test suite locally run `poetry run pytest --cov=solana_agent --cov-re
879
957
  ## License
880
958
 
881
959
  This project is licensed under the MIT License - see the LICENSE file for details.
960
+
@@ -1,38 +1,3 @@
1
- Metadata-Version: 2.3
2
- Name: solana-agent
3
- Version: 28.3.1
4
- Summary: AI Agents for Solana
5
- License: MIT
6
- Keywords: solana,solana ai,solana agent,ai,ai agent,ai agents
7
- Author: Bevan Hunt
8
- Author-email: bevan@bevanhunt.com
9
- Requires-Python: >=3.12,<4.0
10
- Classifier: Development Status :: 5 - Production/Stable
11
- Classifier: Intended Audience :: Developers
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.12
15
- Classifier: Programming Language :: Python :: 3.13
16
- Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
17
- Requires-Dist: instructor (>=1.7.9,<2.0.0)
18
- Requires-Dist: llama-index-core (>=0.12.32,<0.13.0)
19
- Requires-Dist: llama-index-embeddings-openai (>=0.3.1,<0.4.0)
20
- Requires-Dist: logfire (>=3.14.0,<4.0.0)
21
- Requires-Dist: openai (>=1.75.0,<2.0.0)
22
- Requires-Dist: pillow (>=11.2.1,<12.0.0)
23
- Requires-Dist: pinecone (>=6.0.2,<7.0.0)
24
- Requires-Dist: pydantic (>=2)
25
- Requires-Dist: pymongo (>=4.12.0,<5.0.0)
26
- Requires-Dist: pypdf (>=5.4.0,<6.0.0)
27
- Requires-Dist: rich (>=13)
28
- Requires-Dist: scrubadub (>=2.0.1,<3.0.0)
29
- Requires-Dist: typer (>=0.15.2,<0.16.0)
30
- Requires-Dist: zep-cloud (>=2.10.2,<3.0.0)
31
- Project-URL: Documentation, https://docs.solana-agent.com
32
- Project-URL: Homepage, https://solana-agent.com
33
- Project-URL: Repository, https://github.com/truemagic-coder/solana-agent
34
- Description-Content-Type: text/markdown
35
-
36
1
  # Solana Agent
37
2
 
38
3
  [![PyPI - Version](https://img.shields.io/pypi/v/solana-agent)](https://pypi.org/project/solana-agent/)
@@ -68,6 +33,7 @@ Build your AI agents in three lines of code!
68
33
  * Knowledge Base
69
34
  * MCP Support
70
35
  * Guardrails
36
+ * Image Generation
71
37
  * Pydantic Logfire
72
38
  * Tested & Secure
73
39
  * Built in Python
@@ -92,6 +58,7 @@ Build your AI agents in three lines of code!
92
58
  * Assigned tools are utilized by agents automatically and effectively
93
59
  * Integrated Knowledge Base with semantic search and automatic PDF chunking
94
60
  * Input and output guardrails for content filtering, safety, and data sanitization
61
+ * Generate custom images based on text prompts with storage on S3 compatible services
95
62
  * Automatic sequential tool workflows allowing agents to chain multiple tools
96
63
  * Combine with event-driven systems to create autonomous agents
97
64
 
@@ -112,9 +79,11 @@ Build your AI agents in three lines of code!
112
79
 
113
80
  * [gpt-4.1](https://platform.openai.com/docs/models/gpt-4.1) (agent)
114
81
  * [gpt-4.1-nano](https://platform.openai.com/docs/models/gpt-4.1-nano) (router)
115
- * [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)
82
+ * [text-embedding-3-large](https://platform.openai.com/docs/models/text-embedding-3-large) (embedding)
116
83
  * [tts-1](https://platform.openai.com/docs/models/tts-1) (audio TTS)
117
84
  * [gpt-4o-mini-transcribe](https://platform.openai.com/docs/models/gpt-4o-mini-transcribe) (audio transcription)
85
+ * [gpt-image-1](https://platform.openai.com/docs/models/gpt-image-1) (image generation)
86
+ * [gpt-4o-mini-search-preview](https://platform.openai.com/docs/models/gpt-4o-mini-search-preview) (Internet search)
118
87
 
119
88
  ## Installation
120
89
 
@@ -709,6 +678,45 @@ async for response in solana_agent.process("user123", "Send an email to bob@bob.
709
678
  print(response, end="")
710
679
  ```
711
680
 
681
+ ### Image Generation
682
+
683
+ Generate images using OpenAI's `gpt-image-1` and upload them to S3-compatible storage.
684
+
685
+ `pip install sakit`
686
+
687
+ ```python
688
+ from solana_agent import SolanaAgent
689
+
690
+ config = {
691
+ "openai": {
692
+ "api_key": "your-openai-api-key" # Required: Your OpenAI API key
693
+ },
694
+ "tools": {
695
+ "image_gen": {
696
+ "s3_endpoint_url": "https://your-s3-endpoint.com", # Required: e.g., https://nyc3.digitaloceanspaces.com
697
+ "s3_access_key_id": "YOUR_S3_ACCESS_KEY", # Required: Your S3 access key ID
698
+ "s3_secret_access_key": "YOUR_S3_SECRET_KEY", # Required: Your S3 secret access key
699
+ "s3_bucket_name": "your-bucket-name", # Required: The name of your S3 bucket
700
+ "s3_region_name": "your-region", # Optional: e.g., "nyc3", needed by some providers
701
+ "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.
702
+ }
703
+ },
704
+ "agents": [
705
+ {
706
+ "name": "image_creator",
707
+ "instructions": "You are a creative assistant that generates images based on user descriptions. Use the image_gen tool to create and store the image.",
708
+ "specialization": "Image generation and storage",
709
+ "tools": ["image_gen"], # Enable the tool for this agent
710
+ }
711
+ ]
712
+ }
713
+
714
+ solana_agent = SolanaAgent(config=config)
715
+
716
+ async for response in solana_agent.process("user123", "Generate an image of a smiling unicorn!"):
717
+ print(response, end="")
718
+ ```
719
+
712
720
  ### Inline Tool Example
713
721
 
714
722
  ```python
@@ -914,4 +922,3 @@ To run the test suite locally run `poetry run pytest --cov=solana_agent --cov-re
914
922
  ## License
915
923
 
916
924
  This project is licensed under the MIT License - see the LICENSE file for details.
917
-
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "solana-agent"
3
- version = "28.3.1"
3
+ version = "28.3.3"
4
4
  description = "AI Agents for Solana"
5
5
  authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
6
6
  license = "MIT"
@@ -24,20 +24,20 @@ python_paths = [".", "tests"]
24
24
 
25
25
  [tool.poetry.dependencies]
26
26
  python = ">=3.12,<4.0"
27
- openai = "^1.75.0"
27
+ openai = "1.76.2"
28
28
  pydantic = ">=2"
29
- pymongo = "^4.12.0"
30
- zep-cloud = "^2.10.2"
31
- instructor = "^1.7.9"
32
- pinecone = "^6.0.2"
33
- llama-index-core = "^0.12.32"
34
- llama-index-embeddings-openai = "^0.3.1"
35
- pypdf = "^5.4.0"
36
- scrubadub = "^2.0.1"
37
- logfire = "^3.14.0"
38
- typer = "^0.15.2"
39
- rich = ">=13"
40
- pillow = "^11.2.1"
29
+ pymongo = "4.12.1"
30
+ zep-cloud = "2.11.0"
31
+ instructor = "1.7.9"
32
+ pinecone = "6.0.2"
33
+ llama-index-core = "0.12.32"
34
+ llama-index-embeddings-openai = "0.3.1"
35
+ pypdf = "5.4.0"
36
+ scrubadub = "2.0.1"
37
+ logfire = "3.14.1"
38
+ typer = "0.15.3"
39
+ rich = ">=13,<14.0"
40
+ pillow = "11.2.1"
41
41
 
42
42
  [tool.poetry.group.dev.dependencies]
43
43
  pytest = "^8.3.5"
@@ -50,7 +50,7 @@ sphinx-rtd-theme = "^3.0.2"
50
50
  myst-parser = "^4.0.1"
51
51
  sphinx-autobuild = "^2024.10.3"
52
52
  mongomock = "^4.3.0"
53
- ruff = "^0.11.6"
53
+ ruff = "^0.11.7"
54
54
 
55
55
  [tool.poetry.scripts]
56
56
  solana-agent = "solana_agent.cli:app"
File without changes