solana-agent 30.0.9__tar.gz → 31.0.0__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-30.0.9 → solana_agent-31.0.0}/PKG-INFO +9 -9
  2. {solana_agent-30.0.9 → solana_agent-31.0.0}/pyproject.toml +11 -11
  3. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/repositories/memory.py +18 -10
  4. {solana_agent-30.0.9 → solana_agent-31.0.0}/LICENSE +0 -0
  5. {solana_agent-30.0.9 → solana_agent-31.0.0}/README.md +0 -0
  6. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/__init__.py +0 -0
  7. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/adapters/__init__.py +0 -0
  8. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/adapters/mongodb_adapter.py +0 -0
  9. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/adapters/openai_adapter.py +0 -0
  10. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/adapters/pinecone_adapter.py +0 -0
  11. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/cli.py +0 -0
  12. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/client/__init__.py +0 -0
  13. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/client/solana_agent.py +0 -0
  14. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/domains/__init__.py +0 -0
  15. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/domains/agent.py +0 -0
  16. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/domains/routing.py +0 -0
  17. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/factories/__init__.py +0 -0
  18. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/factories/agent_factory.py +0 -0
  19. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/guardrails/pii.py +0 -0
  20. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/__init__.py +0 -0
  21. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/client/client.py +0 -0
  22. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/guardrails/guardrails.py +0 -0
  23. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/plugins/plugins.py +0 -0
  24. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/providers/data_storage.py +0 -0
  25. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/providers/llm.py +0 -0
  26. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/providers/memory.py +0 -0
  27. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/providers/vector_storage.py +0 -0
  28. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/services/agent.py +0 -0
  29. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/services/knowledge_base.py +0 -0
  30. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/services/query.py +0 -0
  31. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/interfaces/services/routing.py +0 -0
  32. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/plugins/__init__.py +0 -0
  33. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/plugins/manager.py +0 -0
  34. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/plugins/registry.py +0 -0
  35. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/plugins/tools/__init__.py +0 -0
  36. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/plugins/tools/auto_tool.py +0 -0
  37. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/repositories/__init__.py +0 -0
  38. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/services/__init__.py +0 -0
  39. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/services/agent.py +0 -0
  40. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/services/knowledge_base.py +0 -0
  41. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/services/query.py +0 -0
  42. {solana_agent-30.0.9 → solana_agent-31.0.0}/solana_agent/services/routing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: solana-agent
3
- Version: 30.0.9
3
+ Version: 31.0.0
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 (==1.9.2)
18
- Requires-Dist: llama-index-core (==0.12.48)
19
- Requires-Dist: llama-index-embeddings-openai (==0.3.1)
20
- Requires-Dist: logfire (==3.23.0)
21
- Requires-Dist: openai (==1.93.3)
17
+ Requires-Dist: instructor (==1.10.0)
18
+ Requires-Dist: llama-index-core (==0.13.0)
19
+ Requires-Dist: llama-index-embeddings-openai (==0.5.0)
20
+ Requires-Dist: logfire (==4.2.0)
21
+ Requires-Dist: openai (==1.99.3)
22
22
  Requires-Dist: pillow (==11.3.0)
23
23
  Requires-Dist: pinecone (==7.3.0)
24
24
  Requires-Dist: pydantic (>=2)
25
- Requires-Dist: pymongo (==4.13.2)
26
- Requires-Dist: pypdf (==5.7.0)
25
+ Requires-Dist: pymongo (==4.14.0)
26
+ Requires-Dist: pypdf (==5.9.0)
27
27
  Requires-Dist: rich (>=13,<14.0)
28
28
  Requires-Dist: scrubadub (==2.0.1)
29
29
  Requires-Dist: typer (==0.16.0)
