chore: fix pre commit format and pipeline issue (#1144)

This commit is contained in:
Wendong-Fan 2026-02-04 00:06:29 +00:00 committed by GitHub
parent 2256497dff
commit 893f51fc82
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
970 changed files with 11235 additions and 9533 deletions

View file

@ -12,18 +12,24 @@
# limitations under the License.
# ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. =========
import os
from typing import List, Optional
from fastapi import Depends, HTTPException, Query, Response, APIRouter
from sqlmodel import Session, select
from app.component.database import session
from app.component.auth import Auth, auth_must
from fastapi_babel import _
from app.model.mcp.mcp_user import McpUser, McpUserIn, McpUserOut, McpUserUpdate, Status
from app.model.mcp.mcp import Mcp
from camel.toolkits.mcp_toolkit import MCPToolkit
from app.component.environment import env
import logging
import os
from camel.toolkits.mcp_toolkit import MCPToolkit
from fastapi import APIRouter, Depends, HTTPException, Response
from fastapi_babel import _
from sqlmodel import Session, select
from app.component.auth import Auth, auth_must
from app.component.database import session
from app.component.environment import env
from app.model.mcp.mcp import Mcp
from app.model.mcp.mcp_user import (
McpUser,
McpUserIn,
McpUserOut,
McpUserUpdate,
)
logger = logging.getLogger("server_mcp_user_controller")
@ -48,8 +54,7 @@ async def pre_instantiate_mcp_toolkit(config_dict: dict) -> bool:
# Set global auth directory to persist authentication across tasks
if "MCP_REMOTE_CONFIG_DIR" not in server_config["env"]:
server_config["env"]["MCP_REMOTE_CONFIG_DIR"] = env(
"MCP_REMOTE_CONFIG_DIR",
os.path.expanduser("~/.mcp-auth")
"MCP_REMOTE_CONFIG_DIR", os.path.expanduser("~/.mcp-auth")
)
# Create MCP toolkit and attempt to connect
@ -69,9 +74,9 @@ async def pre_instantiate_mcp_toolkit(config_dict: dict) -> bool:
return False
@router.get("/mcp/users", name="list mcp users", response_model=List[McpUserOut])
@router.get("/mcp/users", name="list mcp users", response_model=list[McpUserOut])
async def list_mcp_users(
mcp_id: Optional[int] = None,
mcp_id: int | None = None,
session: Session = Depends(session),
auth: Auth = Depends(auth_must),
):
@ -95,7 +100,9 @@ async def get_mcp_user(mcp_user_id: int, session: Session = Depends(session), au
if not mcp_user:
logger.warning("MCP user not found", extra={"user_id": auth.user.id, "mcp_user_id": mcp_user_id})
raise HTTPException(status_code=404, detail=_("McpUser not found"))
logger.debug("MCP user retrieved", extra={"user_id": auth.user.id, "mcp_user_id": mcp_user_id, "mcp_id": mcp_user.mcp_id})
logger.debug(
"MCP user retrieved", extra={"user_id": auth.user.id, "mcp_user_id": mcp_user_id, "mcp_id": mcp_user.mcp_id}
)
return mcp_user
@ -104,10 +111,8 @@ async def create_mcp_user(mcp_user: McpUserIn, session: Session = Depends(sessio
"""Create MCP user installation."""
user_id = auth.user.id
mcp_id = mcp_user.mcp_id
exists = session.exec(
select(McpUser).where(McpUser.mcp_id == mcp_id, McpUser.user_id == user_id)
).first()
exists = session.exec(select(McpUser).where(McpUser.mcp_id == mcp_id, McpUser.user_id == user_id)).first()
if exists:
logger.warning("MCP already installed", extra={"user_id": user_id, "mcp_id": mcp_id})
raise HTTPException(status_code=400, detail=_("mcp is installed"))
@ -115,18 +120,21 @@ async def create_mcp_user(mcp_user: McpUserIn, session: Session = Depends(sessio
# Get MCP configuration from the main Mcp table
mcp = session.get(Mcp, mcp_id)
if mcp and mcp.install_command:
config_dict = {
"mcpServers": {
mcp.key: mcp.install_command
}
}
config_dict = {"mcpServers": {mcp.key: mcp.install_command}}
try:
success = await pre_instantiate_mcp_toolkit(config_dict)
if not success:
logger.warning("MCP pre-instantiation failed, continuing", extra={"user_id": user_id, "mcp_id": mcp_id, "mcp_key": mcp.key})
logger.warning(
"MCP pre-instantiation failed, continuing",
extra={"user_id": user_id, "mcp_id": mcp_id, "mcp_key": mcp.key},
)
except Exception as e:
logger.warning("MCP pre-instantiation exception", extra={"user_id": user_id, "mcp_id": mcp_id, "error": str(e)}, exc_info=True)
logger.warning(
"MCP pre-instantiation exception",
extra={"user_id": user_id, "mcp_id": mcp_id, "error": str(e)},
exc_info=True,
)
try:
db_mcp_user = McpUser(mcp_id=mcp_id, user_id=user_id, env=mcp_user.env)
@ -137,7 +145,9 @@ async def create_mcp_user(mcp_user: McpUserIn, session: Session = Depends(sessio
return db_mcp_user
except Exception as e:
session.rollback()
logger.error("MCP user creation failed", extra={"user_id": user_id, "mcp_id": mcp_id, "error": str(e)}, exc_info=True)
logger.error(
"MCP user creation failed", extra={"user_id": user_id, "mcp_id": mcp_id, "error": str(e)}, exc_info=True
)
raise HTTPException(status_code=500, detail="Internal server error")
@ -155,9 +165,11 @@ async def update_mcp_user(
logger.warning("MCP user not found for update", extra={"user_id": user_id, "mcp_user_id": id})
raise HTTPException(status_code=404, detail=_("Mcp Info not found"))
if model.user_id != user_id:
logger.warning("Unauthorized MCP user update", extra={"user_id": user_id, "mcp_user_id": id, "owner_id": model.user_id})
logger.warning(
"Unauthorized MCP user update", extra={"user_id": user_id, "mcp_user_id": id, "owner_id": model.user_id}
)
raise HTTPException(status_code=400, detail=_("current user have no permission to modify"))
try:
update_data = update_item.model_dump(exclude_unset=True)
model.update_fields(update_data)
@ -166,7 +178,9 @@ async def update_mcp_user(
logger.info("MCP user updated", extra={"user_id": user_id, "mcp_user_id": id})
return model
except Exception as e:
logger.error("MCP user update failed", extra={"user_id": user_id, "mcp_user_id": id, "error": str(e)}, exc_info=True)
logger.error(
"MCP user update failed", extra={"user_id": user_id, "mcp_user_id": id, "error": str(e)}, exc_info=True
)
raise HTTPException(status_code=500, detail="Internal server error")
@ -178,13 +192,19 @@ async def delete_mcp_user(mcp_user_id: int, session: Session = Depends(session),
if not db_mcp_user:
logger.warning("MCP user not found for deletion", extra={"user_id": user_id, "mcp_user_id": mcp_user_id})
raise HTTPException(status_code=404, detail=_("Mcp Info not found"))
try:
session.delete(db_mcp_user)
session.commit()
logger.info("MCP user deleted", extra={"user_id": user_id, "mcp_user_id": mcp_user_id, "mcp_id": db_mcp_user.mcp_id})
logger.info(
"MCP user deleted", extra={"user_id": user_id, "mcp_user_id": mcp_user_id, "mcp_id": db_mcp_user.mcp_id}
)
return Response(status_code=204)
except Exception as e:
session.rollback()
logger.error("MCP user deletion failed", extra={"user_id": user_id, "mcp_user_id": mcp_user_id, "error": str(e)}, exc_info=True)
raise HTTPException(status_code=500, detail="Internal server error")
logger.error(
"MCP user deletion failed",
extra={"user_id": user_id, "mcp_user_id": mcp_user_id, "error": str(e)},
exc_info=True,
)
raise HTTPException(status_code=500, detail="Internal server error")