{"version":3,"sources":["../src/internal/clock.ts","../src/AudioEngine.ts","../src/internal/uuid.ts","../src/CrossFrameBridge.ts","../src/EventBus.ts","../src/KeyboardController.ts","../src/QueueManager.ts","../src/internal/storage.ts","../src/SessionManager.ts","../src/PlayerController.ts"],"names":["el","target"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Thin clock abstraction. Indirection exists so tests can swap a fake clock\n * for deterministic `at` timestamps without monkey-patching globals.\n */\n\nexport interface Clock {\n /** Monotonic timestamp in milliseconds. Use for `at` fields on the bus. */\n now(): number\n /** Wall-clock ISO-8601 UTC string. Use for `played_at` / `client_emitted_at`. */\n isoNow(): string\n}\n\nexport const systemClock: Clock = {\n now: () => performance.now(),\n isoNow: () => new Date().toISOString(),\n}\n","import type { EventBus } from './EventBus'\nimport type { Clock } from './internal/clock'\nimport { systemClock } from './internal/clock'\nimport type { PlayerEvents } from './types'\n\n/**\n * Wraps an HTMLAudioElement and emits the `engine:*` events on the shared bus.\n *\n * Edge cases this normalizes (plan §5):\n * - `timeupdate` throttles to <1Hz when the tab is hidden; we replace the\n * browser's `timeupdate` with an internal 1s tick that fires while playing,\n * visible or not — listening with the tab in the background is listening\n * (telemetry marks each event `background` instead of dropping it). Timers\n * in a tab that is playing audio aren't throttled below 1s. The raw browser\n * `timeupdate` is intentionally NOT subscribed — collectors that need\n * progress get it from `engine:timeupdate`.\n * - Programmatic seeks emit `seeking`/`seeked` like user gestures; downstream\n * debouncing lives in the SeekCollector, not here.\n * - `waiting` / `playing` map to \"buffer stall start / end\". Note: HTML5's\n * `playing` event also fires when starting playback for the first time; the\n * stall semantics in this layer treat ANY `playing` after a `waiting` as a\n * recovery, which is the behavior collectors want.\n */\nexport class AudioEngine {\n private element: HTMLAudioElement | null = null\n private tickHandle: ReturnType | null = null\n private readonly handlers: Array<{ type: string; fn: EventListener }> = []\n /**\n * Last known currentTime before the current seek. Updated continuously from\n * the raw browser `timeupdate` (used internally only — we don't emit on it).\n * Captured this way so user-initiated seeks (clicking the scrubber) get a\n * correct `from` value; by the time `seeking` fires, `el.currentTime` is\n * already the destination.\n */\n private lastKnownTime = 0\n private seekInProgress = false\n /** A {@link replaceSource} is putting the new source back at its place: that seek isn't the listener's. */\n private swapSeekPending = false\n\n constructor(\n private readonly bus: EventBus,\n private readonly clock: Clock = systemClock,\n ) {}\n\n /**\n * Attach to an