/**
 * Performance 模块 — 响应快照校验专属配置
 *
 * 包含端点覆盖配置和已知参数值获取逻辑。
 * 新模块不需要此文件，脚本会以空配置运行。
 */

export interface EndpointOverride {
  frontendFields?: string[];
  nestedFields?: Record<string, string[]>;
  skip?: boolean;
  extraQueryParams?: Record<string, string>;
}

/** 端点覆盖配置 */
export const endpointOverrides: Record<string, EndpointOverride> = {
};

/**
 * 获取模块特定的已知参数值（用于路径变量填充）
 * 返回 key-value 对象，key 为参数名，value 为获取方式的描述
 */
export const knownParamEndpoints = {
  /** 获取 cycleId: GET /performance/cycles?pageSize=50 → items[0].id */
  cycleId: { listUrl: '/cycles?pageSize=50', pickField: 'id', preferFilter: (item: any) => item.status !== 'DRAFT' && item.status !== 'ARCHIVED' },
  /** 获取 sessionId: GET /performance/calibration/sessions?pageSize=1 → items[0].id */
  sessionId: { listUrl: '/calibration/sessions?pageSize=1', pickField: 'id' },
  /** 获取 assignmentId: GET /performance/kpi/assignments/my → items[0].id */
  assignmentId: { listUrl: '/kpi/assignments/my', pickField: 'id' },
};
