import { describe, expect, it } from 'vitest'; import { formatCrossTeamPrefix, parseCrossTeamPrefix, stripCrossTeamPrefix, } from '@shared/constants/crossTeam'; describe('crossTeam protocol helpers', () => { it('parses canonical cross-team prefix metadata', () => { const parsed = parseCrossTeamPrefix( '\nHello' ); expect(parsed).toEqual({ from: 'dream-team.team-lead', chainDepth: 0, conversationId: 'conv-1', replyToConversationId: 'conv-0', }); }); it('strips canonical prefix from UI text', () => { expect( stripCrossTeamPrefix('\nHello') ).toBe('Hello'); }); it('parseCrossTeamAttributes regex: parses attr="value" pairs', () => { const text = formatCrossTeamPrefix('team.user', 0, { conversationId: 'c1', replyToConversationId: 'c0', }); const parsed = parseCrossTeamPrefix(text + '\nbody'); expect(parsed).not.toBeNull(); expect(parsed!.from).toBe('team.user'); expect(parsed!.conversationId).toBe('c1'); expect(parsed!.replyToConversationId).toBe('c0'); }); it('handles depth attribute', () => { const parsed = parseCrossTeamPrefix( '\nHi' ); expect(parsed?.chainDepth).toBe(2); }); });