(data: Record<string, unknown>)
| 294 | } |
| 295 | |
| 296 | export function transformTomlData(data: Record<string, unknown>): Record<string, unknown> { |
| 297 | const result: Record<string, unknown> = {}; |
| 298 | for (const [key, value] of Object.entries(data)) { |
| 299 | const targetKey = snakeToCamel(key); |
| 300 | |
| 301 | if (targetKey === 'providers' && isPlainObject(value)) { |
| 302 | result[targetKey] = transformRecord(value, transformProviderData); |
| 303 | } else if (targetKey === 'models' && isPlainObject(value)) { |
| 304 | result[targetKey] = transformRecord(value, transformModelData); |
| 305 | } else if (targetKey === 'thinking' && isPlainObject(value)) { |
| 306 | result[targetKey] = transformPlainObject(value); |
| 307 | } else if (targetKey === 'permission' && isPlainObject(value)) { |
| 308 | result[targetKey] = transformPermissionData(value); |
| 309 | } else if (targetKey === 'services' && isPlainObject(value)) { |
| 310 | result[targetKey] = transformRecord(value, transformServiceData, snakeToCamel); |
| 311 | } else if (targetKey === 'loopControl' && isPlainObject(value)) { |
| 312 | result[targetKey] = transformLoopControlData(value); |
| 313 | } else if (targetKey === 'background' && isPlainObject(value)) { |
| 314 | result[targetKey] = transformPlainObject(value); |
| 315 | } else if (targetKey === 'experimental' && isPlainObject(value)) { |
| 316 | result[targetKey] = cloneRecord(value); |
| 317 | } else if (!isPlainObject(value)) { |
| 318 | result[targetKey] = value; |
| 319 | } |
| 320 | } |
| 321 | return result; |
| 322 | } |
| 323 | |
| 324 | function transformRecord( |
| 325 | value: Record<string, unknown>, |
no test coverage detected