Member Junction
    Preparing search index...

    Interface LLMConfigurationSettings

    The LLM section — knobs the LLM drivers and the prompt runner consume at call time.

    Every flag here is TRI-STATE (boolean | null | absent), and the three differ. The cascade REPLACES on any explicit value (including null) and only skips a layer that OMITS the property. So absent means "inherit", while an explicit value at a higher layer overrides a lower one even when that value is false.

    Properties are marked with the layers that HONOR them. Setting one at a layer that does not honor it is inert rather than an error — deliberate tolerance, so a knob can move between layers without a schema change.

    Deliberately NO index signature: this interface must stay structurally identical to the JSONType source, because CodeGen emits per-entity copies of that source and runtime code assigns those generated types straight into this one. An index signature here (and not there) makes the two incompatible. Unknown keys in stored JSON still round-trip fine at runtime — the parse is tolerant; what is lost is only a compile-time affordance nothing needs.

    interface LLMConfigurationSettings {
        DefaultToNativeToolCalling?: boolean;
        NativeControlFlow?: "envelope" | "implicit";
        NativeToolResults?: boolean;
        SupportsNativeToolCalling?: boolean;
        UseNativeToolCalling?: boolean;
    }
    Index

    Properties

    DefaultToNativeToolCalling?: boolean

    Catalog layers only. Whether prompts run against this model default to native tool calling when they express no preference of their own. POLICY flag — subordinate to LLMConfigurationSettings.SupportsNativeToolCalling.

    NativeControlFlow?: "envelope" | "implicit"

    Catalog layers only. How control flow is expressed when a request resolves to native tool calling. 'envelope' (the default when absent) is the hybrid: Actions are tools, everything else — completion, chat, delegation, payload changes — is the JSON envelope. 'implicit' is the implicit protocol: sub-agents, payload_change_request and ask_user are tools too, a tool call continues the loop, and plain text with no call ends the turn as task completion. Consulted only when the gate resolves native; subordinate to LLMConfigurationSettings.SupportsNativeToolCalling.

    NativeToolResults?: boolean

    Catalog layers only. Whether action results are returned to the model as native tool-result turns instead of a markdown "Action results" user message. Absent means false. Consulted only when the gate resolves native.

    SupportsNativeToolCalling?: boolean

    Catalog layers only. Whether this model — or this vendor's serving of it — supports native tool/function calling. CAPABILITY flag, and a hard gate: no policy or preference at any layer can force tools onto a (model, vendor) whose resolved value is not true.

    Set false only for a model or serving path verified NOT to support tools; leave absent when support is unknown, because absent is the honest value and it inherits.

    UseNativeToolCalling?: boolean

    Prompt layers only. Whether THIS prompt asks for native tool calling. PREFERENCE — it outranks the catalog's DefaultToNativeToolCalling and is still subordinate to the capability gate. Absent means "no preference; fall through to the model's default".