bedrock-agentcore-starter-toolkit 0.1.15__py3-none-any.whl → 0.1.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of bedrock-agentcore-starter-toolkit might be problematic. Click here for more details.

@@ -47,6 +47,21 @@ class UniversalComparator:
47
47
  @staticmethod
48
48
  def _deep_compare_normalized(obj1: Any, obj2: Any, path: str = "") -> tuple[bool, str]:
49
49
  """Compare normalized objects recursively."""
50
+ # Special handling for namespaces - check this first before general type/None handling
51
+ if path == "namespaces":
52
+ # Skip validation if either is None/empty or both are None
53
+ # This allows server-side namespace assignment when not provided by user
54
+ if not obj1 or not obj2:
55
+ return True, ""
56
+ # Only validate if both are non-empty lists
57
+ if isinstance(obj1, list) and isinstance(obj2, list):
58
+ set1 = set(obj1) if obj1 else set()
59
+ set2 = set(obj2) if obj2 else set()
60
+ if set1 != set2:
61
+ return False, f"{path}: mismatch ({sorted(set1)} vs {sorted(set2)})"
62
+ return True, ""
63
+ # If not both lists, fall through to normal comparison
64
+
50
65
  # Handle None equivalence - treat None and empty values as equivalent
51
66
  if obj1 is None and obj2 is None:
52
67
  return True, ""
@@ -69,12 +84,18 @@ class UniversalComparator:
69
84
  val1 = obj1.get(key)
70
85
  val2 = obj2.get(key)
71
86
 
72
- # Special handling for namespaces - compare as sets (order-independent)
73
- if key == "namespaces" and isinstance(val1, list) and isinstance(val2, list):
74
- set1 = set(val1) if val1 else set()
75
- set2 = set(val2) if val2 else set()
76
- if set1 != set2:
77
- return False, f"{key_path}: mismatch ({sorted(set1)} vs {sorted(set2)})"
87
+ # Special handling for namespaces - only validate when both are non-empty lists
88
+ if key == "namespaces":
89
+ # Skip validation if either is None/empty or both are None
90
+ # This allows server-side namespace assignment when not provided by user
91
+ if not val1 or not val2:
92
+ continue
93
+ # Only validate if both are non-empty lists of strings
94
+ if isinstance(val1, list) and isinstance(val2, list):
95
+ set1 = set(val1) if val1 else set()
96
+ set2 = set(val2) if val2 else set()
97
+ if set1 != set2:
98
+ return False, f"{key_path}: mismatch ({sorted(set1)} vs {sorted(set2)})"
78
99
  continue
79
100
 
80
101
  matches, error = UniversalComparator._deep_compare_normalized(val1, val2, key_path)
@@ -84,14 +105,6 @@ class UniversalComparator:
84
105
  return True, ""
85
106
 
86
107
  elif isinstance(obj1, list):
87
- # Special case: if this is a namespaces list at the root level, compare as sets
88
- if path == "namespaces":
89
- set1 = set(obj1) if obj1 else set()
90
- set2 = set(obj2) if obj2 else set()
91
- if set1 != set2:
92
- return False, f"{path}: mismatch ({sorted(set1)} vs {sorted(set2)})"
93
- return True, ""
94
-
95
108
  if len(obj1) != len(obj2):
96
109
  return False, f"{path}: list length mismatch ({len(obj1)} vs {len(obj2)})"
97
110
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bedrock-agentcore-starter-toolkit
3
- Version: 0.1.15
3
+ Version: 0.1.16
4
4
  Summary: A starter toolkit for using Bedrock AgentCore
5
5
  Project-URL: Homepage, https://github.com/aws/bedrock-agentcore-starter-toolkit
6
6
  Project-URL: Bug Tracker, https://github.com/aws/bedrock-agentcore-starter-toolkit/issues
@@ -25,7 +25,7 @@ bedrock_agentcore_starter_toolkit/operations/memory/README.md,sha256=ruf0ljBArKP
25
25
  bedrock_agentcore_starter_toolkit/operations/memory/__init__.py,sha256=PAj25QAlnlvjaQIgfIpfxXXVXu5BTOXy-xDMDh6_HIc,59
26
26
  bedrock_agentcore_starter_toolkit/operations/memory/constants.py,sha256=0HWpxJZXmnmekIEW5TJjn9KmEqVi_REJzUN1l68ohYQ,3226
