The normalized finish_reason a driver reports when the model ended its turn by calling one or
more tools. Consumers branch on this rather than on any provider-specific stop reason.
This is currently the ONLY normalized value: every other finish_reason is whatever the driver's
SDK returned ('stop', "completed", "STOP", …). Normalizing the rest is tracked in
MemberJunction/MJ#4335, which must preserve unrecognized values rather than map onto a closed
union — a shipped action overloads the field as a channel selector.
The normalized
finish_reasona driver reports when the model ended its turn by calling one or more tools. Consumers branch on this rather than on any provider-specific stop reason.This is currently the ONLY normalized value: every other
finish_reasonis whatever the driver's SDK returned ('stop',"completed","STOP", …). Normalizing the rest is tracked in MemberJunction/MJ#4335, which must preserve unrecognized values rather than map onto a closed union — a shipped action overloads the field as a channel selector.