// Copyright 2021 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: [
        "inspect/offer.shard.cml",
        "syslog/client.shard.cml",
        "trace/client.shard.cml",
    ],
    program: {
        runner: "elf",
        binary: "bin/agis",
    },
    collections: [
        {
            name: "vulkan-trace",
            durability: "transient",
        },
    ],
    capabilities: [
        { protocol: "fuchsia.gpu.agis.ComponentRegistry" },
        { protocol: "fuchsia.gpu.agis.Observer" },
        { protocol: "fuchsia.gpu.agis.Connector" },
    ],
    use: [
        {
            protocol: [ "fuchsia.posix.socket.Provider" ],
        },
    ],
    offer: [
        {
            protocol: [
                "fuchsia.device.NameProvider",
                "fuchsia.hwinfo.Board",
                "fuchsia.hwinfo.Product",
                "fuchsia.logger.LogSink",
                "fuchsia.sysmem.Allocator",
                "fuchsia.sysmem2.Allocator",
                "fuchsia.vulkan.loader.Loader",
            ],
            from: "parent",
            to: "#vulkan-trace",
        },
        {
            directory: "dev-display-coordinator",
            from: "parent",
            to: "#vulkan-trace",
        },
        {
            protocol: [ "fuchsia.gpu.agis.ComponentRegistry" ],
            from: "self",
            to: "#vulkan-trace",
        },
    ],
    expose: [
        {
            protocol: "fuchsia.gpu.agis.ComponentRegistry",
            from: "self",
            to: "parent",
        },
        {
            protocol: "fuchsia.gpu.agis.Observer",
            from: "self",
            to: "parent",
        },
        {
            protocol: "fuchsia.gpu.agis.Connector",
            from: "self",
            to: "parent",
        },
    ],
}
