// 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: [ "syslog/client.shard.cml" ],
    program: {
        runner: "elf",
        binary: "bin/debug_agent_launcher",
    },
    capabilities: [
        {
            protocol: [ "fuchsia.debugger.DebugAgent" ],
        },
    ],
    use: [
        {
            protocol: [
                // To attach to processes in limbo.
                "fuchsia.exception.ProcessLimbo",

                // To attach to the root job.
                "fuchsia.kernel.RootJob",

                // Used by fdio for running executables.
                "fuchsia.process.Launcher",

                // To launch v2 components.
                "fuchsia.sys2.LifecycleController.root",
                "fuchsia.sys2.RealmExplorer.root",
                "fuchsia.sys2.RealmQuery.root",

                // To launch v2 tests.
                "fuchsia.test.manager.Query",
                "fuchsia.test.manager.RunBuilder",
            ],
            from: "parent",
        },
        {
            // To watch and attach to v2 components.
            event_stream: [
                "debug_started_v2",
                "stopped_v2",
            ],
            from: "parent",
        },
        {
            // Some tests depend on "run /boot/bin/crasher".
            directory: "boot",
            rights: [ "x*" ],
            path: "/boot",
        },
    ],
    expose: [
        {
            protocol: "fuchsia.debugger.DebugAgent",
            from: "self",
        },
    ],
}
