import type { DirectMessageParticipant, User } from '../../../../shared-kernel'; export type DirectCallStatus = 'calling' | 'ringing' | 'connected' | 'ended'; export interface DirectCallParticipant { userId: string; profile: DirectMessageParticipant; joined: boolean; } export interface DirectCallSession { callId: string; conversationId: string; createdAt: number; initiatorId: string; participantIds: string[]; participants: Record; status: DirectCallStatus; } export function participantToUser(participant: DirectMessageParticipant): User { return { id: participant.userId, oderId: participant.userId, username: participant.username, displayName: participant.displayName, description: participant.description, avatarUrl: participant.avatarUrl, avatarHash: participant.avatarHash, avatarMime: participant.avatarMime, avatarUpdatedAt: participant.avatarUpdatedAt, profileUpdatedAt: participant.profileUpdatedAt, status: 'online', role: 'member', joinedAt: Date.now() }; }