package com.loremind.infrastructure.ai;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

import java.time.Duration;

/**
 * Configuration Spring fournissant un RestTemplate avec timeout adapté
 * aux appels vers le Brain (LLM local parfois lent).
 *
 * Ce bean est réutilisable par tout futur Adapter HTTP du projet.
 */
@Configuration
public class RestTemplateConfig {

    @Bean
    public RestTemplate brainRestTemplate(
            RestTemplateBuilder builder,
            @Value("${brain.timeout-seconds}") long timeoutSeconds) {
        return builder
                .setConnectTimeout(Duration.ofSeconds(10))
                .setReadTimeout(Duration.ofSeconds(timeoutSeconds))
                .build();
    }
}
