Advanced TypeScript for Harness Builders

5. Conditional Types

`T extends U ? X : Y` evaluates types at the type level — often nested to pick between shapes.

Conditional types evaluate types at the type level: T extends U ? X : Y.

File: packages/ai/src/types.ts L407-411

export interface Model<TApi extends Api> {
  // ...
  compat?: TApi extends "openai-completions" ? OpenAICompletionsCompat : TApi extends "openai-responses" ? OpenAIResponsesCompat : never;
}

The compat field’s type changes based on the TApi type parameter — nested conditional types select the correct compatibility interface.


Open this chapter inside the full course