From bebe91e0a76d58282e0a8d0ac8ff41d337b38ab2 Mon Sep 17 00:00:00 2001 From: Hamza Khyari Date: Mon, 9 Mar 2026 16:11:19 +0000 Subject: [PATCH] fix(resource): add defensive copies for capabilities/auto_discovery/equivalence in as_cli_dict Complete F24 fix: capabilities, auto_discovery, and equivalence dicts were returned as direct references. Now wrapped with dict() to prevent callers from mutating internal state. --- src/cleveragents/domain/models/core/resource_type.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cleveragents/domain/models/core/resource_type.py b/src/cleveragents/domain/models/core/resource_type.py index 874b9bda..8c634749 100644 --- a/src/cleveragents/domain/models/core/resource_type.py +++ b/src/cleveragents/domain/models/core/resource_type.py @@ -482,12 +482,12 @@ class ResourceTypeSpec(BaseModel): if self.child_types: result["child_types"] = list(self.child_types) - result["capabilities"] = self.capabilities + result["capabilities"] = dict(self.capabilities) if self.auto_discovery is not None: - result["auto_discovery"] = self.auto_discovery + result["auto_discovery"] = dict(self.auto_discovery) if self.equivalence is not None: - result["equivalence"] = self.equivalence + result["equivalence"] = dict(self.equivalence) if self.handler is not None: result["handler"] = self.handler