agent-ecosystem/src/renderer/components/team/dialogs/teamRelaunchFlow.ts

30 lines
783 B
TypeScript

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