// 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: "#session-manager-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: "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: "test_manager",
            url: "fuchsia-pkg://fuchsia.com/test_manager#meta/test_manager.cm",
            environment: "#test-manager-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",
        },
        {
            name: "temperature-logger",
            url: "fuchsia-pkg://fuchsia.com/temperature-logger#meta/temperature-logger.cm",
        },
        {
            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",
        },
        {
            name: "fatfs-mounter",
            url: "fuchsia-pkg://fuchsia.com/fuchsia-fatfs#meta/fatfs-mounter.cm",
        },
        {
            name: "pkg-local-mirror",
            url: "fuchsia-pkg://fuchsia.com/pkg-local-mirror#meta/component.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" ],
        },
        {
            storage: "data",
            from: "self",
            to: [ "#device_settings" ],
        },
        {
            protocol: "fuchsia.logger.LogSink",
            from: "parent",
            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.fat.Admin",
                "fuchsia.fat.Query",
            ],
            from: "#fatfs-mounter",
            to: [ "#appmgr", "#pkg-local-mirror" ],
        },
        {
            protocol: [
                "fuchsia.pkg.LocalMirror",
            ],
            from: "#pkg-local-mirror",
            to: [ "#appmgr" ],
        },
        {
            directory: "fatfs",
            from: "#fatfs-mounter",
            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.cobalt.LoggerFactory" ],
            from: "#appmgr",
            to: [
                "#last_reboot",
                "#sampler",
            ],
            dependency: "weak_for_migration",
        },
        {
            protocol: "fuchsia.pkg.PackageResolver",
            from: "#appmgr",
            to: [ "#universe-resolver" ],
        },
        {
            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" ],
        },
        {
            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",
                "#dhcpd",
                "#fatfs-mounter",
                "#font_provider",
                "#last_reboot",
                "#log-stats",
                "#pkg-cache",
                "#pkg-local-mirror",
                "#remote-control",
                "#sampler",
                "#session-manager",
                "#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.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: "dev",
            from: "parent",
            as: "dev-class-block",
            to: [ "#fatfs-mounter" ],
            subdir: "class/block",
        },
        {
            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",
        },
        {
            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",
                "#fatfs-mounter",
            ],
        },
        {
            directory: "dev",
            from: "parent",
            as: "dev_class_block",
            to: [ "#fatfs-mounter" ],
            subdir: "class/block",
        },
        {
            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",
            ],
        },
        {
            directory: "config-data",
            from: "parent",
            to: [ "#session-manager" ],
            subdir: "session_manager",
        },
        {
            directory: "dev",
            from: "parent",
            as: "dev-input-report",
            to: [ "#session-manager" ],
            subdir: "class/input-report",
        },
        {
            protocol: [
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.sys.Launcher",
                "fuchsia.sys2.Realm",
                "fuchsia.ui.focus.FocusChainListenerRegistry",
                "fuchsia.ui.input.ImeService",
                "fuchsia.ui.input2.Keyboard",
                "fuchsia.ui.input3.Keyboard",
                "fuchsia.ui.lifecycle.LifecycleController",
                "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.NameLookup",
                "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",
            ],
        },
        {
            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: [
        {
            name: "test-manager-env",
            extends: "realm",
            resolvers: [
                {
                    resolver: "universe-resolver",
                    scheme: "fuchsia-pkg",
                    from: "#universe-resolver",
                },
            ],
        },
        {
            name: "session-manager-env",
            extends: "realm",
            resolvers: [
                {
                    resolver: "universe-resolver",
                    scheme: "fuchsia-pkg",
                    from: "#universe-resolver",
                },
            ],
        },
    ],
}
