From c49846c7f981dae3152529b476b422699682f251 Mon Sep 17 00:00:00 2001 From: Mohammad Dashti Date: Sat, 3 Oct 2026 03:25:24 -0700 Subject: [PATCH] Pinned Core at the external runtime's channel wake. This Core resumes parked external waits from channel notifications and keeps the server's subscriptions in step with the channels lang reports, so the bridge protos gain the WorkflowStreamChannels command. --- .gitmodules | 2 +- .../proto/workflow_commands/__init__.py | 2 + .../workflow_commands_pb2.py | 190 ++++++++++-------- .../workflow_commands_pb2.pyi | 41 ++++ temporalio/bridge/sdk-core | 2 +- 5 files changed, 147 insertions(+), 90 deletions(-) diff --git a/.gitmodules b/.gitmodules index a7fdbacf9..162645074 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "sdk-core"] path = temporalio/bridge/sdk-core url = https://github.com/moedash/sdk-rust.git - branch = moe/AI-198-if-ext-core-5-zero-cache-retention + branch = moe/AI-198-if-ext-core-6-channel-wake diff --git a/temporalio/bridge/proto/workflow_commands/__init__.py b/temporalio/bridge/proto/workflow_commands/__init__.py index 799466b4b..fb31abf6e 100644 --- a/temporalio/bridge/proto/workflow_commands/__init__.py +++ b/temporalio/bridge/proto/workflow_commands/__init__.py @@ -33,6 +33,7 @@ WorkflowCommand, WorkflowOutputStreamBuffered, WorkflowOutputStreamCommit, + WorkflowStreamChannels, WorkflowStreamProgress, WorkflowStreamQuiescent, ) @@ -72,6 +73,7 @@ "WorkflowCommand", "WorkflowOutputStreamBuffered", "WorkflowOutputStreamCommit", + "WorkflowStreamChannels", "WorkflowStreamProgress", "WorkflowStreamQuiescent", ] diff --git a/temporalio/bridge/proto/workflow_commands/workflow_commands_pb2.py b/temporalio/bridge/proto/workflow_commands/workflow_commands_pb2.py index 6f0cf5db0..3b079c14e 100644 --- a/temporalio/bridge/proto/workflow_commands/workflow_commands_pb2.py +++ b/temporalio/bridge/proto/workflow_commands/workflow_commands_pb2.py @@ -45,7 +45,7 @@ ) DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( - b'\n;temporal/sdk/core/workflow_commands/workflow_commands.proto\x12\x19\x63oresdk.workflow_commands\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/api/failure/v1/message.proto\x1a\'temporal/api/sdk/v1/user_metadata.proto\x1a\x35temporal/sdk/core/child_workflow/child_workflow.proto\x1a#temporal/sdk/core/nexus/nexus.proto\x1a%temporal/sdk/core/common/common.proto\x1a\x33temporal/sdk/core/external_data/external_data.proto"\xd8\x15\n\x0fWorkflowCommand\x12\x38\n\ruser_metadata\x18\x64 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\x12<\n\x0bstart_timer\x18\x01 \x01(\x0b\x32%.coresdk.workflow_commands.StartTimerH\x00\x12H\n\x11schedule_activity\x18\x02 \x01(\x0b\x32+.coresdk.workflow_commands.ScheduleActivityH\x00\x12\x42\n\x10respond_to_query\x18\x03 \x01(\x0b\x32&.coresdk.workflow_commands.QueryResultH\x00\x12S\n\x17request_cancel_activity\x18\x04 \x01(\x0b\x32\x30.coresdk.workflow_commands.RequestCancelActivityH\x00\x12>\n\x0c\x63\x61ncel_timer\x18\x05 \x01(\x0b\x32&.coresdk.workflow_commands.CancelTimerH\x00\x12[\n\x1b\x63omplete_workflow_execution\x18\x06 \x01(\x0b\x32\x34.coresdk.workflow_commands.CompleteWorkflowExecutionH\x00\x12S\n\x17\x66\x61il_workflow_execution\x18\x07 \x01(\x0b\x32\x30.coresdk.workflow_commands.FailWorkflowExecutionH\x00\x12g\n"continue_as_new_workflow_execution\x18\x08 \x01(\x0b\x32\x39.coresdk.workflow_commands.ContinueAsNewWorkflowExecutionH\x00\x12W\n\x19\x63\x61ncel_workflow_execution\x18\t \x01(\x0b\x32\x32.coresdk.workflow_commands.CancelWorkflowExecutionH\x00\x12\x45\n\x10set_patch_marker\x18\n \x01(\x0b\x32).coresdk.workflow_commands.SetPatchMarkerH\x00\x12`\n\x1estart_child_workflow_execution\x18\x0b \x01(\x0b\x32\x36.coresdk.workflow_commands.StartChildWorkflowExecutionH\x00\x12\x62\n\x1f\x63\x61ncel_child_workflow_execution\x18\x0c \x01(\x0b\x32\x37.coresdk.workflow_commands.CancelChildWorkflowExecutionH\x00\x12w\n*request_cancel_external_workflow_execution\x18\r \x01(\x0b\x32\x41.coresdk.workflow_commands.RequestCancelExternalWorkflowExecutionH\x00\x12h\n"signal_external_workflow_execution\x18\x0e \x01(\x0b\x32:.coresdk.workflow_commands.SignalExternalWorkflowExecutionH\x00\x12Q\n\x16\x63\x61ncel_signal_workflow\x18\x0f \x01(\x0b\x32/.coresdk.workflow_commands.CancelSignalWorkflowH\x00\x12S\n\x17schedule_local_activity\x18\x10 \x01(\x0b\x32\x30.coresdk.workflow_commands.ScheduleLocalActivityH\x00\x12^\n\x1drequest_cancel_local_activity\x18\x11 \x01(\x0b\x32\x35.coresdk.workflow_commands.RequestCancelLocalActivityH\x00\x12\x66\n!upsert_workflow_search_attributes\x18\x12 \x01(\x0b\x32\x39.coresdk.workflow_commands.UpsertWorkflowSearchAttributesH\x00\x12Y\n\x1amodify_workflow_properties\x18\x13 \x01(\x0b\x32\x33.coresdk.workflow_commands.ModifyWorkflowPropertiesH\x00\x12\x44\n\x0fupdate_response\x18\x14 \x01(\x0b\x32).coresdk.workflow_commands.UpdateResponseH\x00\x12U\n\x18schedule_nexus_operation\x18\x15 \x01(\x0b\x32\x31.coresdk.workflow_commands.ScheduleNexusOperationH\x00\x12`\n\x1erequest_cancel_nexus_operation\x18\x16 \x01(\x0b\x32\x36.coresdk.workflow_commands.RequestCancelNexusOperationH\x00\x12U\n\x18workflow_stream_progress\x18\x17 \x01(\x0b\x32\x31.coresdk.workflow_commands.WorkflowStreamProgressH\x00\x12W\n\x19workflow_stream_quiescent\x18\x18 \x01(\x0b\x32\x32.coresdk.workflow_commands.WorkflowStreamQuiescentH\x00\x12Z\n\x1b\x65xternal_stream_park_result\x18\x19 \x01(\x0b\x32\x33.coresdk.workflow_commands.ExternalStreamParkResultH\x00\x12W\n\x19\x65xternal_stream_finalized\x18\x1a \x01(\x0b\x32\x32.coresdk.workflow_commands.ExternalStreamFinalizedH\x00\x12^\n\x1dworkflow_output_stream_commit\x18\x1b \x01(\x0b\x32\x35.coresdk.workflow_commands.WorkflowOutputStreamCommitH\x00\x12\x62\n\x1fworkflow_output_stream_buffered\x18\x1c \x01(\x0b\x32\x37.coresdk.workflow_commands.WorkflowOutputStreamBufferedH\x00\x12\x61\n\x1esubscribe_notification_channel\x18\x1d \x01(\x0b\x32\x37.coresdk.workflow_commands.SubscribeNotificationChannelH\x00\x12\x65\n unsubscribe_notification_channel\x18\x1e \x01(\x0b\x32\x39.coresdk.workflow_commands.UnsubscribeNotificationChannelH\x00\x42\t\n\x07variant"1\n\x1eUnsubscribeNotificationChannel\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t"/\n\x1cSubscribeNotificationChannel\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t"M\n\x16WorkflowStreamProgress\x12\x19\n\x11observation_delta\x18\x01 \x01(\x0c\x12\x18\n\x10request_rollover\x18\x02 \x01(\x08"\xa7\x01\n\x17WorkflowStreamQuiescent\x12\x1d\n\x15quiescence_generation\x18\x01 \x01(\x04\x12<\n\x05waits\x18\x02 \x03(\x0b\x32-.coresdk.workflow_commands.ExternalStreamWait\x12/\n\x0cidle_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration"W\n\x12\x45xternalStreamWait\x12\x0f\n\x07wait_id\x18\x01 \x01(\r\x12\x12\n\ngeneration\x18\x02 \x01(\x04\x12\x1c\n\x14immediately_parkable\x18\x03 \x01(\x08"\xf0\x01\n\x18\x45xternalStreamParkResult\x12\x1d\n\x15quiescence_generation\x18\x01 \x01(\x04\x12@\n\tconfirmed\x18\x02 \x01(\x0b\x32+.coresdk.workflow_commands.ParkSetConfirmedH\x00\x12G\n\x0c\x62\x65\x63\x61me_ready\x18\x03 \x01(\x0b\x32/.coresdk.workflow_commands.StreamSetBecameReadyH\x00\x12\x1f\n\x17\x66inal_observation_delta\x18\x04 \x01(\x0c\x42\t\n\x07outcome"\x12\n\x10ParkSetConfirmed"\x16\n\x14StreamSetBecameReady"Y\n\x17\x45xternalStreamFinalized\x12\x1d\n\x15quiescence_generation\x18\x01 \x01(\x04\x12\x1f\n\x17\x66inal_observation_delta\x18\x02 \x01(\x0c"}\n\x1aWorkflowOutputStreamCommit\x12\x45\n\x08manifest\x18\x01 \x01(\x0b\x32\x33.coresdk.external_data.ExternalOutputStreamManifest\x12\x18\n\x10request_rollover\x18\x02 \x01(\x08"V\n\x1cWorkflowOutputStreamBuffered\x12\x36\n\x13max_publish_latency\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration"S\n\nStartTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x38\n\x15start_to_fire_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration"\x1a\n\x0b\x43\x61ncelTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r"\xb8\x06\n\x10ScheduleActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x13\n\x0b\x61\x63tivity_id\x18\x02 \x01(\t\x12\x15\n\ractivity_type\x18\x03 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12I\n\x07headers\x18\x06 \x03(\x0b\x32\x38.coresdk.workflow_commands.ScheduleActivity.HeadersEntry\x12\x32\n\targuments\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12N\n\x11\x63\x61ncellation_type\x18\r \x01(\x0e\x32\x33.coresdk.workflow_commands.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x0e \x01(\x08\x12;\n\x11versioning_intent\x18\x0f \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12\x32\n\x08priority\x18\x10 \x01(\x0b\x32 .temporal.api.common.v1.Priority\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"\xee\x05\n\x15ScheduleLocalActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x13\n\x0b\x61\x63tivity_id\x18\x02 \x01(\t\x12\x15\n\ractivity_type\x18\x03 \x01(\t\x12\x0f\n\x07\x61ttempt\x18\x04 \x01(\r\x12:\n\x16original_schedule_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12N\n\x07headers\x18\x06 \x03(\x0b\x32=.coresdk.workflow_commands.ScheduleLocalActivity.HeadersEntry\x12\x32\n\targuments\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0b \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x38\n\x15local_retry_threshold\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12N\n\x11\x63\x61ncellation_type\x18\r \x01(\x0e\x32\x33.coresdk.workflow_commands.ActivityCancellationType\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\x15RequestCancelActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r")\n\x1aRequestCancelLocalActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r"\x9c\x01\n\x0bQueryResult\x12\x10\n\x08query_id\x18\x01 \x01(\t\x12<\n\tsucceeded\x18\x02 \x01(\x0b\x32\'.coresdk.workflow_commands.QuerySuccessH\x00\x12\x32\n\x06\x66\x61iled\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x42\t\n\x07variant"A\n\x0cQuerySuccess\x12\x31\n\x08response\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload"L\n\x19\x43ompleteWorkflowExecution\x12/\n\x06result\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload"J\n\x15\x46\x61ilWorkflowExecution\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure"\x92\x07\n\x1e\x43ontinueAsNewWorkflowExecution\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\x12Q\n\x04memo\x18\x06 \x03(\x0b\x32\x43.coresdk.workflow_commands.ContinueAsNewWorkflowExecution.MemoEntry\x12W\n\x07headers\x18\x07 \x03(\x0b\x32\x46.coresdk.workflow_commands.ContinueAsNewWorkflowExecution.HeadersEntry\x12\x43\n\x11search_attributes\x18\x08 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12;\n\x11versioning_intent\x18\n \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12[\n\x1binitial_versioning_behavior\x18\x0b \x01(\x0e\x32\x36.temporal.api.enums.v1.ContinueAsNewVersioningBehavior\x12\x39\n\x16\x62\x61\x63koff_start_interval\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\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"\x19\n\x17\x43\x61ncelWorkflowExecution"6\n\x0eSetPatchMarker\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08"\x96\t\n\x1bStartChildWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\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\x12\x46\n\x13parent_close_policy\x18\n \x01(\x0e\x32).coresdk.child_workflow.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.coresdk.workflow_commands.StartChildWorkflowExecution.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.coresdk.workflow_commands.StartChildWorkflowExecution.MemoEntry\x12\x43\n\x11search_attributes\x18\x11 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12P\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x35.coresdk.child_workflow.ChildWorkflowCancellationType\x12;\n\x11versioning_intent\x18\x13 \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12\x32\n\x08priority\x18\x14 \x01(\x0b\x32 .temporal.api.common.v1.Priority\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"J\n\x1c\x43\x61ncelChildWorkflowExecution\x12\x1a\n\x12\x63hild_workflow_seq\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t"\x8e\x01\n&RequestCancelExternalWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12G\n\x12workflow_execution\x18\x02 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecution\x12\x0e\n\x06reason\x18\x03 \x01(\t"\x8f\x03\n\x1fSignalExternalWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12I\n\x12workflow_execution\x18\x02 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecutionH\x00\x12\x1b\n\x11\x63hild_workflow_id\x18\x03 \x01(\tH\x00\x12\x13\n\x0bsignal_name\x18\x04 \x01(\t\x12-\n\x04\x61rgs\x18\x05 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12X\n\x07headers\x18\x06 \x03(\x0b\x32G.coresdk.workflow_commands.SignalExternalWorkflowExecution.HeadersEntry\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\x08\n\x06target"#\n\x14\x43\x61ncelSignalWorkflow\x12\x0b\n\x03seq\x18\x01 \x01(\r"e\n\x1eUpsertWorkflowSearchAttributes\x12\x43\n\x11search_attributes\x18\x01 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes"O\n\x18ModifyWorkflowProperties\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo"\xd2\x01\n\x0eUpdateResponse\x12\x1c\n\x14protocol_instance_id\x18\x01 \x01(\t\x12*\n\x08\x61\x63\x63\x65pted\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x34\n\x08rejected\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x12\x34\n\tcompleted\x18\x04 \x01(\x0b\x32\x1f.temporal.api.common.v1.PayloadH\x00\x42\n\n\x08response"\x9a\x04\n\x16ScheduleNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12\x0f\n\x07service\x18\x03 \x01(\t\x12\x11\n\toperation\x18\x04 \x01(\t\x12.\n\x05input\x18\x05 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12X\n\x0cnexus_header\x18\x07 \x03(\x0b\x32\x42.coresdk.workflow_commands.ScheduleNexusOperation.NexusHeaderEntry\x12H\n\x11\x63\x61ncellation_type\x18\x08 \x01(\x0e\x32-.coresdk.nexus.NexusOperationCancellationType\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x32\n\x10NexusHeaderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"*\n\x1bRequestCancelNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r*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\x36\xea\x02\x33Temporalio::Internal::Bridge::Api::WorkflowCommandsb\x06proto3' + b'\n;temporal/sdk/core/workflow_commands/workflow_commands.proto\x12\x19\x63oresdk.workflow_commands\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/api/failure/v1/message.proto\x1a\'temporal/api/sdk/v1/user_metadata.proto\x1a\x35temporal/sdk/core/child_workflow/child_workflow.proto\x1a#temporal/sdk/core/nexus/nexus.proto\x1a%temporal/sdk/core/common/common.proto\x1a\x33temporal/sdk/core/external_data/external_data.proto"\xaf\x16\n\x0fWorkflowCommand\x12\x38\n\ruser_metadata\x18\x64 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\x12<\n\x0bstart_timer\x18\x01 \x01(\x0b\x32%.coresdk.workflow_commands.StartTimerH\x00\x12H\n\x11schedule_activity\x18\x02 \x01(\x0b\x32+.coresdk.workflow_commands.ScheduleActivityH\x00\x12\x42\n\x10respond_to_query\x18\x03 \x01(\x0b\x32&.coresdk.workflow_commands.QueryResultH\x00\x12S\n\x17request_cancel_activity\x18\x04 \x01(\x0b\x32\x30.coresdk.workflow_commands.RequestCancelActivityH\x00\x12>\n\x0c\x63\x61ncel_timer\x18\x05 \x01(\x0b\x32&.coresdk.workflow_commands.CancelTimerH\x00\x12[\n\x1b\x63omplete_workflow_execution\x18\x06 \x01(\x0b\x32\x34.coresdk.workflow_commands.CompleteWorkflowExecutionH\x00\x12S\n\x17\x66\x61il_workflow_execution\x18\x07 \x01(\x0b\x32\x30.coresdk.workflow_commands.FailWorkflowExecutionH\x00\x12g\n"continue_as_new_workflow_execution\x18\x08 \x01(\x0b\x32\x39.coresdk.workflow_commands.ContinueAsNewWorkflowExecutionH\x00\x12W\n\x19\x63\x61ncel_workflow_execution\x18\t \x01(\x0b\x32\x32.coresdk.workflow_commands.CancelWorkflowExecutionH\x00\x12\x45\n\x10set_patch_marker\x18\n \x01(\x0b\x32).coresdk.workflow_commands.SetPatchMarkerH\x00\x12`\n\x1estart_child_workflow_execution\x18\x0b \x01(\x0b\x32\x36.coresdk.workflow_commands.StartChildWorkflowExecutionH\x00\x12\x62\n\x1f\x63\x61ncel_child_workflow_execution\x18\x0c \x01(\x0b\x32\x37.coresdk.workflow_commands.CancelChildWorkflowExecutionH\x00\x12w\n*request_cancel_external_workflow_execution\x18\r \x01(\x0b\x32\x41.coresdk.workflow_commands.RequestCancelExternalWorkflowExecutionH\x00\x12h\n"signal_external_workflow_execution\x18\x0e \x01(\x0b\x32:.coresdk.workflow_commands.SignalExternalWorkflowExecutionH\x00\x12Q\n\x16\x63\x61ncel_signal_workflow\x18\x0f \x01(\x0b\x32/.coresdk.workflow_commands.CancelSignalWorkflowH\x00\x12S\n\x17schedule_local_activity\x18\x10 \x01(\x0b\x32\x30.coresdk.workflow_commands.ScheduleLocalActivityH\x00\x12^\n\x1drequest_cancel_local_activity\x18\x11 \x01(\x0b\x32\x35.coresdk.workflow_commands.RequestCancelLocalActivityH\x00\x12\x66\n!upsert_workflow_search_attributes\x18\x12 \x01(\x0b\x32\x39.coresdk.workflow_commands.UpsertWorkflowSearchAttributesH\x00\x12Y\n\x1amodify_workflow_properties\x18\x13 \x01(\x0b\x32\x33.coresdk.workflow_commands.ModifyWorkflowPropertiesH\x00\x12\x44\n\x0fupdate_response\x18\x14 \x01(\x0b\x32).coresdk.workflow_commands.UpdateResponseH\x00\x12U\n\x18schedule_nexus_operation\x18\x15 \x01(\x0b\x32\x31.coresdk.workflow_commands.ScheduleNexusOperationH\x00\x12`\n\x1erequest_cancel_nexus_operation\x18\x16 \x01(\x0b\x32\x36.coresdk.workflow_commands.RequestCancelNexusOperationH\x00\x12U\n\x18workflow_stream_progress\x18\x17 \x01(\x0b\x32\x31.coresdk.workflow_commands.WorkflowStreamProgressH\x00\x12W\n\x19workflow_stream_quiescent\x18\x18 \x01(\x0b\x32\x32.coresdk.workflow_commands.WorkflowStreamQuiescentH\x00\x12Z\n\x1b\x65xternal_stream_park_result\x18\x19 \x01(\x0b\x32\x33.coresdk.workflow_commands.ExternalStreamParkResultH\x00\x12W\n\x19\x65xternal_stream_finalized\x18\x1a \x01(\x0b\x32\x32.coresdk.workflow_commands.ExternalStreamFinalizedH\x00\x12^\n\x1dworkflow_output_stream_commit\x18\x1b \x01(\x0b\x32\x35.coresdk.workflow_commands.WorkflowOutputStreamCommitH\x00\x12\x62\n\x1fworkflow_output_stream_buffered\x18\x1c \x01(\x0b\x32\x37.coresdk.workflow_commands.WorkflowOutputStreamBufferedH\x00\x12\x61\n\x1esubscribe_notification_channel\x18\x1d \x01(\x0b\x32\x37.coresdk.workflow_commands.SubscribeNotificationChannelH\x00\x12\x65\n unsubscribe_notification_channel\x18\x1e \x01(\x0b\x32\x39.coresdk.workflow_commands.UnsubscribeNotificationChannelH\x00\x12U\n\x18workflow_stream_channels\x18! \x01(\x0b\x32\x31.coresdk.workflow_commands.WorkflowStreamChannelsH\x00\x42\t\n\x07variant"1\n\x1eUnsubscribeNotificationChannel\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t"*\n\x16WorkflowStreamChannels\x12\x10\n\x08\x63hannels\x18\x01 \x03(\t"/\n\x1cSubscribeNotificationChannel\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t"M\n\x16WorkflowStreamProgress\x12\x19\n\x11observation_delta\x18\x01 \x01(\x0c\x12\x18\n\x10request_rollover\x18\x02 \x01(\x08"\xa7\x01\n\x17WorkflowStreamQuiescent\x12\x1d\n\x15quiescence_generation\x18\x01 \x01(\x04\x12<\n\x05waits\x18\x02 \x03(\x0b\x32-.coresdk.workflow_commands.ExternalStreamWait\x12/\n\x0cidle_timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration"W\n\x12\x45xternalStreamWait\x12\x0f\n\x07wait_id\x18\x01 \x01(\r\x12\x12\n\ngeneration\x18\x02 \x01(\x04\x12\x1c\n\x14immediately_parkable\x18\x03 \x01(\x08"\xf0\x01\n\x18\x45xternalStreamParkResult\x12\x1d\n\x15quiescence_generation\x18\x01 \x01(\x04\x12@\n\tconfirmed\x18\x02 \x01(\x0b\x32+.coresdk.workflow_commands.ParkSetConfirmedH\x00\x12G\n\x0c\x62\x65\x63\x61me_ready\x18\x03 \x01(\x0b\x32/.coresdk.workflow_commands.StreamSetBecameReadyH\x00\x12\x1f\n\x17\x66inal_observation_delta\x18\x04 \x01(\x0c\x42\t\n\x07outcome"\x12\n\x10ParkSetConfirmed"\x16\n\x14StreamSetBecameReady"Y\n\x17\x45xternalStreamFinalized\x12\x1d\n\x15quiescence_generation\x18\x01 \x01(\x04\x12\x1f\n\x17\x66inal_observation_delta\x18\x02 \x01(\x0c"}\n\x1aWorkflowOutputStreamCommit\x12\x45\n\x08manifest\x18\x01 \x01(\x0b\x32\x33.coresdk.external_data.ExternalOutputStreamManifest\x12\x18\n\x10request_rollover\x18\x02 \x01(\x08"V\n\x1cWorkflowOutputStreamBuffered\x12\x36\n\x13max_publish_latency\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration"S\n\nStartTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x38\n\x15start_to_fire_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration"\x1a\n\x0b\x43\x61ncelTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r"\xb8\x06\n\x10ScheduleActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x13\n\x0b\x61\x63tivity_id\x18\x02 \x01(\t\x12\x15\n\ractivity_type\x18\x03 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12I\n\x07headers\x18\x06 \x03(\x0b\x32\x38.coresdk.workflow_commands.ScheduleActivity.HeadersEntry\x12\x32\n\targuments\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12N\n\x11\x63\x61ncellation_type\x18\r \x01(\x0e\x32\x33.coresdk.workflow_commands.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x0e \x01(\x08\x12;\n\x11versioning_intent\x18\x0f \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12\x32\n\x08priority\x18\x10 \x01(\x0b\x32 .temporal.api.common.v1.Priority\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"\xee\x05\n\x15ScheduleLocalActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x13\n\x0b\x61\x63tivity_id\x18\x02 \x01(\t\x12\x15\n\ractivity_type\x18\x03 \x01(\t\x12\x0f\n\x07\x61ttempt\x18\x04 \x01(\r\x12:\n\x16original_schedule_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12N\n\x07headers\x18\x06 \x03(\x0b\x32=.coresdk.workflow_commands.ScheduleLocalActivity.HeadersEntry\x12\x32\n\targuments\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0b \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x38\n\x15local_retry_threshold\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12N\n\x11\x63\x61ncellation_type\x18\r \x01(\x0e\x32\x33.coresdk.workflow_commands.ActivityCancellationType\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\x15RequestCancelActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r")\n\x1aRequestCancelLocalActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r"\x9c\x01\n\x0bQueryResult\x12\x10\n\x08query_id\x18\x01 \x01(\t\x12<\n\tsucceeded\x18\x02 \x01(\x0b\x32\'.coresdk.workflow_commands.QuerySuccessH\x00\x12\x32\n\x06\x66\x61iled\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x42\t\n\x07variant"A\n\x0cQuerySuccess\x12\x31\n\x08response\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload"L\n\x19\x43ompleteWorkflowExecution\x12/\n\x06result\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload"J\n\x15\x46\x61ilWorkflowExecution\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure"\x92\x07\n\x1e\x43ontinueAsNewWorkflowExecution\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\x12Q\n\x04memo\x18\x06 \x03(\x0b\x32\x43.coresdk.workflow_commands.ContinueAsNewWorkflowExecution.MemoEntry\x12W\n\x07headers\x18\x07 \x03(\x0b\x32\x46.coresdk.workflow_commands.ContinueAsNewWorkflowExecution.HeadersEntry\x12\x43\n\x11search_attributes\x18\x08 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12;\n\x11versioning_intent\x18\n \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12[\n\x1binitial_versioning_behavior\x18\x0b \x01(\x0e\x32\x36.temporal.api.enums.v1.ContinueAsNewVersioningBehavior\x12\x39\n\x16\x62\x61\x63koff_start_interval\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\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"\x19\n\x17\x43\x61ncelWorkflowExecution"6\n\x0eSetPatchMarker\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08"\x96\t\n\x1bStartChildWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\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\x12\x46\n\x13parent_close_policy\x18\n \x01(\x0e\x32).coresdk.child_workflow.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.coresdk.workflow_commands.StartChildWorkflowExecution.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.coresdk.workflow_commands.StartChildWorkflowExecution.MemoEntry\x12\x43\n\x11search_attributes\x18\x11 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12P\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x35.coresdk.child_workflow.ChildWorkflowCancellationType\x12;\n\x11versioning_intent\x18\x13 \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12\x32\n\x08priority\x18\x14 \x01(\x0b\x32 .temporal.api.common.v1.Priority\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"J\n\x1c\x43\x61ncelChildWorkflowExecution\x12\x1a\n\x12\x63hild_workflow_seq\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t"\x8e\x01\n&RequestCancelExternalWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12G\n\x12workflow_execution\x18\x02 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecution\x12\x0e\n\x06reason\x18\x03 \x01(\t"\x8f\x03\n\x1fSignalExternalWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12I\n\x12workflow_execution\x18\x02 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecutionH\x00\x12\x1b\n\x11\x63hild_workflow_id\x18\x03 \x01(\tH\x00\x12\x13\n\x0bsignal_name\x18\x04 \x01(\t\x12-\n\x04\x61rgs\x18\x05 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12X\n\x07headers\x18\x06 \x03(\x0b\x32G.coresdk.workflow_commands.SignalExternalWorkflowExecution.HeadersEntry\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\x08\n\x06target"#\n\x14\x43\x61ncelSignalWorkflow\x12\x0b\n\x03seq\x18\x01 \x01(\r"e\n\x1eUpsertWorkflowSearchAttributes\x12\x43\n\x11search_attributes\x18\x01 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes"O\n\x18ModifyWorkflowProperties\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo"\xd2\x01\n\x0eUpdateResponse\x12\x1c\n\x14protocol_instance_id\x18\x01 \x01(\t\x12*\n\x08\x61\x63\x63\x65pted\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x34\n\x08rejected\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x12\x34\n\tcompleted\x18\x04 \x01(\x0b\x32\x1f.temporal.api.common.v1.PayloadH\x00\x42\n\n\x08response"\x9a\x04\n\x16ScheduleNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12\x0f\n\x07service\x18\x03 \x01(\t\x12\x11\n\toperation\x18\x04 \x01(\t\x12.\n\x05input\x18\x05 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12X\n\x0cnexus_header\x18\x07 \x03(\x0b\x32\x42.coresdk.workflow_commands.ScheduleNexusOperation.NexusHeaderEntry\x12H\n\x11\x63\x61ncellation_type\x18\x08 \x01(\x0e\x32-.coresdk.nexus.NexusOperationCancellationType\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x32\n\x10NexusHeaderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"*\n\x1bRequestCancelNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r*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\x36\xea\x02\x33Temporalio::Internal::Bridge::Api::WorkflowCommandsb\x06proto3' ) _ACTIVITYCANCELLATIONTYPE = DESCRIPTOR.enum_types_by_name["ActivityCancellationType"] @@ -59,6 +59,7 @@ _UNSUBSCRIBENOTIFICATIONCHANNEL = DESCRIPTOR.message_types_by_name[ "UnsubscribeNotificationChannel" ] +_WORKFLOWSTREAMCHANNELS = DESCRIPTOR.message_types_by_name["WorkflowStreamChannels"] _SUBSCRIBENOTIFICATIONCHANNEL = DESCRIPTOR.message_types_by_name[ "SubscribeNotificationChannel" ] @@ -160,6 +161,17 @@ ) _sym_db.RegisterMessage(UnsubscribeNotificationChannel) +WorkflowStreamChannels = _reflection.GeneratedProtocolMessageType( + "WorkflowStreamChannels", + (_message.Message,), + { + "DESCRIPTOR": _WORKFLOWSTREAMCHANNELS, + "__module__": "temporal.sdk.core.workflow_commands.workflow_commands_pb2", + # @@protoc_insertion_point(class_scope:coresdk.workflow_commands.WorkflowStreamChannels) + }, +) +_sym_db.RegisterMessage(WorkflowStreamChannels) + SubscribeNotificationChannel = _reflection.GeneratedProtocolMessageType( "SubscribeNotificationChannel", (_message.Message,), @@ -624,92 +636,94 @@ _SIGNALEXTERNALWORKFLOWEXECUTION_HEADERSENTRY._serialized_options = b"8\001" _SCHEDULENEXUSOPERATION_NEXUSHEADERENTRY._options = None _SCHEDULENEXUSOPERATION_NEXUSHEADERENTRY._serialized_options = b"8\001" - _ACTIVITYCANCELLATIONTYPE._serialized_start = 10307 - _ACTIVITYCANCELLATIONTYPE._serialized_end = 10395 + _ACTIVITYCANCELLATIONTYPE._serialized_start = 10438 + _ACTIVITYCANCELLATIONTYPE._serialized_end = 10526 _WORKFLOWCOMMAND._serialized_start = 525 - _WORKFLOWCOMMAND._serialized_end = 3301 - _UNSUBSCRIBENOTIFICATIONCHANNEL._serialized_start = 3303 - _UNSUBSCRIBENOTIFICATIONCHANNEL._serialized_end = 3352 - _SUBSCRIBENOTIFICATIONCHANNEL._serialized_start = 3354 - _SUBSCRIBENOTIFICATIONCHANNEL._serialized_end = 3401 - _WORKFLOWSTREAMPROGRESS._serialized_start = 3403 - _WORKFLOWSTREAMPROGRESS._serialized_end = 3480 - _WORKFLOWSTREAMQUIESCENT._serialized_start = 3483 - _WORKFLOWSTREAMQUIESCENT._serialized_end = 3650 - _EXTERNALSTREAMWAIT._serialized_start = 3652 - _EXTERNALSTREAMWAIT._serialized_end = 3739 - _EXTERNALSTREAMPARKRESULT._serialized_start = 3742 - _EXTERNALSTREAMPARKRESULT._serialized_end = 3982 - _PARKSETCONFIRMED._serialized_start = 3984 - _PARKSETCONFIRMED._serialized_end = 4002 - _STREAMSETBECAMEREADY._serialized_start = 4004 - _STREAMSETBECAMEREADY._serialized_end = 4026 - _EXTERNALSTREAMFINALIZED._serialized_start = 4028 - _EXTERNALSTREAMFINALIZED._serialized_end = 4117 - _WORKFLOWOUTPUTSTREAMCOMMIT._serialized_start = 4119 - _WORKFLOWOUTPUTSTREAMCOMMIT._serialized_end = 4244 - _WORKFLOWOUTPUTSTREAMBUFFERED._serialized_start = 4246 - _WORKFLOWOUTPUTSTREAMBUFFERED._serialized_end = 4332 - _STARTTIMER._serialized_start = 4334 - _STARTTIMER._serialized_end = 4417 - _CANCELTIMER._serialized_start = 4419 - _CANCELTIMER._serialized_end = 4445 - _SCHEDULEACTIVITY._serialized_start = 4448 - _SCHEDULEACTIVITY._serialized_end = 5272 - _SCHEDULEACTIVITY_HEADERSENTRY._serialized_start = 5193 - _SCHEDULEACTIVITY_HEADERSENTRY._serialized_end = 5272 - _SCHEDULELOCALACTIVITY._serialized_start = 5275 - _SCHEDULELOCALACTIVITY._serialized_end = 6025 - _SCHEDULELOCALACTIVITY_HEADERSENTRY._serialized_start = 5193 - _SCHEDULELOCALACTIVITY_HEADERSENTRY._serialized_end = 5272 - _REQUESTCANCELACTIVITY._serialized_start = 6027 - _REQUESTCANCELACTIVITY._serialized_end = 6063 - _REQUESTCANCELLOCALACTIVITY._serialized_start = 6065 - _REQUESTCANCELLOCALACTIVITY._serialized_end = 6106 - _QUERYRESULT._serialized_start = 6109 - _QUERYRESULT._serialized_end = 6265 - _QUERYSUCCESS._serialized_start = 6267 - _QUERYSUCCESS._serialized_end = 6332 - _COMPLETEWORKFLOWEXECUTION._serialized_start = 6334 - _COMPLETEWORKFLOWEXECUTION._serialized_end = 6410 - _FAILWORKFLOWEXECUTION._serialized_start = 6412 - _FAILWORKFLOWEXECUTION._serialized_end = 6486 - _CONTINUEASNEWWORKFLOWEXECUTION._serialized_start = 6489 - _CONTINUEASNEWWORKFLOWEXECUTION._serialized_end = 7403 - _CONTINUEASNEWWORKFLOWEXECUTION_MEMOENTRY._serialized_start = 7246 - _CONTINUEASNEWWORKFLOWEXECUTION_MEMOENTRY._serialized_end = 7322 - _CONTINUEASNEWWORKFLOWEXECUTION_HEADERSENTRY._serialized_start = 5193 - _CONTINUEASNEWWORKFLOWEXECUTION_HEADERSENTRY._serialized_end = 5272 - _CANCELWORKFLOWEXECUTION._serialized_start = 7405 - _CANCELWORKFLOWEXECUTION._serialized_end = 7430 - _SETPATCHMARKER._serialized_start = 7432 - _SETPATCHMARKER._serialized_end = 7486 - _STARTCHILDWORKFLOWEXECUTION._serialized_start = 7489 - _STARTCHILDWORKFLOWEXECUTION._serialized_end = 8663 - _STARTCHILDWORKFLOWEXECUTION_HEADERSENTRY._serialized_start = 5193 - _STARTCHILDWORKFLOWEXECUTION_HEADERSENTRY._serialized_end = 5272 - _STARTCHILDWORKFLOWEXECUTION_MEMOENTRY._serialized_start = 7246 - _STARTCHILDWORKFLOWEXECUTION_MEMOENTRY._serialized_end = 7322 - _CANCELCHILDWORKFLOWEXECUTION._serialized_start = 8665 - _CANCELCHILDWORKFLOWEXECUTION._serialized_end = 8739 - _REQUESTCANCELEXTERNALWORKFLOWEXECUTION._serialized_start = 8742 - _REQUESTCANCELEXTERNALWORKFLOWEXECUTION._serialized_end = 8884 - _SIGNALEXTERNALWORKFLOWEXECUTION._serialized_start = 8887 - _SIGNALEXTERNALWORKFLOWEXECUTION._serialized_end = 9286 - _SIGNALEXTERNALWORKFLOWEXECUTION_HEADERSENTRY._serialized_start = 5193 - _SIGNALEXTERNALWORKFLOWEXECUTION_HEADERSENTRY._serialized_end = 5272 - _CANCELSIGNALWORKFLOW._serialized_start = 9288 - _CANCELSIGNALWORKFLOW._serialized_end = 9323 - _UPSERTWORKFLOWSEARCHATTRIBUTES._serialized_start = 9325 - _UPSERTWORKFLOWSEARCHATTRIBUTES._serialized_end = 9426 - _MODIFYWORKFLOWPROPERTIES._serialized_start = 9428 - _MODIFYWORKFLOWPROPERTIES._serialized_end = 9507 - _UPDATERESPONSE._serialized_start = 9510 - _UPDATERESPONSE._serialized_end = 9720 - _SCHEDULENEXUSOPERATION._serialized_start = 9723 - _SCHEDULENEXUSOPERATION._serialized_end = 10261 - _SCHEDULENEXUSOPERATION_NEXUSHEADERENTRY._serialized_start = 10211 - _SCHEDULENEXUSOPERATION_NEXUSHEADERENTRY._serialized_end = 10261 - _REQUESTCANCELNEXUSOPERATION._serialized_start = 10263 - _REQUESTCANCELNEXUSOPERATION._serialized_end = 10305 + _WORKFLOWCOMMAND._serialized_end = 3388 + _UNSUBSCRIBENOTIFICATIONCHANNEL._serialized_start = 3390 + _UNSUBSCRIBENOTIFICATIONCHANNEL._serialized_end = 3439 + _WORKFLOWSTREAMCHANNELS._serialized_start = 3441 + _WORKFLOWSTREAMCHANNELS._serialized_end = 3483 + _SUBSCRIBENOTIFICATIONCHANNEL._serialized_start = 3485 + _SUBSCRIBENOTIFICATIONCHANNEL._serialized_end = 3532 + _WORKFLOWSTREAMPROGRESS._serialized_start = 3534 + _WORKFLOWSTREAMPROGRESS._serialized_end = 3611 + _WORKFLOWSTREAMQUIESCENT._serialized_start = 3614 + _WORKFLOWSTREAMQUIESCENT._serialized_end = 3781 + _EXTERNALSTREAMWAIT._serialized_start = 3783 + _EXTERNALSTREAMWAIT._serialized_end = 3870 + _EXTERNALSTREAMPARKRESULT._serialized_start = 3873 + _EXTERNALSTREAMPARKRESULT._serialized_end = 4113 + _PARKSETCONFIRMED._serialized_start = 4115 + _PARKSETCONFIRMED._serialized_end = 4133 + _STREAMSETBECAMEREADY._serialized_start = 4135 + _STREAMSETBECAMEREADY._serialized_end = 4157 + _EXTERNALSTREAMFINALIZED._serialized_start = 4159 + _EXTERNALSTREAMFINALIZED._serialized_end = 4248 + _WORKFLOWOUTPUTSTREAMCOMMIT._serialized_start = 4250 + _WORKFLOWOUTPUTSTREAMCOMMIT._serialized_end = 4375 + _WORKFLOWOUTPUTSTREAMBUFFERED._serialized_start = 4377 + _WORKFLOWOUTPUTSTREAMBUFFERED._serialized_end = 4463 + _STARTTIMER._serialized_start = 4465 + _STARTTIMER._serialized_end = 4548 + _CANCELTIMER._serialized_start = 4550 + _CANCELTIMER._serialized_end = 4576 + _SCHEDULEACTIVITY._serialized_start = 4579 + _SCHEDULEACTIVITY._serialized_end = 5403 + _SCHEDULEACTIVITY_HEADERSENTRY._serialized_start = 5324 + _SCHEDULEACTIVITY_HEADERSENTRY._serialized_end = 5403 + _SCHEDULELOCALACTIVITY._serialized_start = 5406 + _SCHEDULELOCALACTIVITY._serialized_end = 6156 + _SCHEDULELOCALACTIVITY_HEADERSENTRY._serialized_start = 5324 + _SCHEDULELOCALACTIVITY_HEADERSENTRY._serialized_end = 5403 + _REQUESTCANCELACTIVITY._serialized_start = 6158 + _REQUESTCANCELACTIVITY._serialized_end = 6194 + _REQUESTCANCELLOCALACTIVITY._serialized_start = 6196 + _REQUESTCANCELLOCALACTIVITY._serialized_end = 6237 + _QUERYRESULT._serialized_start = 6240 + _QUERYRESULT._serialized_end = 6396 + _QUERYSUCCESS._serialized_start = 6398 + _QUERYSUCCESS._serialized_end = 6463 + _COMPLETEWORKFLOWEXECUTION._serialized_start = 6465 + _COMPLETEWORKFLOWEXECUTION._serialized_end = 6541 + _FAILWORKFLOWEXECUTION._serialized_start = 6543 + _FAILWORKFLOWEXECUTION._serialized_end = 6617 + _CONTINUEASNEWWORKFLOWEXECUTION._serialized_start = 6620 + _CONTINUEASNEWWORKFLOWEXECUTION._serialized_end = 7534 + _CONTINUEASNEWWORKFLOWEXECUTION_MEMOENTRY._serialized_start = 7377 + _CONTINUEASNEWWORKFLOWEXECUTION_MEMOENTRY._serialized_end = 7453 + _CONTINUEASNEWWORKFLOWEXECUTION_HEADERSENTRY._serialized_start = 5324 + _CONTINUEASNEWWORKFLOWEXECUTION_HEADERSENTRY._serialized_end = 5403 + _CANCELWORKFLOWEXECUTION._serialized_start = 7536 + _CANCELWORKFLOWEXECUTION._serialized_end = 7561 + _SETPATCHMARKER._serialized_start = 7563 + _SETPATCHMARKER._serialized_end = 7617 + _STARTCHILDWORKFLOWEXECUTION._serialized_start = 7620 + _STARTCHILDWORKFLOWEXECUTION._serialized_end = 8794 + _STARTCHILDWORKFLOWEXECUTION_HEADERSENTRY._serialized_start = 5324 + _STARTCHILDWORKFLOWEXECUTION_HEADERSENTRY._serialized_end = 5403 + _STARTCHILDWORKFLOWEXECUTION_MEMOENTRY._serialized_start = 7377 + _STARTCHILDWORKFLOWEXECUTION_MEMOENTRY._serialized_end = 7453 + _CANCELCHILDWORKFLOWEXECUTION._serialized_start = 8796 + _CANCELCHILDWORKFLOWEXECUTION._serialized_end = 8870 + _REQUESTCANCELEXTERNALWORKFLOWEXECUTION._serialized_start = 8873 + _REQUESTCANCELEXTERNALWORKFLOWEXECUTION._serialized_end = 9015 + _SIGNALEXTERNALWORKFLOWEXECUTION._serialized_start = 9018 + _SIGNALEXTERNALWORKFLOWEXECUTION._serialized_end = 9417 + _SIGNALEXTERNALWORKFLOWEXECUTION_HEADERSENTRY._serialized_start = 5324 + _SIGNALEXTERNALWORKFLOWEXECUTION_HEADERSENTRY._serialized_end = 5403 + _CANCELSIGNALWORKFLOW._serialized_start = 9419 + _CANCELSIGNALWORKFLOW._serialized_end = 9454 + _UPSERTWORKFLOWSEARCHATTRIBUTES._serialized_start = 9456 + _UPSERTWORKFLOWSEARCHATTRIBUTES._serialized_end = 9557 + _MODIFYWORKFLOWPROPERTIES._serialized_start = 9559 + _MODIFYWORKFLOWPROPERTIES._serialized_end = 9638 + _UPDATERESPONSE._serialized_start = 9641 + _UPDATERESPONSE._serialized_end = 9851 + _SCHEDULENEXUSOPERATION._serialized_start = 9854 + _SCHEDULENEXUSOPERATION._serialized_end = 10392 + _SCHEDULENEXUSOPERATION_NEXUSHEADERENTRY._serialized_start = 10342 + _SCHEDULENEXUSOPERATION_NEXUSHEADERENTRY._serialized_end = 10392 + _REQUESTCANCELNEXUSOPERATION._serialized_start = 10394 + _REQUESTCANCELNEXUSOPERATION._serialized_end = 10436 # @@protoc_insertion_point(module_scope) diff --git a/temporalio/bridge/proto/workflow_commands/workflow_commands_pb2.pyi b/temporalio/bridge/proto/workflow_commands/workflow_commands_pb2.pyi index b1e9c2915..958032576 100644 --- a/temporalio/bridge/proto/workflow_commands/workflow_commands_pb2.pyi +++ b/temporalio/bridge/proto/workflow_commands/workflow_commands_pb2.pyi @@ -110,6 +110,7 @@ class WorkflowCommand(google.protobuf.message.Message): WORKFLOW_OUTPUT_STREAM_BUFFERED_FIELD_NUMBER: builtins.int SUBSCRIBE_NOTIFICATION_CHANNEL_FIELD_NUMBER: builtins.int UNSUBSCRIBE_NOTIFICATION_CHANNEL_FIELD_NUMBER: builtins.int + WORKFLOW_STREAM_CHANNELS_FIELD_NUMBER: builtins.int @property def user_metadata(self) -> temporalio.api.sdk.v1.user_metadata_pb2.UserMetadata: """User metadata that may or may not be persisted into history depending on the command type. @@ -196,6 +197,8 @@ class WorkflowCommand(google.protobuf.message.Message): def unsubscribe_notification_channel( self, ) -> global___UnsubscribeNotificationChannel: ... + @property + def workflow_stream_channels(self) -> global___WorkflowStreamChannels: ... def __init__( self, *, @@ -241,6 +244,7 @@ class WorkflowCommand(google.protobuf.message.Message): | None = ..., unsubscribe_notification_channel: global___UnsubscribeNotificationChannel | None = ..., + workflow_stream_channels: global___WorkflowStreamChannels | None = ..., ) -> None: ... def HasField( self, @@ -305,6 +309,8 @@ class WorkflowCommand(google.protobuf.message.Message): b"workflow_output_stream_buffered", "workflow_output_stream_commit", b"workflow_output_stream_commit", + "workflow_stream_channels", + b"workflow_stream_channels", "workflow_stream_progress", b"workflow_stream_progress", "workflow_stream_quiescent", @@ -374,6 +380,8 @@ class WorkflowCommand(google.protobuf.message.Message): b"workflow_output_stream_buffered", "workflow_output_stream_commit", b"workflow_output_stream_commit", + "workflow_stream_channels", + b"workflow_stream_channels", "workflow_stream_progress", b"workflow_stream_progress", "workflow_stream_quiescent", @@ -414,6 +422,7 @@ class WorkflowCommand(google.protobuf.message.Message): "workflow_output_stream_buffered", "subscribe_notification_channel", "unsubscribe_notification_channel", + "workflow_stream_channels", ] | None ): ... @@ -444,6 +453,38 @@ class UnsubscribeNotificationChannel(google.protobuf.message.Message): global___UnsubscribeNotificationChannel = UnsubscribeNotificationChannel +class WorkflowStreamChannels(google.protobuf.message.Message): + """The complete set of notification channels the run listens on, one per open external stream + reader, in a stable order replay reproduces. + + Core subscribes the run to a channel it has not yet subscribed on the completion that ends the + Workflow Task, after the progress marker and never on a run-ending completion. Issued from the + activation that opened the reader, the server-bound subscribe command would end a task that + was meant to stay retained. Reported on every completion once a reader has been opened, the + empty set included: an absent command leaves Core's view unchanged, which is what the park and + finalization answers rely on. Carries no retention request of its own. + """ + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CHANNELS_FIELD_NUMBER: builtins.int + @property + def channels( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + channels: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["channels", b"channels"] + ) -> None: ... + +global___WorkflowStreamChannels = WorkflowStreamChannels + class SubscribeNotificationChannel(google.protobuf.message.Message): """Subscribe this workflow to a notification channel, so the scheduled event of each later Workflow Task carries the notifications folded for it. diff --git a/temporalio/bridge/sdk-core b/temporalio/bridge/sdk-core index 5a0e3e008..030da18a5 160000 --- a/temporalio/bridge/sdk-core +++ b/temporalio/bridge/sdk-core @@ -1 +1 @@ -Subproject commit 5a0e3e008f5d159c1106f0ef25bdcb6466ca14e4 +Subproject commit 030da18a54a23a8730e9cbbed98f44c57f2037a1