solana-agent 29.2.1__tar.gz → 29.2.2__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-29.2.1 → solana_agent-29.2.2}/PKG-INFO +49 -18
  2. {solana_agent-29.2.1 → solana_agent-29.2.2}/README.md +48 -17
  3. {solana_agent-29.2.1 → solana_agent-29.2.2}/pyproject.toml +1 -1
  4. {solana_agent-29.2.1 → solana_agent-29.2.2}/LICENSE +0 -0
  5. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/__init__.py +0 -0
  6. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/adapters/__init__.py +0 -0
  7. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/adapters/mongodb_adapter.py +0 -0
  8. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/adapters/openai_adapter.py +0 -0
  9. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/adapters/pinecone_adapter.py +0 -0
  10. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/cli.py +0 -0
  11. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/client/__init__.py +0 -0
  12. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/client/solana_agent.py +0 -0
  13. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/domains/__init__.py +0 -0
  14. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/domains/agent.py +0 -0
  15. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/domains/routing.py +0 -0
  16. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/factories/__init__.py +0 -0
  17. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/factories/agent_factory.py +0 -0
  18. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/guardrails/pii.py +0 -0
  19. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/__init__.py +0 -0
  20. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/client/client.py +0 -0
  21. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/guardrails/guardrails.py +0 -0
  22. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/plugins/plugins.py +0 -0
  23. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/providers/data_storage.py +0 -0
  24. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/providers/llm.py +0 -0
  25. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/providers/memory.py +0 -0
  26. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/providers/vector_storage.py +0 -0
  27. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/services/agent.py +0 -0
  28. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/services/knowledge_base.py +0 -0
  29. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/services/query.py +0 -0
  30. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/interfaces/services/routing.py +0 -0
  31. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/plugins/__init__.py +0 -0
  32. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/plugins/manager.py +0 -0
  33. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/plugins/registry.py +0 -0
  34. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/plugins/tools/__init__.py +0 -0
  35. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/plugins/tools/auto_tool.py +0 -0
  36. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/repositories/__init__.py +0 -0
  37. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/repositories/memory.py +0 -0
  38. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/services/__init__.py +0 -0
  39. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/services/agent.py +0 -0
  40. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/services/knowledge_base.py +0 -0
  41. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/services/query.py +0 -0
  42. {solana_agent-29.2.1 → solana_agent-29.2.2}/solana_agent/services/routing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: solana-agent
3
- Version: 29.2.1
3
+ Version: 29.2.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
@@ -54,7 +54,7 @@ Build your AI agents in three lines of code!
54
54
  * Simple Agent Definition
55
55
  * Fast Responses
56
56
  * Multi-Vendor Support
57
- * Solana Ecosystem Integration
57
+ * Solana Integration
58
58
  * Multi-Agent Swarm
59
59
  * Multi-Modal (Images & Audio & Text)
60
60
  * Conversational Memory & History
@@ -79,7 +79,7 @@ Build your AI agents in three lines of code!
79
79
  * Simple agent definition using JSON
80
80
  * Fast AI responses
81
81
  * Multi-vendor support including OpenAI, Grok, and Gemini AI services
