| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- # from __future__ import annotations
- #
- # from pydantic import ValidationError
- # from quart import Blueprint, jsonify
- #
- # from app.api.v1.utils import ApiDependencies, LongArticlesMcpRequest
- # from app.api.v1.utils import parse_json, validation_error_response
- # # from app.domains.mcp import deal, UnknownMcpTaskName
- #
- #
- # def create_mcp_bp(deps: ApiDependencies) -> Blueprint:
- # bp = Blueprint("mcp", __name__)
- #
- # @bp.route("/long_articles_mcp/<string:task_name>", methods=["POST"])
- # async def long_articles_mcp(task_name: str):
- # """MCP 交互接口
- #
- # - POST /api/long_articles_mcp/<task_name>
- # - 通过 task_name 分发到 MCP 域内对应的方法
- # - 请求体为 JSON,可选字段如 page、page_size、sort_by、sort_order 等
- # """
- # try:
- # req, _ = await parse_json(LongArticlesMcpRequest)
- # except ValidationError as e:
- # payload, status = validation_error_response(e)
- # return jsonify(payload), status
- #
- # # 使用校验后的模型转 dict,保证类型正确,且含 extra 透传字段
- # params = req.model_dump(exclude_none=True)
- #
- # try:
- # result = await deal(
- # task_name=task_name,
- # pool=deps.db,
- # log_service=deps.log,
- # params=params,
- # )
- # except UnknownMcpTaskName:
- # return (
- # jsonify(
- # {
- # "code": 404,
- # "message": f"unknown task_name: {task_name}",
- # "data": None,
- # }
- # ),
- # 404,
- # )
- #
- # return jsonify({"code": 0, "message": "success", "data": result})
- #
- # return bp
|