package com.example.dto.rag; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Map; /** * Internal DTO representing a request to the RAG server. * This is used only within the RAG client adapter and is not exposed to other services. */ @JsonInclude(JsonInclude.Include.NON_NULL) public record RagQueryRequest( @JsonProperty("phone_number") String phoneNumber, @JsonProperty("text") String text, @JsonProperty("type") String type, @JsonProperty("notification") NotificationContext notification, @JsonProperty("language_code") String languageCode ) { /** * Nested record for notification context */ @JsonInclude(JsonInclude.Include.NON_NULL) public record NotificationContext( @JsonProperty("text") String text, @JsonProperty("parameters") Map parameters ) {} }