=== Structured output with output class in native mode

When using structured output with the `outputClass` option in native mode, you must ensure that the target class is registered for reflection.

This can be done with the `@RegisterForReflection` annotation or configuration property `quarkus.camel.native.reflection.include-patterns`. For example:

[source,java]
----
@RegisterForReflection
public class MyStructuredOutputClass {
    ...
}
----

[source,java]
----
public class Routes extends RouteBuilder {
    @Override
    public void configure() {
        from("direct:chat")
            .to("openai:chat-completion?outputClass=" + MyStructuredOutputClass.class.getName());
    }
}
----

=== Structured output with JSON schema from classpath resource in native mode

When loading JSON schema classpath resources in native mode, you must ensure the resource is included in the native application.

For example, given a route like the following.

[source,java]
----
public class Routes extends RouteBuilder {
    @Override
    public void configure() {
        from("direct:chat")
            .to("openai:chat-completion?jsonSchema=resource:classpath:schemas/mySchema.json");
    }
}
----

Add the following to `application.properties`.

[source,properties]
----
quarkus.native.resources.includes=schemas/mySchema.json
----

Refer to the xref:user-guide/native-mode.adoc#reflection[Native mode] user guide for more information.
