calculateCostFromTokens function

double calculateCostFromTokens(
  1. String model,
  2. RawTokenCounts tokens, {
  3. required CanonicalNameResolver getCanonicalName,
  4. required DefaultModelResolver getDefaultMainLoopModelSetting,
  5. required FastModeChecker isFastModeEnabled,
  6. UnknownModelCostFlagged? onUnknownModelCost,
  7. AnalyticsLogger? logEvent,
})

Calculate cost from raw token counts without requiring a full TokenUsageInfo object. Useful for side queries (e.g. classifier) that track token counts independently.

Implementation

double calculateCostFromTokens(
  String model,
  RawTokenCounts tokens, {
  required CanonicalNameResolver getCanonicalName,
  required DefaultModelResolver getDefaultMainLoopModelSetting,
  required FastModeChecker isFastModeEnabled,
  UnknownModelCostFlagged? onUnknownModelCost,
  AnalyticsLogger? logEvent,
}) {
  final usage = TokenUsageInfo(
    inputTokens: tokens.inputTokens,
    outputTokens: tokens.outputTokens,
    cacheReadInputTokens: tokens.cacheReadInputTokens,
    cacheCreationInputTokens: tokens.cacheCreationInputTokens,
  );
  return calculateUsdCost(
    model,
    usage,
    getCanonicalName: getCanonicalName,
    getDefaultMainLoopModelSetting: getDefaultMainLoopModelSetting,
    isFastModeEnabled: isFastModeEnabled,
    onUnknownModelCost: onUnknownModelCost,
    logEvent: logEvent,
  );
}