featherbit UI
    Preparing search index...

    Interface Suggestion

    One row offered by the autocomplete popover / var legend.

    interface Suggestion {
        description?: string;
        group: string;
        insert: string;
        insertEnvOnly?: string;
        name: string;
        note?: string;
        trigger: "dollar" | "brace";
        value?: string;
    }
    Index
    description?: string

    One-line human-readable explanation, from the catalog entry.

    group: string

    Section this row belongs to: request | response | message | env.

    insert: string

    Text to insert at the cursor: $uri / ${msg_consumer.name} for 'dollar' rows, {{request.method}} / {{env.HOME}} for 'brace' rows.

    insertEnvOnly?: string

    Alternate insertion text used only for group: 'env' rows when the field's templateMode is 'env-only'${NAME}, the legacy ${VAR}/${VAR:-default} form interpolate_env/interpolate_env_json (src/config/loader.rs) substitutes at config-compile time for every string leaf of every node's config, templated or not. insert ({{env.NAME}}) only ever resolves in fields the plugin actually parses into a Template (template: 'full' fields) — Template::parse is what substitutes env.* references, and an 'env-only' field's raw string never reaches Template::parse at all, so {{env.NAME}} would sit there as inert, unresolved literal text forever. VarInput picks between the two at insertion time based on its templateMode prop; see that component and Templates → Load-time vs request-time resolution / Exclusions on the docs site for the full explanation. undefined for every non-env row (they have no env-only field they'd ever appear in — the env group is the only one offered on 'env-only' fields).

    name: string

    Display/filter name: the bare $var name (e.g. uri, http_user_agent) for trigger: 'dollar' rows, or the full namespace path (e.g. request.method, request.headers.x-trace-id, env.HOME) for trigger: 'brace' rows.

    note?: string

    Explains why value is absent (e.g. redacted, not captured, empty).

    trigger: "dollar" | "brace"

    Which token syntax this row completes — see the module doc comment ("Two suggestion families, one list"). VarInput filters the list by whichever trigger ($/${ vs {{) opened the popover, so a 'dollar' row is never offered while completing a {{ token and vice versa.

    value?: string

    Live preview value from the most recent trace, when available.