diff --git a/api/app.py b/api/app.py index aa2d59e..a6b5dc8 100644 --- a/api/app.py +++ b/api/app.py @@ -86,6 +86,20 @@ async def lifespan(app: FastAPI): session_store=session_store, ) + # Restore tree state if available + if session_store._trees: + logger.info( + f"Restoring {len(session_store._trees)} conversation trees..." + ) + from messaging.tree_queue import TreeQueueManager + + message_handler.tree_queue = TreeQueueManager.from_dict( + { + "trees": session_store._trees, + "node_to_tree": session_store._node_to_tree, + } + ) + # Wire up the handler messaging_platform.on_message(message_handler.handle_message) diff --git a/api/dependencies.py b/api/dependencies.py index 5ae85d9..804bfdf 100644 --- a/api/dependencies.py +++ b/api/dependencies.py @@ -34,5 +34,5 @@ async def cleanup_provider(): """Cleanup provider resources.""" global _provider if _provider and hasattr(_provider, "_client"): - await _provider._client.aclose() + await _provider._client.close() _provider = None