From f5aa97f02bf351eeb697341f8613f32e3466bc1f Mon Sep 17 00:00:00 2001 From: cthomas Date: Fri, 30 May 2025 12:51:19 -0700 Subject: [PATCH] feat: disable session reuse after close (#2547) --- letta/server/db.py | 2 +- letta/services/identity_manager.py | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/letta/server/db.py b/letta/server/db.py index ba2f6b4e..1471af17 100644 --- a/letta/server/db.py +++ b/letta/server/db.py @@ -131,7 +131,7 @@ class DatabaseRegistry: # Create async session factory self._async_engines["default"] = async_engine self._async_session_factories["default"] = async_sessionmaker( - autocommit=False, autoflush=False, bind=self._async_engines["default"], class_=AsyncSession + close_resets_only=False, autocommit=False, autoflush=False, bind=self._async_engines["default"], class_=AsyncSession ) self._initialized["async"] = True diff --git a/letta/services/identity_manager.py b/letta/services/identity_manager.py index c13e8392..97fc9765 100644 --- a/letta/services/identity_manager.py +++ b/letta/services/identity_manager.py @@ -93,19 +93,19 @@ class IdentityManager: actor=actor, ) - if existing_identity is None: - return await self.create_identity_async(identity=IdentityCreate(**identity.model_dump()), actor=actor) - else: - identity_update = IdentityUpdate( - name=identity.name, - identifier_key=identity.identifier_key, - identity_type=identity.identity_type, - agent_ids=identity.agent_ids, - properties=identity.properties, - ) - return await self._update_identity_async( - session=session, existing_identity=existing_identity, identity=identity_update, actor=actor, replace=True - ) + if existing_identity is None: + return await self.create_identity_async(identity=IdentityCreate(**identity.model_dump()), actor=actor) + else: + identity_update = IdentityUpdate( + name=identity.name, + identifier_key=identity.identifier_key, + identity_type=identity.identity_type, + agent_ids=identity.agent_ids, + properties=identity.properties, + ) + return await self._update_identity_async( + session=session, existing_identity=existing_identity, identity=identity_update, actor=actor, replace=True + ) @enforce_types @trace_method