ReadonlyreadsReadonlyreadsTrue when the template reads reasoning_effort (Qwen3.8's xhigh/medium/
low depth control). Callers must not pass the variable otherwise — and
must never pass unmapped OpenAI level names; this template family raises
on values outside its supported set.
ReadonlysupportsTrue when the model has a switchable reasoning channel we can parse.
ReadonlythinkingWhich reasoning format the template's enable_thinking channel uses, or
null if the model has no switchable reasoning:
<think>…</think> text markers (Qwen3.5, MiniCPM5) — split
from decoded text by ThinkingTagSplitter.<|channel>thought\n…<channel|> (Gemma 4) — the markers
are SPECIAL TOKENS stripped at decode, so reasoning is split at the token
level in ToolAwareStream (sentinel-tokens mode), not from decoded text.
Drives both the parser path and the reasoning capability advertised to Pi.StaticloadLoads the artifact's template. fallback renders artifacts that ship none
(the model layer supplies it from the profile); without one, a missing
template is an error.
True when the template reads
preserve_thinking(Qwen3.8: keep think blocks from historical turns; template default true).