diff --git a/internal/workertest/historyrequire.go b/internal/workertest/historyrequire.go
index a093358d..ed529744 100644
--- a/internal/workertest/historyrequire.go
+++ b/internal/workertest/historyrequire.go
@@ -5,6 +5,7 @@ import (
"fmt"
"maps"
"reflect"
+ "slices"
"strings"
"testing"
@@ -278,6 +279,11 @@ func looselyEqual(x, y any) bool {
return mapIsSuperset(x, yMap)
}
return false
+ case []any:
+ // Compare element-wise so each expected element can be a partial map. The
+ // lengths must match, but not every field of each element.
+ yList, ok := y.([]any)
+ return ok && slices.EqualFunc(x, yList, looselyEqual)
}
return reflect.DeepEqual(x, y)
}
diff --git a/loadgen/kitchen_sink_executor_test.go b/loadgen/kitchen_sink_executor_test.go
index 4c9a6041..39d40488 100644
--- a/loadgen/kitchen_sink_executor_test.go
+++ b/loadgen/kitchen_sink_executor_test.go
@@ -17,7 +17,6 @@ import (
"go.temporal.io/api/common/v1"
"go.temporal.io/api/enums/v1"
"go.temporal.io/api/history/v1"
- "go.temporal.io/api/workflowservice/v1"
"go.temporal.io/sdk/client"
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/durationpb"
@@ -43,6 +42,14 @@ var (
clioptions.LangDotNet: "executenexusoperation is not supported",
}
+ nexusWorkflowActionUnsupportedSDKs = map[clioptions.Language]string{
+ clioptions.LangPython: "no supported action set",
+ clioptions.LangJava: "executenexusoperation is not supported",
+ clioptions.LangRuby: "executenexusoperation is not supported",
+ clioptions.LangTypeScript: "executenexusoperation is not supported",
+ clioptions.LangDotNet: "executenexusoperation is not supported",
+ }
+
standaloneNexusUnsupportedSDKs = map[clioptions.Language]string{
clioptions.LangJava: "dostandalonenexusoperation is not supported",
clioptions.LangPython: "dostandalonenexusoperation is not supported",
@@ -94,6 +101,10 @@ func TestKitchenSink(t *testing.T) {
"nexusoperation.enableStandalone": true,
// Standalone Nexus system callbacks require CHASM callbacks.
"history.enableCHASMCallbacks": true,
+ // Nexus Signals rely on CHASM signal backlinks.
+ "history.enableCHASMSignalBacklinks": true,
+ // Nexus Updates rely on CHASM update callbacks.
+ "history.enableUpdateCallbacks": true,
// Enable StartActivityExecution for the standalone-activity subtest.
"activity.enableStandalone": true,
"history.enableStandaloneActivityOperatorCommands": true,
@@ -937,25 +948,21 @@ func TestKitchenSink(t *testing.T) {
WorkflowExecutionCompleted`),
},
{
- name: "NexusOperation/Sync",
+ name: "NexusOperation/Sync/Echo",
testInput: &TestInput{
WorkflowInput: &WorkflowInput{
InitialActions: ListActionSet(
- &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_Echo{Echo: "hello"},
- },
- AwaitableChoice: &AwaitableChoice{
- Condition: &AwaitableChoice_WaitFinish{
- WaitFinish: &emptypb.Empty{},
- },
- },
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_Echo{Echo: "hello"},
+ },
+ AwaitableChoice: &AwaitableChoice{
+ Condition: &AwaitableChoice_WaitFinish{
+ WaitFinish: &emptypb.Empty{},
},
},
}),
+ ),
},
},
historyMatcher: PartialHistoryMatcher(`
@@ -968,22 +975,18 @@ func TestKitchenSink(t *testing.T) {
testInput: &TestInput{
WorkflowInput: &WorkflowInput{
InitialActions: ListActionSet(
- &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_Echo{Echo: "hello"},
- },
- ExpectedOutput: ConvertToPayload("goodbye"),
- AwaitableChoice: &AwaitableChoice{
- Condition: &AwaitableChoice_WaitFinish{
- WaitFinish: &emptypb.Empty{},
- },
- },
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_Echo{Echo: "hello"},
+ },
+ ExpectedOutput: ConvertToPayload("goodbye"),
+ AwaitableChoice: &AwaitableChoice{
+ Condition: &AwaitableChoice_WaitFinish{
+ WaitFinish: &emptypb.Empty{},
},
},
}),
+ ),
},
},
historyMatcher: PartialHistoryMatcher(`
@@ -997,33 +1000,29 @@ func TestKitchenSink(t *testing.T) {
testInput: &TestInput{
WorkflowInput: &WorkflowInput{
InitialActions: ListActionSet(
- &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_WorkflowAction{
- WorkflowAction: &NexusWorkflowAction{
- StartOptions: &NexusWorkflowStartOptions{
- WorkflowInput: &WorkflowInput{
- InitialActions: ListActionSet(
- NewTimerAction(1),
- NewEmptyReturnResultAction(),
- ),
- },
- },
- Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{
+ WorkflowAction: &NexusWorkflowAction{
+ StartOptions: &NexusWorkflowStartOptions{
+ WorkflowInput: &WorkflowInput{
+ InitialActions: ListActionSet(
+ NewTimerAction(1),
+ NewEmptyReturnResultAction(),
+ ),
},
},
- },
- AwaitableChoice: &AwaitableChoice{
- Condition: &AwaitableChoice_WaitFinish{
- WaitFinish: &emptypb.Empty{},
- },
+ Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
},
},
},
+ AwaitableChoice: &AwaitableChoice{
+ Condition: &AwaitableChoice_WaitFinish{
+ WaitFinish: &emptypb.Empty{},
+ },
+ },
}),
+ ),
},
},
historyMatcher: PartialHistoryMatcher(`
@@ -1037,32 +1036,28 @@ func TestKitchenSink(t *testing.T) {
testInput: &TestInput{
WorkflowInput: &WorkflowInput{
InitialActions: ListActionSet(
- &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_WorkflowAction{
- WorkflowAction: &NexusWorkflowAction{
- StartOptions: &NexusWorkflowStartOptions{
- WorkflowInput: &WorkflowInput{
- InitialActions: ListActionSet(
- NewAwaitWorkflowStateAction("never", "resolves"),
- ),
- },
- },
- Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{
+ WorkflowAction: &NexusWorkflowAction{
+ StartOptions: &NexusWorkflowStartOptions{
+ WorkflowInput: &WorkflowInput{
+ InitialActions: ListActionSet(
+ NewAwaitWorkflowStateAction("never", "resolves"),
+ ),
},
},
+ Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
},
- AwaitableChoice: &AwaitableChoice{
- Condition: &AwaitableChoice_CancelAfterStarted{
- CancelAfterStarted: &emptypb.Empty{},
- },
- },
+ },
+ },
+ AwaitableChoice: &AwaitableChoice{
+ Condition: &AwaitableChoice_CancelAfterStarted{
+ CancelAfterStarted: &emptypb.Empty{},
},
},
}),
+ ),
},
},
historyMatcher: PartialHistoryMatcher(`
@@ -1077,21 +1072,17 @@ func TestKitchenSink(t *testing.T) {
testInput: &TestInput{
WorkflowInput: &WorkflowInput{
InitialActions: ListActionSet(
- &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_Echo{Echo: "abandoned"},
- },
- AwaitableChoice: &AwaitableChoice{
- Condition: &AwaitableChoice_Abandon{
- Abandon: &emptypb.Empty{},
- },
- },
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_Echo{Echo: "abandoned"},
+ },
+ AwaitableChoice: &AwaitableChoice{
+ Condition: &AwaitableChoice_Abandon{
+ Abandon: &emptypb.Empty{},
},
},
}),
+ ),
},
},
historyMatcher: PartialHistoryMatcher(`
@@ -1202,6 +1193,120 @@ func TestKitchenSink(t *testing.T) {
DoStandaloneActivityOperatorCommands_COMMAND_TYPE_RESET),
standaloneActivityOperatorCommandsTestCase("Update",
DoStandaloneActivityOperatorCommands_COMMAND_TYPE_UPDATE),
+ {
+ name: "NexusOperation/Sync/Signal",
+ testInput: &TestInput{WorkflowInput: &WorkflowInput{InitialActions: ListActionSet(
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{WorkflowAction: &NexusWorkflowAction{
+ WorkflowId: "nexus-signal-target",
+ StartOptions: &NexusWorkflowStartOptions{
+ WorkflowInput: &WorkflowInput{InitialActions: ListActionSet(
+ NewAwaitWorkflowStateAction("status", "done"),
+ NewEmptyReturnResultAction(),
+ )},
+ },
+ Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
+ }},
+ },
+ AwaitableChoice: &AwaitableChoice{Condition: &AwaitableChoice_WaitStarted{WaitStarted: &emptypb.Empty{}}},
+ }),
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{WorkflowAction: &NexusWorkflowAction{
+ WorkflowId: "nexus-signal-target",
+ Action: &NexusWorkflowAction_Signal{Signal: &DoSignal{
+ Variant: &DoSignal_DoSignalActions_{DoSignalActions: &DoSignal_DoSignalActions{
+ Variant: &DoSignal_DoSignalActions_DoActions{DoActions: SingleActionSet(
+ NewSetWorkflowStateAction("status", "done"),
+ )},
+ }},
+ }},
+ }},
+ },
+ ExpectedOutput: ConvertToPayload("nexus-signal-target"),
+ }),
+ &Action{Variant: &Action_AwaitPendingActions{AwaitPendingActions: &AwaitPendingActions{}}},
+ )}},
+ historyMatcher: PartialHistoryMatcher(`
+ NexusOperationCompleted {"links":[{"workflowEvent":{"workflowId":"nexus-signal-target","requestIdRef":{"eventType":"EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED"}}}]}`),
+ expectedUnsupportedErrs: nexusWorkflowActionUnsupportedSDKs,
+ },
+ {
+ name: "NexusOperation/Sync/SignalWithStart",
+ testInput: &TestInput{WorkflowInput: &WorkflowInput{InitialActions: ListActionSet(
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{WorkflowAction: &NexusWorkflowAction{
+ WorkflowId: "nexus-sws-target",
+ StartOptions: &NexusWorkflowStartOptions{WorkflowInput: &WorkflowInput{InitialActions: ListActionSet(
+ NewAwaitWorkflowStateAction("status", "done"),
+ NewEmptyReturnResultAction(),
+ )}},
+ Action: &NexusWorkflowAction_Signal{Signal: &DoSignal{
+ Variant: &DoSignal_DoSignalActions_{DoSignalActions: &DoSignal_DoSignalActions{
+ Variant: &DoSignal_DoSignalActions_DoActions{DoActions: SingleActionSet(
+ NewSetWorkflowStateAction("status", "done"),
+ )},
+ }},
+ WithStart: true,
+ }},
+ }},
+ },
+ ExpectedOutput: ConvertToPayload("nexus-sws-target"),
+ }),
+ &Action{Variant: &Action_AwaitPendingActions{AwaitPendingActions: &AwaitPendingActions{}}},
+ )}},
+ historyMatcher: PartialHistoryMatcher(`
+ NexusOperationCompleted {"links":[{"workflowEvent":{"workflowId":"nexus-sws-target","requestIdRef":{"eventType":"EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED"}}}]}`),
+ expectedUnsupportedErrs: nexusWorkflowActionUnsupportedSDKs,
+ },
+ {
+ name: "NexusOperation/Async/Update",
+ testInput: &TestInput{WorkflowInput: &WorkflowInput{InitialActions: ListActionSet(
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{WorkflowAction: &NexusWorkflowAction{
+ WorkflowId: "nexus-update-target",
+ StartOptions: &NexusWorkflowStartOptions{
+ WorkflowInput: &WorkflowInput{InitialActions: ListActionSet(
+ NewAwaitWorkflowStateAction("status", "done"),
+ NewEmptyReturnResultAction(),
+ )},
+ },
+ Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
+ }},
+ },
+ AwaitableChoice: &AwaitableChoice{Condition: &AwaitableChoice_WaitStarted{WaitStarted: &emptypb.Empty{}}},
+ }),
+ NexusOperation(&ExecuteNexusOperation{
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{WorkflowAction: &NexusWorkflowAction{
+ WorkflowId: "nexus-update-target",
+ Action: &NexusWorkflowAction_Update{Update: &DoUpdate{
+ Variant: &DoUpdate_DoActions{DoActions: &DoActionsUpdate{
+ Variant: &DoActionsUpdate_DoActions{DoActions: SingleActionSet(
+ NewTimerAction(time.Millisecond),
+ NewSetWorkflowStateAction("status", "done"),
+ // The update handler's return value is itself encoded by the data converter
+ // before the server forwards it to the Nexus completion callback, so the value
+ // is wrapped twice here: the caller decodes the outer layer and compares the
+ // inner Payload against ExecuteNexusOperation.expected_output.
+ NewReturnResultAction(ConvertToPayload(ConvertToPayload("nexus-update-target"))),
+ )},
+ }},
+ }},
+ }},
+ },
+ ExpectedOutput: ConvertToPayload(ConvertToPayload("nexus-update-target")),
+ }),
+ &Action{Variant: &Action_AwaitPendingActions{AwaitPendingActions: &AwaitPendingActions{}}},
+ )}},
+ historyMatcher: PartialHistoryMatcher(`
+ NexusOperationStarted {"links":[{"workflowEvent":{"workflowId":"nexus-update-target","requestIdRef":{"eventType":"EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED"}}}]}
+ NexusOperationCompleted`),
+ expectedUnsupportedErrs: nexusWorkflowActionUnsupportedSDKs,
+ },
{
name: "UnsupportedAction",
testInput: &TestInput{
@@ -1346,6 +1451,7 @@ func testForSDK(
return nil
},
UpdateWorkflowOptions: func(_ context.Context, _ *Run, opts *KitchenSinkWorkflowOptions) error {
+ opts.StartOptions.ID = scenarioInfo.RunID
opts.StartOptions.WorkflowExecutionTimeout = workflowTimeout
return nil
},
@@ -1393,8 +1499,7 @@ func testSupportedFeature(
}
_, execErr := env.RunExecutorTest(t, testExecutor, scenarioInfo, sdk)
- taskQueueName := TaskQueueForRun(scenarioInfo.RunID)
- historyEvents, historyErr := getWorkflowHistory(t, env.TemporalClient(), env.Namespace(), taskQueueName)
+ historyEvents, historyErr := getWorkflowHistory(t, env.TemporalClient(), scenarioInfo.RunID)
if execErr != nil {
if len(historyEvents) > 0 {
t.Logf("History events for debugging:")
@@ -1436,24 +1541,12 @@ func (w *kitchenSinkTestWrapper) Run(ctx context.Context, info ScenarioInfo) err
return w.executor.Run(ctx, info)
}
-func getWorkflowHistory(t *testing.T, temporalClient client.Client, namespace, taskQueueName string) ([]*history.HistoryEvent, error) {
- executions, err := temporalClient.ListWorkflow(t.Context(),
- &workflowservice.ListWorkflowExecutionsRequest{
- Namespace: namespace,
- Query: fmt.Sprintf("TaskQueue = '%s' AND WorkflowType = 'kitchenSink'", taskQueueName),
- })
- if err != nil {
- return nil, fmt.Errorf("failed to list workflow executions: %w", err)
- }
- if len(executions.Executions) == 0 {
- return nil, fmt.Errorf("no workflow executions found for task queue %s", taskQueueName)
- }
- if len(executions.Executions) > 1 {
- t.Logf("Warning: found %d kitchenSink workflow executions for task queue %s, using the first one", len(executions.Executions), taskQueueName)
- }
-
- execution := executions.Executions[0]
- historyIter := temporalClient.GetWorkflowHistory(t.Context(), execution.Execution.WorkflowId, execution.Execution.RunId, false, enums.HISTORY_EVENT_FILTER_TYPE_ALL_EVENT)
+func getWorkflowHistory(
+ t *testing.T,
+ temporalClient client.Client,
+ workflowID string,
+) ([]*history.HistoryEvent, error) {
+ historyIter := temporalClient.GetWorkflowHistory(t.Context(), workflowID, "", false, enums.HISTORY_EVENT_FILTER_TYPE_ALL_EVENT)
var historyEvents []*history.HistoryEvent
for historyIter.HasNext() {
event, err := historyIter.Next()
diff --git a/loadgen/kitchensink/client_action_executor.go b/loadgen/kitchensink/client_action_executor.go
index 33f83d03..68de9910 100644
--- a/loadgen/kitchensink/client_action_executor.go
+++ b/loadgen/kitchensink/client_action_executor.go
@@ -142,43 +142,28 @@ func (e *ClientActionsExecutor) executeClientAction(ctx context.Context, action
}
func (e *ClientActionsExecutor) executeSignalAction(ctx context.Context, sig *DoSignal) (client.WorkflowRun, error) {
- var signalName string
- var signalArgs any
- if sigActions := sig.GetDoSignalActions(); sigActions != nil {
- signalName = "do_actions_signal"
- signalArgs = sigActions
- } else if handler := sig.GetCustom(); handler != nil {
- signalName = handler.Name
- signalArgs = handler.Args
- } else {
- return nil, fmt.Errorf("do_signal must recognizable variant")
+ signalName, signalArg, err := SignalNameAndArg(sig)
+ if err != nil {
+ return nil, err
}
if sig.WithStart {
return e.Client.SignalWithStartWorkflow(
- ctx, e.WorkflowOptions.ID, signalName, signalArgs, e.WorkflowOptions, e.WorkflowType, e.WorkflowInput)
+ ctx, e.WorkflowOptions.ID, signalName, signalArg, e.WorkflowOptions, e.WorkflowType, e.WorkflowInput)
}
- return nil, e.Client.SignalWorkflow(ctx, e.WorkflowOptions.ID, "", signalName, signalArgs)
+ return nil, e.Client.SignalWorkflow(ctx, e.WorkflowOptions.ID, "", signalName, signalArg)
}
func (e *ClientActionsExecutor) executeUpdateAction(ctx context.Context, upd *DoUpdate) (run client.WorkflowRun, err error) {
- var updateOpts client.UpdateWorkflowOptions
- if actionsUpdate := upd.GetDoActions(); actionsUpdate != nil {
- updateOpts = client.UpdateWorkflowOptions{
- WorkflowID: e.WorkflowOptions.ID,
- UpdateName: "do_actions_update",
- WaitForStage: client.WorkflowUpdateStageCompleted,
- Args: []any{actionsUpdate},
- }
- } else if handler := upd.GetCustom(); handler != nil {
- updateOpts = client.UpdateWorkflowOptions{
- WorkflowID: e.WorkflowOptions.ID,
- UpdateName: handler.Name,
- WaitForStage: client.WorkflowUpdateStageCompleted,
- Args: []any{handler.Args},
- }
- } else {
- return nil, fmt.Errorf("do_update must recognizable variant")
+ updateName, args, err := UpdateNameAndArgs(upd)
+ if err != nil {
+ return nil, err
+ }
+ updateOpts := client.UpdateWorkflowOptions{
+ WorkflowID: e.WorkflowOptions.ID,
+ UpdateName: updateName,
+ WaitForStage: client.WorkflowUpdateStageCompleted,
+ Args: args,
}
var handle client.WorkflowUpdateHandle
diff --git a/loadgen/kitchensink/helpers.go b/loadgen/kitchensink/helpers.go
index b91bb524..04bbebc2 100644
--- a/loadgen/kitchensink/helpers.go
+++ b/loadgen/kitchensink/helpers.go
@@ -51,6 +51,24 @@ func ActivityNameAndArgs(act *ExecuteActivityAction) (string, []any) {
return "noop", nil
}
+func SignalNameAndArg(signal *DoSignal) (string, any, error) {
+ if actions := signal.GetDoSignalActions(); actions != nil {
+ return "do_actions_signal", actions, nil
+ } else if handler := signal.GetCustom(); handler != nil {
+ return handler.GetName(), handler.GetArgs(), nil
+ }
+ return "", nil, fmt.Errorf("do_signal must recognizable variant")
+}
+
+func UpdateNameAndArgs(update *DoUpdate) (string, []any, error) {
+ if actions := update.GetDoActions(); actions != nil {
+ return "do_actions_update", []any{actions}, nil
+ } else if handler := update.GetCustom(); handler != nil {
+ return handler.GetName(), []any{handler.GetArgs()}, nil
+ }
+ return "", nil, fmt.Errorf("do_update must recognizable variant")
+}
+
// ConvertFromPBRetryPolicy converts a proto RetryPolicy into an SDK RetryPolicy.
func ConvertFromPBRetryPolicy(retryPolicy *common.RetryPolicy) *temporal.RetryPolicy {
if retryPolicy == nil {
@@ -86,6 +104,11 @@ func ListActionSet(actions ...*Action) []*ActionSet {
}
}
+func NexusOperation(operation *ExecuteNexusOperation) *Action {
+ operation.Operation = KitchenSinkNexusOperationName
+ return &Action{Variant: &Action_NexusOperation{NexusOperation: operation}}
+}
+
func ClientActions(clientActions ...*ClientAction) *ClientSequence {
return &ClientSequence{
ActionSets: []*ClientActionSet{
@@ -152,10 +175,14 @@ func ResourceConsumingActivity(bytesToAllocate uint64, cpuYieldEveryNIters uint3
}
func NewEmptyReturnResultAction() *Action {
+ return NewReturnResultAction(&common.Payload{})
+}
+
+func NewReturnResultAction(payload *common.Payload) *Action {
return &Action{
Variant: &Action_ReturnResult{
ReturnResult: &ReturnResultAction{
- ReturnThis: &common.Payload{},
+ ReturnThis: payload,
},
},
}
diff --git a/loadgen/kitchensink/kitchen_sink.pb.go b/loadgen/kitchensink/kitchen_sink.pb.go
index 02841f97..ef351325 100644
--- a/loadgen/kitchensink/kitchen_sink.pb.go
+++ b/loadgen/kitchensink/kitchen_sink.pb.go
@@ -3420,6 +3420,8 @@ type NexusWorkflowAction struct {
// Types that are assignable to Action:
//
// *NexusWorkflowAction_Start
+ // *NexusWorkflowAction_Signal
+ // *NexusWorkflowAction_Update
Action isNexusWorkflowAction_Action `protobuf_oneof:"action"`
}
@@ -3490,6 +3492,20 @@ func (x *NexusWorkflowAction) GetStart() *emptypb.Empty {
return nil
}
+func (x *NexusWorkflowAction) GetSignal() *DoSignal {
+ if x, ok := x.GetAction().(*NexusWorkflowAction_Signal); ok {
+ return x.Signal
+ }
+ return nil
+}
+
+func (x *NexusWorkflowAction) GetUpdate() *DoUpdate {
+ if x, ok := x.GetAction().(*NexusWorkflowAction_Update); ok {
+ return x.Update
+ }
+ return nil
+}
+
type isNexusWorkflowAction_Action interface {
isNexusWorkflowAction_Action()
}
@@ -3498,8 +3514,25 @@ type NexusWorkflowAction_Start struct {
Start *emptypb.Empty `protobuf:"bytes,4,opt,name=start,proto3,oneof"`
}
+type NexusWorkflowAction_Signal struct {
+ // Signal the target workflow. Honors DoSignal.with_start, in which case
+ // start_options supplies the workflow input and an existing workflow is reused.
+ // run_id selects the run for a signal without start.
+ Signal *DoSignal `protobuf:"bytes,5,opt,name=signal,proto3,oneof"`
+}
+
+type NexusWorkflowAction_Update struct {
+ // Update the target workflow selected by workflow_id and run_id.
+ // DoUpdate.with_start is not supported.
+ Update *DoUpdate `protobuf:"bytes,6,opt,name=update,proto3,oneof"`
+}
+
func (*NexusWorkflowAction_Start) isNexusWorkflowAction_Action() {}
+func (*NexusWorkflowAction_Signal) isNexusWorkflowAction_Action() {}
+
+func (*NexusWorkflowAction_Update) isNexusWorkflowAction_Action() {}
+
// Configuration for starting a kitchenSink workflow through a Nexus operation.
type NexusWorkflowStartOptions struct {
state protoimpl.MessageState
@@ -4987,7 +5020,7 @@ var file_kitchen_sink_proto_rawDesc = []byte{
0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41,
0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x42, 0x08,
- 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x78,
+ 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x02, 0x0a, 0x13, 0x4e, 0x65, 0x78,
0x75, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49,
@@ -5001,7 +5034,15 @@ var file_kitchen_sink_proto_rawDesc = []byte{
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x73,
- 0x74, 0x61, 0x72, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc,
+ 0x74, 0x61, 0x72, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e,
+ 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e,
+ 0x6b, 0x2e, 0x44, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69,
+ 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e,
+ 0x6f, 0x6d, 0x65, 0x73, 0x2e, 0x6b, 0x69, 0x74, 0x63, 0x68, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x6e,
+ 0x6b, 0x2e, 0x44, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc,
0x01, 0x0a, 0x19, 0x4e, 0x65, 0x78, 0x75, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
0x53, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
0x74, 0x61, 0x73, 0x6b, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
@@ -5256,32 +5297,34 @@ var file_kitchen_sink_proto_depIdxs = []int32{
25, // 109: temporal.omes.kitchen_sink.NexusOperationRequest.start_activity:type_name -> temporal.omes.kitchen_sink.ExecuteActivityAction
40, // 110: temporal.omes.kitchen_sink.NexusWorkflowAction.start_options:type_name -> temporal.omes.kitchen_sink.NexusWorkflowStartOptions
62, // 111: temporal.omes.kitchen_sink.NexusWorkflowAction.start:type_name -> google.protobuf.Empty
- 69, // 112: temporal.omes.kitchen_sink.NexusWorkflowStartOptions.workflow_id_conflict_policy:type_name -> temporal.api.enums.v1.WorkflowIdConflictPolicy
- 20, // 113: temporal.omes.kitchen_sink.NexusWorkflowStartOptions.workflow_input:type_name -> temporal.omes.kitchen_sink.WorkflowInput
- 21, // 114: temporal.omes.kitchen_sink.DoSignal.DoSignalActions.do_actions:type_name -> temporal.omes.kitchen_sink.ActionSet
- 21, // 115: temporal.omes.kitchen_sink.DoSignal.DoSignalActions.do_actions_in_main:type_name -> temporal.omes.kitchen_sink.ActionSet
- 63, // 116: temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivity.arguments:type_name -> temporal.api.common.v1.Payload
- 60, // 117: temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivity.run_for:type_name -> google.protobuf.Duration
- 6, // 118: temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivity.client_sequence:type_name -> temporal.omes.kitchen_sink.ClientSequence
- 60, // 119: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity.success_duration:type_name -> google.protobuf.Duration
- 60, // 120: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity.failure_duration:type_name -> google.protobuf.Duration
- 60, // 121: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.success_duration:type_name -> google.protobuf.Duration
- 60, // 122: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.failure_duration:type_name -> google.protobuf.Duration
- 60, // 123: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.heartbeat_interval:type_name -> google.protobuf.Duration
- 63, // 124: temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload
- 63, // 125: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload
- 63, // 126: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry.value:type_name -> temporal.api.common.v1.Payload
- 63, // 127: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload
- 63, // 128: temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload
- 63, // 129: temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload
- 63, // 130: temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry.value:type_name -> temporal.api.common.v1.Payload
- 63, // 131: temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload
- 63, // 132: temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload
- 133, // [133:133] is the sub-list for method output_type
- 133, // [133:133] is the sub-list for method input_type
- 133, // [133:133] is the sub-list for extension type_name
- 133, // [133:133] is the sub-list for extension extendee
- 0, // [0:133] is the sub-list for field type_name
+ 13, // 112: temporal.omes.kitchen_sink.NexusWorkflowAction.signal:type_name -> temporal.omes.kitchen_sink.DoSignal
+ 16, // 113: temporal.omes.kitchen_sink.NexusWorkflowAction.update:type_name -> temporal.omes.kitchen_sink.DoUpdate
+ 69, // 114: temporal.omes.kitchen_sink.NexusWorkflowStartOptions.workflow_id_conflict_policy:type_name -> temporal.api.enums.v1.WorkflowIdConflictPolicy
+ 20, // 115: temporal.omes.kitchen_sink.NexusWorkflowStartOptions.workflow_input:type_name -> temporal.omes.kitchen_sink.WorkflowInput
+ 21, // 116: temporal.omes.kitchen_sink.DoSignal.DoSignalActions.do_actions:type_name -> temporal.omes.kitchen_sink.ActionSet
+ 21, // 117: temporal.omes.kitchen_sink.DoSignal.DoSignalActions.do_actions_in_main:type_name -> temporal.omes.kitchen_sink.ActionSet
+ 63, // 118: temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivity.arguments:type_name -> temporal.api.common.v1.Payload
+ 60, // 119: temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivity.run_for:type_name -> google.protobuf.Duration
+ 6, // 120: temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivity.client_sequence:type_name -> temporal.omes.kitchen_sink.ClientSequence
+ 60, // 121: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity.success_duration:type_name -> google.protobuf.Duration
+ 60, // 122: temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivity.failure_duration:type_name -> google.protobuf.Duration
+ 60, // 123: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.success_duration:type_name -> google.protobuf.Duration
+ 60, // 124: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.failure_duration:type_name -> google.protobuf.Duration
+ 60, // 125: temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivity.heartbeat_interval:type_name -> google.protobuf.Duration
+ 63, // 126: temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload
+ 63, // 127: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload
+ 63, // 128: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry.value:type_name -> temporal.api.common.v1.Payload
+ 63, // 129: temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload
+ 63, // 130: temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload
+ 63, // 131: temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload
+ 63, // 132: temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry.value:type_name -> temporal.api.common.v1.Payload
+ 63, // 133: temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry.value:type_name -> temporal.api.common.v1.Payload
+ 63, // 134: temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry.value:type_name -> temporal.api.common.v1.Payload
+ 135, // [135:135] is the sub-list for method output_type
+ 135, // [135:135] is the sub-list for method input_type
+ 135, // [135:135] is the sub-list for extension type_name
+ 135, // [135:135] is the sub-list for extension extendee
+ 0, // [0:135] is the sub-list for field type_name
}
func init() { file_kitchen_sink_proto_init() }
@@ -5907,6 +5950,8 @@ func file_kitchen_sink_proto_init() {
}
file_kitchen_sink_proto_msgTypes[34].OneofWrappers = []interface{}{
(*NexusWorkflowAction_Start)(nil),
+ (*NexusWorkflowAction_Signal)(nil),
+ (*NexusWorkflowAction_Update)(nil),
}
file_kitchen_sink_proto_msgTypes[37].OneofWrappers = []interface{}{
(*DoSignal_DoSignalActions_DoActions)(nil),
diff --git a/scenarios/throughput_stress.go b/scenarios/throughput_stress.go
index 6423f6cd..fbff4ffd 100644
--- a/scenarios/throughput_stress.go
+++ b/scenarios/throughput_stress.go
@@ -807,71 +807,56 @@ func (t *tpsExecutor) createSelfUpdateWithPayloadAsLocal() *ClientAction {
}
func (t *tpsExecutor) createNexusEchoSyncAction() *Action {
- return &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Endpoint: t.config.NexusEndpoint,
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_Echo{Echo: "hello"},
- },
- ExpectedOutput: ConvertToPayload("hello"),
- },
+ return NexusOperation(&ExecuteNexusOperation{
+ Endpoint: t.config.NexusEndpoint,
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_Echo{Echo: "hello"},
},
- }
+ ExpectedOutput: ConvertToPayload("hello"),
+ })
}
func (t *tpsExecutor) createNexusStartWorkflowAction() *Action {
- return &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Endpoint: t.config.NexusEndpoint,
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_WorkflowAction{
- WorkflowAction: &NexusWorkflowAction{
- StartOptions: &NexusWorkflowStartOptions{
- WorkflowInput: &WorkflowInput{
- InitialActions: ListActionSet(NewEmptyReturnResultAction()),
- },
- },
- Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
+ return NexusOperation(&ExecuteNexusOperation{
+ Endpoint: t.config.NexusEndpoint,
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{
+ WorkflowAction: &NexusWorkflowAction{
+ StartOptions: &NexusWorkflowStartOptions{
+ WorkflowInput: &WorkflowInput{
+ InitialActions: ListActionSet(NewEmptyReturnResultAction()),
},
},
+ Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
},
},
},
- }
+ })
}
func (t *tpsExecutor) createNexusWaitForCancelAction() *Action {
- return &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Endpoint: t.config.NexusEndpoint,
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_WorkflowAction{
- WorkflowAction: &NexusWorkflowAction{
- StartOptions: &NexusWorkflowStartOptions{
- WorkflowInput: &WorkflowInput{
- InitialActions: ListActionSet(
- NewAwaitWorkflowStateAction("never", "resolves"),
- ),
- },
- },
- Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
+ return NexusOperation(&ExecuteNexusOperation{
+ Endpoint: t.config.NexusEndpoint,
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{
+ WorkflowAction: &NexusWorkflowAction{
+ StartOptions: &NexusWorkflowStartOptions{
+ WorkflowInput: &WorkflowInput{
+ InitialActions: ListActionSet(
+ NewAwaitWorkflowStateAction("never", "resolves"),
+ ),
},
},
- },
- AwaitableChoice: &AwaitableChoice{
- Condition: &AwaitableChoice_CancelAfterStarted{
- CancelAfterStarted: &emptypb.Empty{},
- },
+ Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
},
},
},
- }
+ AwaitableChoice: &AwaitableChoice{
+ Condition: &AwaitableChoice_CancelAfterStarted{
+ CancelAfterStarted: &emptypb.Empty{},
+ },
+ },
+ })
}
// createNexusAttachCallbacksAction exercises Nexus USE_EXISTING callback coalescing:
@@ -881,28 +866,23 @@ func (t *tpsExecutor) createNexusAttachCallbacksAction() *Action {
handlerWfID := "nexus-attach-handler-" + uuid.NewString()
waitStartedOp := func() *Action {
- return &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Endpoint: t.config.NexusEndpoint,
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_WorkflowAction{
- WorkflowAction: &NexusWorkflowAction{
- WorkflowId: handlerWfID,
- StartOptions: &NexusWorkflowStartOptions{
- WorkflowIdConflictPolicy: enumspb.WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING,
- },
- Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
- },
+ return NexusOperation(&ExecuteNexusOperation{
+ Endpoint: t.config.NexusEndpoint,
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_WorkflowAction{
+ WorkflowAction: &NexusWorkflowAction{
+ WorkflowId: handlerWfID,
+ StartOptions: &NexusWorkflowStartOptions{
+ WorkflowIdConflictPolicy: enumspb.WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING,
},
- },
- AwaitableChoice: &AwaitableChoice{
- Condition: &AwaitableChoice_WaitStarted{WaitStarted: &emptypb.Empty{}},
+ Action: &NexusWorkflowAction_Start{Start: &emptypb.Empty{}},
},
},
},
- }
+ AwaitableChoice: &AwaitableChoice{
+ Condition: &AwaitableChoice_WaitStarted{WaitStarted: &emptypb.Empty{}},
+ },
+ })
}
fanout := make([]*Action, 0, numOps)
for range numOps {
@@ -942,19 +922,14 @@ func (t *tpsExecutor) createNexusAttachCallbacksAction() *Action {
// createNexusStandaloneActivityAction invokes a standalone activity backed Nexus operation from within the workflow.
func (t *tpsExecutor) createNexusStandaloneActivityAction() *Action {
- return &Action{
- Variant: &Action_NexusOperation{
- NexusOperation: &ExecuteNexusOperation{
- Endpoint: t.config.NexusEndpoint,
- Operation: KitchenSinkNexusOperationName,
- Input: &NexusOperationRequest{
- Action: &NexusOperationRequest_StartActivity{StartActivity: &ExecuteActivityAction{
- ActivityType: &ExecuteActivityAction_Noop{},
- }},
- },
- },
+ return NexusOperation(&ExecuteNexusOperation{
+ Endpoint: t.config.NexusEndpoint,
+ Input: &NexusOperationRequest{
+ Action: &NexusOperationRequest_StartActivity{StartActivity: &ExecuteActivityAction{
+ ActivityType: &ExecuteActivityAction_Noop{},
+ }},
},
- }
+ })
}
func (t *tpsExecutor) createStandaloneNexusOperationAction(input *NexusOperationRequest) *Action {
diff --git a/workers/dotnet/Temporalio.Omes/protos/KitchenSink.cs b/workers/dotnet/Temporalio.Omes/protos/KitchenSink.cs
index b69df2ad..52827014 100644
--- a/workers/dotnet/Temporalio.Omes/protos/KitchenSink.cs
+++ b/workers/dotnet/Temporalio.Omes/protos/KitchenSink.cs
@@ -275,29 +275,32 @@ static KitchenSinkReflection() {
"IAEoCUgAEkoKD3dvcmtmbG93X2FjdGlvbhgCIAEoCzIvLnRlbXBvcmFsLm9t",
"ZXMua2l0Y2hlbl9zaW5rLk5leHVzV29ya2Zsb3dBY3Rpb25IABJLCg5zdGFy",
"dF9hY3Rpdml0eRgDIAEoCzIxLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5r",
- "LkV4ZWN1dGVBY3Rpdml0eUFjdGlvbkgAQggKBmFjdGlvbiK7AQoTTmV4dXNX",
+ "LkV4ZWN1dGVBY3Rpdml0eUFjdGlvbkgAQggKBmFjdGlvbiKrAgoTTmV4dXNX",
"b3JrZmxvd0FjdGlvbhITCgt3b3JrZmxvd19pZBgBIAEoCRIOCgZydW5faWQY",
"AiABKAkSTAoNc3RhcnRfb3B0aW9ucxgDIAEoCzI1LnRlbXBvcmFsLm9tZXMu",
"a2l0Y2hlbl9zaW5rLk5leHVzV29ya2Zsb3dTdGFydE9wdGlvbnMSJwoFc3Rh",
- "cnQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIAEIICgZhY3Rpb24i",
- "yAEKGU5leHVzV29ya2Zsb3dTdGFydE9wdGlvbnMSEgoKdGFza19xdWV1ZRgB",
- "IAEoCRJUCht3b3JrZmxvd19pZF9jb25mbGljdF9wb2xpY3kYAiABKA4yLy50",
- "ZW1wb3JhbC5hcGkuZW51bXMudjEuV29ya2Zsb3dJZENvbmZsaWN0UG9saWN5",
- "EkEKDndvcmtmbG93X2lucHV0GAMgASgLMikudGVtcG9yYWwub21lcy5raXRj",
- "aGVuX3NpbmsuV29ya2Zsb3dJbnB1dCIVChNBd2FpdFBlbmRpbmdBY3Rpb25z",
- "KqQBChFQYXJlbnRDbG9zZVBvbGljeRIjCh9QQVJFTlRfQ0xPU0VfUE9MSUNZ",
- "X1VOU1BFQ0lGSUVEEAASIQodUEFSRU5UX0NMT1NFX1BPTElDWV9URVJNSU5B",
- "VEUQARIfChtQQVJFTlRfQ0xPU0VfUE9MSUNZX0FCQU5ET04QAhImCiJQQVJF",
- "TlRfQ0xPU0VfUE9MSUNZX1JFUVVFU1RfQ0FOQ0VMEAMqQAoQVmVyc2lvbmlu",
- "Z0ludGVudBIPCgtVTlNQRUNJRklFRBAAEg4KCkNPTVBBVElCTEUQARILCgdE",
- "RUZBVUxUEAIqogEKHUNoaWxkV29ya2Zsb3dDYW5jZWxsYXRpb25UeXBlEhQK",
- "EENISUxEX1dGX0FCQU5ET04QABIXChNDSElMRF9XRl9UUllfQ0FOQ0VMEAES",
- "KAokQ0hJTERfV0ZfV0FJVF9DQU5DRUxMQVRJT05fQ09NUExFVEVEEAISKAok",
- "Q0hJTERfV0ZfV0FJVF9DQU5DRUxMQVRJT05fUkVRVUVTVEVEEAMqWAoYQWN0",
- "aXZpdHlDYW5jZWxsYXRpb25UeXBlEg4KClRSWV9DQU5DRUwQABIfChtXQUlU",
- "X0NBTkNFTExBVElPTl9DT01QTEVURUQQARILCgdBQkFORE9OEAJCQgoQaW8u",
- "dGVtcG9yYWwub21lc1ouZ2l0aHViLmNvbS90ZW1wb3JhbGlvL29tZXMvbG9h",
- "ZGdlbi9raXRjaGVuc2lua2IGcHJvdG8z"));
+ "cnQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIABI2CgZzaWduYWwY",
+ "BSABKAsyJC50ZW1wb3JhbC5vbWVzLmtpdGNoZW5fc2luay5Eb1NpZ25hbEgA",
+ "EjYKBnVwZGF0ZRgGIAEoCzIkLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5r",
+ "LkRvVXBkYXRlSABCCAoGYWN0aW9uIsgBChlOZXh1c1dvcmtmbG93U3RhcnRP",
+ "cHRpb25zEhIKCnRhc2tfcXVldWUYASABKAkSVAobd29ya2Zsb3dfaWRfY29u",
+ "ZmxpY3RfcG9saWN5GAIgASgOMi8udGVtcG9yYWwuYXBpLmVudW1zLnYxLldv",
+ "cmtmbG93SWRDb25mbGljdFBvbGljeRJBCg53b3JrZmxvd19pbnB1dBgDIAEo",
+ "CzIpLnRlbXBvcmFsLm9tZXMua2l0Y2hlbl9zaW5rLldvcmtmbG93SW5wdXQi",
+ "FQoTQXdhaXRQZW5kaW5nQWN0aW9ucyqkAQoRUGFyZW50Q2xvc2VQb2xpY3kS",
+ "IwofUEFSRU5UX0NMT1NFX1BPTElDWV9VTlNQRUNJRklFRBAAEiEKHVBBUkVO",
+ "VF9DTE9TRV9QT0xJQ1lfVEVSTUlOQVRFEAESHwobUEFSRU5UX0NMT1NFX1BP",
+ "TElDWV9BQkFORE9OEAISJgoiUEFSRU5UX0NMT1NFX1BPTElDWV9SRVFVRVNU",
+ "X0NBTkNFTBADKkAKEFZlcnNpb25pbmdJbnRlbnQSDwoLVU5TUEVDSUZJRUQQ",
+ "ABIOCgpDT01QQVRJQkxFEAESCwoHREVGQVVMVBACKqIBCh1DaGlsZFdvcmtm",
+ "bG93Q2FuY2VsbGF0aW9uVHlwZRIUChBDSElMRF9XRl9BQkFORE9OEAASFwoT",
+ "Q0hJTERfV0ZfVFJZX0NBTkNFTBABEigKJENISUxEX1dGX1dBSVRfQ0FOQ0VM",
+ "TEFUSU9OX0NPTVBMRVRFRBACEigKJENISUxEX1dGX1dBSVRfQ0FOQ0VMTEFU",
+ "SU9OX1JFUVVFU1RFRBADKlgKGEFjdGl2aXR5Q2FuY2VsbGF0aW9uVHlwZRIO",
+ "CgpUUllfQ0FOQ0VMEAASHwobV0FJVF9DQU5DRUxMQVRJT05fQ09NUExFVEVE",
+ "EAESCwoHQUJBTkRPThACQkIKEGlvLnRlbXBvcmFsLm9tZXNaLmdpdGh1Yi5j",
+ "b20vdGVtcG9yYWxpby9vbWVzL2xvYWRnZW4va2l0Y2hlbnNpbmtiBnByb3Rv",
+ "Mw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Temporalio.Api.Common.V1.MessageReflection.Descriptor, global::Temporalio.Api.Failure.V1.MessageReflection.Descriptor, global::Temporalio.Api.Enums.V1.WorkflowReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Temporal.Omes.KitchenSink.ParentClosePolicy), typeof(global::Temporal.Omes.KitchenSink.VersioningIntent), typeof(global::Temporal.Omes.KitchenSink.ChildWorkflowCancellationType), typeof(global::Temporal.Omes.KitchenSink.ActivityCancellationType), }, null, new pbr::GeneratedClrTypeInfo[] {
@@ -342,7 +345,7 @@ static KitchenSinkReflection() {
new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.RemoteActivityOptions), global::Temporal.Omes.KitchenSink.RemoteActivityOptions.Parser, new[]{ "CancellationType", "DoNotEagerlyExecute", "VersioningIntent" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.ExecuteNexusOperation), global::Temporal.Omes.KitchenSink.ExecuteNexusOperation.Parser, new[]{ "Endpoint", "Operation", "Input", "AwaitableChoice", "ExpectedOutput" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.NexusOperationRequest), global::Temporal.Omes.KitchenSink.NexusOperationRequest.Parser, new[]{ "Echo", "WorkflowAction", "StartActivity" }, new[]{ "Action" }, null, null, null),
- new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.NexusWorkflowAction), global::Temporal.Omes.KitchenSink.NexusWorkflowAction.Parser, new[]{ "WorkflowId", "RunId", "StartOptions", "Start" }, new[]{ "Action" }, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.NexusWorkflowAction), global::Temporal.Omes.KitchenSink.NexusWorkflowAction.Parser, new[]{ "WorkflowId", "RunId", "StartOptions", "Start", "Signal", "Update" }, new[]{ "Action" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.NexusWorkflowStartOptions), global::Temporal.Omes.KitchenSink.NexusWorkflowStartOptions.Parser, new[]{ "TaskQueue", "WorkflowIdConflictPolicy", "WorkflowInput" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Temporal.Omes.KitchenSink.AwaitPendingActions), global::Temporal.Omes.KitchenSink.AwaitPendingActions.Parser, null, null, null, null, null)
}));
@@ -14749,6 +14752,12 @@ public NexusWorkflowAction(NexusWorkflowAction other) : this() {
case ActionOneofCase.Start:
Start = other.Start.Clone();
break;
+ case ActionOneofCase.Signal:
+ Signal = other.Signal.Clone();
+ break;
+ case ActionOneofCase.Update:
+ Update = other.Update.Clone();
+ break;
}
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
@@ -14811,11 +14820,46 @@ public string RunId {
}
}
+ ///
+ * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ * @return Whether the signal field is set.
+ */
+ boolean hasSignal();
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ * @return The signal.
+ */
+ io.temporal.omes.KitchenSink.DoSignal getSignal();
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ */
+ io.temporal.omes.KitchenSink.DoSignalOrBuilder getSignalOrBuilder();
+
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ * @return Whether the update field is set.
+ */
+ boolean hasUpdate();
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ * @return The update.
+ */
+ io.temporal.omes.KitchenSink.DoUpdate getUpdate();
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ */
+ io.temporal.omes.KitchenSink.DoUpdateOrBuilder getUpdateOrBuilder();
+
io.temporal.omes.KitchenSink.NexusWorkflowAction.ActionCase getActionCase();
}
/**
@@ -56698,6 +56761,8 @@ public enum ActionCase
implements com.google.protobuf.Internal.EnumLite,
com.google.protobuf.AbstractMessage.InternalOneOfEnum {
START(4),
+ SIGNAL(5),
+ UPDATE(6),
ACTION_NOT_SET(0);
private final int value;
private ActionCase(int value) {
@@ -56716,6 +56781,8 @@ public static ActionCase valueOf(int value) {
public static ActionCase forNumber(int value) {
switch (value) {
case 4: return START;
+ case 5: return SIGNAL;
+ case 6: return UPDATE;
case 0: return ACTION_NOT_SET;
default: return null;
}
@@ -56878,6 +56945,101 @@ public com.google.protobuf.EmptyOrBuilder getStartOrBuilder() {
return com.google.protobuf.Empty.getDefaultInstance();
}
+ public static final int SIGNAL_FIELD_NUMBER = 5;
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ * @return Whether the signal field is set.
+ */
+ @java.lang.Override
+ public boolean hasSignal() {
+ return actionCase_ == 5;
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ * @return The signal.
+ */
+ @java.lang.Override
+ public io.temporal.omes.KitchenSink.DoSignal getSignal() {
+ if (actionCase_ == 5) {
+ return (io.temporal.omes.KitchenSink.DoSignal) action_;
+ }
+ return io.temporal.omes.KitchenSink.DoSignal.getDefaultInstance();
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ */
+ @java.lang.Override
+ public io.temporal.omes.KitchenSink.DoSignalOrBuilder getSignalOrBuilder() {
+ if (actionCase_ == 5) {
+ return (io.temporal.omes.KitchenSink.DoSignal) action_;
+ }
+ return io.temporal.omes.KitchenSink.DoSignal.getDefaultInstance();
+ }
+
+ public static final int UPDATE_FIELD_NUMBER = 6;
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ * @return Whether the update field is set.
+ */
+ @java.lang.Override
+ public boolean hasUpdate() {
+ return actionCase_ == 6;
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ * @return The update.
+ */
+ @java.lang.Override
+ public io.temporal.omes.KitchenSink.DoUpdate getUpdate() {
+ if (actionCase_ == 6) {
+ return (io.temporal.omes.KitchenSink.DoUpdate) action_;
+ }
+ return io.temporal.omes.KitchenSink.DoUpdate.getDefaultInstance();
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ */
+ @java.lang.Override
+ public io.temporal.omes.KitchenSink.DoUpdateOrBuilder getUpdateOrBuilder() {
+ if (actionCase_ == 6) {
+ return (io.temporal.omes.KitchenSink.DoUpdate) action_;
+ }
+ return io.temporal.omes.KitchenSink.DoUpdate.getDefaultInstance();
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
@@ -56904,6 +57066,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
if (actionCase_ == 4) {
output.writeMessage(4, (com.google.protobuf.Empty) action_);
}
+ if (actionCase_ == 5) {
+ output.writeMessage(5, (io.temporal.omes.KitchenSink.DoSignal) action_);
+ }
+ if (actionCase_ == 6) {
+ output.writeMessage(6, (io.temporal.omes.KitchenSink.DoUpdate) action_);
+ }
getUnknownFields().writeTo(output);
}
@@ -56927,6 +57095,14 @@ public int getSerializedSize() {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(4, (com.google.protobuf.Empty) action_);
}
+ if (actionCase_ == 5) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, (io.temporal.omes.KitchenSink.DoSignal) action_);
+ }
+ if (actionCase_ == 6) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, (io.temporal.omes.KitchenSink.DoUpdate) action_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -56957,6 +57133,14 @@ public boolean equals(final java.lang.Object obj) {
if (!getStart()
.equals(other.getStart())) return false;
break;
+ case 5:
+ if (!getSignal()
+ .equals(other.getSignal())) return false;
+ break;
+ case 6:
+ if (!getUpdate()
+ .equals(other.getUpdate())) return false;
+ break;
case 0:
default:
}
@@ -56984,6 +57168,14 @@ public int hashCode() {
hash = (37 * hash) + START_FIELD_NUMBER;
hash = (53 * hash) + getStart().hashCode();
break;
+ case 5:
+ hash = (37 * hash) + SIGNAL_FIELD_NUMBER;
+ hash = (53 * hash) + getSignal().hashCode();
+ break;
+ case 6:
+ hash = (37 * hash) + UPDATE_FIELD_NUMBER;
+ hash = (53 * hash) + getUpdate().hashCode();
+ break;
case 0:
default:
}
@@ -57134,6 +57326,12 @@ public Builder clear() {
if (startBuilder_ != null) {
startBuilder_.clear();
}
+ if (signalBuilder_ != null) {
+ signalBuilder_.clear();
+ }
+ if (updateBuilder_ != null) {
+ updateBuilder_.clear();
+ }
actionCase_ = 0;
action_ = null;
return this;
@@ -57193,6 +57391,14 @@ private void buildPartialOneofs(io.temporal.omes.KitchenSink.NexusWorkflowAction
startBuilder_ != null) {
result.action_ = startBuilder_.build();
}
+ if (actionCase_ == 5 &&
+ signalBuilder_ != null) {
+ result.action_ = signalBuilder_.build();
+ }
+ if (actionCase_ == 6 &&
+ updateBuilder_ != null) {
+ result.action_ = updateBuilder_.build();
+ }
}
@java.lang.Override
@@ -57257,6 +57463,14 @@ public Builder mergeFrom(io.temporal.omes.KitchenSink.NexusWorkflowAction other)
mergeStart(other.getStart());
break;
}
+ case SIGNAL: {
+ mergeSignal(other.getSignal());
+ break;
+ }
+ case UPDATE: {
+ mergeUpdate(other.getUpdate());
+ break;
+ }
case ACTION_NOT_SET: {
break;
}
@@ -57311,6 +57525,20 @@ public Builder mergeFrom(
actionCase_ = 4;
break;
} // case 34
+ case 42: {
+ input.readMessage(
+ getSignalFieldBuilder().getBuilder(),
+ extensionRegistry);
+ actionCase_ = 5;
+ break;
+ } // case 42
+ case 50: {
+ input.readMessage(
+ getUpdateFieldBuilder().getBuilder(),
+ extensionRegistry);
+ actionCase_ = 6;
+ break;
+ } // case 50
default: {
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
done = true; // was an endgroup tag
@@ -57785,6 +58013,389 @@ public com.google.protobuf.EmptyOrBuilder getStartOrBuilder() {
onChanged();
return startBuilder_;
}
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.temporal.omes.KitchenSink.DoSignal, io.temporal.omes.KitchenSink.DoSignal.Builder, io.temporal.omes.KitchenSink.DoSignalOrBuilder> signalBuilder_;
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ * @return Whether the signal field is set.
+ */
+ @java.lang.Override
+ public boolean hasSignal() {
+ return actionCase_ == 5;
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ * @return The signal.
+ */
+ @java.lang.Override
+ public io.temporal.omes.KitchenSink.DoSignal getSignal() {
+ if (signalBuilder_ == null) {
+ if (actionCase_ == 5) {
+ return (io.temporal.omes.KitchenSink.DoSignal) action_;
+ }
+ return io.temporal.omes.KitchenSink.DoSignal.getDefaultInstance();
+ } else {
+ if (actionCase_ == 5) {
+ return signalBuilder_.getMessage();
+ }
+ return io.temporal.omes.KitchenSink.DoSignal.getDefaultInstance();
+ }
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ */
+ public Builder setSignal(io.temporal.omes.KitchenSink.DoSignal value) {
+ if (signalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ action_ = value;
+ onChanged();
+ } else {
+ signalBuilder_.setMessage(value);
+ }
+ actionCase_ = 5;
+ return this;
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ */
+ public Builder setSignal(
+ io.temporal.omes.KitchenSink.DoSignal.Builder builderForValue) {
+ if (signalBuilder_ == null) {
+ action_ = builderForValue.build();
+ onChanged();
+ } else {
+ signalBuilder_.setMessage(builderForValue.build());
+ }
+ actionCase_ = 5;
+ return this;
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ */
+ public Builder mergeSignal(io.temporal.omes.KitchenSink.DoSignal value) {
+ if (signalBuilder_ == null) {
+ if (actionCase_ == 5 &&
+ action_ != io.temporal.omes.KitchenSink.DoSignal.getDefaultInstance()) {
+ action_ = io.temporal.omes.KitchenSink.DoSignal.newBuilder((io.temporal.omes.KitchenSink.DoSignal) action_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ action_ = value;
+ }
+ onChanged();
+ } else {
+ if (actionCase_ == 5) {
+ signalBuilder_.mergeFrom(value);
+ } else {
+ signalBuilder_.setMessage(value);
+ }
+ }
+ actionCase_ = 5;
+ return this;
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ */
+ public Builder clearSignal() {
+ if (signalBuilder_ == null) {
+ if (actionCase_ == 5) {
+ actionCase_ = 0;
+ action_ = null;
+ onChanged();
+ }
+ } else {
+ if (actionCase_ == 5) {
+ actionCase_ = 0;
+ action_ = null;
+ }
+ signalBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ */
+ public io.temporal.omes.KitchenSink.DoSignal.Builder getSignalBuilder() {
+ return getSignalFieldBuilder().getBuilder();
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ */
+ @java.lang.Override
+ public io.temporal.omes.KitchenSink.DoSignalOrBuilder getSignalOrBuilder() {
+ if ((actionCase_ == 5) && (signalBuilder_ != null)) {
+ return signalBuilder_.getMessageOrBuilder();
+ } else {
+ if (actionCase_ == 5) {
+ return (io.temporal.omes.KitchenSink.DoSignal) action_;
+ }
+ return io.temporal.omes.KitchenSink.DoSignal.getDefaultInstance();
+ }
+ }
+ /**
+ * + * Signal the target workflow. Honors DoSignal.with_start, in which case + * start_options supplies the workflow input and an existing workflow is reused. + * run_id selects the run for a signal without start. + *+ * + *
.temporal.omes.kitchen_sink.DoSignal signal = 5;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.temporal.omes.KitchenSink.DoSignal, io.temporal.omes.KitchenSink.DoSignal.Builder, io.temporal.omes.KitchenSink.DoSignalOrBuilder>
+ getSignalFieldBuilder() {
+ if (signalBuilder_ == null) {
+ if (!(actionCase_ == 5)) {
+ action_ = io.temporal.omes.KitchenSink.DoSignal.getDefaultInstance();
+ }
+ signalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.temporal.omes.KitchenSink.DoSignal, io.temporal.omes.KitchenSink.DoSignal.Builder, io.temporal.omes.KitchenSink.DoSignalOrBuilder>(
+ (io.temporal.omes.KitchenSink.DoSignal) action_,
+ getParentForChildren(),
+ isClean());
+ action_ = null;
+ }
+ actionCase_ = 5;
+ onChanged();
+ return signalBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.temporal.omes.KitchenSink.DoUpdate, io.temporal.omes.KitchenSink.DoUpdate.Builder, io.temporal.omes.KitchenSink.DoUpdateOrBuilder> updateBuilder_;
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ * @return Whether the update field is set.
+ */
+ @java.lang.Override
+ public boolean hasUpdate() {
+ return actionCase_ == 6;
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ * @return The update.
+ */
+ @java.lang.Override
+ public io.temporal.omes.KitchenSink.DoUpdate getUpdate() {
+ if (updateBuilder_ == null) {
+ if (actionCase_ == 6) {
+ return (io.temporal.omes.KitchenSink.DoUpdate) action_;
+ }
+ return io.temporal.omes.KitchenSink.DoUpdate.getDefaultInstance();
+ } else {
+ if (actionCase_ == 6) {
+ return updateBuilder_.getMessage();
+ }
+ return io.temporal.omes.KitchenSink.DoUpdate.getDefaultInstance();
+ }
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ */
+ public Builder setUpdate(io.temporal.omes.KitchenSink.DoUpdate value) {
+ if (updateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ action_ = value;
+ onChanged();
+ } else {
+ updateBuilder_.setMessage(value);
+ }
+ actionCase_ = 6;
+ return this;
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ */
+ public Builder setUpdate(
+ io.temporal.omes.KitchenSink.DoUpdate.Builder builderForValue) {
+ if (updateBuilder_ == null) {
+ action_ = builderForValue.build();
+ onChanged();
+ } else {
+ updateBuilder_.setMessage(builderForValue.build());
+ }
+ actionCase_ = 6;
+ return this;
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ */
+ public Builder mergeUpdate(io.temporal.omes.KitchenSink.DoUpdate value) {
+ if (updateBuilder_ == null) {
+ if (actionCase_ == 6 &&
+ action_ != io.temporal.omes.KitchenSink.DoUpdate.getDefaultInstance()) {
+ action_ = io.temporal.omes.KitchenSink.DoUpdate.newBuilder((io.temporal.omes.KitchenSink.DoUpdate) action_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ action_ = value;
+ }
+ onChanged();
+ } else {
+ if (actionCase_ == 6) {
+ updateBuilder_.mergeFrom(value);
+ } else {
+ updateBuilder_.setMessage(value);
+ }
+ }
+ actionCase_ = 6;
+ return this;
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ */
+ public Builder clearUpdate() {
+ if (updateBuilder_ == null) {
+ if (actionCase_ == 6) {
+ actionCase_ = 0;
+ action_ = null;
+ onChanged();
+ }
+ } else {
+ if (actionCase_ == 6) {
+ actionCase_ = 0;
+ action_ = null;
+ }
+ updateBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ */
+ public io.temporal.omes.KitchenSink.DoUpdate.Builder getUpdateBuilder() {
+ return getUpdateFieldBuilder().getBuilder();
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ */
+ @java.lang.Override
+ public io.temporal.omes.KitchenSink.DoUpdateOrBuilder getUpdateOrBuilder() {
+ if ((actionCase_ == 6) && (updateBuilder_ != null)) {
+ return updateBuilder_.getMessageOrBuilder();
+ } else {
+ if (actionCase_ == 6) {
+ return (io.temporal.omes.KitchenSink.DoUpdate) action_;
+ }
+ return io.temporal.omes.KitchenSink.DoUpdate.getDefaultInstance();
+ }
+ }
+ /**
+ * + * Update the target workflow selected by workflow_id and run_id. + * DoUpdate.with_start is not supported. + *+ * + *
.temporal.omes.kitchen_sink.DoUpdate update = 6;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.temporal.omes.KitchenSink.DoUpdate, io.temporal.omes.KitchenSink.DoUpdate.Builder, io.temporal.omes.KitchenSink.DoUpdateOrBuilder>
+ getUpdateFieldBuilder() {
+ if (updateBuilder_ == null) {
+ if (!(actionCase_ == 6)) {
+ action_ = io.temporal.omes.KitchenSink.DoUpdate.getDefaultInstance();
+ }
+ updateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.temporal.omes.KitchenSink.DoUpdate, io.temporal.omes.KitchenSink.DoUpdate.Builder, io.temporal.omes.KitchenSink.DoUpdateOrBuilder>(
+ (io.temporal.omes.KitchenSink.DoUpdate) action_,
+ getParentForChildren(),
+ isClean());
+ action_ = null;
+ }
+ actionCase_ = 6;
+ onChanged();
+ return updateBuilder_;
+ }
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
@@ -59828,31 +60439,34 @@ public io.temporal.omes.KitchenSink.AwaitPendingActions getDefaultInstanceForTyp
"al.omes.kitchen_sink.NexusWorkflowAction" +
"H\000\022K\n\016start_activity\030\003 \001(\01321.temporal.om" +
"es.kitchen_sink.ExecuteActivityActionH\000B" +
- "\010\n\006action\"\273\001\n\023NexusWorkflowAction\022\023\n\013wor" +
+ "\010\n\006action\"\253\002\n\023NexusWorkflowAction\022\023\n\013wor" +
"kflow_id\030\001 \001(\t\022\016\n\006run_id\030\002 \001(\t\022L\n\rstart_" +
"options\030\003 \001(\01325.temporal.omes.kitchen_si" +
"nk.NexusWorkflowStartOptions\022\'\n\005start\030\004 " +
- "\001(\0132\026.google.protobuf.EmptyH\000B\010\n\006action\"" +
- "\310\001\n\031NexusWorkflowStartOptions\022\022\n\ntask_qu" +
- "eue\030\001 \001(\t\022T\n\033workflow_id_conflict_policy" +
- "\030\002 \001(\0162/.temporal.api.enums.v1.WorkflowI" +
- "dConflictPolicy\022A\n\016workflow_input\030\003 \001(\0132" +
- ").temporal.omes.kitchen_sink.WorkflowInp" +
- "ut\"\025\n\023AwaitPendingActions*\244\001\n\021ParentClos" +
- "ePolicy\022#\n\037PARENT_CLOSE_POLICY_UNSPECIFI" +
- "ED\020\000\022!\n\035PARENT_CLOSE_POLICY_TERMINATE\020\001\022" +
- "\037\n\033PARENT_CLOSE_POLICY_ABANDON\020\002\022&\n\"PARE" +
- "NT_CLOSE_POLICY_REQUEST_CANCEL\020\003*@\n\020Vers" +
- "ioningIntent\022\017\n\013UNSPECIFIED\020\000\022\016\n\nCOMPATI" +
- "BLE\020\001\022\013\n\007DEFAULT\020\002*\242\001\n\035ChildWorkflowCanc" +
- "ellationType\022\024\n\020CHILD_WF_ABANDON\020\000\022\027\n\023CH" +
- "ILD_WF_TRY_CANCEL\020\001\022(\n$CHILD_WF_WAIT_CAN" +
- "CELLATION_COMPLETED\020\002\022(\n$CHILD_WF_WAIT_C" +
- "ANCELLATION_REQUESTED\020\003*X\n\030ActivityCance" +
- "llationType\022\016\n\nTRY_CANCEL\020\000\022\037\n\033WAIT_CANC" +
- "ELLATION_COMPLETED\020\001\022\013\n\007ABANDON\020\002BB\n\020io." +
- "temporal.omesZ.github.com/temporalio/ome" +
- "s/loadgen/kitchensinkb\006proto3"
+ "\001(\0132\026.google.protobuf.EmptyH\000\0226\n\006signal\030" +
+ "\005 \001(\0132$.temporal.omes.kitchen_sink.DoSig" +
+ "nalH\000\0226\n\006update\030\006 \001(\0132$.temporal.omes.ki" +
+ "tchen_sink.DoUpdateH\000B\010\n\006action\"\310\001\n\031Nexu" +
+ "sWorkflowStartOptions\022\022\n\ntask_queue\030\001 \001(" +
+ "\t\022T\n\033workflow_id_conflict_policy\030\002 \001(\0162/" +
+ ".temporal.api.enums.v1.WorkflowIdConflic" +
+ "tPolicy\022A\n\016workflow_input\030\003 \001(\0132).tempor" +
+ "al.omes.kitchen_sink.WorkflowInput\"\025\n\023Aw" +
+ "aitPendingActions*\244\001\n\021ParentClosePolicy\022" +
+ "#\n\037PARENT_CLOSE_POLICY_UNSPECIFIED\020\000\022!\n\035" +
+ "PARENT_CLOSE_POLICY_TERMINATE\020\001\022\037\n\033PAREN" +
+ "T_CLOSE_POLICY_ABANDON\020\002\022&\n\"PARENT_CLOSE" +
+ "_POLICY_REQUEST_CANCEL\020\003*@\n\020VersioningIn" +
+ "tent\022\017\n\013UNSPECIFIED\020\000\022\016\n\nCOMPATIBLE\020\001\022\013\n" +
+ "\007DEFAULT\020\002*\242\001\n\035ChildWorkflowCancellation" +
+ "Type\022\024\n\020CHILD_WF_ABANDON\020\000\022\027\n\023CHILD_WF_T" +
+ "RY_CANCEL\020\001\022(\n$CHILD_WF_WAIT_CANCELLATIO" +
+ "N_COMPLETED\020\002\022(\n$CHILD_WF_WAIT_CANCELLAT" +
+ "ION_REQUESTED\020\003*X\n\030ActivityCancellationT" +
+ "ype\022\016\n\nTRY_CANCEL\020\000\022\037\n\033WAIT_CANCELLATION" +
+ "_COMPLETED\020\001\022\013\n\007ABANDON\020\002BB\n\020io.temporal" +
+ ".omesZ.github.com/temporalio/omes/loadge" +
+ "n/kitchensinkb\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@@ -60180,7 +60794,7 @@ public io.temporal.omes.KitchenSink.AwaitPendingActions getDefaultInstanceForTyp
internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_temporal_omes_kitchen_sink_NexusWorkflowAction_descriptor,
- new java.lang.String[] { "WorkflowId", "RunId", "StartOptions", "Start", "Action", });
+ new java.lang.String[] { "WorkflowId", "RunId", "StartOptions", "Start", "Signal", "Update", "Action", });
internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_descriptor =
getDescriptor().getMessageTypes().get(35);
internal_static_temporal_omes_kitchen_sink_NexusWorkflowStartOptions_fieldAccessorTable = new
diff --git a/workers/proto/kitchen_sink/kitchen_sink.proto b/workers/proto/kitchen_sink/kitchen_sink.proto
index 3af436ef..9f00cb0d 100644
--- a/workers/proto/kitchen_sink/kitchen_sink.proto
+++ b/workers/proto/kitchen_sink/kitchen_sink.proto
@@ -558,6 +558,13 @@ message NexusWorkflowAction {
NexusWorkflowStartOptions start_options = 3;
oneof action {
google.protobuf.Empty start = 4;
+ // Signal the target workflow. Honors DoSignal.with_start, in which case
+ // start_options supplies the workflow input and an existing workflow is reused.
+ // run_id selects the run for a signal without start.
+ DoSignal signal = 5;
+ // Update the target workflow selected by workflow_id and run_id.
+ // DoUpdate.with_start is not supported.
+ DoUpdate update = 6;
}
}
diff --git a/workers/python/protos/kitchen_sink_pb2.py b/workers/python/protos/kitchen_sink_pb2.py
index 2b2ece06..dabac844 100644
--- a/workers/python/protos/kitchen_sink_pb2.py
+++ b/workers/python/protos/kitchen_sink_pb2.py
@@ -19,7 +19,7 @@
from temporalio.api.enums.v1 import workflow_pb2 as temporal_dot_api_dot_enums_dot_v1_dot_workflow__pb2
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12kitchen_sink.proto\x12\x1atemporal.omes.kitchen_sink\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\"\xe1\x01\n\tTestInput\x12\x41\n\x0eworkflow_input\x18\x01 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\x12\x43\n\x0f\x63lient_sequence\x18\x02 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x12L\n\x11with_start_action\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.WithStartClientAction\"R\n\x0e\x43lientSequence\x12@\n\x0b\x61\x63tion_sets\x18\x01 \x03(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSet\"\xbf\x01\n\x0f\x43lientActionSet\x12\x39\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32(.temporal.omes.kitchen_sink.ClientAction\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\x12.\n\x0bwait_at_end\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n%wait_for_current_run_to_finish_at_end\x18\x04 \x01(\x08\"\x98\x01\n\x15WithStartClientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x39\n\tdo_update\x18\x02 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\t\n\x07variant\"\xf9\x04\n\x0c\x43lientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x37\n\x08\x64o_query\x18\x02 \x01(\x0b\x32#.temporal.omes.kitchen_sink.DoQueryH\x00\x12\x39\n\tdo_update\x18\x03 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x12\x45\n\x0enested_actions\x18\x04 \x01(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSetH\x00\x12=\n\x0b\x64o_describe\x18\x05 \x01(\x0b\x32&.temporal.omes.kitchen_sink.DoDescribeH\x00\x12_\n\x1d\x64o_standalone_nexus_operation\x18\x06 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.DoStandaloneNexusOperationH\x00\x12R\n\x16\x64o_standalone_activity\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.DoStandaloneActivityH\x00\x12t\n(do_standalone_activity_operator_commands\x18\x08 \x01(\x0b\x32@.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommandsH\x00\x42\t\n\x07variant\"b\n\x1a\x44oStandaloneNexusOperation\x12\x44\n\toperation\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperation\"[\n\x14\x44oStandaloneActivity\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\"\xc5\x02\n$DoStandaloneActivityOperatorCommands\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\x12\x62\n\x0c\x63ommand_type\x18\x02 \x01(\x0e\x32L.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType\"t\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43OMMAND_TYPE_PAUSE\x10\x01\x12\x16\n\x12\x43OMMAND_TYPE_RESET\x10\x02\x12\x17\n\x13\x43OMMAND_TYPE_UPDATE\x10\x03\"\xf1\x02\n\x08\x44oSignal\x12Q\n\x11\x64o_signal_actions\x18\x01 \x01(\x0b\x32\x34.temporal.omes.kitchen_sink.DoSignal.DoSignalActionsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x1a\xb1\x01\n\x0f\x44oSignalActions\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x43\n\x12\x64o_actions_in_main\x18\x02 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x11\n\tsignal_id\x18\x03 \x01(\x05\x42\t\n\x07variantB\t\n\x07variant\"\x0c\n\nDoDescribe\"\xa9\x01\n\x07\x44oQuery\x12\x38\n\x0creport_state\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.PayloadsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\xc7\x01\n\x08\x44oUpdate\x12\x41\n\ndo_actions\x18\x01 \x01(\x0b\x32+.temporal.omes.kitchen_sink.DoActionsUpdateH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\x86\x01\n\x0f\x44oActionsUpdate\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12+\n\treject_me\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\t\n\x07variant\"P\n\x11HandlerInvocation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"|\n\rWorkflowState\x12?\n\x03kvs\x18\x01 \x03(\x0b\x32\x32.temporal.omes.kitchen_sink.WorkflowState.KvsEntry\x1a*\n\x08KvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa8\x01\n\rWorkflowInput\x12>\n\x0finitial_actions\x18\x01 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1d\n\x15\x65xpected_signal_count\x18\x02 \x01(\x05\x12\x1b\n\x13\x65xpected_signal_ids\x18\x03 \x03(\x05\x12\x1b\n\x13received_signal_ids\x18\x04 \x03(\x05\"T\n\tActionSet\x12\x33\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\".temporal.omes.kitchen_sink.Action\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\"\xcc\t\n\x06\x41\x63tion\x12\x38\n\x05timer\x18\x01 \x01(\x0b\x32\'.temporal.omes.kitchen_sink.TimerActionH\x00\x12J\n\rexec_activity\x18\x02 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x12U\n\x13\x65xec_child_workflow\x18\x03 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.ExecuteChildWorkflowActionH\x00\x12N\n\x14\x61wait_workflow_state\x18\x04 \x01(\x0b\x32..temporal.omes.kitchen_sink.AwaitWorkflowStateH\x00\x12\x43\n\x0bsend_signal\x18\x05 \x01(\x0b\x32,.temporal.omes.kitchen_sink.SendSignalActionH\x00\x12K\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.CancelWorkflowActionH\x00\x12L\n\x10set_patch_marker\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.SetPatchMarkerActionH\x00\x12\\\n\x18upsert_search_attributes\x18\x08 \x01(\x0b\x32\x38.temporal.omes.kitchen_sink.UpsertSearchAttributesActionH\x00\x12\x43\n\x0bupsert_memo\x18\t \x01(\x0b\x32,.temporal.omes.kitchen_sink.UpsertMemoActionH\x00\x12G\n\x12set_workflow_state\x18\n \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowStateH\x00\x12G\n\rreturn_result\x18\x0b \x01(\x0b\x32..temporal.omes.kitchen_sink.ReturnResultActionH\x00\x12\x45\n\x0creturn_error\x18\x0c \x01(\x0b\x32-.temporal.omes.kitchen_sink.ReturnErrorActionH\x00\x12J\n\x0f\x63ontinue_as_new\x18\r \x01(\x0b\x32/.temporal.omes.kitchen_sink.ContinueAsNewActionH\x00\x12\x42\n\x11nested_action_set\x18\x0e \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12L\n\x0fnexus_operation\x18\x0f \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperationH\x00\x12P\n\x15\x61wait_pending_actions\x18\x11 \x01(\x0b\x32/.temporal.omes.kitchen_sink.AwaitPendingActionsH\x00\x42\t\n\x07variant\"\xd3\x02\n\x0f\x41waitableChoice\x12-\n\x0bwait_finish\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x61\x62\x61ndon\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x37\n\x15\x63\x61ncel_before_started\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x14\x63\x61ncel_after_started\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x38\n\x16\x63\x61ncel_after_completed\x18\x05 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12.\n\x0cwait_started\x18\x06 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x0b\n\tcondition\"j\n\x0bTimerAction\x12\x14\n\x0cmilliseconds\x18\x01 \x01(\x04\x12\x45\n\x10\x61waitable_choice\x18\x02 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\"\xa1\x12\n\x15\x45xecuteActivityAction\x12T\n\x07generic\x18\x01 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivityH\x00\x12*\n\x05\x64\x65lay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12&\n\x04noop\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12X\n\tresources\x18\x0e \x01(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivityH\x00\x12T\n\x07payload\x18\x12 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivityH\x00\x12R\n\x06\x63lient\x18\x13 \x01(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivityH\x00\x12\x63\n\x0fretryable_error\x18\x14 \x01(\x0b\x32H.temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivityH\x00\x12T\n\x07timeout\x18\x15 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivityH\x00\x12_\n\theartbeat\x18\x16 \x01(\x0b\x32J.temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivityH\x00\x12\x12\n\ntask_queue\x18\x04 \x01(\t\x12O\n\x07headers\x18\x05 \x03(\x0b\x32>.temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\n \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12*\n\x08is_local\x18\x0b \x01(\x0b\x32\x16.google.protobuf.EmptyH\x01\x12\x43\n\x06remote\x18\x0c \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.RemoteActivityOptionsH\x01\x12\x45\n\x10\x61waitable_choice\x18\r \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x32\n\x08priority\x18\x0f \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x14\n\x0c\x66\x61irness_key\x18\x10 \x01(\t\x12\x17\n\x0f\x66\x61irness_weight\x18\x11 \x01(\x02\x1aS\n\x0fGenericActivity\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x32\n\targuments\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x1a\x9a\x01\n\x11ResourcesActivity\x12*\n\x07run_for\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x62ytes_to_allocate\x18\x02 \x01(\x04\x12$\n\x1c\x63pu_yield_every_n_iterations\x18\x03 \x01(\r\x12\x18\n\x10\x63pu_yield_for_ms\x18\x04 \x01(\r\x1a\x44\n\x0fPayloadActivity\x12\x18\n\x10\x62ytes_to_receive\x18\x01 \x01(\x05\x12\x17\n\x0f\x62ytes_to_return\x18\x02 \x01(\x05\x1aU\n\x0e\x43lientActivity\x12\x43\n\x0f\x63lient_sequence\x18\x01 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x1a/\n\x16RetryableErrorActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x1a\x92\x01\n\x0fTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xd2\x01\n\x18HeartbeatTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12heartbeat_interval\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x0f\n\ractivity_typeB\n\n\x08locality\"\xad\n\n\x1a\x45xecuteChildWorkflowAction\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12J\n\x13parent_close_policy\x18\n \x01(\x0e\x32-.temporal.omes.kitchen_sink.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry\x12g\n\x11search_attributes\x18\x11 \x03(\x0b\x32L.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry\x12T\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x39.temporal.omes.kitchen_sink.ChildWorkflowCancellationType\x12G\n\x11versioning_intent\x18\x13 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x12\x45\n\x10\x61waitable_choice\x18\x14 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"0\n\x12\x41waitWorkflowState\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdf\x02\n\x10SendSignalAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12-\n\x04\x61rgs\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12J\n\x07headers\x18\x05 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry\x12\x45\n\x10\x61waitable_choice\x18\x06 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\";\n\x14\x43\x61ncelWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"v\n\x14SetPatchMarkerAction\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\x12\x38\n\x0cinner_action\x18\x03 \x01(\x0b\x32\".temporal.omes.kitchen_sink.Action\"\xe3\x01\n\x1cUpsertSearchAttributesAction\x12i\n\x11search_attributes\x18\x01 \x03(\x0b\x32N.temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"G\n\x10UpsertMemoAction\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"J\n\x12ReturnResultAction\x12\x34\n\x0breturn_this\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"F\n\x11ReturnErrorAction\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xde\x06\n\x13\x43ontinueAsNewAction\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x04memo\x18\x06 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry\x12M\n\x07headers\x18\x07 \x03(\x0b\x32<.temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry\x12`\n\x11search_attributes\x18\x08 \x03(\x0b\x32\x45.temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12G\n\x11versioning_intent\x18\n \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xd1\x01\n\x15RemoteActivityOptions\x12O\n\x11\x63\x61ncellation_type\x18\x01 \x01(\x0e\x32\x34.temporal.omes.kitchen_sink.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x02 \x01(\x08\x12G\n\x11versioning_intent\x18\x03 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\"\xff\x01\n\x15\x45xecuteNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12@\n\x05input\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.NexusOperationRequest\x12\x45\n\x10\x61waitable_choice\x18\x05 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x38\n\x0f\x65xpected_output\x18\x06 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"\xca\x01\n\x15NexusOperationRequest\x12\x0e\n\x04\x65\x63ho\x18\x01 \x01(\tH\x00\x12J\n\x0fworkflow_action\x18\x02 \x01(\x0b\x32/.temporal.omes.kitchen_sink.NexusWorkflowActionH\x00\x12K\n\x0estart_activity\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x42\x08\n\x06\x61\x63tion\"\xbb\x01\n\x13NexusWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12L\n\rstart_options\x18\x03 \x01(\x0b\x32\x35.temporal.omes.kitchen_sink.NexusWorkflowStartOptions\x12\'\n\x05start\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x08\n\x06\x61\x63tion\"\xc8\x01\n\x19NexusWorkflowStartOptions\x12\x12\n\ntask_queue\x18\x01 \x01(\t\x12T\n\x1bworkflow_id_conflict_policy\x18\x02 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x41\n\x0eworkflow_input\x18\x03 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\"\x15\n\x13\x41waitPendingActions*\xa4\x01\n\x11ParentClosePolicy\x12#\n\x1fPARENT_CLOSE_POLICY_UNSPECIFIED\x10\x00\x12!\n\x1dPARENT_CLOSE_POLICY_TERMINATE\x10\x01\x12\x1f\n\x1bPARENT_CLOSE_POLICY_ABANDON\x10\x02\x12&\n\"PARENT_CLOSE_POLICY_REQUEST_CANCEL\x10\x03*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xa2\x01\n\x1d\x43hildWorkflowCancellationType\x12\x14\n\x10\x43HILD_WF_ABANDON\x10\x00\x12\x17\n\x13\x43HILD_WF_TRY_CANCEL\x10\x01\x12(\n$CHILD_WF_WAIT_CANCELLATION_COMPLETED\x10\x02\x12(\n$CHILD_WF_WAIT_CANCELLATION_REQUESTED\x10\x03*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x42\n\x10io.temporal.omesZ.github.com/temporalio/omes/loadgen/kitchensinkb\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12kitchen_sink.proto\x12\x1atemporal.omes.kitchen_sink\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\"\xe1\x01\n\tTestInput\x12\x41\n\x0eworkflow_input\x18\x01 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\x12\x43\n\x0f\x63lient_sequence\x18\x02 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x12L\n\x11with_start_action\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.WithStartClientAction\"R\n\x0e\x43lientSequence\x12@\n\x0b\x61\x63tion_sets\x18\x01 \x03(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSet\"\xbf\x01\n\x0f\x43lientActionSet\x12\x39\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32(.temporal.omes.kitchen_sink.ClientAction\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\x12.\n\x0bwait_at_end\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n%wait_for_current_run_to_finish_at_end\x18\x04 \x01(\x08\"\x98\x01\n\x15WithStartClientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x39\n\tdo_update\x18\x02 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\t\n\x07variant\"\xf9\x04\n\x0c\x43lientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x37\n\x08\x64o_query\x18\x02 \x01(\x0b\x32#.temporal.omes.kitchen_sink.DoQueryH\x00\x12\x39\n\tdo_update\x18\x03 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x12\x45\n\x0enested_actions\x18\x04 \x01(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSetH\x00\x12=\n\x0b\x64o_describe\x18\x05 \x01(\x0b\x32&.temporal.omes.kitchen_sink.DoDescribeH\x00\x12_\n\x1d\x64o_standalone_nexus_operation\x18\x06 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.DoStandaloneNexusOperationH\x00\x12R\n\x16\x64o_standalone_activity\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.DoStandaloneActivityH\x00\x12t\n(do_standalone_activity_operator_commands\x18\x08 \x01(\x0b\x32@.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommandsH\x00\x42\t\n\x07variant\"b\n\x1a\x44oStandaloneNexusOperation\x12\x44\n\toperation\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperation\"[\n\x14\x44oStandaloneActivity\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\"\xc5\x02\n$DoStandaloneActivityOperatorCommands\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\x12\x62\n\x0c\x63ommand_type\x18\x02 \x01(\x0e\x32L.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType\"t\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43OMMAND_TYPE_PAUSE\x10\x01\x12\x16\n\x12\x43OMMAND_TYPE_RESET\x10\x02\x12\x17\n\x13\x43OMMAND_TYPE_UPDATE\x10\x03\"\xf1\x02\n\x08\x44oSignal\x12Q\n\x11\x64o_signal_actions\x18\x01 \x01(\x0b\x32\x34.temporal.omes.kitchen_sink.DoSignal.DoSignalActionsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x1a\xb1\x01\n\x0f\x44oSignalActions\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x43\n\x12\x64o_actions_in_main\x18\x02 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x11\n\tsignal_id\x18\x03 \x01(\x05\x42\t\n\x07variantB\t\n\x07variant\"\x0c\n\nDoDescribe\"\xa9\x01\n\x07\x44oQuery\x12\x38\n\x0creport_state\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.PayloadsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\xc7\x01\n\x08\x44oUpdate\x12\x41\n\ndo_actions\x18\x01 \x01(\x0b\x32+.temporal.omes.kitchen_sink.DoActionsUpdateH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\x86\x01\n\x0f\x44oActionsUpdate\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12+\n\treject_me\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\t\n\x07variant\"P\n\x11HandlerInvocation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"|\n\rWorkflowState\x12?\n\x03kvs\x18\x01 \x03(\x0b\x32\x32.temporal.omes.kitchen_sink.WorkflowState.KvsEntry\x1a*\n\x08KvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa8\x01\n\rWorkflowInput\x12>\n\x0finitial_actions\x18\x01 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1d\n\x15\x65xpected_signal_count\x18\x02 \x01(\x05\x12\x1b\n\x13\x65xpected_signal_ids\x18\x03 \x03(\x05\x12\x1b\n\x13received_signal_ids\x18\x04 \x03(\x05\"T\n\tActionSet\x12\x33\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\".temporal.omes.kitchen_sink.Action\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\"\xcc\t\n\x06\x41\x63tion\x12\x38\n\x05timer\x18\x01 \x01(\x0b\x32\'.temporal.omes.kitchen_sink.TimerActionH\x00\x12J\n\rexec_activity\x18\x02 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x12U\n\x13\x65xec_child_workflow\x18\x03 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.ExecuteChildWorkflowActionH\x00\x12N\n\x14\x61wait_workflow_state\x18\x04 \x01(\x0b\x32..temporal.omes.kitchen_sink.AwaitWorkflowStateH\x00\x12\x43\n\x0bsend_signal\x18\x05 \x01(\x0b\x32,.temporal.omes.kitchen_sink.SendSignalActionH\x00\x12K\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.CancelWorkflowActionH\x00\x12L\n\x10set_patch_marker\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.SetPatchMarkerActionH\x00\x12\\\n\x18upsert_search_attributes\x18\x08 \x01(\x0b\x32\x38.temporal.omes.kitchen_sink.UpsertSearchAttributesActionH\x00\x12\x43\n\x0bupsert_memo\x18\t \x01(\x0b\x32,.temporal.omes.kitchen_sink.UpsertMemoActionH\x00\x12G\n\x12set_workflow_state\x18\n \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowStateH\x00\x12G\n\rreturn_result\x18\x0b \x01(\x0b\x32..temporal.omes.kitchen_sink.ReturnResultActionH\x00\x12\x45\n\x0creturn_error\x18\x0c \x01(\x0b\x32-.temporal.omes.kitchen_sink.ReturnErrorActionH\x00\x12J\n\x0f\x63ontinue_as_new\x18\r \x01(\x0b\x32/.temporal.omes.kitchen_sink.ContinueAsNewActionH\x00\x12\x42\n\x11nested_action_set\x18\x0e \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12L\n\x0fnexus_operation\x18\x0f \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperationH\x00\x12P\n\x15\x61wait_pending_actions\x18\x11 \x01(\x0b\x32/.temporal.omes.kitchen_sink.AwaitPendingActionsH\x00\x42\t\n\x07variant\"\xd3\x02\n\x0f\x41waitableChoice\x12-\n\x0bwait_finish\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x61\x62\x61ndon\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x37\n\x15\x63\x61ncel_before_started\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x14\x63\x61ncel_after_started\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x38\n\x16\x63\x61ncel_after_completed\x18\x05 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12.\n\x0cwait_started\x18\x06 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x0b\n\tcondition\"j\n\x0bTimerAction\x12\x14\n\x0cmilliseconds\x18\x01 \x01(\x04\x12\x45\n\x10\x61waitable_choice\x18\x02 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\"\xa1\x12\n\x15\x45xecuteActivityAction\x12T\n\x07generic\x18\x01 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivityH\x00\x12*\n\x05\x64\x65lay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12&\n\x04noop\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12X\n\tresources\x18\x0e \x01(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivityH\x00\x12T\n\x07payload\x18\x12 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivityH\x00\x12R\n\x06\x63lient\x18\x13 \x01(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivityH\x00\x12\x63\n\x0fretryable_error\x18\x14 \x01(\x0b\x32H.temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivityH\x00\x12T\n\x07timeout\x18\x15 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivityH\x00\x12_\n\theartbeat\x18\x16 \x01(\x0b\x32J.temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivityH\x00\x12\x12\n\ntask_queue\x18\x04 \x01(\t\x12O\n\x07headers\x18\x05 \x03(\x0b\x32>.temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\n \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12*\n\x08is_local\x18\x0b \x01(\x0b\x32\x16.google.protobuf.EmptyH\x01\x12\x43\n\x06remote\x18\x0c \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.RemoteActivityOptionsH\x01\x12\x45\n\x10\x61waitable_choice\x18\r \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x32\n\x08priority\x18\x0f \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x14\n\x0c\x66\x61irness_key\x18\x10 \x01(\t\x12\x17\n\x0f\x66\x61irness_weight\x18\x11 \x01(\x02\x1aS\n\x0fGenericActivity\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x32\n\targuments\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x1a\x9a\x01\n\x11ResourcesActivity\x12*\n\x07run_for\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x62ytes_to_allocate\x18\x02 \x01(\x04\x12$\n\x1c\x63pu_yield_every_n_iterations\x18\x03 \x01(\r\x12\x18\n\x10\x63pu_yield_for_ms\x18\x04 \x01(\r\x1a\x44\n\x0fPayloadActivity\x12\x18\n\x10\x62ytes_to_receive\x18\x01 \x01(\x05\x12\x17\n\x0f\x62ytes_to_return\x18\x02 \x01(\x05\x1aU\n\x0e\x43lientActivity\x12\x43\n\x0f\x63lient_sequence\x18\x01 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x1a/\n\x16RetryableErrorActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x1a\x92\x01\n\x0fTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xd2\x01\n\x18HeartbeatTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12heartbeat_interval\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x0f\n\ractivity_typeB\n\n\x08locality\"\xad\n\n\x1a\x45xecuteChildWorkflowAction\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12J\n\x13parent_close_policy\x18\n \x01(\x0e\x32-.temporal.omes.kitchen_sink.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry\x12g\n\x11search_attributes\x18\x11 \x03(\x0b\x32L.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry\x12T\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x39.temporal.omes.kitchen_sink.ChildWorkflowCancellationType\x12G\n\x11versioning_intent\x18\x13 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x12\x45\n\x10\x61waitable_choice\x18\x14 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"0\n\x12\x41waitWorkflowState\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdf\x02\n\x10SendSignalAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12-\n\x04\x61rgs\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12J\n\x07headers\x18\x05 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry\x12\x45\n\x10\x61waitable_choice\x18\x06 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\";\n\x14\x43\x61ncelWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"v\n\x14SetPatchMarkerAction\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\x12\x38\n\x0cinner_action\x18\x03 \x01(\x0b\x32\".temporal.omes.kitchen_sink.Action\"\xe3\x01\n\x1cUpsertSearchAttributesAction\x12i\n\x11search_attributes\x18\x01 \x03(\x0b\x32N.temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"G\n\x10UpsertMemoAction\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"J\n\x12ReturnResultAction\x12\x34\n\x0breturn_this\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"F\n\x11ReturnErrorAction\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xde\x06\n\x13\x43ontinueAsNewAction\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x04memo\x18\x06 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry\x12M\n\x07headers\x18\x07 \x03(\x0b\x32<.temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry\x12`\n\x11search_attributes\x18\x08 \x03(\x0b\x32\x45.temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12G\n\x11versioning_intent\x18\n \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xd1\x01\n\x15RemoteActivityOptions\x12O\n\x11\x63\x61ncellation_type\x18\x01 \x01(\x0e\x32\x34.temporal.omes.kitchen_sink.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x02 \x01(\x08\x12G\n\x11versioning_intent\x18\x03 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\"\xff\x01\n\x15\x45xecuteNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12@\n\x05input\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.NexusOperationRequest\x12\x45\n\x10\x61waitable_choice\x18\x05 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x38\n\x0f\x65xpected_output\x18\x06 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"\xca\x01\n\x15NexusOperationRequest\x12\x0e\n\x04\x65\x63ho\x18\x01 \x01(\tH\x00\x12J\n\x0fworkflow_action\x18\x02 \x01(\x0b\x32/.temporal.omes.kitchen_sink.NexusWorkflowActionH\x00\x12K\n\x0estart_activity\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x42\x08\n\x06\x61\x63tion\"\xab\x02\n\x13NexusWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12L\n\rstart_options\x18\x03 \x01(\x0b\x32\x35.temporal.omes.kitchen_sink.NexusWorkflowStartOptions\x12\'\n\x05start\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x06signal\x18\x05 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x36\n\x06update\x18\x06 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\xc8\x01\n\x19NexusWorkflowStartOptions\x12\x12\n\ntask_queue\x18\x01 \x01(\t\x12T\n\x1bworkflow_id_conflict_policy\x18\x02 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x41\n\x0eworkflow_input\x18\x03 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\"\x15\n\x13\x41waitPendingActions*\xa4\x01\n\x11ParentClosePolicy\x12#\n\x1fPARENT_CLOSE_POLICY_UNSPECIFIED\x10\x00\x12!\n\x1dPARENT_CLOSE_POLICY_TERMINATE\x10\x01\x12\x1f\n\x1bPARENT_CLOSE_POLICY_ABANDON\x10\x02\x12&\n\"PARENT_CLOSE_POLICY_REQUEST_CANCEL\x10\x03*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xa2\x01\n\x1d\x43hildWorkflowCancellationType\x12\x14\n\x10\x43HILD_WF_ABANDON\x10\x00\x12\x17\n\x13\x43HILD_WF_TRY_CANCEL\x10\x01\x12(\n$CHILD_WF_WAIT_CANCELLATION_COMPLETED\x10\x02\x12(\n$CHILD_WF_WAIT_CANCELLATION_REQUESTED\x10\x03*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x42\n\x10io.temporal.omesZ.github.com/temporalio/omes/loadgen/kitchensinkb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -47,14 +47,14 @@
_globals['_CONTINUEASNEWACTION_HEADERSENTRY']._serialized_options = b'8\001'
_globals['_CONTINUEASNEWACTION_SEARCHATTRIBUTESENTRY']._options = None
_globals['_CONTINUEASNEWACTION_SEARCHATTRIBUTESENTRY']._serialized_options = b'8\001'
- _globals['_PARENTCLOSEPOLICY']._serialized_start=11748
- _globals['_PARENTCLOSEPOLICY']._serialized_end=11912
- _globals['_VERSIONINGINTENT']._serialized_start=11914
- _globals['_VERSIONINGINTENT']._serialized_end=11978
- _globals['_CHILDWORKFLOWCANCELLATIONTYPE']._serialized_start=11981
- _globals['_CHILDWORKFLOWCANCELLATIONTYPE']._serialized_end=12143
- _globals['_ACTIVITYCANCELLATIONTYPE']._serialized_start=12145
- _globals['_ACTIVITYCANCELLATIONTYPE']._serialized_end=12233
+ _globals['_PARENTCLOSEPOLICY']._serialized_start=11860
+ _globals['_PARENTCLOSEPOLICY']._serialized_end=12024
+ _globals['_VERSIONINGINTENT']._serialized_start=12026
+ _globals['_VERSIONINGINTENT']._serialized_end=12090
+ _globals['_CHILDWORKFLOWCANCELLATIONTYPE']._serialized_start=12093
+ _globals['_CHILDWORKFLOWCANCELLATIONTYPE']._serialized_end=12255
+ _globals['_ACTIVITYCANCELLATIONTYPE']._serialized_start=12257
+ _globals['_ACTIVITYCANCELLATIONTYPE']._serialized_end=12345
_globals['_TESTINPUT']._serialized_start=227
_globals['_TESTINPUT']._serialized_end=452
_globals['_CLIENTSEQUENCE']._serialized_start=454
@@ -162,9 +162,9 @@
_globals['_NEXUSOPERATIONREQUEST']._serialized_start=11127
_globals['_NEXUSOPERATIONREQUEST']._serialized_end=11329
_globals['_NEXUSWORKFLOWACTION']._serialized_start=11332
- _globals['_NEXUSWORKFLOWACTION']._serialized_end=11519
- _globals['_NEXUSWORKFLOWSTARTOPTIONS']._serialized_start=11522
- _globals['_NEXUSWORKFLOWSTARTOPTIONS']._serialized_end=11722
- _globals['_AWAITPENDINGACTIONS']._serialized_start=11724
- _globals['_AWAITPENDINGACTIONS']._serialized_end=11745
+ _globals['_NEXUSWORKFLOWACTION']._serialized_end=11631
+ _globals['_NEXUSWORKFLOWSTARTOPTIONS']._serialized_start=11634
+ _globals['_NEXUSWORKFLOWSTARTOPTIONS']._serialized_end=11834
+ _globals['_AWAITPENDINGACTIONS']._serialized_start=11836
+ _globals['_AWAITPENDINGACTIONS']._serialized_end=11857
# @@protoc_insertion_point(module_scope)
diff --git a/workers/python/protos/kitchen_sink_pb2.pyi b/workers/python/protos/kitchen_sink_pb2.pyi
index 771c62a4..7c15e186 100644
--- a/workers/python/protos/kitchen_sink_pb2.pyi
+++ b/workers/python/protos/kitchen_sink_pb2.pyi
@@ -622,16 +622,20 @@ class NexusOperationRequest(_message.Message):
def __init__(self, echo: _Optional[str] = ..., workflow_action: _Optional[_Union[NexusWorkflowAction, _Mapping]] = ..., start_activity: _Optional[_Union[ExecuteActivityAction, _Mapping]] = ...) -> None: ...
class NexusWorkflowAction(_message.Message):
- __slots__ = ("workflow_id", "run_id", "start_options", "start")
+ __slots__ = ("workflow_id", "run_id", "start_options", "start", "signal", "update")
WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int]
RUN_ID_FIELD_NUMBER: _ClassVar[int]
START_OPTIONS_FIELD_NUMBER: _ClassVar[int]
START_FIELD_NUMBER: _ClassVar[int]
+ SIGNAL_FIELD_NUMBER: _ClassVar[int]
+ UPDATE_FIELD_NUMBER: _ClassVar[int]
workflow_id: str
run_id: str
start_options: NexusWorkflowStartOptions
start: _empty_pb2.Empty
- def __init__(self, workflow_id: _Optional[str] = ..., run_id: _Optional[str] = ..., start_options: _Optional[_Union[NexusWorkflowStartOptions, _Mapping]] = ..., start: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ...) -> None: ...
+ signal: DoSignal
+ update: DoUpdate
+ def __init__(self, workflow_id: _Optional[str] = ..., run_id: _Optional[str] = ..., start_options: _Optional[_Union[NexusWorkflowStartOptions, _Mapping]] = ..., start: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ..., signal: _Optional[_Union[DoSignal, _Mapping]] = ..., update: _Optional[_Union[DoUpdate, _Mapping]] = ...) -> None: ...
class NexusWorkflowStartOptions(_message.Message):
__slots__ = ("task_queue", "workflow_id_conflict_policy", "workflow_input")
diff --git a/workers/ruby/protos/kitchen_sink_pb.rb b/workers/ruby/protos/kitchen_sink_pb.rb
index 9acaa001..635f4919 100644
--- a/workers/ruby/protos/kitchen_sink_pb.rb
+++ b/workers/ruby/protos/kitchen_sink_pb.rb
@@ -11,7 +11,7 @@
require 'temporalio/api/enums/v1/workflow'
-descriptor_data = "\n\x12kitchen_sink.proto\x12\x1atemporal.omes.kitchen_sink\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\"\xe1\x01\n\tTestInput\x12\x41\n\x0eworkflow_input\x18\x01 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\x12\x43\n\x0f\x63lient_sequence\x18\x02 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x12L\n\x11with_start_action\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.WithStartClientAction\"R\n\x0e\x43lientSequence\x12@\n\x0b\x61\x63tion_sets\x18\x01 \x03(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSet\"\xbf\x01\n\x0f\x43lientActionSet\x12\x39\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32(.temporal.omes.kitchen_sink.ClientAction\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\x12.\n\x0bwait_at_end\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n%wait_for_current_run_to_finish_at_end\x18\x04 \x01(\x08\"\x98\x01\n\x15WithStartClientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x39\n\tdo_update\x18\x02 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\t\n\x07variant\"\xf9\x04\n\x0c\x43lientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x37\n\x08\x64o_query\x18\x02 \x01(\x0b\x32#.temporal.omes.kitchen_sink.DoQueryH\x00\x12\x39\n\tdo_update\x18\x03 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x12\x45\n\x0enested_actions\x18\x04 \x01(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSetH\x00\x12=\n\x0b\x64o_describe\x18\x05 \x01(\x0b\x32&.temporal.omes.kitchen_sink.DoDescribeH\x00\x12_\n\x1d\x64o_standalone_nexus_operation\x18\x06 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.DoStandaloneNexusOperationH\x00\x12R\n\x16\x64o_standalone_activity\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.DoStandaloneActivityH\x00\x12t\n(do_standalone_activity_operator_commands\x18\x08 \x01(\x0b\x32@.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommandsH\x00\x42\t\n\x07variant\"b\n\x1a\x44oStandaloneNexusOperation\x12\x44\n\toperation\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperation\"[\n\x14\x44oStandaloneActivity\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\"\xc5\x02\n$DoStandaloneActivityOperatorCommands\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\x12\x62\n\x0c\x63ommand_type\x18\x02 \x01(\x0e\x32L.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType\"t\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43OMMAND_TYPE_PAUSE\x10\x01\x12\x16\n\x12\x43OMMAND_TYPE_RESET\x10\x02\x12\x17\n\x13\x43OMMAND_TYPE_UPDATE\x10\x03\"\xf1\x02\n\x08\x44oSignal\x12Q\n\x11\x64o_signal_actions\x18\x01 \x01(\x0b\x32\x34.temporal.omes.kitchen_sink.DoSignal.DoSignalActionsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x1a\xb1\x01\n\x0f\x44oSignalActions\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x43\n\x12\x64o_actions_in_main\x18\x02 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x11\n\tsignal_id\x18\x03 \x01(\x05\x42\t\n\x07variantB\t\n\x07variant\"\x0c\n\nDoDescribe\"\xa9\x01\n\x07\x44oQuery\x12\x38\n\x0creport_state\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.PayloadsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\xc7\x01\n\x08\x44oUpdate\x12\x41\n\ndo_actions\x18\x01 \x01(\x0b\x32+.temporal.omes.kitchen_sink.DoActionsUpdateH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\x86\x01\n\x0f\x44oActionsUpdate\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12+\n\treject_me\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\t\n\x07variant\"P\n\x11HandlerInvocation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"|\n\rWorkflowState\x12?\n\x03kvs\x18\x01 \x03(\x0b\x32\x32.temporal.omes.kitchen_sink.WorkflowState.KvsEntry\x1a*\n\x08KvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa8\x01\n\rWorkflowInput\x12>\n\x0finitial_actions\x18\x01 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1d\n\x15\x65xpected_signal_count\x18\x02 \x01(\x05\x12\x1b\n\x13\x65xpected_signal_ids\x18\x03 \x03(\x05\x12\x1b\n\x13received_signal_ids\x18\x04 \x03(\x05\"T\n\tActionSet\x12\x33\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\".temporal.omes.kitchen_sink.Action\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\"\xcc\t\n\x06\x41\x63tion\x12\x38\n\x05timer\x18\x01 \x01(\x0b\x32\'.temporal.omes.kitchen_sink.TimerActionH\x00\x12J\n\rexec_activity\x18\x02 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x12U\n\x13\x65xec_child_workflow\x18\x03 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.ExecuteChildWorkflowActionH\x00\x12N\n\x14\x61wait_workflow_state\x18\x04 \x01(\x0b\x32..temporal.omes.kitchen_sink.AwaitWorkflowStateH\x00\x12\x43\n\x0bsend_signal\x18\x05 \x01(\x0b\x32,.temporal.omes.kitchen_sink.SendSignalActionH\x00\x12K\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.CancelWorkflowActionH\x00\x12L\n\x10set_patch_marker\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.SetPatchMarkerActionH\x00\x12\\\n\x18upsert_search_attributes\x18\x08 \x01(\x0b\x32\x38.temporal.omes.kitchen_sink.UpsertSearchAttributesActionH\x00\x12\x43\n\x0bupsert_memo\x18\t \x01(\x0b\x32,.temporal.omes.kitchen_sink.UpsertMemoActionH\x00\x12G\n\x12set_workflow_state\x18\n \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowStateH\x00\x12G\n\rreturn_result\x18\x0b \x01(\x0b\x32..temporal.omes.kitchen_sink.ReturnResultActionH\x00\x12\x45\n\x0creturn_error\x18\x0c \x01(\x0b\x32-.temporal.omes.kitchen_sink.ReturnErrorActionH\x00\x12J\n\x0f\x63ontinue_as_new\x18\r \x01(\x0b\x32/.temporal.omes.kitchen_sink.ContinueAsNewActionH\x00\x12\x42\n\x11nested_action_set\x18\x0e \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12L\n\x0fnexus_operation\x18\x0f \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperationH\x00\x12P\n\x15\x61wait_pending_actions\x18\x11 \x01(\x0b\x32/.temporal.omes.kitchen_sink.AwaitPendingActionsH\x00\x42\t\n\x07variant\"\xd3\x02\n\x0f\x41waitableChoice\x12-\n\x0bwait_finish\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x61\x62\x61ndon\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x37\n\x15\x63\x61ncel_before_started\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x14\x63\x61ncel_after_started\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x38\n\x16\x63\x61ncel_after_completed\x18\x05 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12.\n\x0cwait_started\x18\x06 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x0b\n\tcondition\"j\n\x0bTimerAction\x12\x14\n\x0cmilliseconds\x18\x01 \x01(\x04\x12\x45\n\x10\x61waitable_choice\x18\x02 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\"\xa1\x12\n\x15\x45xecuteActivityAction\x12T\n\x07generic\x18\x01 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivityH\x00\x12*\n\x05\x64\x65lay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12&\n\x04noop\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12X\n\tresources\x18\x0e \x01(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivityH\x00\x12T\n\x07payload\x18\x12 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivityH\x00\x12R\n\x06\x63lient\x18\x13 \x01(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivityH\x00\x12\x63\n\x0fretryable_error\x18\x14 \x01(\x0b\x32H.temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivityH\x00\x12T\n\x07timeout\x18\x15 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivityH\x00\x12_\n\theartbeat\x18\x16 \x01(\x0b\x32J.temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivityH\x00\x12\x12\n\ntask_queue\x18\x04 \x01(\t\x12O\n\x07headers\x18\x05 \x03(\x0b\x32>.temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\n \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12*\n\x08is_local\x18\x0b \x01(\x0b\x32\x16.google.protobuf.EmptyH\x01\x12\x43\n\x06remote\x18\x0c \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.RemoteActivityOptionsH\x01\x12\x45\n\x10\x61waitable_choice\x18\r \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x32\n\x08priority\x18\x0f \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x14\n\x0c\x66\x61irness_key\x18\x10 \x01(\t\x12\x17\n\x0f\x66\x61irness_weight\x18\x11 \x01(\x02\x1aS\n\x0fGenericActivity\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x32\n\targuments\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x1a\x9a\x01\n\x11ResourcesActivity\x12*\n\x07run_for\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x62ytes_to_allocate\x18\x02 \x01(\x04\x12$\n\x1c\x63pu_yield_every_n_iterations\x18\x03 \x01(\r\x12\x18\n\x10\x63pu_yield_for_ms\x18\x04 \x01(\r\x1a\x44\n\x0fPayloadActivity\x12\x18\n\x10\x62ytes_to_receive\x18\x01 \x01(\x05\x12\x17\n\x0f\x62ytes_to_return\x18\x02 \x01(\x05\x1aU\n\x0e\x43lientActivity\x12\x43\n\x0f\x63lient_sequence\x18\x01 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x1a/\n\x16RetryableErrorActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x1a\x92\x01\n\x0fTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xd2\x01\n\x18HeartbeatTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12heartbeat_interval\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x0f\n\ractivity_typeB\n\n\x08locality\"\xad\n\n\x1a\x45xecuteChildWorkflowAction\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12J\n\x13parent_close_policy\x18\n \x01(\x0e\x32-.temporal.omes.kitchen_sink.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry\x12g\n\x11search_attributes\x18\x11 \x03(\x0b\x32L.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry\x12T\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x39.temporal.omes.kitchen_sink.ChildWorkflowCancellationType\x12G\n\x11versioning_intent\x18\x13 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x12\x45\n\x10\x61waitable_choice\x18\x14 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"0\n\x12\x41waitWorkflowState\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdf\x02\n\x10SendSignalAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12-\n\x04\x61rgs\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12J\n\x07headers\x18\x05 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry\x12\x45\n\x10\x61waitable_choice\x18\x06 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\";\n\x14\x43\x61ncelWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"v\n\x14SetPatchMarkerAction\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\x12\x38\n\x0cinner_action\x18\x03 \x01(\x0b\x32\".temporal.omes.kitchen_sink.Action\"\xe3\x01\n\x1cUpsertSearchAttributesAction\x12i\n\x11search_attributes\x18\x01 \x03(\x0b\x32N.temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"G\n\x10UpsertMemoAction\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"J\n\x12ReturnResultAction\x12\x34\n\x0breturn_this\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"F\n\x11ReturnErrorAction\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xde\x06\n\x13\x43ontinueAsNewAction\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x04memo\x18\x06 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry\x12M\n\x07headers\x18\x07 \x03(\x0b\x32<.temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry\x12`\n\x11search_attributes\x18\x08 \x03(\x0b\x32\x45.temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12G\n\x11versioning_intent\x18\n \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xd1\x01\n\x15RemoteActivityOptions\x12O\n\x11\x63\x61ncellation_type\x18\x01 \x01(\x0e\x32\x34.temporal.omes.kitchen_sink.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x02 \x01(\x08\x12G\n\x11versioning_intent\x18\x03 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\"\xff\x01\n\x15\x45xecuteNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12@\n\x05input\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.NexusOperationRequest\x12\x45\n\x10\x61waitable_choice\x18\x05 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x38\n\x0f\x65xpected_output\x18\x06 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"\xca\x01\n\x15NexusOperationRequest\x12\x0e\n\x04\x65\x63ho\x18\x01 \x01(\tH\x00\x12J\n\x0fworkflow_action\x18\x02 \x01(\x0b\x32/.temporal.omes.kitchen_sink.NexusWorkflowActionH\x00\x12K\n\x0estart_activity\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x42\x08\n\x06\x61\x63tion\"\xbb\x01\n\x13NexusWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12L\n\rstart_options\x18\x03 \x01(\x0b\x32\x35.temporal.omes.kitchen_sink.NexusWorkflowStartOptions\x12\'\n\x05start\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x08\n\x06\x61\x63tion\"\xc8\x01\n\x19NexusWorkflowStartOptions\x12\x12\n\ntask_queue\x18\x01 \x01(\t\x12T\n\x1bworkflow_id_conflict_policy\x18\x02 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x41\n\x0eworkflow_input\x18\x03 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\"\x15\n\x13\x41waitPendingActions*\xa4\x01\n\x11ParentClosePolicy\x12#\n\x1fPARENT_CLOSE_POLICY_UNSPECIFIED\x10\x00\x12!\n\x1dPARENT_CLOSE_POLICY_TERMINATE\x10\x01\x12\x1f\n\x1bPARENT_CLOSE_POLICY_ABANDON\x10\x02\x12&\n\"PARENT_CLOSE_POLICY_REQUEST_CANCEL\x10\x03*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xa2\x01\n\x1d\x43hildWorkflowCancellationType\x12\x14\n\x10\x43HILD_WF_ABANDON\x10\x00\x12\x17\n\x13\x43HILD_WF_TRY_CANCEL\x10\x01\x12(\n$CHILD_WF_WAIT_CANCELLATION_COMPLETED\x10\x02\x12(\n$CHILD_WF_WAIT_CANCELLATION_REQUESTED\x10\x03*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x42\n\x10io.temporal.omesZ.github.com/temporalio/omes/loadgen/kitchensinkb\x06proto3"
+descriptor_data = "\n\x12kitchen_sink.proto\x12\x1atemporal.omes.kitchen_sink\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\"\xe1\x01\n\tTestInput\x12\x41\n\x0eworkflow_input\x18\x01 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\x12\x43\n\x0f\x63lient_sequence\x18\x02 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x12L\n\x11with_start_action\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.WithStartClientAction\"R\n\x0e\x43lientSequence\x12@\n\x0b\x61\x63tion_sets\x18\x01 \x03(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSet\"\xbf\x01\n\x0f\x43lientActionSet\x12\x39\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32(.temporal.omes.kitchen_sink.ClientAction\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\x12.\n\x0bwait_at_end\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12-\n%wait_for_current_run_to_finish_at_end\x18\x04 \x01(\x08\"\x98\x01\n\x15WithStartClientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x39\n\tdo_update\x18\x02 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\t\n\x07variant\"\xf9\x04\n\x0c\x43lientAction\x12\x39\n\tdo_signal\x18\x01 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x37\n\x08\x64o_query\x18\x02 \x01(\x0b\x32#.temporal.omes.kitchen_sink.DoQueryH\x00\x12\x39\n\tdo_update\x18\x03 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x12\x45\n\x0enested_actions\x18\x04 \x01(\x0b\x32+.temporal.omes.kitchen_sink.ClientActionSetH\x00\x12=\n\x0b\x64o_describe\x18\x05 \x01(\x0b\x32&.temporal.omes.kitchen_sink.DoDescribeH\x00\x12_\n\x1d\x64o_standalone_nexus_operation\x18\x06 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.DoStandaloneNexusOperationH\x00\x12R\n\x16\x64o_standalone_activity\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.DoStandaloneActivityH\x00\x12t\n(do_standalone_activity_operator_commands\x18\x08 \x01(\x0b\x32@.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommandsH\x00\x42\t\n\x07variant\"b\n\x1a\x44oStandaloneNexusOperation\x12\x44\n\toperation\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperation\"[\n\x14\x44oStandaloneActivity\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\"\xc5\x02\n$DoStandaloneActivityOperatorCommands\x12\x43\n\x08\x61\x63tivity\x18\x01 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityAction\x12\x62\n\x0c\x63ommand_type\x18\x02 \x01(\x0e\x32L.temporal.omes.kitchen_sink.DoStandaloneActivityOperatorCommands.CommandType\"t\n\x0b\x43ommandType\x12\x1c\n\x18\x43OMMAND_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x43OMMAND_TYPE_PAUSE\x10\x01\x12\x16\n\x12\x43OMMAND_TYPE_RESET\x10\x02\x12\x17\n\x13\x43OMMAND_TYPE_UPDATE\x10\x03\"\xf1\x02\n\x08\x44oSignal\x12Q\n\x11\x64o_signal_actions\x18\x01 \x01(\x0b\x32\x34.temporal.omes.kitchen_sink.DoSignal.DoSignalActionsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x1a\xb1\x01\n\x0f\x44oSignalActions\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x43\n\x12\x64o_actions_in_main\x18\x02 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12\x11\n\tsignal_id\x18\x03 \x01(\x05\x42\t\n\x07variantB\t\n\x07variant\"\x0c\n\nDoDescribe\"\xa9\x01\n\x07\x44oQuery\x12\x38\n\x0creport_state\x18\x01 \x01(\x0b\x32 .temporal.api.common.v1.PayloadsH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\xc7\x01\n\x08\x44oUpdate\x12\x41\n\ndo_actions\x18\x01 \x01(\x0b\x32+.temporal.omes.kitchen_sink.DoActionsUpdateH\x00\x12?\n\x06\x63ustom\x18\x02 \x01(\x0b\x32-.temporal.omes.kitchen_sink.HandlerInvocationH\x00\x12\x12\n\nwith_start\x18\x03 \x01(\x08\x12\x18\n\x10\x66\x61ilure_expected\x18\n \x01(\x08\x42\t\n\x07variant\"\x86\x01\n\x0f\x44oActionsUpdate\x12;\n\ndo_actions\x18\x01 \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12+\n\treject_me\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\t\n\x07variant\"P\n\x11HandlerInvocation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\"|\n\rWorkflowState\x12?\n\x03kvs\x18\x01 \x03(\x0b\x32\x32.temporal.omes.kitchen_sink.WorkflowState.KvsEntry\x1a*\n\x08KvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa8\x01\n\rWorkflowInput\x12>\n\x0finitial_actions\x18\x01 \x03(\x0b\x32%.temporal.omes.kitchen_sink.ActionSet\x12\x1d\n\x15\x65xpected_signal_count\x18\x02 \x01(\x05\x12\x1b\n\x13\x65xpected_signal_ids\x18\x03 \x03(\x05\x12\x1b\n\x13received_signal_ids\x18\x04 \x03(\x05\"T\n\tActionSet\x12\x33\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\".temporal.omes.kitchen_sink.Action\x12\x12\n\nconcurrent\x18\x02 \x01(\x08\"\xcc\t\n\x06\x41\x63tion\x12\x38\n\x05timer\x18\x01 \x01(\x0b\x32\'.temporal.omes.kitchen_sink.TimerActionH\x00\x12J\n\rexec_activity\x18\x02 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x12U\n\x13\x65xec_child_workflow\x18\x03 \x01(\x0b\x32\x36.temporal.omes.kitchen_sink.ExecuteChildWorkflowActionH\x00\x12N\n\x14\x61wait_workflow_state\x18\x04 \x01(\x0b\x32..temporal.omes.kitchen_sink.AwaitWorkflowStateH\x00\x12\x43\n\x0bsend_signal\x18\x05 \x01(\x0b\x32,.temporal.omes.kitchen_sink.SendSignalActionH\x00\x12K\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.CancelWorkflowActionH\x00\x12L\n\x10set_patch_marker\x18\x07 \x01(\x0b\x32\x30.temporal.omes.kitchen_sink.SetPatchMarkerActionH\x00\x12\\\n\x18upsert_search_attributes\x18\x08 \x01(\x0b\x32\x38.temporal.omes.kitchen_sink.UpsertSearchAttributesActionH\x00\x12\x43\n\x0bupsert_memo\x18\t \x01(\x0b\x32,.temporal.omes.kitchen_sink.UpsertMemoActionH\x00\x12G\n\x12set_workflow_state\x18\n \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowStateH\x00\x12G\n\rreturn_result\x18\x0b \x01(\x0b\x32..temporal.omes.kitchen_sink.ReturnResultActionH\x00\x12\x45\n\x0creturn_error\x18\x0c \x01(\x0b\x32-.temporal.omes.kitchen_sink.ReturnErrorActionH\x00\x12J\n\x0f\x63ontinue_as_new\x18\r \x01(\x0b\x32/.temporal.omes.kitchen_sink.ContinueAsNewActionH\x00\x12\x42\n\x11nested_action_set\x18\x0e \x01(\x0b\x32%.temporal.omes.kitchen_sink.ActionSetH\x00\x12L\n\x0fnexus_operation\x18\x0f \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteNexusOperationH\x00\x12P\n\x15\x61wait_pending_actions\x18\x11 \x01(\x0b\x32/.temporal.omes.kitchen_sink.AwaitPendingActionsH\x00\x42\t\n\x07variant\"\xd3\x02\n\x0f\x41waitableChoice\x12-\n\x0bwait_finish\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x61\x62\x61ndon\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x37\n\x15\x63\x61ncel_before_started\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x14\x63\x61ncel_after_started\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x38\n\x16\x63\x61ncel_after_completed\x18\x05 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12.\n\x0cwait_started\x18\x06 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x0b\n\tcondition\"j\n\x0bTimerAction\x12\x14\n\x0cmilliseconds\x18\x01 \x01(\x04\x12\x45\n\x10\x61waitable_choice\x18\x02 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\"\xa1\x12\n\x15\x45xecuteActivityAction\x12T\n\x07generic\x18\x01 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.GenericActivityH\x00\x12*\n\x05\x64\x65lay\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12&\n\x04noop\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12X\n\tresources\x18\x0e \x01(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteActivityAction.ResourcesActivityH\x00\x12T\n\x07payload\x18\x12 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.PayloadActivityH\x00\x12R\n\x06\x63lient\x18\x13 \x01(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteActivityAction.ClientActivityH\x00\x12\x63\n\x0fretryable_error\x18\x14 \x01(\x0b\x32H.temporal.omes.kitchen_sink.ExecuteActivityAction.RetryableErrorActivityH\x00\x12T\n\x07timeout\x18\x15 \x01(\x0b\x32\x41.temporal.omes.kitchen_sink.ExecuteActivityAction.TimeoutActivityH\x00\x12_\n\theartbeat\x18\x16 \x01(\x0b\x32J.temporal.omes.kitchen_sink.ExecuteActivityAction.HeartbeatTimeoutActivityH\x00\x12\x12\n\ntask_queue\x18\x04 \x01(\t\x12O\n\x07headers\x18\x05 \x03(\x0b\x32>.temporal.omes.kitchen_sink.ExecuteActivityAction.HeadersEntry\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\n \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12*\n\x08is_local\x18\x0b \x01(\x0b\x32\x16.google.protobuf.EmptyH\x01\x12\x43\n\x06remote\x18\x0c \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.RemoteActivityOptionsH\x01\x12\x45\n\x10\x61waitable_choice\x18\r \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x32\n\x08priority\x18\x0f \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x14\n\x0c\x66\x61irness_key\x18\x10 \x01(\t\x12\x17\n\x0f\x66\x61irness_weight\x18\x11 \x01(\x02\x1aS\n\x0fGenericActivity\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x32\n\targuments\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x1a\x9a\x01\n\x11ResourcesActivity\x12*\n\x07run_for\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x62ytes_to_allocate\x18\x02 \x01(\x04\x12$\n\x1c\x63pu_yield_every_n_iterations\x18\x03 \x01(\r\x12\x18\n\x10\x63pu_yield_for_ms\x18\x04 \x01(\r\x1a\x44\n\x0fPayloadActivity\x12\x18\n\x10\x62ytes_to_receive\x18\x01 \x01(\x05\x12\x17\n\x0f\x62ytes_to_return\x18\x02 \x01(\x05\x1aU\n\x0e\x43lientActivity\x12\x43\n\x0f\x63lient_sequence\x18\x01 \x01(\x0b\x32*.temporal.omes.kitchen_sink.ClientSequence\x1a/\n\x16RetryableErrorActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x1a\x92\x01\n\x0fTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xd2\x01\n\x18HeartbeatTimeoutActivity\x12\x15\n\rfail_attempts\x18\x01 \x01(\x05\x12\x33\n\x10success_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x33\n\x10\x66\x61ilure_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x12heartbeat_interval\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x0f\n\ractivity_typeB\n\n\x08locality\"\xad\n\n\x1a\x45xecuteChildWorkflowAction\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12J\n\x13parent_close_policy\x18\n \x01(\x0e\x32-.temporal.omes.kitchen_sink.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.MemoEntry\x12g\n\x11search_attributes\x18\x11 \x03(\x0b\x32L.temporal.omes.kitchen_sink.ExecuteChildWorkflowAction.SearchAttributesEntry\x12T\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x39.temporal.omes.kitchen_sink.ChildWorkflowCancellationType\x12G\n\x11versioning_intent\x18\x13 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x12\x45\n\x10\x61waitable_choice\x18\x14 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"0\n\x12\x41waitWorkflowState\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdf\x02\n\x10SendSignalAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12\x13\n\x0bsignal_name\x18\x03 \x01(\t\x12-\n\x04\x61rgs\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12J\n\x07headers\x18\x05 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.SendSignalAction.HeadersEntry\x12\x45\n\x10\x61waitable_choice\x18\x06 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\";\n\x14\x43\x61ncelWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\"v\n\x14SetPatchMarkerAction\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\x12\x38\n\x0cinner_action\x18\x03 \x01(\x0b\x32\".temporal.omes.kitchen_sink.Action\"\xe3\x01\n\x1cUpsertSearchAttributesAction\x12i\n\x11search_attributes\x18\x01 \x03(\x0b\x32N.temporal.omes.kitchen_sink.UpsertSearchAttributesAction.SearchAttributesEntry\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"G\n\x10UpsertMemoAction\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"J\n\x12ReturnResultAction\x12\x34\n\x0breturn_this\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"F\n\x11ReturnErrorAction\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xde\x06\n\x13\x43ontinueAsNewAction\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12G\n\x04memo\x18\x06 \x03(\x0b\x32\x39.temporal.omes.kitchen_sink.ContinueAsNewAction.MemoEntry\x12M\n\x07headers\x18\x07 \x03(\x0b\x32<.temporal.omes.kitchen_sink.ContinueAsNewAction.HeadersEntry\x12`\n\x11search_attributes\x18\x08 \x03(\x0b\x32\x45.temporal.omes.kitchen_sink.ContinueAsNewAction.SearchAttributesEntry\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12G\n\x11versioning_intent\x18\n \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aX\n\x15SearchAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xd1\x01\n\x15RemoteActivityOptions\x12O\n\x11\x63\x61ncellation_type\x18\x01 \x01(\x0e\x32\x34.temporal.omes.kitchen_sink.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x02 \x01(\x08\x12G\n\x11versioning_intent\x18\x03 \x01(\x0e\x32,.temporal.omes.kitchen_sink.VersioningIntent\"\xff\x01\n\x15\x45xecuteNexusOperation\x12\x10\n\x08\x65ndpoint\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12@\n\x05input\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.NexusOperationRequest\x12\x45\n\x10\x61waitable_choice\x18\x05 \x01(\x0b\x32+.temporal.omes.kitchen_sink.AwaitableChoice\x12\x38\n\x0f\x65xpected_output\x18\x06 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"\xca\x01\n\x15NexusOperationRequest\x12\x0e\n\x04\x65\x63ho\x18\x01 \x01(\tH\x00\x12J\n\x0fworkflow_action\x18\x02 \x01(\x0b\x32/.temporal.omes.kitchen_sink.NexusWorkflowActionH\x00\x12K\n\x0estart_activity\x18\x03 \x01(\x0b\x32\x31.temporal.omes.kitchen_sink.ExecuteActivityActionH\x00\x42\x08\n\x06\x61\x63tion\"\xab\x02\n\x13NexusWorkflowAction\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x0e\n\x06run_id\x18\x02 \x01(\t\x12L\n\rstart_options\x18\x03 \x01(\x0b\x32\x35.temporal.omes.kitchen_sink.NexusWorkflowStartOptions\x12\'\n\x05start\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x36\n\x06signal\x18\x05 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoSignalH\x00\x12\x36\n\x06update\x18\x06 \x01(\x0b\x32$.temporal.omes.kitchen_sink.DoUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\xc8\x01\n\x19NexusWorkflowStartOptions\x12\x12\n\ntask_queue\x18\x01 \x01(\t\x12T\n\x1bworkflow_id_conflict_policy\x18\x02 \x01(\x0e\x32/.temporal.api.enums.v1.WorkflowIdConflictPolicy\x12\x41\n\x0eworkflow_input\x18\x03 \x01(\x0b\x32).temporal.omes.kitchen_sink.WorkflowInput\"\x15\n\x13\x41waitPendingActions*\xa4\x01\n\x11ParentClosePolicy\x12#\n\x1fPARENT_CLOSE_POLICY_UNSPECIFIED\x10\x00\x12!\n\x1dPARENT_CLOSE_POLICY_TERMINATE\x10\x01\x12\x1f\n\x1bPARENT_CLOSE_POLICY_ABANDON\x10\x02\x12&\n\"PARENT_CLOSE_POLICY_REQUEST_CANCEL\x10\x03*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xa2\x01\n\x1d\x43hildWorkflowCancellationType\x12\x14\n\x10\x43HILD_WF_ABANDON\x10\x00\x12\x17\n\x13\x43HILD_WF_TRY_CANCEL\x10\x01\x12(\n$CHILD_WF_WAIT_CANCELLATION_COMPLETED\x10\x02\x12(\n$CHILD_WF_WAIT_CANCELLATION_REQUESTED\x10\x03*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x42\n\x10io.temporal.omesZ.github.com/temporalio/omes/loadgen/kitchensinkb\x06proto3"
pool = Google::Protobuf::DescriptorPool.generated_pool