@mica/sdk (SDK contract v1)
    Preparing search index...

    Interface JobView

    One job a player holds, as the phone reads it (MICA-228).

    The framework is the authority for every field: the server re-reads the whole list from the bridge after any switch or duty change and answers with that, so nothing here is ever a client's belief about its own job. onDuty is null for a framework or a job with no duty notion at all, which is a different statement from "off duty" and renders as no toggle rather than an off one. societyBalance is filled only for a boss grade, and is null rather than zero when no banking resource can answer for the account.

    interface JobView {
        active: boolean;
        grade: number;
        gradeLabel: string;
        isBoss: boolean;
        label: string;
        lines: JobLine[];
        name: string;
        onDuty: boolean | null;
        salary: number;
        societyBalance: number | null;
    }
    Index
    active: boolean

    Exactly one job is active when the list is non-empty.

    grade: number
    gradeLabel: string
    isBoss: boolean
    label: string

    What a player reads: LSPD.

    lines: JobLine[]
    name: string

    The framework's key: police.

    onDuty: boolean | null
    salary: number
    societyBalance: number | null