/**
 * BFF 模式 v2 标准抽象 (B8 裁决).
 *
 * 3 个 BFF (teacher-bff / student-bff / parent-bff) 统一使用本模块:
 *   - DownstreamClient: gRPC 调用封装 + mock + 重试 + 错误归一化
 *   - createBffLogger: pino logger 工厂 (各 BFF 注入 service 名)
 *   - DownstreamError + DownstreamResponse: 错误与响应类型
 *
 * 仲裁依据:
 *   - coord-final-decisions §2 B1 (P2 起直接 GraphQL)
 *   - coord-final-decisions §2 B2 (首次实现即 gRPC, 禁止 HTTP fetch)
 *   - coord-final-decisions §2 B8 (回写 teacher-bff, 3 BFF 统一)
 *   - coord-final-decisions §1 G4 (pino 结构化日志)
 *   - coord-final-decisions §1 G12 (ESM .js 后缀 import)
 *   - coord-final-decisions §1 G13 (import type)
 */
export { DownstreamClient, DownstreamError } from "./downstream-client.js";
export type {
  CallOptions,
  DownstreamClientConfig,
  DownstreamServiceConfig,
  DownstreamResult,
  DownstreamFailure,
  DownstreamResponse,
  DownstreamCallSpec,
  MockDataProvider,
} from "./downstream-client.js";
export { createBffLogger, logger } from "./logger.js";
export type { Logger } from "./logger.js";
