v1 mcp tools capbility overlap - #384
Conversation
… code - Remove duplicate MCPServerStatus import from TYPE_CHECKING block in base_agent.py (already imported at runtime) — fixes ruff TC004 - Add class-level _config: MCPServerConfig annotation in mcp_server_cap.py to help mypy infer instance attribute type through dict-normalization branch (TypeAdapter.validate_python returns Any) — fixes 6 mypy has-type - Use conditional expression for MCPServerStatus.status field instead of intermediate str variable — fixes mypy arg-type (Literal mismatch)
Fix I001 (unsorted imports), D205 (blank line between summary and description), D209 (closing quotes on separate line) in test files that were failing CI ruff check.
PR #384 检视报告
🔴 P0:
|
…erving-degradation Resolve conflict in mcp_server_cap.py: integrate PR wolf1069b#384's direct client fallback and _connect_via_pool() extraction with our connect cooldown. The cooldown check now lives inside _connect_via_pool() (pool-based retry path) while the direct-client fallback (no pool) proceeds without cooldown.
* fix: post-merge review fixes for PR #384 (tool-schema-overlap) P0: BaseAgent.__aexit__ now calls __aexit__ on _LifecycleCapable capabilities in _external_capabilities, closing direct MCPClient connections that were previously leaked. P1: Replace internal Sany URL in examples/kb_diag_agent.yaml with placeholder. P1: _get_mcp_server_info catches and logs errors from cap.list_tools() on config-defined MCP capabilities instead of crashing. P2: ParamOverride.enum relaxed from list[str] to list[Any] to support integer/number enums. P3: Added 'intentional duplication' comments to _AliasLoader in all 10 agentpool* shim modules. * fix(ci): use GITHUB_TOKEN to bypass OpenCode OIDC bug OpenCode GitHub Action fails on repos created after 2026-07-15 due to GitHub's new immutable OIDC sub format (anomalyco/opencode#37823). Setting use_github_token: true bypasses the broken OIDC exchange path. See: anomalyco/opencode#37823
工具能力覆盖