import type { TeamCreateRequest, TeamLaunchRequest } from '@shared/types'; interface ExecuteTeamRelaunchOptions { teamName: string; isTeamAlive: boolean; request: TeamLaunchRequest; members: TeamCreateRequest['members']; stopTeam: (teamName: string) => Promise; replaceMembers: ( teamName: string, request: { members: TeamCreateRequest['members'] } ) => Promise; launchTeam: (request: TeamLaunchRequest) => Promise; } export async function executeTeamRelaunch({ teamName, isTeamAlive, request, members, stopTeam, replaceMembers, launchTeam, }: ExecuteTeamRelaunchOptions): Promise { if (isTeamAlive) { await stopTeam(teamName); } await replaceMembers(teamName, { members }); await launchTeam(request); }