# Component Events Client Library

This library provides convenience functions for clients that interact with the
`fuchsia.component.EventStream` protocol.

The library is primarily used in OpaqueTest integration tests.

The library has support for:
* Event parsing
* Event sequence matching
* Event logging
* Capability injection/interposition
