// Non-executable realm provisioning components and capabilities that are consistent across
// products.
{
    children: [
        {
            name: "device_settings",
            url: "fuchsia-pkg://fuchsia.com/device_settings_manager#meta/device_settings_manager.cm",
        },
        {
            name: "appmgr",
            url: "fuchsia-pkg://fuchsia.com/appmgr#meta/appmgr.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 (whereas
        // children above it are expected to be present on all configs that include core.cml)
        // TODO(fxbug.dev/48215): Decide how to make it easier to understand which children aren't present.
        {
            name: "activity",
            url: "fuchsia-pkg://fuchsia.com/activity#meta/activity.cm",
        },
        {
            name: "battery_manager",
            url: "fuchsia-pkg://fuchsia.com/battery-manager#meta/battery_manager.cm",
        },
        {
            name: "detect",
            url: "fuchsia-pkg://fuchsia.com/triage-detect#meta/triage-detect.cm",
        },
        {
            name: "http-client",
            url: "fuchsia-pkg://fuchsia.com/http-client#meta/http-client.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: "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: "test_manager",
            url: "fuchsia-pkg://fuchsia.com/test_manager#meta/test_manager.cm",
            environment: "#universe-resolver-env",
        },
        {
            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/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: "dhcpd",
            url: "fuchsia-pkg://fuchsia.com/dhcpd#meta/dhcpd.cm",
        },
    ],
    capabilities: [
        {
            storage: "data",
            from: "parent",
            subdir: "persistent",
            backing_dir: "minfs",
        },
        {
            storage: "cache",
            from: "parent",
            subdir: "cache",
            backing_dir: "minfs",
        },
        {
            storage: "tmp",
            from: "parent",
            backing_dir: "tmp",
        },
        {
            protocol: [
                "fuchsia.appmgr.Startup",
                "fuchsia.sessionmanager.Startup",
            ],
        },
    ],
    offer: [
        {
            protocol: "fuchsia.devicesettings.DeviceSettingsManager",
            from: "#device_settings",
            to: [ "#appmgr" ],
        },
        {
            protocol: "fuchsia.sys2.ComponentResolver",
            from: "parent",
            to: [ "#universe-resolver" ],
        },
        {
            storage: "data",
            from: "self",
            to: [ "#device_settings" ],
        },
        {
            protocol: [
                "fuchsia.boot.RootResource",
                "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" ],
        },
        {
            protocol: [
                "fuchsia.power.BatteryManager",
                "fuchsia.power.test.BatterySimulator",
            ],
            from: "#battery_manager",
            to: [ "#appmgr" ],
        },
        {
            protocol: "fuchsia.hardware.serial.NewDeviceProxy",
            from: "#debug_serial",
            to: [ "#appmgr" ],
        },
        {
            protocol: [ "fuchsia.pkg.FontResolver" ],
            from: "#appmgr",
            to: [ "#font_provider" ],
            dependency: "weak_for_migration",
        },
        {
            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.cobalt.LoggerFactory" ],
            from: "#appmgr",
            to: [
                "#last_reboot",
                "#sampler",
            ],
            dependency: "weak_for_migration",
        },
        {
            protocol: "fuchsia.pkg.PackageResolver",
            from: "#appmgr",
            to: [ "#universe-resolver" ],
            dependency: "weak_for_migration",
        },
        {
            directory: "pkgfs",
            from: "parent",
            to: [ "#pkg-cache" ],
        },
        {
            directory: "blob",
            from: "parent",
            to: [ "#pkg-cache" ],
        },
        {
            protocol: [
                "fuchsia.cobalt.LoggerFactory",
                "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" ],
        },

        // Passing from root realm to appmgr
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.FactoryItems",
                "fuchsia.boot.Items",
                "fuchsia.boot.ReadOnlyLog",
                "fuchsia.boot.RootResource",
                "fuchsia.device.manager.Administrator",
                "fuchsia.device.manager.DebugDumper",
                "fuchsia.device.manager.DriverHostDevelopment",
                "fuchsia.device.NameProvider",
                "fuchsia.driver.registrar.DriverRegistrar",
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
                "fuchsia.hardware.pty.Device",
                "fuchsia.kernel.Counter",
                "fuchsia.kernel.DebugBroker",
                "fuchsia.kernel.DebugResource",
                "fuchsia.kernel.HypervisorResource",
                "fuchsia.kernel.InfoResource",
                "fuchsia.kernel.IoportResource",
                "fuchsia.kernel.IrqResource",
                "fuchsia.kernel.MmioResource",
                "fuchsia.kernel.RootJob",
                "fuchsia.kernel.RootJobForInspect",
                "fuchsia.kernel.SmcResource",
                "fuchsia.kernel.Stats",
                "fuchsia.kernel.VmexResource",
                "fuchsia.paver.Paver",
                "fuchsia.process.Launcher",
                "fuchsia.scheduler.ProfileProvider",
                "fuchsia.sysinfo.SysInfo",
                "fuchsia.thermal.Controller",
                "fuchsia.time.Maintenance",
                "fuchsia.tracing.kernel.Controller",
                "fuchsia.tracing.kernel.Reader",
                "fuchsia.virtualconsole.SessionManager",
            ],
            from: "parent",
            to: [ "#appmgr" ],
        },
        {
            protocol: [ "fuchsia.boot.WriteOnlyLog" ],
            from: "parent",
            to: [
                "#appmgr",
                "#test_manager",
            ],
        },
        {
            protocol: [
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.diagnostics.FeedbackArchiveAccessor",
                "fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
                "fuchsia.logger.Log",
            ],
            from: "parent",
            to: [
                "#appmgr",
                "#log-stats",
                "#sampler",
            ],
        },
        {
            protocol: [ "fuchsia.metrics.MetricEventLoggerFactory" ],
            from: "#appmgr",
            to: [
                "#log-stats",
                "#sampler",
            ],
        },
        {
            protocol: [ "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister" ],
            from: "parent",
            to: [
                "#last_reboot",
                "#sampler",
            ],
        },
        {
            protocol: [ "fuchsia.diagnostics.FeedbackArchiveAccessor" ],
            from: "parent",
            to: [ "#detect" ],
        },
        {
            protocol: [ "fuchsia.logger.LogSink" ],
            from: "parent",
            to: [
                "#activity",
                "#appmgr",
                "#battery_manager",
                "#debug_serial",
                "#detect",
                "#device_settings",
                "#dhcpd",
                "#font_provider",
                "#http-client",
                "#last_reboot",
                "#log-stats",
                "#pkg-cache",
                "#remote-control",
                "#sampler",
                "#session-manager",
                "#stash",
                "#stash2",
                "#stash_secure",
                "#system-metrics-logger",
                "#system-update-committer",
                "#temperature-logger",
                "#test_manager",
                "#universe-resolver",
            ],
        },
        {
            protocol: [
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.paver.Paver",
                "fuchsia.update.verify.BlobfsVerifier",
            ],
            from: "parent",
            to: [ "#system-update-committer" ],
        },
        {
            protocol: [ "fuchsia.sys2.EventSource" ],
            from: "parent",
            to: [ "#test_manager" ],
        },
        {
            directory: "config-data",
            from: "parent",
            to: [ "#test_manager" ],
        },

        // These capabilities are offered to test_manager for use by certain non-hermetic tests.
        {
            protocol: [
                "fuchsia.hardware.display.Provider",
                "fuchsia.process.Launcher",
                "fuchsia.scheduler.ProfileProvider",
                "fuchsia.sysmem.Allocator",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "parent",
            to: [ "#test_manager" ],
        },
        {
            directory: "dev",
            from: "parent",
            as: "dev-display-controller",
            to: [ "#test_manager" ],
            subdir: "class/display-controller",
        },
        {
            protocol: [
                "fuchsia.buildinfo.Provider",
                "fuchsia.hwinfo.Device",
                "fuchsia.net.stack.Stack",
                "fuchsia.overnet.Overnet",
                "fuchsia.overnet.ServicePublisher",
                "fuchsia.sys.Launcher",
                "fuchsia.test.manager.Harness",
            ],
            from: "#appmgr",
            to: [ "#remote-control" ],
            dependency: "weak_for_migration",
        },
        {
            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",
        },
        {
            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",
                "#last_reboot",
            ],
            dependency: "weak_for_migration",
        },
        {
            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",
        },
        {
            directory: "dev",
            from: "parent",
            as: "dev-power",
            to: [ "#battery_manager" ],
            subdir: "class/power",
        },
        {
            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: [ "#http-client" ],
        },
        {
            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",
        },
        {
            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",
        },
        {
            directory: "boot",
            from: "parent",
            to: [
                "#appmgr",
                "#last_reboot",
            ],
        },
        {
            directory: "dev",
            from: "parent",
            to: [ "#appmgr" ],
        },
        {
            directory: "durable",
            from: "parent",
            to: [ "#appmgr" ],
        },
        {
            directory: "factory",
            from: "parent",
            to: [ "#appmgr" ],
        },
        {
            directory: "minfs",
            from: "parent",
            to: [ "#appmgr" ],
        },
        {
            directory: "pkgfs",
            from: "parent",
            to: [ "#appmgr" ],
            rights: [ "rx*" ],
        },
        {
            directory: "system",
            from: "parent",
            to: [ "#appmgr" ],
        },
        {
            directory: "blob",
            from: "parent",
            to: [ "#appmgr" ],
        },
        {
            directory: "volume",
            from: "parent",
            to: [ "#appmgr" ],
        },
        {
            directory: "install",
            from: "parent",
            to: [ "#appmgr" ],
        },
        {
            directory: "tmp",
            from: "parent",
            to: [ "#appmgr" ],
        },

        // Note: this is the v2 root hub. The hub in the `expose` section below
        // is the v1 root hub.
        {
            directory: "hub",
            from: "parent",
            to: [
                "#appmgr",
                "#remote-control",
            ],
        },
        {
            storage: "cache",
            from: "self",
            to: [ "#session-manager" ],
        },
        {
            storage: "data",
            from: "self",
            to: [ "#session-manager" ],
        },
        {
            storage: "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.cobalt.LoggerFactory",
                "fuchsia.sys.Launcher",
                "fuchsia.sys2.Realm",
                "fuchsia.tracing.provider.Registry",
                "fuchsia.ui.focus.FocusChainListenerRegistry",
                "fuchsia.ui.input.ImeService",
                "fuchsia.ui.input2.Keyboard",
                "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",
            from: "#session-manager",
            to: [ "#appmgr" ],
            dependency: "weak_for_migration",
        },
        {
            protocol: "fuchsia.net.http.Loader",
            from: "#http-client",
            to: [ "#appmgr" ],
        },
        {
            protocol: [
                "fuchsia.net.NameLookup",
                "fuchsia.posix.socket.Provider",
            ],
            from: "#appmgr",
            to: [ "#http-client" ],
            dependency: "weak_for_migration",
        },
        {
            protocol: [
                "fuchsia.net.NameLookup",
                "fuchsia.net.neighbor.Controller",
                "fuchsia.posix.socket.Provider",
                "fuchsia.stash.SecureStore",
            ],
            from: "#appmgr",
            to: [ "#dhcpd" ],
        },
        {
            directory: "config-data",
            from: "parent",
            to: [ "#dhcpd" ],
            subdir: "dhcpd",
        },
        {
            protocol: "fuchsia.net.dhcp.Server",
            from: "#dhcpd",
            to: [ "#appmgr" ],
            dependency: "weak_for_migration",
        },
        {
            storage: "data",
            from: "self",
            to: [
                "#dhcpd",
                "#last_reboot",
                "#stash",
                "#stash2",
                "#stash_secure",
            ],
        },
        {
            protocol: "fuchsia.feedback.LastRebootInfoProvider",
            from: "#last_reboot",
            to: [ "#appmgr" ],
        },
        {
            storage: "tmp",
            from: "self",
            to: [ "#last_reboot" ],
        },
        {
            storage: "cache",
            from: "self",
            to: [ "#last_reboot" ],
        },
    ],
    expose: [
        // Non-zircon services for svchost
        {
            protocol: [
                "fuchsia.amber.Control",
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.exception.Handler",
                "fuchsia.feedback.CrashReporter",
                "fuchsia.hwinfo.Device",
                "fuchsia.metrics.MetricEventLoggerFactory",
                "fuchsia.net.NameLookup",
                "fuchsia.net.stack.Log",
                "fuchsia.net.stack.Stack",
                "fuchsia.netstack.Netstack",
                "fuchsia.pkg.PackageResolver",
                "fuchsia.pkg.RepositoryManager",
                "fuchsia.pkg.rewrite.Engine",
                "fuchsia.posix.socket.Provider",
                "fuchsia.process.Resolver",
                "fuchsia.sys.Environment",
                "fuchsia.sys.internal.ComponentEventProvider",
                "fuchsia.sys.internal.LogConnector",
                "fuchsia.sys.Launcher",
                "fuchsia.sys.Loader",
                "fuchsia.tracing.controller.Controller",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "#appmgr",
        },
        {
            protocol: [ "fuchsia.appmgr.Startup" ],
            from: "#appmgr",
        },
        {
            protocol: [ "fuchsia.sessionmanager.Startup" ],
            from: "#session-manager",
        },
        {
            protocol: [ "fuchsia.diagnostics.internal.DetectController" ],
            from: "#detect",
        },
        {
            protocol: [ "fuchsia.diagnostics.internal.LogStatsController" ],
            from: "#log-stats",
        },
        {
            protocol: [ "fuchsia.diagnostics.internal.SamplerController" ],
            from: "#sampler",
        },

        // device_manager needs the hub for the serial console
        {
            directory: "hub",
            from: "#appmgr",
        },
    ],
    environments: [
        // Components that simply need access to universe-resolver can use this environment.
        {
            name: "universe-resolver-env",
            extends: "realm",
            resolvers: [
                {
                    resolver: "universe-resolver",
                    scheme: "fuchsia-pkg",
                    from: "#universe-resolver",
                },
            ],
        },
    ],
}
