Module Json_schema.ProjectSource

Deterministic provider-oriented schema projections.

These helpers derive provider-safe artifacts from a master JSON Schema. They never mutate the caller's schema in place. Unsupported constructs are preserved unless a projection needs to tighten an object for a known provider contract.

Sourcetype warning = {
  1. path : string;
  2. message : string;
}
Sourcetype result = {
  1. schema : Chatoyant_schema__.Json_schema_ast.t;
  2. warnings : warning list;
}
Sourceval identity : Chatoyant_schema__.Json_schema_ast.t -> result
Sourceval openai_strict : Chatoyant_schema__.Json_schema_ast.t -> result

OpenAI strict tool/structured-output projection.

The projection recursively sets additionalProperties: false on object schemas that define properties and makes every declared property required, preserving existing required order and appending missing property names. The typed authoring layer is responsible for representing optional values as nullable schemas before projection.