Awesome Reviewers

When integrating LLM providers, treat model limit metadata and token/usage accounting as schema-variant inputs that must be normalized into a single internal representation:

Example pattern for reasoning-token normalization:

function subtractReasoningFromOutputTokens(usage: any, reasoningTokenCount: number) {
  // Covers both flat and nested provider shapes.
  const outputTokens = usage?.outputTokens?.["reasoning"] != null
    ? usage.outputTokens - reasoningTokenCount
    : usage.outputTokens - reasoningTokenCount;

  usage.outputTokens = Math.max(0, outputTokens);
  usage.reasoningTokenCount = reasoningTokenCount;
  return usage;
}

Codebase standard checklist: