Skip to content
Merged
32 changes: 32 additions & 0 deletions openapi/openapiv2.json
Original file line number Diff line number Diff line change
Expand Up @@ -9296,6 +9296,10 @@
"identity": {
"type": "string",
"title": "The identity of the worker/client"
},
"resourceId": {
"type": "string",
"description": "Resource ID for routing. Contains the workflow ID or activity ID for standalone activities."
}
}
},
Expand All @@ -9313,6 +9317,10 @@
"identity": {
"type": "string",
"title": "The identity of the worker/client"
},
"resourceId": {
"type": "string",
"description": "Resource ID for routing. Contains \"workflow:workflow_id\" or \"activity:activity_id\" for standalone activities."
}
}
},
Expand Down Expand Up @@ -9498,6 +9506,10 @@
"type": "string",
"title": "The identity of the worker/client"
},
"resourceId": {
"type": "string",
"description": "Resource ID for routing. Contains the workflow ID or activity ID for standalone activities."
},
"workerVersion": {
"$ref": "#/definitions/v1WorkerVersionStamp",
"description": "Version info of the worker who processed this task. This message's `build_id` field should\nalways be set by SDKs. Workers opting into versioning will also set the `use_versioning`\nfield to true. See message docstrings for more.\nDeprecated. Use `deployment_options` instead."
Expand Down Expand Up @@ -9530,6 +9542,10 @@
"deploymentOptions": {
"$ref": "#/definitions/v1WorkerDeploymentOptions",
"description": "Worker deployment options that user has set in the worker."
},
"resourceId": {
"type": "string",
"description": "Resource ID for routing. Contains \"workflow:workflow_id\" or \"activity:activity_id\" for standalone activities."
}
}
},
Expand All @@ -9549,6 +9565,10 @@
"type": "string",
"title": "The identity of the worker/client"
},
"resourceId": {
"type": "string",
"description": "Resource ID for routing. Contains the workflow ID or activity ID for standalone activities."
},
"workerVersion": {
"$ref": "#/definitions/v1WorkerVersionStamp",
"description": "Version info of the worker who processed this task. This message's `build_id` field should\nalways be set by SDKs. Workers opting into versioning will also set the `use_versioning`\nfield to true. See message docstrings for more.\nDeprecated. Use `deployment_options` instead."
Expand Down Expand Up @@ -9577,6 +9597,10 @@
"identity": {
"type": "string",
"title": "The identity of the worker/client"
},
"resourceId": {
"type": "string",
"description": "Resource ID for routing. Contains \"workflow:workflow_id\" or \"activity:activity_id\" for standalone activities."
}
}
},
Expand All @@ -9596,6 +9620,10 @@
"type": "string",
"title": "The identity of the worker/client"
},
"resourceId": {
"type": "string",
"description": "Resource ID for routing. Contains the workflow ID or activity ID for standalone activities."
},
"lastHeartbeatDetails": {
"$ref": "#/definitions/v1Payloads",
"title": "Additional details to be stored as last activity heartbeat"
Expand Down Expand Up @@ -9632,6 +9660,10 @@
"lastHeartbeatDetails": {
"$ref": "#/definitions/v1Payloads",
"title": "Additional details to be stored as last activity heartbeat"
},
"resourceId": {
"type": "string",
"description": "Resource ID for routing. Contains \"workflow:workflow_id\" or \"activity:activity_id\" for standalone activities."
}
}
},
Expand Down
24 changes: 24 additions & 0 deletions openapi/openapiv3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11907,6 +11907,9 @@ components:
identity:
type: string
description: The identity of the worker/client
resourceId:
type: string
description: Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
RecordActivityTaskHeartbeatByIdResponse:
type: object
properties:
Expand Down Expand Up @@ -11939,6 +11942,9 @@ components:
description: The identity of the worker/client
namespace:
type: string
resourceId:
type: string
description: Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
RecordActivityTaskHeartbeatResponse:
type: object
properties:
Expand Down Expand Up @@ -12457,6 +12463,9 @@ components:
allOf:
- $ref: '#/components/schemas/WorkerDeploymentOptions'
description: Worker deployment options that user has set in the worker.
resourceId:
type: string
description: Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
RespondActivityTaskCanceledByIdResponse:
type: object
properties: {}
Expand All @@ -12476,6 +12485,9 @@ components:
description: The identity of the worker/client
namespace:
type: string
resourceId:
type: string
description: Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
Expand Down Expand Up @@ -12522,6 +12534,9 @@ components:
identity:
type: string
description: The identity of the worker/client
resourceId:
type: string
description: Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
RespondActivityTaskCompletedByIdResponse:
type: object
properties: {}
Expand All @@ -12541,6 +12556,9 @@ components:
description: The identity of the worker/client
namespace:
type: string
resourceId:
type: string
description: Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
workerVersion:
allOf:
- $ref: '#/components/schemas/WorkerVersionStamp'
Expand Down Expand Up @@ -12591,6 +12609,9 @@ components:
allOf:
- $ref: '#/components/schemas/Payloads'
description: Additional details to be stored as last activity heartbeat
resourceId:
type: string
description: Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
RespondActivityTaskFailedByIdResponse:
type: object
properties:
Expand All @@ -12617,6 +12638,9 @@ components:
description: The identity of the worker/client
namespace:
type: string
resourceId:
type: string
description: Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
lastHeartbeatDetails:
allOf:
- $ref: '#/components/schemas/Payloads'
Expand Down
37 changes: 37 additions & 0 deletions temporal/api/protometa/v1/annotations.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
syntax = "proto3";

