Awesome Reviewers

When designing or extending APIs, ensure the request/response schema and behavior strictly preserve invariants and provider compatibility.

Apply these rules: 1) Don’t expose unsafe state transitions

2) Use explicit, strongly-typed API models for configuration/mappings

Example (schema shape for typed mappings):

input ReasoningEffortMappingInput {
  from: String!
  to: String!
}

type ReasoningEffortMapping {
  from: String!
  to: String!
}

input UpdateChatSettingsInput {
  reasoningEffortMapping: [ReasoningEffortMappingInput!]
}

3) Preserve the intended API lifecycle across fallback paths

4) Match third-party spec requirements exactly and guard provider-specific behaviors