sendShutdownRequestToMailbox function
Sends a shutdown request to a teammate's mailbox.
Implementation
Future<({String requestId, String target})> sendShutdownRequestToMailbox(
String targetName, {
String? teamName,
String? reason,
}) async {
final resolvedTeamName = teamName ?? getTeamName();
final senderName = getAgentName() ?? teamLeadName;
final requestId =
'shutdown-$targetName-${DateTime.now().millisecondsSinceEpoch}';
final shutdownMessage = createShutdownRequestMessage(
requestId: requestId,
from: senderName,
reason: reason,
);
await writeToMailbox(
targetName,
TeammateMessage(
from: senderName,
text: jsonEncode(shutdownMessage.toJson()),
timestamp: DateTime.now().toUtc().toIso8601String(),
read: false,
color: getTeammateColor(),
),
teamName: resolvedTeamName,
);
return (requestId: requestId, target: targetName);
}