Files
page-agent/packages/extension/src/entrypoints/background.ts
T

37 lines
1.1 KiB
TypeScript
Raw Normal View History

import { handlePageControlMessage } from '@/agent/RemotePageController.background'
2026-02-10 21:59:58 +08:00
import { handleTabControlMessage, setupTabChangeEvents } from '@/agent/TabsController.background'
2026-01-24 19:29:27 +08:00
export default defineBackground(() => {
console.log('[Background] Service Worker started')
// tab change events
setupTabChangeEvents()
2026-01-28 23:03:03 +08:00
// generate user auth token
chrome.storage.local.get('PageAgentExtUserAuthToken').then((result) => {
if (result.PageAgentExtUserAuthToken) return
const userAuthToken = crypto.randomUUID()
chrome.storage.local.set({ PageAgentExtUserAuthToken: userAuthToken })
})
2026-02-10 21:59:58 +08:00
// message proxy
chrome.runtime.onMessage.addListener((message, sender, sendResponse): true | undefined => {
if (message.type === 'TAB_CONTROL') {
return handleTabControlMessage(message, sender, sendResponse)
} else if (message.type === 'PAGE_CONTROL') {
return handlePageControlMessage(message, sender, sendResponse)
} else {
sendResponse({ error: 'Unknown message type' })
return
}
2026-01-28 23:03:03 +08:00
})
// setup
2026-02-10 21:59:58 +08:00
chrome.sidePanel.setPanelBehavior({ openPanelOnActionClick: true }).catch(() => {})
2026-01-24 19:29:27 +08:00
})