/** * streaming-media.ts — Live media streams (camera/mic/screen) with registry. * * Agent opens a stream once → gets an ID → refers to it from UI panels or * stream_to_transformers loops. Central registry lives on window.__carelessStreams * so UIPanelBubble's panel.js can bind