/** * enricher.ts — Watcher multi-CLI usando adapters * * En lugar de hardcodear la lógica de Claude Code, usa el adapter pattern * para soportar múltiples coding CLIs (Claude Code, Codex, OpenCode, etc.). * * Cada adapter implementa WatcherAdapter (src/watchers/adapter.ts): * - detect() → si el CLI está instalado * - getWatchPaths() → qué archivos observar * - parseEvent() → parsear una línea de trace * - getSessionCost() → calcular costos acumulados */ import './watchers/claude-code'; import './watchers/codex'; import './watchers/opencode'; import './watchers/amp'; import './watchers/droid'; import './watchers/codebuff'; import { type CostUpdate } from './db'; export { getAllBlockCostsForSession, getSessionPrompts } from './watchers/claude-code'; export { getContextWindow } from './pricing'; export type CostUpdateCallback = (sessionId: string, cost: CostUpdate, source?: string) => void; export type CompactDetectedCallback = (sessionId: string) => void; export declare function startEnricher(onUpdate: CostUpdateCallback, onCompact?: CompactDetectedCallback): void; export declare function stopEnricher(): void; export declare function cleanupSession(sessionId: string): void; export declare function processLatestForSession(sessionId: string, onUpdate: CostUpdateCallback, source?: string): Promise;