A couple of thoughts:
1) if you do need Sensors, you could create a custom sensor that manages the visibility test itself. You would probably derive from VisualSensor and just override TestVisibility. You could then use a test that compared an object to the capsule.
2) You probably don’t want to use a sensor for this. If you are actually using physics to detect bullet collisions, then let the physics collision happen and trigger AI behavior in your physics event handler. If you aren’t using physics and essentially have “fake” bullets, then just trigger the AI behavior wherever you determine that a bullet hit has happened.
In FPSControl, for example, the firing weapon does a raycast test and then sends a damage event to the object being hit. AI info is updated in the damage event.