// 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",
        },
    ],
    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" ],
        },

        // 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.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",
                "#remote-control",
                "#sampler",
                "#system-update-committer",
                "#temperature-logger",
                "#test_manager",
                "#universe-resolver",
            ],
        },
        {
            protocol: "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" ],
        },
        {
            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",
                },
            ],
        },
    ],
}
