From c11dd37e8bf263330e4eec80681092ea50e56787 Mon Sep 17 00:00:00 2001 From: Adam Coldrick Date: Tue, 6 Aug 2024 15:44:37 +0100 Subject: [PATCH] RequestMetadata: Make ToolDetails a recursive structure This adds a `wrapped_tool_details` field to the `ToolDetails` message, which allows all tools involved in the sending and receipt of a request to record their information in the request metadata. For example, it allows tracking information about both the user-facing client tool and a potential client-side proxy tool to be attached to the request in a structured fashion. --- build/bazel/remote/execution/v2/remote_execution.proto | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build/bazel/remote/execution/v2/remote_execution.proto b/build/bazel/remote/execution/v2/remote_execution.proto index 31e20dcf..2737ba66 100644 --- a/build/bazel/remote/execution/v2/remote_execution.proto +++ b/build/bazel/remote/execution/v2/remote_execution.proto @@ -2088,6 +2088,13 @@ message ToolDetails { // Version of the tool used for the request, e.g. 5.0.3. string tool_version = 2; + + // Details of other tools involved in the request + // This recursive structure allows each tool involved in a request to + // have its name and version included in the request metadata. + // For example, a client-side proxy might include the client tool's + // initial ToolDetails here along with its own name and version. + ToolDetails wrapped_tool_details = 3; } // An optional Metadata to attach to any RPC request to tell the server about an