Comment From: markpollack

We should create an issue to investigate the impact of the following usages of tools

@NestedConfigurationProperty
@JsonIgnore
private List<FunctionCallback> functionCallbacks = new ArrayList<>();

@NestedConfigurationProperty
private @JsonProperty("tools") List<FunctionTool> tools;

as well as the following

@ConstructorBinding
public FunctionTool(Function function) {
    this(Type.FUNCTION, function);
}

@ConstructorBinding
public Function(String description, String name, String jsonSchema) {
    this(description, name, ModelOptionsUtils.jsonToMap(jsonSchema));
}

Probably need to create some sample projects that use this declarative functionality. A bit of detective work on the commit history for @ConstructorBinding may provide a clue.

Comment From: markpollack

merged in 94ddefc73f6bb2b61becddd1ef1e61241e56210b