autourgos-buffer-memory 2.1.2__tar.gz → 2.2.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 (17) hide show
  1. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/PKG-INFO +3 -2
  2. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/autourgos_buffer_memory/__init__.py +3 -6
  3. autourgos_buffer_memory-2.2.0/autourgos_buffer_memory/base.py +18 -0
  4. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/autourgos_buffer_memory/memory.py +5 -25
  5. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/autourgos_buffer_memory.egg-info/PKG-INFO +3 -2
  6. autourgos_buffer_memory-2.2.0/autourgos_buffer_memory.egg-info/requires.txt +2 -0
  7. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/pyproject.toml +2 -2
  8. autourgos_buffer_memory-2.1.2/autourgos_buffer_memory/base.py +0 -8
  9. autourgos_buffer_memory-2.1.2/autourgos_buffer_memory.egg-info/requires.txt +0 -1
  10. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/LICENSE +0 -0
  11. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/README.md +0 -0
  12. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/autourgos_buffer_memory/py.typed +0 -0
  13. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/autourgos_buffer_memory.egg-info/SOURCES.txt +0 -0
  14. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/autourgos_buffer_memory.egg-info/dependency_links.txt +0 -0
  15. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/autourgos_buffer_memory.egg-info/top_level.txt +0 -0
  16. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/setup.cfg +0 -0
  17. {autourgos_buffer_memory-2.1.2 → autourgos_buffer_memory-2.2.0}/tests/test_memory.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autourgos-buffer-memory
3
- Version: 2.1.2
3
+ Version: 2.2.0
4
4
  Summary: In-memory short-term buffer for Autourgos agents — RuntimeShortTermMemory, ConversationBufferMemory.
5
5
  Author-email: Jitin Kumar Sengar <devxjitin@gmail.com>
6
6
  Maintainer: Sonia, Vishwanil Suman
@@ -221,7 +221,8 @@ Classifier: Programming Language :: Python :: 3.12
221
221
  Requires-Python: >=3.9
222
222
  Description-Content-Type: text/markdown
223
223
  License-File: LICENSE
224
- Requires-Dist: autourgos-memory>=1.0.1
224
+ Requires-Dist: autourgos-memory>=1.2.0
225
+ Requires-Dist: autourgos-core>=0.3.0
225
226
  Dynamic: license-file
226
227
 
227
228
  # autourgos-buffer-memory
@@ -9,11 +9,8 @@ from .memory import RuntimeShortTermMemory, ConversationBufferMemory, ExpiringBu
9
9
 
10
10
  logger = logging.getLogger(__name__)
11
11
 
12
- try:
13
- from importlib.metadata import version as _v
14
- __version__ = _v("autourgos-buffer-memory")
15
- except Exception:
16
- logger.debug("could not resolve installed version for autourgos-buffer-memory", exc_info=True)
17
- __version__ = "2.1.2"
12
+ from autourgos_core import package_version
13
+
14
+ __version__ = package_version("autourgos-buffer-memory", fallback="2.1.3", logger=logger)
18
15
 
19
16
  __all__ = ["RuntimeShortTermMemory", "ConversationBufferMemory", "ExpiringBufferMemory"]
@@ -0,0 +1,18 @@
1
+ """
2
+ base.py — Re-exports BaseMemory, BaseRetriever, Document, and MemoryMessage
3
+ from autourgos-memory, the package that owns these interfaces, to avoid
4
+ divergent duplicate copies across the memory-family packages.
5
+ """
6
+ from autourgos_memory import (
7
+ ROLE_TO_OPENAI,
8
+ BaseMemory,
9
+ BaseRetriever,
10
+ Document,
11
+ MemoryMessage,
12
+ format_conversation_banner,
13
+ )
14
+
15
+ __all__ = [
16
+ "BaseMemory", "BaseRetriever", "Document", "MemoryMessage",
17
+ "format_conversation_banner", "ROLE_TO_OPENAI",
18
+ ]
@@ -7,7 +7,7 @@ import threading
7
7
  from datetime import datetime, timedelta, timezone
8
8
  from typing import Dict, List, Optional, Tuple
9
9
 
10
- from .base import BaseMemory, MemoryMessage
10
+ from .base import BaseMemory, MemoryMessage, ROLE_TO_OPENAI, format_conversation_banner
11
11
 
12
12
 
13
13
  class RuntimeShortTermMemory(BaseMemory):
@@ -35,30 +35,14 @@ class RuntimeShortTermMemory(BaseMemory):
35
35
  self._messages = self._messages[-self.max_messages:]
36
36
  return msg
37
37
 