82
- * Solana Ecosystem Integration via [AgentiPy](https://github.com/niceberginc/agentipy)
82
+ * Solana Integration with transfers and swaps
83
83
  * MCP tool usage with first-class support for [Zapier](https://zapier.com/mcp)
84
84
  * Integrated observability and tracing via [Pydantic Logfire](https://pydantic.dev/logfire)
85
85
  * Designed for a multi-agent swarm
@@ -106,7 +106,6 @@ Build your AI agents in three lines of code!
106
106
  * [MongoDB](https://mongodb.com) - Conversational History (optional)
107
107
  * [Zep Cloud](https://getzep.com) - Conversational Memory (optional)
108
108
  * [Pinecone](https://pinecone.io) - Knowledge Base (optional)
109
- * [AgentiPy](https://agentipy.fun) - Solana Ecosystem (optional)
110
109
  * [Zapier](https://zapier.com) - App Integrations (optional)
111
110
  * [Pydantic Logfire](https://pydantic.dev/logfire) - Observability and Tracing (optional)
112
111
 
@@ -656,36 +655,68 @@ Tools empower agents to interact with external systems, fetch data, or perform a
656
655
 
657
656
  Tools can be used from plugins like Solana Agent Kit (sakit) or via inline tools. Tools available via plugins integrate automatically with Solana Agent.
658
657
 
659
- * 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)
660
- * Agents choose the best tools for the job
661
- * Solana Agent doesn't use OpenAI function calling (tools) as they don't support async functions
662
- * Solana Agent tools are async functions
658
+ ### Solana Transfer
663
659
 
664
- ### Solana
660
+ This plugin enables Solana Agent to transfer SOL and SPL tokens from the agent's wallet to the destination wallet.
661
+
662
+ Don't use tickers - but mint addresses in your user queries.
665
663
 
666
664
  `pip install sakit`
667
665
 
668
666
  ```python
669
667
  config = {
670
668
  "tools": {
671
- "solana": {
672
- "private_key": "your-solana-wallet-private-key", # base58 encoded string
673
- "rpc_url": "your-solana-rpc-url",
669
+ "solana_transfer": {
670
+ "rpc_url": "my-rpc-url", # Required - your RPC URL - Helius is recommended
671
+ "private_key": "my-private-key", # Required - base58 string - please use env vars to store the key as it is very confidential
674
672
  },
675
673
  },
676
674
  "agents": [
677
675
  {
678
676
  "name": "solana_expert",
679
- "instructions": "You are an expert Solana blockchain assistant. You always use the Solana tool to perform actions on the Solana blockchain.",
680
- "specialization": "Solana blockchain interaction",
681
- "tools": ["solana"], # Enable the tool for this agent
677
+ "instructions": "You are a Solana expert that can transfer tokens.",
678
+ "specialization": "Solana Blockchain",
679
+ "tools": ["solana_transfer"], # Enable the tool for this agent
682
680
  }
683
- ]
681
+ ],
682
+ }
683
+
684
+ solana_agent = SolanaAgent(config=config)
685
+
686
+ async for response in solana_agent.process("user123", "Transfer 0.01 Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB to DzvqBkUHUhuhHtNKGWSCVEAm2rHdm9bxxdQYC6mZBZyF"):
687
+ print(response, end="")
688
+ ```
689
+
690
+ ### Solana Swap
691
+
692
+ This plugin enables Solana Agent to trade (swap) tokens using Jupiter.
693
+
694
+ Don't use tickers - but mint addresses in your user queries.
695
+
696
+ `pip install sakit`
697
+
698
+ ```python
699
+ config = {
700
+ "tools": {
701
+ "solana_swap": {
702
+ "rpc_url": "my-rpc-url", # Required - your RPC URL - Helius is recommended
703
+ "private_key": "my-private-key", # Required - base58 string - please use env vars to store the key as it is very confidential
704
+ "jupiter_url": "my-custom-url" # Optional - if you are using a custom Jupiter service like Metis from QuickNode
705
+ },
706
+ },
707
+ "agents": [
708
+ {
709
+ "name": "solana_expert",
710
+ "instructions": "You are a Solana expert that can swap tokens.",
711
+ "specialization": "Solana Blockchain",
712
+ "tools": ["solana_swap"], # Enable the tool for this agent
713
+ }
714
+ ],
684
715
  }
685
716
 
686
717
  solana_agent = SolanaAgent(config=config)
687
718
 
688
- async for response in solana_agent.process("user123", "What is my SOL balance?"):
719
+ async for response in solana_agent.process("user123", "Swap 0.01 Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB to So11111111111111111111111111111111111111112"):
689
720
  print(response, end="")
690
721
  ```
691
722
 
@@ -737,7 +768,7 @@ from solana_agent import SolanaAgent
737
768
  config = {
738
769
  "tools": {
739
770
  "mcp": {
740
- "urls": ["my-zapier-mcp-url"],
771
+ "url": "my-zapier-mcp-url",
741
772
  }
742
773
  },
743
774
  "agents": [
@@ -19,7 +19,7 @@ Build your AI agents in three lines of code!
19
19
  * Simple Agent Definition
20
20
  * Fast Responses
21
21
  * Multi-Vendor Support
22
- * Solana Ecosystem Integration
22
+ * Solana Integration
23
23
  * Multi-Agent Swarm
24
24
  * Multi-Modal (Images & Audio & Text)
25
25
  * Conversational Memory & History
@@ -44,7 +44,7 @@ Build your AI agents in three lines of code!
44
44
  * Simple agent definition using JSON
45
45
  * Fast AI responses
46
46
  * Multi-vendor support including OpenAI, Grok, and Gemini AI services
47
- * Solana Ecosystem Integration via [AgentiPy](https://github.com/niceberginc/agentipy)
47
+ * Solana Integration with transfers and swaps
48
48
  * MCP tool usage with first-class support for [Zapier](https://zapier.com/mcp)
49
49
  * Integrated observability and tracing via [Pydantic Logfire](https://pydantic.dev/logfire)
50
50
  * Designed for a multi-agent swarm
@@ -71,7 +71,6 @@ Build your AI agents in three lines of code!
71
71
  * [MongoDB](https://mongodb.com) - Conversational History (optional)
72
72
  * [Zep Cloud](https://getzep.com) - Conversational Memory (optional)
73
73
  * [Pinecone](https://pinecone.io) - Knowledge Base (optional)
74
- * [AgentiPy](https://agentipy.fun) - Solana Ecosystem (optional)
75
74
  * [Zapier](https://zapier.com) - App Integrations (optional)
76
75
  * [Pydantic Logfire](https://pydantic.dev/logfire) - Observability and Tracing (optional)
77
76
 
@@ -621,36 +620,68 @@ Tools empower agents to interact with external systems, fetch data, or perform a
621
620
 
622
621
  Tools can be used from plugins like Solana Agent Kit (sakit) or via inline tools. Tools available via plugins integrate automatically with Solana Agent.
623
622
 
624
- * 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)
625
- * Agents choose the best tools for the job
626
- * Solana Agent doesn't use OpenAI function calling (tools) as they don't support async functions
627
- * Solana Agent tools are async functions
623
+ ### Solana Transfer
628
624
 
629
- ### Solana
625
+ This plugin enables Solana Agent to transfer SOL and SPL tokens from the agent's wallet to the destination wallet.
626
+
627
+ Don't use tickers - but mint addresses in your user queries.
630
628
 
631
629
  `pip install sakit`
632
630
 
633
631
  ```python
634
632
  config = {
635
633
  "tools": {
636
- "solana": {
637
- "private_key": "your-solana-wallet-private-key", # base58 encoded string
638
- "rpc_url": "your-solana-rpc-url",
634
+ "solana_transfer": {
635
+ "rpc_url": "my-rpc-url", # Required - your RPC URL - Helius is recommended
636
+ "private_key": "my-private-key", # Required - base58 string - please use env vars to store the key as it is very confidential
639
637
  },
640
638
  },
641
639
  "agents": [
642
640
  {
643
641
  "name": "solana_expert",
644
- "instructions": "You are an expert Solana blockchain assistant. You always use the Solana tool to perform actions on the Solana blockchain.",
645
- "specialization": "Solana blockchain interaction",
646
- "tools": ["solana"], # Enable the tool for this agent
642
+ "instructions": "You are a Solana expert that can transfer tokens.",
643
+ "specialization": "Solana Blockchain",
644
+ "tools": ["solana_transfer"], # Enable the tool for this agent
647
645
  }
648
- ]
646
+ ],
647
+ }
648
+
649
+ solana_agent = SolanaAgent(config=config)
650
+
651
+ async for response in solana_agent.process("user123", "Transfer 0.01 Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB to DzvqBkUHUhuhHtNKGWSCVEAm2rHdm9bxxdQYC6mZBZyF"):
652
+ print(response, end="")
653
+ ```
654
+
655
+ ### Solana Swap
656
+
657
+ This plugin enables Solana Agent to trade (swap) tokens using Jupiter.
658
+
659
+ Don't use tickers - but mint addresses in your user queries.
660
+
661
+ `pip install sakit`
662
+
663
+ ```python
664
+ config = {
665
+ "tools": {
666
+ "solana_swap": {
667
+ "rpc_url": "my-rpc-url", # Required - your RPC URL - Helius is recommended
668
+ "private_key": "my-private-key", # Required - base58 string - please use env vars to store the key as it is very confidential
669
+ "jupiter_url": "my-custom-url" # Optional - if you are using a custom Jupiter service like Metis from QuickNode
670
+ },
671
+ },
672
+ "agents": [
673
+ {
674
+ "name": "solana_expert",
675
+ "instructions": "You are a Solana expert that can swap tokens.",
676
+ "specialization": "Solana Blockchain",
677
+ "tools": ["solana_swap"], # Enable the tool for this agent
678
+ }
679
+ ],
649
680
  }
650
681
 
651
682
  solana_agent = SolanaAgent(config=config)
652
683
 
653
- async for response in solana_agent.process("user123", "What is my SOL balance?"):
684
+ async for response in solana_agent.process("user123", "Swap 0.01 Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB to So11111111111111111111111111111111111111112"):
654
685
  print(response, end="")
655
686
  ```
656
687
 
@@ -702,7 +733,7 @@ from solana_agent import SolanaAgent
702
733
  config = {
703
734
  "tools": {
704
735
  "mcp": {
705
- "urls": ["my-zapier-mcp-url"],
736
+ "url": "my-zapier-mcp-url",
706
737
  }
707
738
  },
708
739
  "agents": [
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "solana-agent"
3
- version = "29.2.1"
3
+ version = "29.2.2"
4
4
  description = "AI Agents for Solana"
5
5
  authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
6
6
  license = "MIT"
File without changes