export const PARAM_MAP: Record = { pageSize: 'page_size', perPage: 'per_page', fileUuid: 'file_uuid', startTime: 'start_time', endTime: 'end_time', startFrame: 'start_frame', endFrame: 'end_frame', bboxX: 'bbox_x', bboxY: 'bbox_y', bboxW: 'bbox_w', bboxH: 'bbox_h', conversationId: 'conversation_id', historyId: 'history_id', mergeId: 'merge_id', traceId: 'trace_id', faceId: 'face_id', } export function toSnakeCase(key: string): string { if (PARAM_MAP[key]) return PARAM_MAP[key] return key.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`) } export function mapParams(params: Record): Record { const result: Record = {} for (const [key, value] of Object.entries(params)) { if (value !== undefined && value !== null) { result[toSnakeCase(key)] = value } } return result }