Vanilla is using something between TM 1 and 2.
The sniper-spotter mechanics. It should be checked whether PSI-soldiers have mark "sniper", then it will be obvious, can it make PSI attacks beyond actual vision range.
The logics are simple: to give modder a possibility to decide whether this particular unit should or should not attack on purpose of controlled game balance.
Snipers see (and can attack and grenade) detected units for a number of turns (usually 2-5).
I would rather suggest you make the following options:
1. Units attack IF ONLY they see
2. non-sniper-tagged units attack only IF they see, but sniper-tagged units can use squad sight.
3. non-sniper-tagged units attack only IF they see, but sniper-tagged units can use squad sight. PLUS they can fire beyond the vision (dark areas) into presumed hostile unit location on their turn
4. Whole units use squad vision PLUS all above + REACTION fire into darkness (it's both good and bad, because weak AI units will only expose themselves, while strong will ofc make kills)
5. AI cheats, but with limitations
6. AI cheats as an asshole
The balanced option is 3 for most of the mods.
And don't forget, that PSI units usually can see through walls with SENSE. Some sectoid leader may have 20 PSI sense and therefore mind-attack human squad which gets close to the ship. PSI attacks should be limited, because it will be one-turn battle. Blaster launchers should be limited too. Vanilla OXCE units don't use them, players are not getting used to blaster attacks, most mods are balanced ignoring the blaster launchers getting spawned in the AI hands.