isBilledAsExtraUsage function
Determines if the current request is billed as extra usage.
Extra usage applies to Neomage AI subscribers when:
- Fast mode is enabled
- Using Opus 4.6 or Sonnet 4.6 with 1M context (unless Opus 1M is merged)
Implementation
bool isBilledAsExtraUsage({
required String? model,
required bool isFastMode,
required bool isOpus1mMerged,
required bool Function() isNeomageAiSubscriber,
required bool Function(String) has1mContext,
}) {
if (!isNeomageAiSubscriber()) return false;
if (isFastMode) return true;
if (model == null || !has1mContext(model)) return false;
final m = model.toLowerCase().replaceAll(RegExp(r'\[1m\]$'), '').trim();
final isOpus46 = m == 'opus' || m.contains('opus-4-6');
final isSonnet46 = m == 'sonnet' || m.contains('sonnet-4-6');
if (isOpus46 && isOpus1mMerged) return false;
return isOpus46 || isSonnet46;
}