Member Junction
    Preparing search index...

    One tunable setting, described by the connector rather than hardcoded in a UI.

    Every knob a connection has was an untyped key inside CompanyIntegration.Configuration, known only to whoever wrote the code that read it. A surface wanting to offer them had to hardcode a list, guess each one's type and range, and invent a default — which is exactly how a default of 500 got shipped against an engine whose real default is 50, silently sampling ten times more than intended on six connectors.

    Declaring them here makes the connector the single source of truth for what is tunable, what it means, and what happens if you leave it alone. Tier is how one schema serves both surfaces: a simplified surface renders basic, a full one renders everything, and neither has to know which connector it is talking to.

    interface ConnectorSettingDescriptor {
        AppliesTo: "object" | "connection";
        Default?: string | number | boolean;
        Description: string;
        Group: string;
        Key: string;
        Label: string;
        Max?: number;
        Min?: number;
        Options?: string[];
        Sensitive: boolean;
        Tier: "basic" | "advanced" | "expert";
        Type: "string" | "number" | "boolean" | "enum";
    }
    Index

    Properties

    AppliesTo: "object" | "connection"

    Whether the key lives on the connection or on an individual object's Configuration.

    Default?: string | number | boolean

    What the engine does when this key is ABSENT. Must be the engine's real default — a descriptor that lies here is worse than no descriptor, because a surface will now show the wrong number as the current behaviour.

    Description: string
    Group: string

    Grouping hint for the renderer ('Sync', 'Discovery', 'Rate limits', ...).

    Key: string

    The Configuration key, lower-camel, exactly as the engine reads it.

    Label: string

    Short human label.

    Max?: number
    Min?: number
    Options?: string[]

    Allowed values when Type is 'enum'.

    Sensitive: boolean

    Never true for anything here — credentials are not settings and never round-trip.

    Tier: "basic" | "advanced" | "expert"

    basic is safe for anyone to change. advanced needs some understanding of the connector. expert can make a sync slower, noisier or rate-limited if set wrong.

    Type: "string" | "number" | "boolean" | "enum"