Class StructuredOutputExecutor<T>

java.lang.Object
com.tnsai.output.validation.StructuredOutputExecutor<T>

public final class StructuredOutputExecutor<T> extends Object
Ensures LLM outputs conform to expected schema with automatic retry.

Combines structured output generation with validation rules and automatic re-prompting on failure.

Usage


 StructuredOutputExecutor executor = StructuredOutputExecutor.builder()
     .llm(client)
     .targetType(OrderSummary.class)
     .rules(List.of(
         ValidationRule.notNull("orderId"),
         ValidationRule.range("total", 0, 100000)))
     .maxRetries(3)
     .build();

 StructuredOutputResult<OrderSummary> result = executor.generate("Summarize this order: ...");
 if (result.success()) {
     OrderSummary order = result.value();
 }