Skip to content

v2.2.0 — gateway-addressed models keep their effort and their price

Latest

Choose a tag to compare

@LarHope LarHope released this 16 Aug 04:48
· 2 commits to main since this release

Model capability detection and pricing lookup now strip a gateway vendor prefix before matching.

A model addressed as openai/gpt-5.6-luna or z-ai/glm-5.2 previously failed every anchored rule, so it was classified as a standard model, reasoningEffort was silently deleted from the request, and the pricing lookup returned nothing. Setting an effort level had no effect and produced no warning.

Fixed

  • One shared vendor-prefix strip now normalizes the model id for both capability detection and pricing, in TypeScript and Python alike. Pricing previously enumerated three vendor prefixes and lost every other vendor.

Changed

  • Capability rules are read from model-capabilities.json instead of the hardcoded regexes that duplicated it. The file already shipped in both packages and described itself as the source of parity; nothing read it. Python now carries a byte-identical copy.
  • fixedTemperature is no longer an alias for isReasoningModel. The temperature restriction belongs to the OpenAI families and has its own list, so a reasoning model from another vendor keeps its temperature.
  • GLM is recognised as a reasoning model.

Added

  • Pricing for gpt-5.6-luna, glm-5.2 and deepseek-v4-flash-0731; refreshed deepseek-v4-flash.

TypeScript and Python return byte-identical capability output for the same inputs.