27
27
  bedrock_agentcore_starter_toolkit/operations/memory/manager.py,sha256=EwwNInqlIU3_d3dIphzp5ylNEEWISDduhlmjHkXrioA,44514
28
- bedrock_agentcore_starter_toolkit/operations/memory/strategy_validator.py,sha256=loMZj7BBvyDjaFfLkpfEaOdbqi_zw2pL2sZChze-Jj4,17972
28
+ bedrock_agentcore_starter_toolkit/operations/memory/strategy_validator.py,sha256=s01xd0x2cMNweuQdB6Fiyxz3RU3mTkHUC5zFW28jfXE,18754
29
29
  bedrock_agentcore_starter_toolkit/operations/memory/models/DictWrapper.py,sha256=GtPnR2NoZ9BXZX4fFYupG97T-YEet2NrBFlaDZIS-gM,1693
30
30
  bedrock_agentcore_starter_toolkit/operations/memory/models/Memory.py,sha256=As1b9al57zlYWUAHcwIuHjL-6QAsfH_zhxD8xU9gh3I,424
31
31
  bedrock_agentcore_starter_toolkit/operations/memory/models/MemoryStrategy.py,sha256=CnVfWqrSWefSxK5Oh1jllZRr1_JTnUvROLuuqTVVlWM,478
@@ -72,9 +72,9 @@ bedrock_agentcore_starter_toolkit/utils/runtime/templates/Dockerfile.j2,sha256=f
72
72
  bedrock_agentcore_starter_toolkit/utils/runtime/templates/dockerignore.template,sha256=b_70sBi0MwkTuA9TqxPqFcWK7TcmpaXBJ6M2Ipox65Q,691
73
73
  bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_policy.json.j2,sha256=hsYLCgaWMfXuwva90yb1DVEO_HUkIjHHNcPKb60E18k,6180
74
74
  bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_trust_policy.json.j2,sha256=PPJF6Ofq70W5DUE0NlbmnZjw5RkgepPgkskxEgEG28o,473
75
- bedrock_agentcore_starter_toolkit-0.1.15.dist-info/METADATA,sha256=nBSdXlWL9yqQKDkEGlfUXBRL5tUz3wnqjpHlqygOb70,9999
76
- bedrock_agentcore_starter_toolkit-0.1.15.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
77
- bedrock_agentcore_starter_toolkit-0.1.15.dist-info/entry_points.txt,sha256=Tf94DkUf2Tp8P7p8MEXLxre7A7Pp_XNukteiz0wHnk8,77
78
- bedrock_agentcore_starter_toolkit-0.1.15.dist-info/licenses/LICENSE.txt,sha256=nNPOMinitYdtfbhdQgsPgz1UowBznU6QVN3Xs0pSTKU,10768
79
- bedrock_agentcore_starter_toolkit-0.1.15.dist-info/licenses/NOTICE.txt,sha256=rkBsg8DbKqfIoQbveqX9foR4uJPUVAokbkr02pRPilE,8674
80
- bedrock_agentcore_starter_toolkit-0.1.15.dist-info/RECORD,,
75
+ bedrock_agentcore_starter_toolkit-0.1.16.dist-info/METADATA,sha256=JZNRIyWHljtXdi3tY48TgZ0Eo0RFTTM5MDTfMt4cQpk,9999
76
+ bedrock_agentcore_starter_toolkit-0.1.16.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
77
+ bedrock_agentcore_starter_toolkit-0.1.16.dist-info/entry_points.txt,sha256=Tf94DkUf2Tp8P7p8MEXLxre7A7Pp_XNukteiz0wHnk8,77
78
+ bedrock_agentcore_starter_toolkit-0.1.16.dist-info/licenses/LICENSE.txt,sha256=nNPOMinitYdtfbhdQgsPgz1UowBznU6QVN3Xs0pSTKU,10768
79
+ bedrock_agentcore_starter_toolkit-0.1.16.dist-info/licenses/NOTICE.txt,sha256=rkBsg8DbKqfIoQbveqX9foR4uJPUVAokbkr02pRPilE,8674
80
+ bedrock_agentcore_starter_toolkit-0.1.16.dist-info/RECORD,,