agent-ecosystem/src/shared/utils/teamAutomationMessages.ts
2026-05-10 21:29:07 +03:00

31 lines
1 KiB
TypeScript

import type { InboxMessage } from '@shared/types';
type AutomationMessageLike = Pick<InboxMessage, 'from' | 'messageId' | 'messageKind' | 'source'>;
function getMessageId(message: AutomationMessageLike): string {
return typeof message.messageId === 'string' ? message.messageId.trim() : '';
}
export function isTaskStallRemediationMessage(message: AutomationMessageLike): boolean {
if (message.messageKind === 'task_stall_remediation') {
return true;
}
return (
message.source === 'system_notification' &&
message.from === 'system' &&
getMessageId(message).startsWith('task-stall:')
);
}
export function isMemberWorkSyncNudgeMessage(message: AutomationMessageLike): boolean {
return message.messageKind === 'member_work_sync_nudge';
}
export function isReviewPickupEscalationMessage(message: AutomationMessageLike): boolean {
return (
message.source === 'system_notification' &&
message.from === 'system' &&
getMessageId(message).startsWith('member-work-sync-review-pickup-escalation:')
);
}