// 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.
{
    include: [
        "//sdk/lib/inspect/client.shard.cml",

        // Enable system logging.
        "syslog/client.shard.cml",
    ],
    program: {
        data: "data/ermine",
    },
    children: [
        {
            name: "element_manager",
            url: "fuchsia-pkg://fuchsia.com/element_manager#meta/element_manager.cm",
        },
        {
            name: "chrome",
            url: "fuchsia-pkg://chromium.org/chrome#meta/chrome.cm",
            environment: "#full-resolver-env",
        },
    ],
    collections: [
        {
            name: "elements",
            durability: "transient",
        },
    ],
    capabilities: [
        {
            protocol: [
                "ermine.tools.ShellAutomator",
                "fuchsia.element.GraphicalPresenter",
                "fuchsia.ui.app.ViewProvider",
            ],
        },
    ],
    use: [
        {
            protocol: [
                "fuchsia.accessibility.semantics.SemanticsManager",
                "fuchsia.buildinfo.Provider",
                "fuchsia.feedback.CrashReporter",
                "fuchsia.fonts.Provider",
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.intl.PropertyProvider",
                "fuchsia.media",
                "fuchsia.media.Audio",
                "fuchsia.media.AudioCore",
                "fuchsia.memory.Monitor",
                "fuchsia.metrics.MetricEventLoggerFactory",
                "fuchsia.net.interfaces.State",
                "fuchsia.power.battery.BatteryManager",
                "fuchsia.power.button.Monitor",
                "fuchsia.settings.Intl",
                "fuchsia.settings.Keyboard",
                "fuchsia.settings.Privacy",
                "fuchsia.ssh.AuthorizedKeys",
                "fuchsia.tracing.perfetto.ProducerConnector",
                "fuchsia.ui.activity.Provider",
                "fuchsia.ui.brightness.Control",
                "fuchsia.ui.composition.Allocator",
                "fuchsia.ui.composition.Flatland",
                "fuchsia.ui.composition.internal.ScreenCapture",
                "fuchsia.ui.focus.FocusChainListenerRegistry",
                "fuchsia.ui.input.ImeService",
                "fuchsia.ui.input3.Keyboard",
                "fuchsia.ui.scenic.Scenic",
                "fuchsia.ui.shortcut.Registry",
                "fuchsia.update.channelcontrol.ChannelControl",
                "fuchsia.update.Manager",
                "fuchsia.wlan.policy.ClientProvider",
            ],
        },
        {
            directory: "config-data",
            from: "parent",
            rights: [ "r*" ],
            path: "/config/data",
        },
        {
            storage: "account",
            path: "/data",
        },
        {
            protocol: "fuchsia.element.Manager",
            from: "#element_manager",
            path: "/svc/fuchsia.element.Manager",
        },
        {
            protocol: "fuchsia.element.Manager",
            from: "#chrome",
            path: "/svc/fuchsia.element.Manager-chrome",
            dependency: "weak",
        },
    ],
    offer: [
        {
            protocol: "fuchsia.element.GraphicalPresenter",
            from: "self",
            to: "#elements",
        },
        {
            protocol: [
                "fuchsia.accessibility.semantics.SemanticsManager",
                "fuchsia.fonts.Provider",
                "fuchsia.intl.PropertyProvider",
                "fuchsia.logger.LogSink",
                "fuchsia.media.Audio",
                "fuchsia.sys.Launcher",
                "fuchsia.sysmem.Allocator",
                "fuchsia.tracing.perfetto.ProducerConnector",
                "fuchsia.tracing.provider.Registry",
                "fuchsia.ui.composition.Allocator",
                "fuchsia.ui.composition.Flatland",
                "fuchsia.ui.composition.internal.ScreenCapture",
                "fuchsia.ui.composition.ScreenCapture",
                "fuchsia.ui.input.ImeService",
                "fuchsia.ui.input3.Keyboard",
                "fuchsia.ui.scenic.Scenic",
                "fuchsia.vulkan.loader.Loader",
            ],
            from: "parent",
            to: "#elements",
        },
        {
            // TODO(fxbug.dev/105828): These additional `protocol` offers to
            // `#elements` are only required by the `terminal` component.
            // `terminal` is launched as a member of the `elements` collection,
            // and if/when there is a way to route capabilities to specific
            // collection members, these protocols should be routed only to
            // terminal.
            //
            // Other (current and future) members of `#elements` should not
            // `use` these protocols without first getting a security policy
            // review.
            protocol: [
                "fuchsia.bluetooth.sys.Access",
                "fuchsia.bluetooth.sys.HostWatcher",
                "fuchsia.bluetooth.sys.Pairing",
                "fuchsia.device.NameProvider",
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.hardware.pty.Device",
                "fuchsia.logger.Log",
                "fuchsia.net.name.Lookup",
                "fuchsia.pkg.PackageResolverAdmin",
                "fuchsia.pkg.RepositoryManager",
                "fuchsia.pkg.rewrite.Engine",
                "fuchsia.posix.socket.Provider",
                "fuchsia.process.Launcher",
                "fuchsia.process.Resolver",
                "fuchsia.space.Manager",
                "fuchsia.starnix.developer.Manager",
                "fuchsia.sys.Environment",
                "fuchsia.sys2.RealmExplorer.root",
                "fuchsia.sys2.RealmQuery.root",
                "fuchsia.ui.input3.KeyEventInjector",
                "fuchsia.update.channelcontrol.ChannelControl",
                "fuchsia.update.Manager",
                "fuchsia.virtualization.DebianGuestManager",
                "fuchsia.virtualization.LinuxManager",
                "fuchsia.virtualization.TerminaGuestManager",
                "fuchsia.virtualization.ZirconGuestManager",
                "fuchsia.wlan.policy.ClientProvider",
            ],
            from: "parent",
            to: "#elements",
            availability: "same_as_target",
        },
        {
            // TODO(fxbug.dev/105828): These additional `directory` offers to
            // `#elements` are only required by the `terminal` component.
            // `terminal` is launched as a member of the `elements` collection,
            // and if/when there is a way to route capabilities to specific
            // collection members, these directories should be routed only to
            // terminal.
            //
            // Other (current and future) members of `#elements` should not
            // `use` these directories without first getting a security policy
            // review.
            directory: [
                "bin",
                "boot-bin",
                "pkgfs-packages",
            ],
            from: "parent",
            to: "#elements",
        },
        {
            protocol: "fuchsia.component.Realm",
            from: "framework",
            to: "#element_manager",
        },
        {
            protocol: [
                "fuchsia.logger.LogSink",
                "fuchsia.sys.Launcher",
                "fuchsia.ui.scenic.Scenic",
            ],
            from: "parent",
            to: "#element_manager",
        },
        {
            protocol: "fuchsia.element.GraphicalPresenter",
            from: "self",
            to: "#element_manager",
            dependency: "weak",
        },

        // Support Chrome as a static component.
        {
            protocol: [
                "fuchsia.buildinfo.Provider",
                "fuchsia.camera3.DeviceWatcher",
                "fuchsia.fonts.Provider",
                "fuchsia.intl.PropertyProvider",
                "fuchsia.kernel.VmexResource",
                "fuchsia.logger.LogSink",
                "fuchsia.media.Audio",
                "fuchsia.media.AudioDeviceEnumerator",
                "fuchsia.media.ProfileProvider",
                "fuchsia.mediacodec.CodecFactory",
                "fuchsia.memorypressure.Provider",
                "fuchsia.net.interfaces.State",
                "fuchsia.net.name.Lookup",
                "fuchsia.posix.socket.Provider",
                "fuchsia.process.Launcher",
                "fuchsia.sysmem.Allocator",
                "fuchsia.tracing.perfetto.ProducerConnector",
                "fuchsia.tracing.provider.Registry",
                "fuchsia.ui.composition.Allocator",
                "fuchsia.ui.composition.Flatland",
                "fuchsia.ui.composition.internal.ScreenCapture",
                "fuchsia.ui.composition.ScreenCapture",
                "fuchsia.ui.input3.Keyboard",
                "fuchsia.ui.scenic.Scenic",
                "fuchsia.vulkan.loader.Loader",
            ],
            from: "parent",
            to: "#chrome",
        },
        {
            protocol: [ "fuchsia.element.GraphicalPresenter" ],
            from: "self",
            to: "#chrome",
        },
        {
            directory: "root-ssl-certificates",
            from: "parent",
            to: [ "#chrome" ],
        },
        {
            storage: "account_cache",
            from: "parent",
            as: "cache",
            to: "#chrome",
        },
        {
            storage: "account_tmp",
            from: "parent",
            as: "tmp",
            to: "#chrome",
        },
        {
            storage: "account",
            from: "parent",
            as: "data",
            to: "#chrome",
        },
    ],
    expose: [
        {
            protocol: [
                "ermine.tools.ShellAutomator",
                "fuchsia.element.GraphicalPresenter",
                "fuchsia.ui.app.ViewProvider",
            ],
            from: "self",
        },
        {
            protocol: "fuchsia.element.Manager",
            from: "#element_manager",
        },
    ],
    environments: [
        {
            name: "full-resolver-env",
            extends: "realm",
            resolvers: [
                {
                    resolver: "full-resolver",
                    from: "parent",
                    scheme: "fuchsia-pkg",
                },
            ],
        },
    ],
}