package temporal.api.protometa.v1;

option go_package = "go.temporal.io/api/protometa/v1;protometa";
option java_package = "io.temporal.api.protometa.v1";
option java_multiple_files = true;
option java_outer_classname = "AnnotationsProto";
option ruby_package = "Temporalio::Api::Protometa::V1";
option csharp_namespace = "Temporalio.Api.Protometa.V1";

import "google/protobuf/descriptor.proto";

// RequestHeaderAnnotation allows specifying that field values from a request
Comment thread
tconley1428 marked this conversation as resolved.
// should be propagated as outbound headers.
//
// The value field supports template interpolation where field paths enclosed
// in braces will be replaced with the actual field values from the request.
// For example:
// value: "{workflow_execution.workflow_id}"
// value: "workflow-{workflow_execution.workflow_id}"
// value: "{namespace}/{workflow_execution.workflow_id}"
message RequestHeaderAnnotation {
// The name of the header to set (e.g., "temporal-resource-id")
string header = 1;

// A template string that may contain field paths in braces.
// Field paths use dot notation to traverse nested messages.
// Example: "{workflow_execution.workflow_id}"
string value = 2;
}

// Extension to add request-header annotations to RPC methods.
// Multiple headers can be set by repeating this option.
extend google.protobuf.MethodOptions {
repeated RequestHeaderAnnotation request_header = 7234001;
}
38 changes: 38 additions & 0 deletions temporal/api/workflowservice/v1/request_response.proto
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,8 @@ message RespondWorkflowTaskCompletedRequest {
// Responses to the `queries` field in the task being responded to
map<string, temporal.api.query.v1.WorkflowQueryResult> query_results = 8;
string namespace = 9;
// Resource ID for routing. Contains the workflow ID from the original task.
string resource_id = 18;
// Version info of the worker who processed this task. This message's `build_id` field should
// always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
// field to true. See message docstrings for more.
Expand Down Expand Up @@ -418,6 +420,8 @@ message RespondWorkflowTaskFailedRequest {
// Worker process' unique binary id
string binary_checksum = 5 [deprecated = true];
string namespace = 6;
// Resource ID for routing. Contains the workflow ID from the original task.
string resource_id = 11;
// Protocol messages piggybacking on a WFT as a transport
repeated temporal.api.protocol.v1.Message messages = 7;
// Version info of the worker who processed this task. This message's `build_id` field should
Expand Down Expand Up @@ -522,6 +526,8 @@ message RecordActivityTaskHeartbeatRequest {
// The identity of the worker/client
string identity = 3;
string namespace = 4;
// Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
string resource_id = 5;
}

message RecordActivityTaskHeartbeatResponse {
Expand Down Expand Up @@ -551,6 +557,8 @@ message RecordActivityTaskHeartbeatByIdRequest {
temporal.api.common.v1.Payloads details = 5;
// The identity of the worker/client
string identity = 6;
// Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
string resource_id = 7;
}

message RecordActivityTaskHeartbeatByIdResponse {
Expand All @@ -574,6 +582,8 @@ message RespondActivityTaskCompletedRequest {
// The identity of the worker/client
string identity = 3;
string namespace = 4;
// Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
string resource_id = 8;
// Version info of the worker who processed this task. This message's `build_id` field should
// always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
// field to true. See message docstrings for more.
Expand Down Expand Up @@ -604,6 +614,8 @@ message RespondActivityTaskCompletedByIdRequest {
temporal.api.common.v1.Payloads result = 5;
// The identity of the worker/client
string identity = 6;
// Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
string resource_id = 7;
}

message RespondActivityTaskCompletedByIdResponse {
Expand All @@ -617,6 +629,8 @@ message RespondActivityTaskFailedRequest {
// The identity of the worker/client
string identity = 3;
string namespace = 4;
// Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
string resource_id = 9;
// Additional details to be stored as last activity heartbeat
temporal.api.common.v1.Payloads last_heartbeat_details = 5;
// Version info of the worker who processed this task. This message's `build_id` field should
Expand Down Expand Up @@ -654,6 +668,8 @@ message RespondActivityTaskFailedByIdRequest {
string identity = 6;
// Additional details to be stored as last activity heartbeat
temporal.api.common.v1.Payloads last_heartbeat_details = 7;
// Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
string resource_id = 8;
}

message RespondActivityTaskFailedByIdResponse {
Expand All @@ -670,6 +686,8 @@ message RespondActivityTaskCanceledRequest {
// The identity of the worker/client
string identity = 3;
string namespace = 4;
// Resource ID for routing. Contains the workflow ID or activity ID for standalone activities.
string resource_id = 8;
// Version info of the worker who processed this task. This message's `build_id` field should
// always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
// field to true. See message docstrings for more.
Expand Down Expand Up @@ -702,6 +720,8 @@ message RespondActivityTaskCanceledByIdRequest {
string identity = 6;
// Worker deployment options that user has set in the worker.
temporal.api.deployment.v1.WorkerDeploymentOptions deployment_options = 7;
// Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities.
string resource_id = 8;
}

message RespondActivityTaskCanceledByIdResponse {
Expand Down Expand Up @@ -1000,6 +1020,8 @@ message RespondQueryTaskCompletedRequest {
string error_message = 4;
reserved 5;
string namespace = 6;
// Resource ID for routing. Contains the workflow ID from the original task.
string resource_id = 9;
// The full reason for this query failure. This field is newer than `error_message` and can be
// encoded by the SDK's failure converter to support E2E encryption of messages and stack
// traces.
Expand Down Expand Up @@ -1872,6 +1894,8 @@ message PollNexusTaskQueueResponse {
temporal.api.nexus.v1.Request request = 2;
// Server-advised information the SDK may use to adjust its poller count.
temporal.api.taskqueue.v1.PollerScalingDecision poller_scaling_decision = 3;
// Resource ID for routing. Workers should pass this value in response requests.
string resource_id = 4;
}

message RespondNexusTaskCompletedRequest {
Expand All @@ -1882,6 +1906,8 @@ message RespondNexusTaskCompletedRequest {
bytes task_token = 3;
// Embedded response to be translated into a frontend response.
temporal.api.nexus.v1.Response response = 4;
// Resource ID for routing. Should match the value from PollNexusTaskQueueResponse.
string resource_id = 5;
}

message RespondNexusTaskCompletedResponse {
Expand All @@ -1897,6 +1923,8 @@ message RespondNexusTaskFailedRequest {
temporal.api.nexus.v1.HandlerError error = 4 [deprecated = true];
// The error the handler failed with. Must contain a NexusHandlerFailureInfo object.
temporal.api.failure.v1.Failure failure = 5;
// Resource ID for routing. Should match the value from PollNexusTaskQueueResponse.
string resource_id = 6;
}

message RespondNexusTaskFailedResponse {
Expand All @@ -1915,6 +1943,9 @@ message ExecuteMultiOperationRequest {
// Note that additional operation-specific restrictions have to be considered.
repeated Operation operations = 2;

// Resource ID for routing. Should match operations[0].start_workflow.workflow_id
string resource_id = 3;

message Operation {
oneof operation {
// Additional restrictions:
Expand Down Expand Up @@ -2549,6 +2580,9 @@ message RecordWorkerHeartbeatRequest {
string identity = 2;

repeated temporal.api.worker.v1.WorkerHeartbeat worker_heartbeat = 3;

// Resource ID for routing. Contains the worker grouping key.
string resource_id = 4;
}

message RecordWorkerHeartbeatResponse {
Expand Down Expand Up @@ -2632,6 +2666,8 @@ message FetchWorkerConfigRequest {
// Defines which workers should receive this command.
// only single worker is supported at this time.
temporal.api.common.v1.WorkerSelector selector = 6;
// Resource ID for routing. Contains the worker grouping key.
string resource_id = 7;
}

message FetchWorkerConfigResponse {
Expand All @@ -2658,6 +2694,8 @@ message UpdateWorkerConfigRequest {

// Defines which workers should receive this command.
temporal.api.common.v1.WorkerSelector selector = 6;
// Resource ID for routing. Contains the worker grouping key.
string resource_id = 7;
}

message UpdateWorkerConfigResponse {
Expand Down
Loading
Loading