WatchNotificationsTool
Registers a filter against the live notification stream in WatchRegistry, returning a watch_id for later PollNotificationWatchTool / ListNotificationWatchesTool / UnwatchNotificationsTool calls. Matched events are buffered per watch (up to WatchRegistry.MAX_BUFFERED_EVENTS) and retrieved with poll_notification_watch. At most WatchRegistry.MAX_WATCHES watches may be active at once, else too_many_watches. Requires the listener service bound and notification listener access granted, else notification_listener_not_enabled. At least one of package_name (exact match), sender_pattern (substring on title), or keyword (substring on text/bigText/subText/ ticker) is required — supplying none is invalid_filter; supplying several AND-combines. sender_pattern and keyword match case-insensitively. ttl_seconds (clamped 60-86400, default 3600) auto-expires the watch; fire_on_update (default false) controls whether subsequent updates to an already-matched notification key fire again. Output: watch_id, expires_at, the effective ttl_seconds, and fire_on_update.