pmda-drug-info skill's pmda_server.py imports opensearchpy to query
the OpenSearch pmda_sections index. catalog-agent base image already
ships psycopg (for PG drug_master queries) but was missing
opensearch-py, so the MCP stdio server failed at import time with
ModuleNotFoundError → 0 tools exposed to the bot.
Add opensearch-py >=2.2.0,<3.0.0 to pyproject.toml dependencies and
the matching pinned line (opensearch-py==2.7.1) to requirements.txt.
Verified pmda-drug-info needs:
from opensearchpy import OpenSearch # os_client.py
from opensearchpy.helpers import bulk # ingest path
After this image is rebuilt and deployed to onprem-dev, MCP stdio
servers loaded from skill plugin.json start cleanly and tools/list
returns the 10 tools from pmda_tools.json.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Replace ShellMiddleware with LocalShellBackend
- Update AgentMemoryMiddleware to MemoryMiddleware with new signature
- Update CustomSkillsMiddleware to use new SkillsMiddleware signature
- Add LocalContextMiddleware for local context
- Update CompositeBackend to use routing
- Update dependencies: langgraph-checkpoint-postgres to 3.0.4
Breaking Changes:
- agent/deep_assistant.py: Major refactoring to adapt to new deepagents API
- pyproject.toml: Version bump
- deepagents: 0.2.8 -> 0.4.3
- deepagents-cli: 0.0.11 -> 0.0.25
- langgraph-checkpoint-postgres: 2.0.25 -> 3.0.4 (for compatibility with langgraph-checkpoint 3.x)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>