From 13e0ec63a849ae0319af9b6aff4484437d0655d9 Mon Sep 17 00:00:00 2001 From: ATC964 <82515918+atc964@users.noreply.github.com> Date: Thu, 28 May 2026 14:18:18 -0400 Subject: [PATCH 1/2] Bump crewai to >=1.14.4,<2.0.0 for parity + security - crewai[anthropic]: ==1.10.1 -> >=1.14.4,<2.0.0 - crewai-tools: >=1.8.1,<2.0.0 -> >=1.14.0,<2.0.0 (aligned with crewai) Rationale: - Parity with buyer-agent bump (ar-r82f.11) - Removes version contention with the incoming seller AgentCore PR (which already wants crewai >=1.14.0) - Picks up bug fixes and security improvements from the 1.10 -> 1.14 line Pre-bump grep clean (no CodeInterpreterTool / CrewAgentExecutor / EXASearchTool usage in src/ or tests/). All current imports use stable public surface: crewai.{Crew, Task, Process, Agent, LLM} and crewai.tools.BaseTool, all preserved in 1.14.x. bead: ar-r82f.12 Co-Authored-By: Claude Sonnet 4.5 --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 661082e..9251f26 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,8 +19,8 @@ classifiers = [ ] dependencies = [ - "crewai[anthropic]==1.10.1", - "crewai-tools>=1.8.1,<2.0.0", + "crewai[anthropic]>=1.14.4,<2.0.0", + "crewai-tools>=1.14.0,<2.0.0", "pydantic>=2.0.0", "pydantic-settings>=2.0.0", "httpx>=0.27.0", From 81eb2b5ede1201056aeb224767446c1e4e228e69 Mon Sep 17 00:00:00 2001 From: ATC964 <82515918+atc964@users.noreply.github.com> Date: Thu, 28 May 2026 14:40:39 -0400 Subject: [PATCH 2/2] Fix _run_validate helper for pytest-asyncio 1.4+ compatibility (ar-r82f.12) pytest-asyncio 1.4 no longer creates an implicit event loop for sync test bodies, so asyncio.get_event_loop() raises DeprecationWarning / RuntimeError. Switch to an explicit asyncio.new_event_loop() managed with try/finally so the helper works on both old and new asyncio behavior. Co-Authored-By: Claude Sonnet 4.5 --- tests/unit/test_audience_plan_validation.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/unit/test_audience_plan_validation.py b/tests/unit/test_audience_plan_validation.py index 19fc1e7..f586a2e 100644 --- a/tests/unit/test_audience_plan_validation.py +++ b/tests/unit/test_audience_plan_validation.py @@ -256,9 +256,19 @@ def test_cardinality_cap_exceeded(self): def _run_validate(flow: ProposalHandlingFlow): - """Run the validate_audience coroutine directly.""" + """Run the validate_audience coroutine directly. - asyncio.get_event_loop().run_until_complete(flow.validate_audience()) + Uses a fresh event loop per call (instead of the deprecated + ``asyncio.get_event_loop().run_until_complete(...)`` pattern) so the + helper remains compatible with pytest-asyncio >= 1.4, which no longer + creates an implicit loop for sync test bodies. + """ + + loop = asyncio.new_event_loop() + try: + loop.run_until_complete(flow.validate_audience()) + finally: + loop.close() def _build_flow(packages: dict | None = None) -> ProposalHandlingFlow: