Spaces:
Running
Running
fix: sync scheduler memory manager factory
Browse files- api/state.py +18 -0
api/state.py
CHANGED
|
@@ -161,6 +161,24 @@ def _get_planner() -> Any:
|
|
| 161 |
except Exception: _planner = None
|
| 162 |
return _planner
|
| 163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 164 |
# ββ Prune helpers βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 165 |
def _prune_checkpoints() -> None:
|
| 166 |
now = int(time.time() * 1000)
|
|
|
|
| 161 |
except Exception: _planner = None
|
| 162 |
return _planner
|
| 163 |
|
| 164 |
+
|
| 165 |
+
_memory_manager: Any = None
|
| 166 |
+
_memory_manager_lock = _asyncio_mod.Lock()
|
| 167 |
+
|
| 168 |
+
async def _get_mem_manager_async() -> Any:
|
| 169 |
+
"""Return the shared initialized MemoryManager for agent runs."""
|
| 170 |
+
global _memory_manager
|
| 171 |
+
if _memory_manager is not None:
|
| 172 |
+
return _memory_manager
|
| 173 |
+
async with _memory_manager_lock:
|
| 174 |
+
if _memory_manager is not None:
|
| 175 |
+
return _memory_manager
|
| 176 |
+
from memory.manager import MemoryManager
|
| 177 |
+
manager = MemoryManager(sb_client=_get_sb())
|
| 178 |
+
await manager.init()
|
| 179 |
+
_memory_manager = manager
|
| 180 |
+
return _memory_manager
|
| 181 |
+
|
| 182 |
# ββ Prune helpers βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 183 |
def _prune_checkpoints() -> None:
|
| 184 |
now = int(time.time() * 1000)
|