← back to Letsbegin

lib/cost-track.ts

17 lines

// Best-effort cost-tracker wrapper for Letsbegin Gemini calls.
// Fails silently in Edge runtime / when the cost-tracker module isn't present
// (e.g. on Kamatera deploy where ~/.claude/ doesn't exist).
import os from 'os'

type GeminiResponseLike = { usageMetadata?: { promptTokenCount?: number; candidatesTokenCount?: number }, modelVersion?: string }

export function logGemini(response: GeminiResponseLike, opts: { note?: string; model?: string } = {}) {
  try {
    // eslint-disable-next-line @typescript-eslint/no-require-imports
    const { logGemini: hook } = require(os.homedir() + '/.claude/skills/cost-tracker/scripts/log-gemini.js')
    hook(response, { app: 'letsbegin', note: opts.note || '', model: opts.model || 'gemini-2.0-flash' })
  } catch {
    // fail-soft — cost-tracker is optional
  }
}