@qtsurfer/sdk
    Preparing search index...

    Type Alias LiveSignal

    One signal, in the same shape the real-time signal channel delivers.

    type LiveSignal = {
        data?: { [key: string]: unknown };
        digest: string;
        emittedAtMs: number;
        eventTsMs: number;
        instrument: LiveSignalInstrument | null;
        kind?: string | null;
        order?: LiveSignalOrder;
        paramsVersion?: number;
        regenerated?: boolean;
        runId: string;
        signalId: string;
        stage: "sandbox" | "live";
        type: "hint" | "info" | "marker" | "command" | "paper";
        v: number;
    }
    Index
    data?: { [key: string]: unknown }

    The signal's own free-form payload, what the strategy put there with signal.set(...). Whoever may read the run may read it, so on a public run it is public. A signal whose data is over 8 KiB (8,192 bytes of its JSON) is not pushed on the WebSocket channel, and GET /live/{runId}/signals returns it whole.

    digest: string

    Content hash, for checking that two independent deliveries of the same signal agree.

    emittedAtMs: number

    Time it was published — always at or after eventTsMs.

    eventTsMs: number

    Market time the signal was produced.

    instrument: LiveSignalInstrument | null

    The instrument the signal is about. null only for a paper item about a whole account (equity, mark, kpi), whose data.currency names the account.

    kind?: string | null

    BUY/SELL for a hint, the command name for a command; for paper, what the item is: fill, trade, equity, mark, kpi or gap. Absent otherwise.

    order?: LiveSignalOrder
    paramsVersion?: number

    The parameter set in force when this signal was produced.

    regenerated?: boolean

    true only for a signal republished to fill a gap in the record.

    runId: string
    signalId: string

    Stable id for this exact signal — dedupe on it across reconnects or overlapping reads.

    stage: "sandbox" | "live"

    The stage the run was in when this signal was produced.

    type: "hint" | "info" | "marker" | "command" | "paper"

    paper items appear only for a run whose paper.output is mix; they are not relayed over the WebSocket channel.

    v: number

    Envelope schema version.