// Non-executable realm provisioning components and capabilities that are consistent across
// products.
{
    children: [
        {
            name: "appmgr",
            url: "fuchsia-pkg://fuchsia.com/appmgr#meta/appmgr.cm",
        },
        {
            name: "system-update-committer",
            url: "fuchsia-pkg://fuchsia.com/system-update-committer#meta/system-update-committer.cm",
            startup: "eager",
        },

        // 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: "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: "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",
        },
    ],
    capabilities: [
        {
            storage: "data",
            from: "parent",
            subdir: "persistent",
            backing_dir: "minfs",
        },
        { protocol: "fuchsia.appmgr.Startup" },
    ],
    offer: [
        {
            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.hardware.serial.NewDeviceProxy",
            from: "#debug_serial",
            to: [ "#appmgr" ],
        },
        {
            protocol: [ "fuchsia.pkg.FontResolver" ],
            from: "#appmgr",
            to: [ "#font_provider" ],
            dependency: "weak_for_migration",
        },
        {
            protocol: "fuchsia.thermal.test.TemperatureLogger",
            from: "#temperature-logger",
            to: [ "#appmgr" ],
        },
        {
            protocol: [ "fuchsia.cobalt.LoggerFactory" ],
            from: "#appmgr",
            to: [ "#sampler" ],
        },
        {
            protocol: "fuchsia.pkg.PackageResolver",
            from: "#appmgr",
            to: [ "#universe-resolver" ],
        },
        {
            directory: "pkgfs",
            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.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.diagnostics.FeedbackArchiveAccessor" ],
            from: "parent",
            to: [ "#detect" ],
        },
        {
            protocol: [ "fuchsia.logger.LogSink" ],
            from: "parent",
            to: [
                "#activity",
                "#debug_serial",
                "#detect",
                "#font_provider",
                "#log-stats",
                "#pkg-cache",
                "#remote-control",
                "#sampler",
                "#system-update-committer",
                "#temperature-logger",
                "#test_manager",
                "#universe-resolver",
            ],
        },
        {
            protocol: [
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.paver.Paver",
            ],
            from: "parent",
            to: [ "#system-update-committer" ],
        },
        {
            protocol: [
                "fuchsia.sys2.BlockingEventSource",
                "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.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.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" ],
        },
        {
            protocol: "fuchsia.feedback.CrashReportingProductRegister",
            from: "#appmgr",
            to: [ "#detect" ],
        },
        {
            protocol: "fuchsia.fonts.Provider",
            from: "#font_provider",
            to: [ "#appmgr" ],
        },
        {
            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: "config-data",
            from: "parent",
            to: [ "#temperature-logger" ],
            subdir: "temperature-logger",
        },
        {
            directory: "config-data",
            from: "parent",
            to: [ "#detect" ],
            subdir: "triage-detect",
        },
        {
            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" ],
        },
        {
            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",
            ],
        },
    ],
    expose: [
        // Non-zircon services for svchost
        {
            protocol: [
                "fuchsia.amber.Control",
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.exception.Handler",
                "fuchsia.feedback.CrashReporter",
                "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.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",
                },
            ],
        },
    ],
}
