import java.util.List; import org.springframework.ai.chat.client.ChatClient; import reactor.core.publisher.Flux; // The original ChatService, unchanged: this one is expected to still compile. class OldChatService { private final ChatClient chatClient; OldChatService(ChatClient.Builder builder) { this.chatClient = builder .defaultSystem("You are a senior Java architect. Be precise and concise.") .build(); } public String ask(String userMessage) { return chatClient.prompt().user(userMessage).call().content(); } public Flux stream(String userMessage) { return chatClient.prompt().user(userMessage).stream().content(); } public ArchitectureReview reviewCode(String codeSnippet) { return chatClient.prompt() .user(u -> u.text("Review this Java code for production readiness: {code}").param("code", codeSnippet)) .call() .entity(ArchitectureReview.class); } public record ArchitectureReview(String verdict, List issues, List suggestions, int score) { } }