30
- Requires-Dist: zep-cloud (==2.17.0)
30
+ Requires-Dist: zep-cloud (==3.1.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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "solana-agent"
3
- version = "30.0.9"
3
+ version = "31.0.0"
4
4
  description = "AI Agents for Solana"
5
5
  authors = ["Bevan Hunt <bevan@bevanhunt.com>"]
6
6
  license = "MIT"
@@ -24,17 +24,17 @@ python_paths = [".", "tests"]
24
24
 
25
25
  [tool.poetry.dependencies]
26
26
  python = ">=3.12,<4.0"
27
- openai = "1.93.3"
27
+ openai = "1.99.3"
28
28
  pydantic = ">=2"
29
- pymongo = "4.13.2"
30
- zep-cloud = "2.17.0"
31
- instructor = "1.9.2"
29
+ pymongo = "4.14.0"
30
+ zep-cloud = "3.1.0"
31
+ instructor = "1.10.0"
32
32
  pinecone = "7.3.0"
33
- llama-index-core = "0.12.48"
34
- llama-index-embeddings-openai = "0.3.1"
35
- pypdf = "5.7.0"
33
+ llama-index-core = "0.13.0"
34
+ llama-index-embeddings-openai = "0.5.0"
35
+ pypdf = "5.9.0"
36
36
  scrubadub = "2.0.1"
37
- logfire = "3.23.0"
37
+ logfire = "4.2.0"
38
38
  typer = "0.16.0"
39
39
  rich = ">=13,<14.0"
40
40
  pillow = "11.3.0"
@@ -42,7 +42,7 @@ pillow = "11.3.0"
42
42
  [tool.poetry.group.dev.dependencies]
43
43
  pytest = "^8.4.0"
44
44
  pytest-cov = "^6.1.1"
45
- pytest-asyncio = "^1.0.0"
45
+ pytest-asyncio = "^1.1.0"
46
46
  pytest-mock = "^3.14.0"
47
47
  pytest-github-actions-annotate-failures = "^0.3.0"
48
48
  sphinx = "^8.2.3"
@@ -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.12.2"
53
+ ruff = "^0.12.8"
54
54
 
55
55
  [tool.poetry.scripts]
56
56
  solana-agent = "solana_agent.cli:app"
@@ -43,7 +43,7 @@ class MemoryRepository(MemoryProvider):
43
43
 
44
44
  async def store(self, user_id: str, messages: List[Dict[str, Any]]) -> None:
45
45
  """Store messages in both Zep and MongoDB."""
46
- if not user_id:
46
+ if not user_id or user_id == "" or not isinstance(user_id, str):
47
47
  raise ValueError("User ID cannot be None or empty")
48
48
  if not messages or not isinstance(messages, list):
49
49
  raise ValueError("Messages must be a non-empty list")
@@ -92,20 +92,24 @@ class MemoryRepository(MemoryProvider):
92
92
 
93
93
  # Convert messages to Zep format
94
94
  zep_messages = []
95
+
95
96
  for msg in messages:
96
97
  if "role" in msg and "content" in msg:
97
98
  content = self._truncate(deepcopy(msg["content"]))
99
+ role_type = "user" if msg["role"] == "user" else "assistant"
98
100
  zep_msg = Message(
99
- role=msg["role"],
100
101
  content=content,
101
- role_type=msg["role"],
102
+ role=role_type,
102
103
  )
103
104
  zep_messages.append(zep_msg)
104
105
 
105
106
  # Add messages to Zep memory
106
107
  if zep_messages:
107
108
  try:
108
- await self.zep.memory.add(session_id=user_id, messages=zep_messages)
109
+ await self.zep.thread.add_messages(
110
+ thread_id=user_id,
111
+ messages=zep_messages,
112
+ )
109
113
  except Exception:
110
114
  try:
111
115
  try:
@@ -116,14 +120,18 @@ class MemoryRepository(MemoryProvider):
116
120
  ) # Use logger.error
117
121
 
118
122
  try:
119
- await self.zep.memory.add_session(
120
- session_id=user_id, user_id=user_id
123
+ await self.zep.thread.create(
124
+ thread_id=user_id,
125
+ user_id=user_id,
121
126
  )
122
127
  except Exception as e:
123
128
  logger.error(
124
- f"Zep session creation error: {e}"
129
+ f"Zep thread creation error: {e}"
125
130
  ) # Use logger.error
126
- await self.zep.memory.add(session_id=user_id, messages=zep_messages)
131
+ await self.zep.thread.add_messages(
132
+ thread_id=user_id,
133
+ messages=zep_messages,
134
+ )
127
135
  except Exception as e:
128
136
  logger.error(f"Zep memory addition error: {e}") # Use logger.error
129
137
  return
@@ -133,7 +141,7 @@ class MemoryRepository(MemoryProvider):
133
141
  try:
134
142
  memories = ""
135
143
  if self.zep:
136
- memory = await self.zep.memory.get(session_id=user_id)
144
+ memory = await self.zep.thread.get_user_context(thread_id=user_id)
137
145
  if memory and memory.context:
138
146
  memories = memory.context
139
147
 
@@ -155,7 +163,7 @@ class MemoryRepository(MemoryProvider):
155
163
  return
156
164
 
157
165
  try:
158
- await self.zep.memory.delete(session_id=user_id)
166
+ await self.zep.thread.delete(thread_id=user_id)
159
167
  except Exception as e:
160
168
  logger.error(f"Zep memory deletion error: {e}") # Use logger.error
161
169
 
File without changes
File without changes