38
- def add_user_message(self, content: str) -> MemoryMessage:
39
- return self.add_message("user", content)
40
-
41
- def add_agent_message(self, content: str) -> MemoryMessage:
42
- return self.add_message("agent", content)
43
-
44
- def add_system_message(self, content: str) -> MemoryMessage:
45
- return self.add_message("system", content)
46
-
47
- def add_tool_message(self, tool_name: str, result: str) -> MemoryMessage:
48
- return self.add_message("tool", f"[{tool_name} returned]: {result}")
49
-
50
38
  def get_messages(self) -> List[Dict[str, str]]:
51
- _ROLE = {"user": "user", "agent": "assistant", "system": "system", "tool": "tool"}
52
- return [{"role": _ROLE.get(m.role, m.role), "content": m.content} for m in self._messages]
39
+ return [{"role": ROLE_TO_OPENAI.get(m.role, m.role), "content": m.content} for m in self._messages]
53
40
 
54
41
  def clear(self) -> None:
55
42
  self._messages = []
56
43
 
57
44
  def format_for_llm(self, query: Optional[str] = None) -> str:
58
- if not self._messages:
59
- return ""
60
- lines = "\n".join(f"{m.role}: {m.content}" for m in self._messages)
61
- return f"\n--- Previous Conversation Context ---\n{lines}\n--------------------------------------\n"
45
+ return format_conversation_banner(self._messages, include_timestamps=False)
62
46
 
63
47
 
64
48
  class ConversationBufferMemory(RuntimeShortTermMemory):
@@ -152,8 +136,7 @@ class ExpiringBufferMemory(BaseMemory):
152
136
  def get_messages(self) -> List[Dict[str, str]]:
153
137
  with self._lock:
154
138
  self._purge_expired()
155
- _ROLE = {"user": "user", "agent": "assistant", "system": "system", "tool": "tool"}
156
- return [{"role": _ROLE.get(m.role, m.role), "content": m.content} for m, _ in self._entries]
139
+ return [{"role": ROLE_TO_OPENAI.get(m.role, m.role), "content": m.content} for m, _ in self._entries]
157
140
 
158
141
  def clear(self) -> None:
159
142
  with self._lock:
@@ -162,7 +145,4 @@ class ExpiringBufferMemory(BaseMemory):
162
145
  def format_for_llm(self, query: Optional[str] = None) -> str:
163
146
  with self._lock:
164
147
  self._purge_expired()
165
- if not self._entries:
166
- return ""
167
- lines = "\n".join(f"{m.role}: {m.content}" for m, _ in self._entries)
168
- return f"\n--- Previous Conversation Context ---\n{lines}\n--------------------------------------\n"
148
+ return format_conversation_banner([m for m, _ in self._entries], include_timestamps=False)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autourgos-buffer-memory
3
- Version: 2.1.2
3
+ Version: 2.2.0
4
4
  Summary: In-memory short-term buffer for Autourgos agents — RuntimeShortTermMemory, ConversationBufferMemory.
5
5
  Author-email: Jitin Kumar Sengar <devxjitin@gmail.com>
6
6
  Maintainer: Sonia, Vishwanil Suman
@@ -221,7 +221,8 @@ Classifier: Programming Language :: Python :: 3.12
221
221
  Requires-Python: >=3.9
222
222
  Description-Content-Type: text/markdown
223
223
  License-File: LICENSE
224
- Requires-Dist: autourgos-memory>=1.0.1
224
+ Requires-Dist: autourgos-memory>=1.2.0
225
+ Requires-Dist: autourgos-core>=0.3.0
225
226
  Dynamic: license-file
226
227
 
227
228
  # autourgos-buffer-memory
@@ -0,0 +1,2 @@
1
+ autourgos-memory>=1.2.0
2
+ autourgos-core>=0.3.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "autourgos-buffer-memory"
7
- version = "2.1.2"
7
+ version = "2.2.0"
8
8
  description = "In-memory short-term buffer for Autourgos agents — RuntimeShortTermMemory, ConversationBufferMemory."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -27,7 +27,7 @@ classifiers = [
27
27
  "Programming Language :: Python :: 3.11",
28
28
  "Programming Language :: Python :: 3.12",
29
29
  ]
30
- dependencies = ["autourgos-memory>=1.0.1"]
30
+ dependencies = ["autourgos-memory>=1.2.0", "autourgos-core>=0.3.0"]
31
31
 
32
32
  [project.urls]
33
33
  Homepage = "https://github.com/devxjitin/autourgos-buffer-memory"
@@ -1,8 +0,0 @@
1
- """
2
- base.py — Re-exports BaseMemory, BaseRetriever, Document, and MemoryMessage
3
- from autourgos-memory, the package that owns these interfaces, to avoid
4
- divergent duplicate copies across the memory-family packages.
5
- """
6
- from autourgos_memory import BaseMemory, BaseRetriever, Document, MemoryMessage
7
-
8
- __all__ = ["BaseMemory", "BaseRetriever", "Document", "MemoryMessage"]
@@ -1 +0,0 @@
1
- autourgos-memory>=1.0.1