const TEAM_MACHINE_SESSION_RE = /^[A-Za-z0-9._:-]{1,160}$/ export function agentSessionIdFromCliIdentity(identity: string | null): string | null { if (!identity) return null const colon = identity.indexOf(':') if (colon < 0) return identity.trim() || null const source = identity.slice(0, colon) const value = identity.slice(colon + 1).trim() return source === 'RNX_CLI_IDENTITY' && value ? value : null } export function teamMachineSessionIdFromCliIdentity( identity: string | null, ): string | null { if (!identity?.startsWith('TM_SESSION:')) return null const sessionId = identity.slice('TM_SESSION:'.length).trim() if (!TEAM_MACHINE_SESSION_RE.test(sessionId)) return null return sessionId } export function isValidTeamMachineSessionId(sessionId: string): boolean { return TEAM_MACHINE_SESSION_RE.test(sessionId) }