LaunchAppTool
Launches an installed app via its main launch intent (FLAG_ACTIVITY_NEW_TASK), identified by package_name. Errors if the app is not found or exposes no launcher activity. No permissions; the module's manifest declares a <queries> element for MAIN/LAUNCHER intents so API 30+ package-visibility filtering doesn't hide launchable targets (a package with no launcher activity — background-only — is still invisible). On API 29+ the host must be in the foreground (or hold SYSTEM_ALERT_WINDOW), otherwise the system silently blocks the launch; the tool detects this up front and returns an error. Output: success (true) and package_name.