Files
playwriter/extension/src/types.ts
Tommy D. Rossi 74497c2a1a feat: implement screen recording via chrome.tabCapture with offscreen document
- Use chrome.tabCapture.getMediaStreamId() from service worker
- Pass stream ID to offscreen document for MediaRecorder
- Recording survives page navigation (unlike getDisplayMedia)
- Requires user to click extension icon first (activeTab permission)
- Add esbuild to build offscreen.ts separately
- Update prompt docs with recording instructions
2026-01-27 13:35:22 +01:00

29 lines
709 B
TypeScript

export type ConnectionState = 'idle' | 'connected' | 'extension-replaced'
export type TabState = 'connecting' | 'connected' | 'error'
export interface TabInfo {
sessionId?: string
targetId?: string
state: TabState
errorText?: string
pinnedCount?: number
attachOrder?: number
isRecording?: boolean
}
export interface ExtensionState {
tabs: Map<number, TabInfo>
connectionState: ConnectionState
currentTabId: number | undefined
errorText: string | undefined
}
/**
* Recording state - stored in service worker to track active recordings.
* The actual MediaRecorder/MediaStream live in the offscreen document.
*/
export interface RecordingInfo {
tabId: number
startedAt: number
}