@btx-tools SDK — BTX service-challenge admission control
    Preparing search index...
    ChallengePurpose: "rate_limit" | "api_gate" | "ai_inference_gate" | string & {}

    Standard purpose labels recognized by the chain. Free-form strings allowed too.

    The (string & {}) trick keeps autocomplete on the known labels while still accepting arbitrary purpose strings. Don't "simplify" to plain string — it loses the autocompletion benefit. See: https://github.com/microsoft/TypeScript/issues/29729