The broadcaster produces a simpler shape than the workspace-migration MetadataEvent discriminated union, and includes updatedCollectionHash which MetadataEvent lacks. Define EventStreamMetadataEvent to match what the broadcaster actually produces, removing the as unknown as cast. https://claude.ai/code/session_01EcJHCeJy44AKw2rafgQcnu