'implicit' when the request goes out with control tools under the implicit protocol,
'envelope' otherwise — including every envelope-path decision. The runner renders the
template and strips or keeps control tools from this, never from the catalog directly.
The mode to record on the run BEFORE any fallback. 'Native' when tools are going out,
'Envelope' otherwise — including the misconfigured "wanted it, can't have it" case, which is
surfaced through NativeToolCallingDecision.warning rather than by a distinct mode.
Whether this call's tool results go back to the model as native tool-result turns.
True only when native is on AND the catalog's LLM.NativeToolResults is true.
Whether this request should carry native tool declarations.
OptionalwarningSet when policy or preference asked for native mode but capability refused. The caller logs this so a misconfiguration is visible instead of silently degrading.
The gate's decision.