mlx-bun library API
    Preparing search index...

    The request shape — the union of every structured-output field name across the OpenAI/oMLX/vLLM API surfaces. BOTH spellings are accepted: the wire protocol is snake_case (the server passes the raw request body — this was a live bug until 2026-07-03: only camelCase was read, so response_format over HTTP silently no-op'd; caught by the feature-matrix benchmark's conformance gate); library callers use camelCase.

    interface GrammarRequest {
        guided_choice?: string[];
        guided_grammar?: string;
        guided_regex?: string;
        guidedChoice?: string[];
        guidedGrammar?: string;
        guidedRegex?: string;
        response_format?: unknown;
        responseFormat?: unknown;
        structured_outputs?: unknown;
        structuredOutputs?: unknown;
    }
    Index
    guided_choice?: string[]
    guided_grammar?: string
    guided_regex?: string
    guidedChoice?: string[]

    vLLM/oMLX: restrict output to one of these strings (enum).

    guidedGrammar?: string

    vLLM/oMLX: raw EBNF/LARK grammar string.

    guidedRegex?: string

    vLLM/oMLX: regex. Compiled via root ::= <regex> EBNF embedding, so only the regex∩EBNF subset works (the F5 gap — real regex→EBNF or structural-tag RegexFormat is the tracked fix, 02d723a:docs/reference/server-api.md).

    response_format?: unknown
    responseFormat?: unknown

    OpenAI response_format. {type:"json_object"} | {type:"json_schema", json_schema:{name,schema,strict?}} | {type:"text"} (text = no-op).

    structured_outputs?: unknown
    structuredOutputs?: unknown

    vLLM/oMLX: a JSON schema object directly (alias for response_format's json_schema.schema).