fix: add context isolation in CompositeAgent using deepcopy #37

Closed
aditya wants to merge 1 commits from fix/component-isolation-security-fix into tests/unit-tests
+3 -1
View File
@@ -20,6 +20,7 @@ from ..langgraph.bridge import RxPyLangGraphBridge
from ..reactive.stream_router import ReactiveStreamRouter
from ..templates.renderer import TemplateRenderer
from .base import Agent
import copy
logger = logging.getLogger(__name__)
@@ -168,7 +169,8 @@ class CompositeAgent(Agent): # pylint: disable=too-many-instance-attributes
This method satisfies the abstract base class requirement.
"""
return await self.process(message, context)
isolated_context = copy.deepcopy(context)
return await self.process(message, isolated_context)
async def process(
self, message: str, context: Optional[dict[str, Any]] = None