mlx-bun library API
    Preparing search index...
    interface TextConfig {
        attentionKEqV: boolean;
        attnOutputGate: boolean;
        bosTokenId: number;
        canvasLength?: number;
        decoderSparseStep: number;
        enableMoeBlock: boolean;
        eosTokenId: number | number[];
        finalLogitSoftcapping: number | null;
        fullAttentionInterval: number;
        globalHeadDim: number;
        headDim: number;
        hiddenActivation: string;
        hiddenSize: number;
        hiddenSizePerLayerInput: number;
        intermediateSize: number;
        layerTypes: string[];
        linearConvKernelDim: number;
        linearKeyHeadDim: number;
        linearNumKeyHeads: number;
        linearNumValueHeads: number;
        linearValueHeadDim: number;
        maxPositionEmbeddings: number;
        mlpOnlyLayers: number[];
        moeIntermediateSize: number;
        normTopkProb: boolean;
        numAttentionHeads: number;
        numExperts: number;
        numGlobalKeyValueHeads: number;
        numHiddenLayers: number;
        numKeyValueHeads: number;
        numKvSharedLayers: number;
        partialRotaryFactor: number;
        rmsNormEps: number;
        ropeParameters: Record<string, RopeParams>;
        slidingWindow: number;
        tieWordEmbeddings: boolean;
        topKExperts: number;
        vocabSize: number;
        vocabSizePerLayerInput: number;
    }
    Index
    attentionKEqV: boolean
    attnOutputGate: boolean

    Qwen3.5 full-attention output gate: q_proj emits 2× and gates the output.

    bosTokenId: number
    canvasLength?: number

    DiffusionGemma: fixed denoising-canvas length (256). Undefined elsewhere.

    decoderSparseStep: number

    Qwen3-MoE sparse-block gating (qwen3_moe): a layer is MoE unless it is in mlpOnlyLayers and (idx+1) % decoderSparseStep == 0 selects it. normTopkProb renormalizes the top-k gate weights. Defaults are inert for non-qwen3_moe families.

    enableMoeBlock: boolean

    26B-A4B MoE block: dense MLP + routed experts per layer.

    eosTokenId: number | number[]
    finalLogitSoftcapping: number | null
    fullAttentionInterval: number

    Every fullAttentionInterval-th layer is full-attention (Qwen3.5).

    globalHeadDim: number
    headDim: number
    hiddenActivation: string
    hiddenSize: number
    hiddenSizePerLayerInput: number

    e2b/e4b: per-layer input embedding width (0 = disabled).

    intermediateSize: number
    layerTypes: string[]

    "sliding_attention" | "full_attention" per layer.

    linearConvKernelDim: number
    linearKeyHeadDim: number
    linearNumKeyHeads: number
    linearNumValueHeads: number

    Qwen3.5 hybrid (gated-DeltaNet) geometry; 0/false for other families.

    linearValueHeadDim: number
    maxPositionEmbeddings: number
    mlpOnlyLayers: number[]
    moeIntermediateSize: number
    normTopkProb: boolean
    numAttentionHeads: number
    numExperts: number
    numGlobalKeyValueHeads: number

    Global (full-attention) layers can use different KV geometry.

    numHiddenLayers: number
    numKeyValueHeads: number
    numKvSharedLayers: number

    Trailing layers that share KV with earlier same-type layers.

    partialRotaryFactor: number

    Rotary fraction of head_dim (Qwen3.5 full attention: 0.25 → 64 of 256).

    rmsNormEps: number
    ropeParameters: Record<string, RopeParams>
    slidingWindow: number
    tieWordEmbeddings: boolean
    topKExperts: number
    vocabSize: number
    vocabSizePerLayerInput: number