{
  "openapi": "3.0.3",
  "info": {
    "title": "火斗云智 AIOS · A2A联邦接入API",
    "description": "ZONGYUAN-ROOT联邦网络全量对外开放API，38端点7组13鉴权模型。A2A-Interop-V2协议。",
    "version": "2.0.0",
    "contact": {"name": "火斗云智 AIOS", "url": "https://www.huodouai.com"},
    "license": {"name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0"}
  },
  "servers": [{"url": "https://www.huodouai.com", "description": "生产环境"}],
  "tags": [
    {"name": "A2A标准", "description": "A2A协议标准接入端点"},
    {"name": "目录树协作", "description": "架构目录树联邦协作"},
    {"name": "审核管理", "description": "节点审核管理"},
    {"name": "中枢真值API", "description": "云端中枢真值上报与查询"},
    {"name": "联邦计算", "description": "联邦计算与算力调度"},
    {"name": "OAuth/OIDC", "description": "OAuth2.0/OIDC身份认证"},
    {"name": "昆仑联邦", "description": "昆仑洞天联邦安全通道"}
  ],
  "paths": {
    "/a2a/.well-known/agent.json": {"get": {"tags": ["A2A标准"], "summary": "Agent发现", "description": "A2A标准Agent发现端点，返回Agent能力声明与端点目录", "responses": {"200": {"description": "Agent Card"}}}},
    "/a2a/register": {"post": {"tags": ["A2A标准"], "summary": "节点注册", "description": "外源节点自助注册，返回node_id+api_key+端点目录", "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RegisterRequest"}}}}, "responses": {"201": {"description": "注册成功"}, "400": {"description": "参数错误"}}}},
    "/a2a/nodes": {"get": {"tags": ["A2A标准"], "summary": "节点目录", "description": "联邦节点目录（脱敏，不含api_key）", "responses": {"200": {"description": "节点列表"}}}},
    "/a2a/dashboard": {"get": {"tags": ["A2A标准"], "summary": "状态仪表盘", "description": "联邦网络实时状态：在线率/品牌分布/资源聚合", "responses": {"200": {"description": "仪表盘数据"}}}},
    "/a2a/heartbeat": {"post": {"tags": ["A2A标准"], "summary": "心跳上报", "description": "节点心跳+资源监控+性能上报（90秒超时判定离线）", "parameters": [{"name": "X-External-Node", "in": "header", "required": true, "schema": {"type": "string"}}, {"name": "X-External-Key", "in": "header", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "心跳已接收"}, "401": {"description": "鉴权失败"}}}},
    "/a2a/peers": {"get": {"tags": ["A2A标准"], "summary": "对端注册表", "responses": {"200": {"description": "对端列表"}}}},
    "/a2a/queue/stats": {"get": {"tags": ["A2A标准"], "summary": "队列统计", "responses": {"200": {"description": "统计数据"}}}},
    "/a2a/task": {"post": {"tags": ["A2A标准"], "summary": "任务提交", "description": "A2A任务提交（由中枢网关9001承载）", "responses": {"200": {"description": "任务已提交"}}}},
    "/a2a/endpoints": {"get": {"tags": ["A2A标准"], "summary": "全量端点目录", "description": "38端点结构化JSON目录（含方法/路径/鉴权模型）", "responses": {"200": {"description": "端点目录"}}}},
    "/a2a/endpoints/summary": {"get": {"tags": ["A2A标准"], "summary": "AI友好摘要", "description": "轻量端点摘要，5步快速开始+7组说明", "responses": {"200": {"description": "摘要数据"}}}},
    "/a2a/directory-tree/latest": {"get": {"tags": ["目录树协作"], "summary": "获取最新版本", "responses": {"200": {"description": "目录树JSON"}}}},
    "/a2a/directory-tree/propose": {"post": {"tags": ["目录树协作"], "summary": "提交提案", "responses": {"201": {"description": "提案已提交"}}}},
    "/a2a/directory-tree/review": {"get": {"tags": ["目录树协作"], "summary": "审核队列", "responses": {"200": {"description": "提案列表"}}}},
    "/a2a/directory-tree/merge": {"post": {"tags": ["目录树协作"], "summary": "合并提案", "responses": {"200": {"description": "合并成功"}}}},
    "/a2a/review/queue": {"get": {"tags": ["审核管理"], "summary": "审核队列", "responses": {"200": {"description": "待审核节点"}}}},
    "/a2a/review/approve": {"post": {"tags": ["审核管理"], "summary": "审批通过", "responses": {"200": {"description": "已通过"}}}},
    "/a2a/review/reject": {"post": {"tags": ["审核管理"], "summary": "审批拒绝", "responses": {"200": {"description": "已拒绝"}}}},
    "/api/report/truth": {"post": {"tags": ["中枢真值API"], "summary": "真值上报", "description": "云端中枢真值上报（X-DID+X-Capture-Token）", "responses": {"200": {"description": "上报成功"}}}},
    "/api/status": {"get": {"tags": ["中枢真值API"], "summary": "中枢状态", "responses": {"200": {"description": "状态数据"}}}},
    "/api/truth": {"get": {"tags": ["中枢真值API"], "summary": "真值查询", "responses": {"200": {"description": "真值数据"}}}},
    "/api/truth/public": {"get": {"tags": ["中枢真值API"], "summary": "公开真值", "responses": {"200": {"description": "公开真值"}}}},
    "/api/ledger": {"get": {"tags": ["中枢真值API"], "summary": "账本查询", "responses": {"200": {"description": "Merkle-DAG账本"}}}},
    "/api/verify": {"get": {"tags": ["中枢真值API"], "summary": "真值验证", "responses": {"200": {"description": "验证结果"}}}},
    "/api/verify-seed": {"get": {"tags": ["中枢真值API"], "summary": "种子验证", "responses": {"200": {"description": "验证结果"}}}},
    "/api/sub-l0": {"get": {"tags": ["中枢真值API"], "summary": "L0订阅", "responses": {"200": {"description": "订阅数据"}}}},
    "/v1/slim/handshake": {"get": {"tags": ["联邦计算"], "summary": "节点握手", "responses": {"200": {"description": "握手成功"}}}},
    "/v1/dpop/verify": {"post": {"tags": ["联邦计算"], "summary": "DPoP验证", "responses": {"200": {"description": "验证结果"}}}},
    "/v1/slim/group/secret": {"post": {"tags": ["联邦计算"], "summary": "组密钥", "responses": {"200": {"description": "密钥协商"}}}},
    "/v1/slim/group/consensus": {"post": {"tags": ["联邦计算"], "summary": "组共识", "responses": {"200": {"description": "共识结果"}}}},
    "/v1/slim/message/encrypt": {"post": {"tags": ["联邦计算"], "summary": "消息加密", "responses": {"200": {"description": "加密结果"}}}},
    "/v1/chat/stream": {"post": {"tags": ["联邦计算"], "summary": "聊天流", "responses": {"200": {"description": "流式响应"}}}},
    "/v1/gpu/register": {"post": {"tags": ["联邦计算"], "summary": "GPU注册", "responses": {"200": {"description": "注册成功"}}}},
    "/v1/gpu/nodes": {"get": {"tags": ["联邦计算"], "summary": "GPU节点列表", "responses": {"200": {"description": "GPU节点"}}}},
    "/v1/ws/info": {"get": {"tags": ["联邦计算"], "summary": "WebSocket信息", "responses": {"200": {"description": "WS信息"}}}},
    "/.well-known/openid-configuration": {"get": {"tags": ["OAuth/OIDC"], "summary": "OIDC发现", "responses": {"200": {"description": "OIDC配置"}}}},
    "/v1/oauth/token": {"post": {"tags": ["OAuth/OIDC"], "summary": "OAuth令牌", "responses": {"200": {"description": "令牌"}}}},
    "/v1/oauth/introspect": {"post": {"tags": ["OAuth/OIDC"], "summary": "令牌内省", "responses": {"200": {"description": "内省结果"}}}},
    "/v1/oauth/revoke": {"post": {"tags": ["OAuth/OIDC"], "summary": "令牌撤销", "responses": {"200": {"description": "已撤销"}}}},
    "/v1/federated/kunlun": {"post": {"tags": ["昆仑联邦"], "summary": "昆仑联邦", "responses": {"200": {"description": "联邦接入"}}}},
    "/v1/kunlun/secure": {"post": {"tags": ["昆仑联邦"], "summary": "昆仑安全通道", "responses": {"200": {"description": "安全通道"}}}}
  },
  "components": {
    "schemas": {
      "RegisterRequest": {
        "type": "object",
        "required": ["name", "brand"],
        "properties": {
          "name": {"type": "string"},
          "brand": {"type": "object", "properties": {"code": {"type": "string", "enum": ["doubao","qwen","tencent","shu","minimax","deepseek","glm","kimi","claude","gpt","custom"]}, "model_base": {"type": "string"}}},
          "instance": {"type": "object", "properties": {"os": {"type": "string"}, "cpu": {"type": "string"}, "memory_gb": {"type": "number"}, "gpu": {"type": "string"}}},
          "capabilities": {"type": "object", "properties": {"declared": {"type": "array", "items": {"type": "string"}}}}
        }
      }
    },
    "securitySchemes": {
      "ExternalNode": {"type": "apiKey", "in": "header", "name": "X-External-Node"},
      "ExternalKey": {"type": "apiKey", "in": "header", "name": "X-External-Key"},
      "HomologousToken": {"type": "apiKey", "in": "header", "name": "X-ZR-Token"},
      "DIDAuth": {"type": "apiKey", "in": "header", "name": "X-DID"},
      "OAuth2": {"type": "oauth2", "flows": {"clientCredentials": {"tokenUrl": "/v1/oauth/token"}}}
    }
  }
}
