// background.js - service worker const events = []; let recording = false; let activeTabId = null; chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => { if (msg.action === 'startRecording') { events.length = 0; recording = true; activeTabId = msg.tabId; chrome.tabs.sendMessage(msg.tabId, { action: 'startRecord' }); sendResponse({ ok: true }); } else if (msg.action === 'stopRecording') { recording = false; chrome.tabs.sendMessage(activeTabId, { action: 'stopRecord' }); sendResponse({ ok: true, eventCount: events.length }); } else if (msg.action === 'getEvents') { sendResponse({ events: events }); } else if (msg.action === 'event') { events.push(msg.data); } else if (msg.action === 'getStatus') { sendResponse({ recording, eventCount: events.length }); } return true; });