NativeStructuredOutputCapability

data class NativeStructuredOutputCapability(val supported: Boolean? = null, val strategy: String? = null, val strict: Boolean? = null, val promptInstructions: String? = null, val options: Map<String, String> = emptyMap())

Provider-local native capability metadata.

strategy is interpreted only by the provider module. Examples:

  • OpenAI: "response_format" means use the response_format/json_schema payload path.

  • Anthropic: "tool" means express the output schema as a tool input schema.

A null property means "inherit from provider defaults".

promptInstructions controls whether Embabel keeps textual converter format instructions in the prompt while also sending native payload metadata. This field is currently documented for provider model metadata, but the native structured-output configurers still rely on Spring AI option objects for actual payload mutation:

  • "include": preserve existing prompt instructions. This is the safest default.

  • "fallback": include prompt instructions only when native support is not active.

  • "suppress": rely on native provider enforcement and omit prompt instructions.

options contains provider/tag names used by the selected strategy. Core Embabel passes these through; provider configurers decide what they mean. They are currently present for documentation and future payload-tag mapping.

Constructors

Link copied to clipboard
constructor(supported: Boolean? = null, strategy: String? = null, strict: Boolean? = null, promptInstructions: String? = null, options: Map<String, String> = emptyMap())

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val strategy: String? = null
Link copied to clipboard
val strict: Boolean? = null
Link copied to clipboard
val supported: Boolean? = null

Functions