From ed4d70d379d0ee9d2686c935108f9d48510191c1 Mon Sep 17 00:00:00 2001 From: Spencer Judge Date: Thu, 18 Jun 2026 16:54:58 -0700 Subject: [PATCH] Add runtime type information to worker heartbeats --- temporal/api/worker/v1/message.proto | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/temporal/api/worker/v1/message.proto b/temporal/api/worker/v1/message.proto index a87142c78..875ce9e1d 100644 --- a/temporal/api/worker/v1/message.proto +++ b/temporal/api/worker/v1/message.proto @@ -130,6 +130,10 @@ message WorkerHeartbeat { // Storage drivers in use by this SDK. repeated StorageDriverInfo drivers = 24; + + // Runtime environments in use by this SDK. Often will only be one of these, but it's allowed to + // be repeated for scenarios like "Python inside a Lambda". + repeated RuntimeInfo runtimes = 25; } // Detailed worker information. @@ -194,6 +198,25 @@ message StorageDriverInfo { string type = 1; } +message RuntimeInfo { + enum RuntimeType { + RUNTIME_TYPE_UNSPECIFIED = 0; + RUNTIME_TYPE_JVM = 1; + RUNTIME_TYPE_PYTHON = 2; + RUNTIME_TYPE_NODE = 3; + RUNTIME_TYPE_BUN = 4; + RUNTIME_TYPE_RUBY = 5; + RUNTIME_TYPE_GO = 6; + RUNTIME_TYPE_DOCKER = 7; + RUNTIME_TYPE_LAMBDA = 8; + RUNTIME_TYPE_GCR = 9; + } + // The type of the runtime. + RuntimeType type = 1; + // The version of the runtime. + string version = 2; +} + // A command sent from the server to a worker. message WorkerCommand { oneof type {