67b0620be2
- Add dict[str, Any] type parameters throughout (mypy type-arg) - Fix str | None returns with explicit 'or None' coercion (no-any-return) - Remove unused type: ignore[import] comment (unused-ignore) - Decode message.payload bytes before json.loads (arg-type) - Use X | Y syntax in isinstance check (ruff UP038) - All 33 tests still passing, ruff + mypy clean Co-authored-by: CyberKeys <noreply@openclaw.ai>