DEPRECATION WARNING: The Modular framework is being deprecated in favor of the Session Framework.
Agent is a singleton-per-session component without any graphical UI.
Agents can provide services to other modular components.
Any modular component can connect to an agent and access its services (including modules, shells, and other agents).
An agent is given access to two services provided by the modular framework in its incoming namespace:
fuchsia.modular.ComponentContextwhich gives the agent access to functionality which is shared across components run under the modular framework (e.g. modules, shells, agents).
fuchsia.modular.AgentContextwhich gives agents access to agent specific functionality.
An agent is expected to provide the following services to the modular framework in its outgoing namespace:
fuchsia.modular.Lifecycleallows the framework to signal the agent to terminate gracefully.
Agents are launched when a client requests a service that is provided by the agent.
"Session agents" and "startup agents", specified in a (Modular config)[guide/config.md], are started eagerly during session startup.
Exposing FIDL services
Agents can expose services to other components. They do so by publishing
these services in their outgoing directory. Other components (agents, shells, modules)
can connect to these services through their incoming directory (aka. namespace)
like any other service, provided a mapping in the
for the requested service exists.
See Guide to configuring the Modular Framework for information on