// Copyright 2022 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.
{
    children: [
        {
            name: "bootstrap",
            url: "fuchsia-boot:///#meta/bootstrap.cm",
            startup: "eager",
        },
        {
            name: "startup",
            url: "fuchsia-boot:///#meta/startup.cm",
            startup: "eager",
        },
    ],
    offer: [
        {
            protocol: [
                "fuchsia.appmgr.Startup",
                "fuchsia.sessionmanager.Startup",
            ],
            from: "#core",
            to: "#startup",
        },
        {
            protocol: "fuchsia.component.Binder",
            from: "#core",
            as: "fuchsia.component.CoreBinder",
            to: "#startup",
        },
        {
            protocol: "fuchsia.logger.LogSink",
            from: "#bootstrap",
            to: "#startup",
        },

        // Capabilities routed from "parent" at the root are either provided by
        // bootsvc through component_manager's namespace or by component_manager
        // itself as a builtin service
        {
            directory: "boot",
            from: "parent",
            to: [
                "#bootstrap",
                "#core",
            ],
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.FactoryItems",
                "fuchsia.boot.Items",
                "fuchsia.boot.ReadOnlyLog",
                "fuchsia.boot.RootResource",
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.kernel.CpuResource",
                "fuchsia.kernel.DebugResource",
                "fuchsia.kernel.HypervisorResource",
                "fuchsia.kernel.InfoResource",
                "fuchsia.kernel.IoportResource",
                "fuchsia.kernel.IrqResource",
                "fuchsia.kernel.MmioResource",
                "fuchsia.kernel.PowerResource",
                "fuchsia.kernel.RootJob",
                "fuchsia.kernel.RootJobForInspect",
                "fuchsia.kernel.SmcResource",
                "fuchsia.kernel.Stats",
                "fuchsia.kernel.VmexResource",
                "fuchsia.process.Launcher",
                "fuchsia.sys2.CrashIntrospect",
            ],
            from: "parent",
            to: [
                "#bootstrap",
                "#core",
            ],
        },
        {
            protocol: [
                "fuchsia.sys2.EventSource",
                "fuchsia.time.Maintenance",
            ],
            from: "parent",
            to: "#core",
        },
        {
            protocol: [ "fuchsia.sys2.SystemController" ],
            from: "parent",
            to: "#bootstrap",
        },

        // ...and the rest of these are capabilities provided by components for each other
        {
            directory: [
                "bin",
                "blob",
                "build-info",
                "config-data",
                "dev",
                "durable",
                "factory",
                "minfs",
                "mnt",
                "pkgfs",
                "root-ssl-certificates",
                "system",
                "tmp",
            ],
            from: "#bootstrap",
            to: "#core",
        },

        // Non-zircon services for svchost
        {
            protocol: [
                "fuchsia.device.manager.Administrator",
                "fuchsia.device.manager.DebugDumper",
                "fuchsia.device.NameProvider",
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.diagnostics.FeedbackArchiveAccessor",
                "fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
                "fuchsia.driver.development.DriverDevelopment",
                "fuchsia.driver.registrar.DriverRegistrar",
                "fuchsia.fshost.BlockWatcher",
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
                "fuchsia.hardware.pty.Device",
                "fuchsia.hardware.usb.DeviceWatcher",
                "fuchsia.kernel.Counter",
                "fuchsia.kernel.DebugBroker",
                "fuchsia.logger.Log",
                "fuchsia.logger.LogSink",
                "fuchsia.paver.Paver",
                "fuchsia.pkg.PackageCache",
                "fuchsia.pkg.RetainedPackages",
                "fuchsia.power.button.Monitor",
                "fuchsia.power.clientlevel.Connector",
                "fuchsia.power.profile.Watcher",
                "fuchsia.power.systemmode.ClientConfigurator",
                "fuchsia.power.systemmode.Requester",
                "fuchsia.scheduler.ProfileProvider",
                "fuchsia.space.Manager",
                "fuchsia.sysinfo.SysInfo",
                "fuchsia.sysmem.Allocator",
                "fuchsia.thermal.ClientStateConnector",
                "fuchsia.tpm.cr50.Cr50",
                "fuchsia.tpm.cr50.PinWeaver",
                "fuchsia.tracing.kernel.Controller",
                "fuchsia.tracing.kernel.Reader",
                "fuchsia.update.verify.BlobfsVerifier",
                "fuchsia.vboot.FirmwareParam",
                "fuchsia.virtualconsole.SessionManager",
            ],
            from: "#bootstrap",
            to: "#core",
        },

        // Non-zircon services for archivist and svchost
        {
            protocol: [
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.component.DetectBinder",
                "fuchsia.component.KcounterBinder",
                "fuchsia.component.LogStatsBinder",
                "fuchsia.component.PersistenceBinder",
                "fuchsia.component.SamplerBinder",
                "fuchsia.exception.Handler",
                "fuchsia.feedback.CrashReporter",
                "fuchsia.metrics.MetricEventLoggerFactory",
                "fuchsia.pkg.PackageResolver",
                "fuchsia.pkg.RepositoryManager",
                "fuchsia.pkg.rewrite.Engine",
                "fuchsia.process.Resolver",
                "fuchsia.settings.Input",
                "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",
                "fuchsia.ui.activity.Provider",
                "fuchsia.update.CommitStatusProvider",
                "fuchsia.virtualization.DebianGuestManager",
                "fuchsia.virtualization.LinuxManager",
                "fuchsia.virtualization.TerminaGuestManager",
                "fuchsia.virtualization.ZirconGuestManager",
            ],
            from: "#core",
            to: "#bootstrap",
            dependency: "weak_for_migration",
        },

        // driver_manager needs the v1 hub for the serial console
        {
            directory: "hub-legacy",
            from: "#core",
            to: "#bootstrap",
            dependency: "weak_for_migration",
        },

        // RCS uses the root hub for service discovery.
        {
            directory: "hub",
            from: "framework",
            to: [
                "#bootstrap",
                "#core",
            ],
        },
        {
            protocol: "fuchsia.sys2.RealmExplorer",
            from: "framework",
            as: "fuchsia.sys2.RealmExplorer.root",
            to: "#core",
        },
        {
            protocol: "fuchsia.sys2.RealmQuery",
            from: "framework",
            as: "fuchsia.sys2.RealmQuery.root",
            to: "#core",
        },
        {
            protocol: "fuchsia.sys2.LifecycleController",
            from: "framework",
            as: "fuchsia.sys2.LifecycleController.root",
            to: "#core",
        },
        {
            protocol: "fuchsia.sys2.RouteValidator",
            from: "framework",
            as: "fuchsia.sys2.RouteValidator.root",
            to: "#core",
        },

        // Offer events to `bootstrap` for diagnostics usage.
        {
            event: [
                "running",
                "started",
                "stopped",
            ],
            from: "framework",
            to: "#bootstrap",
        },
        {
            event: "directory_ready",
            from: "parent",
            to: "#bootstrap",
            filter: { name: "diagnostics" },
        },
        {
            event: "capability_requested",
            from: "framework",
            to: "#bootstrap",
            filter: { name: "fuchsia.logger.LogSink" },
        },
        {
            protocol: [ "fuchsia.sys2.EventSource" ],
            from: "parent",
            to: "#bootstrap",
        },
        {
            protocol: [ "fuchsia.component.resolution.Resolver" ],
            from: "#bootstrap",
            to: "#core",
        },

        // Offer boot resolver to `bootstrap` for driver usage.
        {
            resolver: "boot_resolver",
            from: "parent",
            to: "#bootstrap",
        },
    ],
    expose: [
        // For reboot_on_terminate
        {
            protocol: "fuchsia.hardware.power.statecontrol.Admin",
            from: "#bootstrap",
        },
    ],
    environments: [
        {
            name: "core-env",
            extends: "realm",
            resolvers: [
                {
                    resolver: "base_resolver",
                    from: "#bootstrap",
                    scheme: "fuchsia-pkg",
                },
            ],
        },
    ],
}
