Files
docker-agent/pkg
jaeminbird 93ec8d008e fix(tools): type typeless enum/const schemas from their values
A property schema with no "type" got "type": "object" injected, first by
SchemaToMap for every provider and again by the OpenAI strict-mode
normalizer. For an enum or const node that makes the schema reject every
allowed value: pydantic emits {"enum": ["auto", 0, 1]} for
Literal["auto", 0, 1], and after conversion no value of "mode" validates,
while the tool is still sent with strict: true.

Derive the type from the enum/const values instead; other typeless nodes
still default to "object". When the OpenAI normalizer makes an optional
enum/const property required, wrap it in anyOf with null, since a "null"
type next to enum/const still rejects null. Required properties keep
"null" in their type when the enum/const lists it.

Signed-off-by: jaeminbird <jaeminbird@gmail.com>
2026-10-30 02:04:24 -04:00
..
…
…
…
…
…