blob: 672c927e8a5ef36efee5ff9314c55527fe4b01e3 [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Non-executable realm provisioning components and capabilities that are consistent across
// products.
{
include: [ "//src/sys/appmgr/meta/appmgr.core_shard.cml" ],
children: [
{
name: "device_settings",
url: "fuchsia-pkg://fuchsia.com/device_settings_manager#meta/device_settings_manager.cm",
},
{
name: "session-manager",
url: "fuchsia-pkg://fuchsia.com/session_manager#meta/session_manager.cm",
environment: "#universe-resolver-env",
},
{
name: "system-update-committer",
url: "fuchsia-pkg://fuchsia.com/system-update-committer#meta/system-update-committer.cm",
startup: "eager",
},
{
name: "last_reboot",
url: "fuchsia-pkg://fuchsia.com/forensics#meta/last_reboot.cm",
},
// Children below this line may be present on some but not all product configurations.
// Children above this line are expected to be present on all configs that include
// core.cml.
//
// TODO(fxbug.dev/81003): If any of the components below are product-specific, move them
// to core realm shards.
{
name: "activity",
url: "fuchsia-pkg://fuchsia.com/activity#meta/activity.cm",
},
{
name: "brightness_manager",
url: "fuchsia-pkg://fuchsia.com/brightness_manager#meta/brightness_manager.cm",
environment: "#universe-resolver-env",
},
{
name: "cobalt",
url: "fuchsia-pkg://fuchsia.com/cobalt#meta/cobalt.cm",
},
{
name: "detect",
url: "fuchsia-pkg://fuchsia.com/triage-detect#meta/triage-detect.cm",
},
{
name: "diagnostics-persistence",
url: "fuchsia-pkg://fuchsia.com/diagnostics-persistence#meta/diagnostics-persistence.cm",
},
{
name: "diagnostics-kcounter",
url: "fuchsia-pkg://fuchsia.com/diagnostics-kcounter#meta/diagnostics-kcounter.cm",
},
{
name: "log-stats",
url: "fuchsia-pkg://fuchsia.com/log-stats#meta/log-stats.cm",
},
{
name: "sampler",
url: "fuchsia-pkg://fuchsia.com/sampler#meta/sampler.cm",
},
{
name: "starnix_manager",
url: "fuchsia-pkg://fuchsia.com/starnix#meta/starnix_manager.cm",
environment: "#universe-resolver-env",
},
{
name: "stash",
url: "fuchsia-pkg://fuchsia.com/stash#meta/stash.cm",
},
{
name: "stash2",
url: "fuchsia-pkg://fuchsia.com/stash#meta/stash2.cm",
},
{
name: "stash_secure",
url: "fuchsia-pkg://fuchsia.com/stash#meta/stash_secure.cm",
},
{
name: "emergency",
url: "fuchsia-pkg://fuchsia.com/emergency#meta/emergency.cm",
},
{
name: "regulatory_region",
url: "fuchsia-pkg://fuchsia.com/regulatory_region#meta/regulatory_region.cm",
},
{
name: "font_provider",
url: "fuchsia-pkg://fuchsia.com/fonts#meta/fonts.cm",
},
{
name: "remote-control",
url: "fuchsia-pkg://fuchsia.com/remote-control#meta/remote-control.cm",
},
{
name: "remote-diagnostics-bridge",
url: "fuchsia-pkg://fuchsia.com/remote-diagnostics-bridge#meta/remote-diagnostics-bridge.cm",
},
{
name: "debug_serial",
url: "fuchsia-pkg://fuchsia.com/debug-serial#meta/debug-serial.cm",
},
{
name: "system-metrics-logger",
url: "fuchsia-pkg://fuchsia.com/system-metrics-logger#meta/system-metrics-logger-component.cm",
environment: "#universe-resolver-env",
},
{
name: "temperature-logger",
url: "fuchsia-pkg://fuchsia.com/temperature-logger#meta/temperature-logger.cm",
environment: "#universe-resolver-env",
},
{
name: "universe-resolver",
url: "fuchsia-pkg://fuchsia.com/universe-resolver#meta/universe-resolver.cm",
},
{
name: "pkg-cache",
url: "fuchsia-pkg://fuchsia.com/pkg-cache#meta/pkg-cache.cm",
},
{
name: "pkg-resolver",
url: "fuchsia-pkg://fuchsia.com/pkg-resolver#meta/pkg-resolver.cm",
},
{
name: "soundplayer",
url: "fuchsia-pkg://fuchsia.com/soundplayer#meta/soundplayer.cm",
environment: "#universe-resolver-env",
},
{
name: "vulkan_loader",
url: "fuchsia-pkg://fuchsia.com/vulkan_loader#meta/vulkan_loader.cm",
environment: "#universe-resolver-env",
},
{
name: "ssh-key-manager",
url: "fuchsia-pkg://fuchsia.com/ssh-key-manager#meta/ssh-key-manager.cm",
},
{
name: "bt-avrcp",
url: "fuchsia-pkg://fuchsia.com/bt-avrcp#meta/bt-avrcp.cm",
environment: "#universe-resolver-env",
},
{
name: "network",
url: "fuchsia-pkg://fuchsia.com/network#meta/network.cm",
},
{
name: "hwinfo",
url: "fuchsia-pkg://fuchsia.com/hwinfo#meta/hwinfo.cm",
},
],
capabilities: [
// Note: `data`, `cache`, and `temp` storage capabilities are defined in a shard and
// included as part of the build process. See restricted-storage.core_shard.cml or
// unrestricted-storage.core_shard.cml
{
protocol: [ "fuchsia.sessionmanager.Startup" ],
},
],
offer: [
{
protocol: [
"fuchsia.location.position.EmergencyProvider",
"fuchsia.location.sensor.WlanBaseStationWatcher",
],
from: "#emergency",
to: "#appmgr",
},
{
protocol: [
"fuchsia.location.namedplace.RegulatoryRegionConfigurator",
"fuchsia.location.namedplace.RegulatoryRegionWatcher",
],
from: "#regulatory_region",
to: "#appmgr",
},
{
protocol: "fuchsia.devicesettings.DeviceSettingsManager",
from: "#device_settings",
to: "#appmgr",
},
{
protocol: "fuchsia.sys2.ComponentResolver",
from: "parent",
to: "#universe-resolver",
},
{
protocol: "fuchsia.ssh.AuthorizedKeys",
from: "#ssh-key-manager",
to: "#appmgr",
},
{
protocol: "fuchsia.factory.MiscFactoryStoreProvider",
from: "#appmgr",
to: [ "#hwinfo" ],
dependency: "weak_for_migration",
},
{
storage: "data",
from: "self",
to: "#device_settings",
},
{
protocol: [
"fuchsia.boot.RootResource",
"fuchsia.kernel.CpuResource",
"fuchsia.kernel.DebugResource",
"fuchsia.kernel.HypervisorResource",
"fuchsia.kernel.InfoResource",
"fuchsia.kernel.IoportResource",
"fuchsia.kernel.IrqResource",
"fuchsia.kernel.MmioResource",
"fuchsia.kernel.SmcResource",
"fuchsia.kernel.VmexResource",
],
from: "parent",
to: "#debug_serial",
},
{
protocol: "fuchsia.update.CommitStatusProvider",
from: "#system-update-committer",
to: "#appmgr",
},
{
protocol: [
"fuchsia.ui.activity.control.Control",
"fuchsia.ui.activity.Provider",
"fuchsia.ui.activity.Tracker",
],
from: "#activity",
to: [
"#appmgr",
"#cobalt",
],
},
{
protocol: "fuchsia.ui.brightness.Control",
from: "#brightness_manager",
to: "#appmgr",
},
{
protocol: "fuchsia.hardware.serial.NewDeviceProxy",
from: "#debug_serial",
to: "#appmgr",
},
{
protocol: [ "fuchsia.pkg.FontResolver" ],
from: "#pkg-resolver",
to: "#font_provider",
},
{
protocol: "fuchsia.systemmetrics.test.SystemMetricsLogger",
from: "#system-metrics-logger",
to: "#appmgr",
},
{
protocol: "fuchsia.thermal.test.TemperatureLogger",
from: "#temperature-logger",
to: "#appmgr",
},
{
protocol: "fuchsia.stash.Store",
from: "#stash",
to: "#appmgr",
},
{
protocol: "fuchsia.stash.Store2",
from: "#stash2",
to: "#appmgr",
},
{
protocol: "fuchsia.stash.SecureStore",
from: "#stash_secure",
to: "#appmgr",
},
{
protocol: [ "fuchsia.device.NameProvider" ],
from: "parent",
to: [ "#network" ],
},
{
protocol: [
// TODO(https://fxbug.dev/82130): Remove once dhcpd-cli is an
// ffx plugin.
"fuchsia.net.dhcp.Server",
"fuchsia.net.name.Lookup",
"fuchsia.net.NameLookup",
"fuchsia.net.routes.State",
"fuchsia.net.stack.Stack",
"fuchsia.netstack.Netstack",
"fuchsia.posix.socket.Provider",
],
from: "#network",
to: "#appmgr",
},
{
protocol: [ "fuchsia.net.http.Loader" ],
from: "#network",
to: [
"#appmgr",
"#cobalt",
"#emergency",
],
},
{
protocol: [ "fuchsia.net.interfaces.State" ],
from: "#network",
to: [
"#appmgr",
"#last_reboot",
"#remote-control",
],
},
{
protocol: [
"fuchsia.net.name.Lookup",
"fuchsia.posix.socket.Provider",
],
from: "#network",
to: [
"#cobalt",
"#pkg-resolver",
],
},
{
protocol: [ "fuchsia.posix.socket.Provider" ],
from: "#network",
to: "#session-manager",
},
{
protocol: "fuchsia.stash.SecureStore",
from: "#stash_secure",
to: [ "#network" ],
},
{
directory: "config-data",
from: "parent",
to: [ "#network" ],
},
{
directory: "dev",
from: "parent",
as: "dev-class-ethernet",
to: [ "#network" ],
subdir: "class/ethernet",
},
{
directory: "dev",
from: "parent",
as: "dev-class-network",
to: [ "#network" ],
subdir: "class/network",
},
{
storage: "cache",
from: "self",
to: [ "#network" ],
},
{
storage: "data",
from: "self",
to: [ "#network" ],
},
{
protocol: "fuchsia.pkg.PackageResolver",
from: "#pkg-resolver",
to: "#universe-resolver",
},
{
directory: [
"blob",
"pkgfs",
],
from: "parent",
to: "#pkg-cache",
},
{
protocol: [ "fuchsia.tracing.provider.Registry" ],
from: "#appmgr",
to: "#pkg-cache",
dependency: "weak_for_migration",
},
{
protocol: "fuchsia.update.CommitStatusProvider",
from: "#system-update-committer",
to: "#pkg-cache",
},
{
protocol: [
"fuchsia.pkg.PackageCache",
"fuchsia.space.Manager",
],
from: "#pkg-cache",
to: "#appmgr",
},
{
protocol: [
"fuchsia.boot.Arguments",
"fuchsia.paver.Paver",
],
from: "parent",
to: "#pkg-resolver",
},
{
protocol: [ "fuchsia.tracing.provider.Registry" ],
from: "#appmgr",
to: "#pkg-resolver",
dependency: "weak_for_migration",
},
{
protocol: [ "fuchsia.pkg.PackageCache" ],
from: "#pkg-cache",
to: "#pkg-resolver",
},
{
storage: "data",
from: "self",
to: "#pkg-resolver",
},
{
directory: "config-data",
from: "parent",
to: "#pkg-resolver",
subdir: "pkg-resolver",
},
{
directory: "config-data",
from: "parent",
to: [ "#emergency" ],
subdir: "emergency",
},
{
directory: "dev",
from: "parent",
as: "skip-block",
to: "#pkg-resolver",
subdir: "class/skip-block",
},
{
directory: "dev",
from: "parent",
as: "platform",
to: "#pkg-resolver",
subdir: "sys/platform",
},
{
directory: "pkgfs",
from: "parent",
as: "pkgfs-system",
to: "#pkg-resolver",
subdir: "system",
},
{
protocol: [
"fuchsia.pkg.PackageResolver",
"fuchsia.pkg.PackageResolverAdmin",
"fuchsia.pkg.RepositoryManager",
"fuchsia.pkg.rewrite.Engine",
],
from: "#pkg-resolver",
to: "#appmgr",
},
{
protocol: [
"fuchsia.diagnostics.ArchiveAccessor",
"fuchsia.diagnostics.FeedbackArchiveAccessor",
"fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
"fuchsia.logger.Log",
],
from: "parent",
to: [
"#log-stats",
"#sampler",
],
},
{
protocol: [ "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister" ],
from: "parent",
to: [ "#sampler" ],
},
{
protocol: [ "fuchsia.diagnostics.FeedbackArchiveAccessor" ],
from: "parent",
to: [
"#detect",
"#diagnostics-persistence",
],
},
{
protocol: [ "fuchsia.logger.LogSink" ],
from: "parent",
to: [
"#activity",
"#appmgr",
"#brightness_manager",
"#bt-avrcp",
"#cobalt",
"#debug_serial",
"#detect",
"#device_settings",
"#diagnostics-kcounter",
"#diagnostics-persistence",
"#emergency",
"#font_provider",
"#hwinfo",
"#last_reboot",
"#log-stats",
"#network",
"#pkg-cache",
"#pkg-resolver",
"#regulatory_region",
"#remote-control",
"#sampler",
"#session-manager",
"#soundplayer",
"#ssh-key-manager",
"#starnix_manager",
"#stash",
"#stash2",
"#stash_secure",
"#system-metrics-logger",
"#system-update-committer",
"#temperature-logger",
"#universe-resolver",
"#vulkan_loader",
],
},
{
protocol: [ "fuchsia.kernel.Counter" ],
from: "parent",
to: "#diagnostics-kcounter",
},
{
protocol: [
"fuchsia.hardware.power.statecontrol.Admin",
"fuchsia.paver.Paver",
"fuchsia.update.verify.BlobfsVerifier",
],
from: "parent",
to: "#system-update-committer",
},
{
protocol: [ "fuchsia.kernel.VmexResource" ],
from: "parent",
to: "#starnix_manager",
},
{
protocol: [ "fuchsia.starnix.developer.Manager" ],
from: "#starnix_manager",
to: "#appmgr",
},
{
directory: "config-data",
from: "parent",
to: "#hwinfo",
subdir: "hwinfo",
},
{
protocol: "fuchsia.diagnostics.persist.DataPersistence-wlan",
from: "#diagnostics-persistence",
to: "#appmgr",
},
{
protocol: [
"fuchsia.hwinfo.Device",
"fuchsia.overnet.Overnet",
"fuchsia.overnet.ServicePublisher",
"fuchsia.sys.Launcher",
],
from: "#appmgr",
to: "#remote-control",
dependency: "weak_for_migration",
},
{
protocol: [ "fuchsia.posix.socket.Provider" ],
from: "#network",
to: "#remote-control",
},
{
protocol: [
"fuchsia.device.manager.Administrator",
"fuchsia.device.NameProvider",
],
from: "parent",
to: "#remote-control",
},
{
protocol: [
"fuchsia.diagnostics.ArchiveAccessor",
"fuchsia.logger.LogSink",
],
from: "parent",
to: "#remote-diagnostics-bridge",
},
{
directory: "config-data",
from: "parent",
to: "#font_provider",
subdir: "fonts",
},
{
directory: "config-data",
from: "parent",
to: "#sampler",
subdir: "sampler",
},
{
directory: "config-data",
from: "parent",
to: "#diagnostics-persistence",
subdir: "diagnostics-persistence",
},
{
protocol: "fuchsia.developer.remotecontrol.RemoteDiagnosticsBridge",
from: "#remote-diagnostics-bridge",
to: "#remote-control",
},
{
protocol: "fuchsia.developer.remotecontrol.RemoteControl",
from: "#remote-control",
to: "#appmgr",
},
{
protocol: "fuchsia.feedback.CrashReporter",
from: "#appmgr",
to: [ "#detect" ],
},
{
protocol: "fuchsia.feedback.CrashReportingProductRegister",
from: "#appmgr",
to: "#detect",
},
{
protocol: "fuchsia.fonts.Provider",
from: "#font_provider",
to: "#appmgr",
},
{
protocol: "fuchsia.kernel.Stats",
from: "parent",
to: "#system-metrics-logger",
},
{
protocol: "fuchsia.tracing.provider.Registry",
from: "#appmgr",
to: "#system-metrics-logger",
dependency: "weak_for_migration",
},
{
storage: "data",
from: "self",
to: "#brightness_manager",
},
{
directory: "dev",
from: "parent",
as: "dev-backlight",
to: "#brightness_manager",
subdir: "class/backlight",
},
{
directory: "dev",
from: "parent",
as: "dev-input-report",
to: "#brightness_manager",
subdir: "class/input-report",
},
{
directory: "dev",
from: "parent",
as: "dev-temperature",
to: "#temperature-logger",
subdir: "class/temperature",
},
{
directory: "dev",
from: "parent",
as: "dev-thermal",
to: "#temperature-logger",
subdir: "class/thermal",
},
{
directory: "root-ssl-certificates",
from: "parent",
to: [
"#cobalt",
"#network",
"#pkg-resolver",
],
},
{
directory: "config-data",
from: "parent",
to: "#temperature-logger",
subdir: "temperature-logger",
},
{
directory: "config-data",
from: "parent",
to: "#detect",
subdir: "triage-detect",
},
{
directory: "config-data",
from: "parent",
to: "#log-stats",
subdir: "log-stats",
},
{
directory: "config-data",
from: "parent",
to: "#system-update-committer",
subdir: "system-update-committer",
},
{
directory: "config-data",
from: "parent",
to: "#cobalt",
subdir: "cobalt",
},
{
protocol: [
"fuchsia.device.Controller",
"fuchsia.hardware.temperature.Device",
],
from: "parent",
to: "#temperature-logger",
},
{
protocol: "fuchsia.tracing.provider.Registry",
from: "#appmgr",
to: "#temperature-logger",
dependency: "weak_for_migration",
},
{
protocol: [
"fuchsia.hwinfo.Board",
"fuchsia.hwinfo.Device",
"fuchsia.hwinfo.Product",
],
from: "#hwinfo",
to: "#appmgr",
},
{
directory: "minfs",
from: "parent",
as: "ssh",
to: "#ssh-key-manager",
subdir: "ssh",
},
// Note: this is the v2 root hub. The hub in the `expose` section below
// is the v1 root hub.
{
directory: "hub",
from: "parent",
to: "#remote-control",
},
{
storage: [
"cache",
"data",
"tmp",
],
from: "self",
to: "#session-manager",
},
{
directory: "config-data",
from: "parent",
to: "#session-manager",
},
{
directory: "dev",
from: "parent",
as: "dev-input-report",
to: "#session-manager",
subdir: "class/input-report",
},
{
protocol: "fuchsia.hardware.power.statecontrol.Admin",
from: "parent",
to: "#session-manager",
},
{
protocol: [
"fuchsia.deprecatedtimezone.Timezone",
"fuchsia.feedback.CrashReporter",
"fuchsia.intl.PropertyProvider",
"fuchsia.sys.Launcher",
"fuchsia.sys2.Realm",
"fuchsia.sysmem.Allocator",
"fuchsia.tracing.provider.Registry",
"fuchsia.ui.focus.FocusChainListenerRegistry",
"fuchsia.ui.input.ImeService",
"fuchsia.ui.input3.Keyboard",
"fuchsia.ui.input3.KeyEventInjector",
"fuchsia.ui.keyboard.focus.Controller",
"fuchsia.ui.lifecycle.LifecycleController",
"fuchsia.ui.pointerinjector.Registry",
"fuchsia.ui.policy.Presenter",
"fuchsia.ui.scenic.Scenic",
"fuchsia.ui.shortcut.Manager",
"fuchsia.ui.views.ViewRefInstalled",
],
from: "#appmgr",
to: "#session-manager",
},
{
protocol: [
"fuchsia.input.injection.InputDeviceRegistry",
"fuchsia.session.Launcher",
],
from: "#session-manager",
to: "#appmgr",
dependency: "weak_for_migration",
},
{
protocol: "fuchsia.ui.accessibility.view.Registry",
from: "#session-manager",
to: "#appmgr",
dependency: "weak_for_migration",
},
{
storage: "data",
from: "self",
to: [
"#last_reboot",
"#stash",
"#stash2",
"#stash_secure",
],
},
{
protocol: "fuchsia.feedback.internal.LastRebootDirectoryMigrator",
from: "#last_reboot",
to: "#appmgr",
},
{
storage: [
"cache",
"tmp",
],
from: "self",
to: "#last_reboot",
},
{
storage: [ "cache" ],
from: "self",
to: "#regulatory_region",
},
{
protocol: "fuchsia.media.sounds.Player",
from: "#soundplayer",
to: "#appmgr",
},
{
storage: "cache",
from: "self",
to: "#diagnostics-persistence",
},
{
protocol: [ "fuchsia.media.Audio" ],
from: "#appmgr",
to: "#soundplayer",
dependency: "weak_for_migration",
},
{
protocol: [ "fuchsia.vulkan.loader.Loader" ],
from: "#vulkan_loader",
to: "#appmgr",
},
{
directory: "dev",
from: "parent",
as: "dev-gpu",
to: "#vulkan_loader",
subdir: "class/gpu",
},
{
directory: "dev",
from: "parent",
as: "dev-gpu-dependency-injection",
to: "#vulkan_loader",
subdir: "class/gpu-dependency-injection",
},
{
directory: "dev",
from: "parent",
as: "dev-goldfish-pipe",
to: "#vulkan_loader",
subdir: "class/goldfish-pipe",
},
{
directory: "dev",
from: "parent",
as: "dev-goldfish-control",
to: "#vulkan_loader",
subdir: "class/goldfish-control",
},
{
directory: "dev",
from: "parent",
as: "dev-goldfish-address-space",
to: "#vulkan_loader",
subdir: "class/goldfish-address-space",
},
{
directory: "dev",
from: "parent",
as: "dev-goldfish-sync",
to: "#vulkan_loader",
subdir: "class/goldfish-sync",
},
{
protocol: [
"fuchsia.bluetooth.avrcp.PeerManager",
"fuchsia.bluetooth.avrcp.test.PeerManagerExt",
],
from: "#bt-avrcp",
to: "#appmgr",
},
{
protocol: [ "fuchsia.bluetooth.bredr.Profile" ],
from: "#appmgr",
to: "#bt-avrcp",
dependency: "weak_for_migration",
},
{
protocol: "fuchsia.cobalt.LoggerFactory",
from: "#cobalt",
to: [
"#appmgr",
"#emergency",
"#pkg-cache",
"#pkg-resolver",
"#sampler",
"#session-manager",
],
},
{
protocol: "fuchsia.cobalt.SystemDataUpdater",
from: "#cobalt",
to: [ "#appmgr" ],
},
{
protocol: "fuchsia.metrics.MetricEventLoggerFactory",
from: "#cobalt",
to: [
"#appmgr",
"#log-stats",
"#sampler",
],
},
{
protocol: [
"fuchsia.settings.Privacy",
"fuchsia.tracing.provider.Registry",
],
from: "#appmgr",
to: "#cobalt",
dependency: "weak_for_migration",
},
{
protocol: [
"fuchsia.scheduler.ProfileProvider",
"fuchsia.sysinfo.SysInfo",
],
from: "parent",
to: "#cobalt",
},
{
storage: "data",
from: "self",
to: "#cobalt",
},
],
expose: [
{
protocol: [ "fuchsia.sessionmanager.Startup" ],
from: "#session-manager",
},
{
protocol: [ "fuchsia.cobalt.LoggerFactory" ],
from: "#cobalt",
},
{
protocol: [ "fuchsia.component.Binder" ],
from: "#detect",
as: "fuchsia.component.DetectBinder",
},
{
protocol: [ "fuchsia.component.Binder" ],
from: "#diagnostics-kcounter",
as: "fuchsia.component.KcounterBinder",
},
{
protocol: [ "fuchsia.component.Binder" ],
from: "#diagnostics-persistence",
as: "fuchsia.component.PersistenceBinder",
},
{
protocol: [ "fuchsia.component.Binder" ],
from: "#log-stats",
as: "fuchsia.component.LogStatsBinder",
},
{
protocol: [ "fuchsia.component.Binder" ],
from: "#sampler",
as: "fuchsia.component.SamplerBinder",
},
{
protocol: [
"fuchsia.pkg.PackageResolver",
"fuchsia.pkg.RepositoryManager",
"fuchsia.pkg.rewrite.Engine",
],
from: "#pkg-resolver",
},
{
protocol: [ "fuchsia.ui.activity.Provider" ],
from: "#activity",
},
],
environments: [
// Components that simply need access to universe-resolver can use this environment.
{
name: "universe-resolver-env",
extends: "realm",
resolvers: [
{
resolver: "universe-resolver",
from: "#universe-resolver",
scheme: "fuchsia-pkg",
},
],
},
],
}