temporalio 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +3 -0
- data/LICENSE +20 -0
- data/README.md +130 -0
- data/bridge/Cargo.lock +2865 -0
- data/bridge/Cargo.toml +26 -0
- data/bridge/sdk-core/ARCHITECTURE.md +76 -0
- data/bridge/sdk-core/Cargo.lock +2606 -0
- data/bridge/sdk-core/Cargo.toml +2 -0
- data/bridge/sdk-core/LICENSE.txt +23 -0
- data/bridge/sdk-core/README.md +107 -0
- data/bridge/sdk-core/arch_docs/diagrams/README.md +10 -0
- data/bridge/sdk-core/arch_docs/diagrams/sticky_queues.puml +40 -0
- data/bridge/sdk-core/arch_docs/diagrams/workflow_internals.svg +1 -0
- data/bridge/sdk-core/arch_docs/sticky_queues.md +51 -0
- data/bridge/sdk-core/bridge-ffi/Cargo.toml +24 -0
- data/bridge/sdk-core/bridge-ffi/LICENSE.txt +23 -0
- data/bridge/sdk-core/bridge-ffi/build.rs +25 -0
- data/bridge/sdk-core/bridge-ffi/include/sdk-core-bridge.h +249 -0
- data/bridge/sdk-core/bridge-ffi/src/lib.rs +825 -0
- data/bridge/sdk-core/bridge-ffi/src/wrappers.rs +211 -0
- data/bridge/sdk-core/client/Cargo.toml +40 -0
- data/bridge/sdk-core/client/LICENSE.txt +23 -0
- data/bridge/sdk-core/client/src/lib.rs +1294 -0
- data/bridge/sdk-core/client/src/metrics.rs +165 -0
- data/bridge/sdk-core/client/src/raw.rs +931 -0
- data/bridge/sdk-core/client/src/retry.rs +674 -0
- data/bridge/sdk-core/client/src/workflow_handle/mod.rs +185 -0
- data/bridge/sdk-core/core/Cargo.toml +116 -0
- data/bridge/sdk-core/core/LICENSE.txt +23 -0
- data/bridge/sdk-core/core/benches/workflow_replay.rs +73 -0
- data/bridge/sdk-core/core/src/abstractions.rs +166 -0
- data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +911 -0
- data/bridge/sdk-core/core/src/core_tests/child_workflows.rs +221 -0
- data/bridge/sdk-core/core/src/core_tests/determinism.rs +107 -0
- data/bridge/sdk-core/core/src/core_tests/local_activities.rs +515 -0
- data/bridge/sdk-core/core/src/core_tests/mod.rs +100 -0
- data/bridge/sdk-core/core/src/core_tests/queries.rs +736 -0
- data/bridge/sdk-core/core/src/core_tests/replay_flag.rs +65 -0
- data/bridge/sdk-core/core/src/core_tests/workers.rs +259 -0
- data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +124 -0
- data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +2070 -0
- data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +515 -0
- data/bridge/sdk-core/core/src/lib.rs +175 -0
- data/bridge/sdk-core/core/src/log_export.rs +62 -0
- data/bridge/sdk-core/core/src/pollers/mod.rs +54 -0
- data/bridge/sdk-core/core/src/pollers/poll_buffer.rs +297 -0
- data/bridge/sdk-core/core/src/protosext/mod.rs +428 -0
- data/bridge/sdk-core/core/src/replay/mod.rs +71 -0
- data/bridge/sdk-core/core/src/retry_logic.rs +202 -0
- data/bridge/sdk-core/core/src/telemetry/metrics.rs +383 -0
- data/bridge/sdk-core/core/src/telemetry/mod.rs +412 -0
- data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +77 -0
- data/bridge/sdk-core/core/src/test_help/mod.rs +875 -0
- data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +580 -0
- data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +1042 -0
- data/bridge/sdk-core/core/src/worker/activities.rs +464 -0
- data/bridge/sdk-core/core/src/worker/client/mocks.rs +87 -0
- data/bridge/sdk-core/core/src/worker/client.rs +347 -0
- data/bridge/sdk-core/core/src/worker/mod.rs +566 -0
- data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +37 -0
- data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +110 -0
- data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +458 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +911 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +298 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +171 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +860 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +140 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +161 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +133 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +1448 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +342 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/mutable_side_effect_state_machine.rs +127 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +712 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/side_effect_state_machine.rs +71 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +443 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +439 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +169 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +246 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +96 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +1184 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +277 -0
- data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +198 -0
- data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +647 -0
- data/bridge/sdk-core/core/src/worker/workflow/mod.rs +1143 -0
- data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +145 -0
- data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +88 -0
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +940 -0
- data/bridge/sdk-core/core-api/Cargo.toml +31 -0
- data/bridge/sdk-core/core-api/LICENSE.txt +23 -0
- data/bridge/sdk-core/core-api/src/errors.rs +95 -0
- data/bridge/sdk-core/core-api/src/lib.rs +151 -0
- data/bridge/sdk-core/core-api/src/worker.rs +135 -0
- data/bridge/sdk-core/etc/deps.svg +187 -0
- data/bridge/sdk-core/etc/dynamic-config.yaml +2 -0
- data/bridge/sdk-core/etc/otel-collector-config.yaml +36 -0
- data/bridge/sdk-core/etc/prometheus.yaml +6 -0
- data/bridge/sdk-core/fsm/Cargo.toml +18 -0
- data/bridge/sdk-core/fsm/LICENSE.txt +23 -0
- data/bridge/sdk-core/fsm/README.md +3 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +27 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/LICENSE.txt +23 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +647 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/progress.rs +8 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.rs +18 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.stderr +12 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dynamic_dest_pass.rs +41 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.rs +14 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.stderr +11 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_arg_pass.rs +32 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_pass.rs +31 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/medium_complex_pass.rs +46 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.rs +29 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +12 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/simple_pass.rs +32 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.rs +18 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.stderr +5 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.rs +11 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.stderr +5 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.rs +11 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.stderr +5 -0
- data/bridge/sdk-core/fsm/rustfsm_trait/Cargo.toml +14 -0
- data/bridge/sdk-core/fsm/rustfsm_trait/LICENSE.txt +23 -0
- data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +249 -0
- data/bridge/sdk-core/fsm/src/lib.rs +2 -0
- data/bridge/sdk-core/histories/fail_wf_task.bin +0 -0
- data/bridge/sdk-core/histories/timer_workflow_history.bin +0 -0
- data/bridge/sdk-core/integ-with-otel.sh +7 -0
- data/bridge/sdk-core/protos/api_upstream/README.md +9 -0
- data/bridge/sdk-core/protos/api_upstream/api-linter.yaml +40 -0
- data/bridge/sdk-core/protos/api_upstream/buf.yaml +12 -0
- data/bridge/sdk-core/protos/api_upstream/dependencies/gogoproto/gogo.proto +141 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +86 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/cluster/v1/message.proto +83 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +259 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +112 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +46 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/cluster.proto +40 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +57 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +55 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +168 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +97 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +51 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +50 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +41 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +60 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +59 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +51 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +122 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +108 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +114 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +56 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +751 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +97 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +161 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +99 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +61 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +55 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +300 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +108 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +46 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +59 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +145 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +1124 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +401 -0
- data/bridge/sdk-core/protos/grpc/health/v1/health.proto +63 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +78 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +79 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/bridge/bridge.proto +210 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +77 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +15 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +30 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +30 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +261 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +297 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +29 -0
- data/bridge/sdk-core/protos/testsrv_upstream/api-linter.yaml +38 -0
- data/bridge/sdk-core/protos/testsrv_upstream/buf.yaml +13 -0
- data/bridge/sdk-core/protos/testsrv_upstream/dependencies/gogoproto/gogo.proto +141 -0
- data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +63 -0
- data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +90 -0
- data/bridge/sdk-core/rustfmt.toml +1 -0
- data/bridge/sdk-core/sdk/Cargo.toml +47 -0
- data/bridge/sdk-core/sdk/LICENSE.txt +23 -0
- data/bridge/sdk-core/sdk/src/activity_context.rs +230 -0
- data/bridge/sdk-core/sdk/src/app_data.rs +37 -0
- data/bridge/sdk-core/sdk/src/conversions.rs +8 -0
- data/bridge/sdk-core/sdk/src/interceptors.rs +17 -0
- data/bridge/sdk-core/sdk/src/lib.rs +792 -0
- data/bridge/sdk-core/sdk/src/payload_converter.rs +11 -0
- data/bridge/sdk-core/sdk/src/workflow_context/options.rs +295 -0
- data/bridge/sdk-core/sdk/src/workflow_context.rs +683 -0
- data/bridge/sdk-core/sdk/src/workflow_future.rs +503 -0
- data/bridge/sdk-core/sdk-core-protos/Cargo.toml +30 -0
- data/bridge/sdk-core/sdk-core-protos/LICENSE.txt +23 -0
- data/bridge/sdk-core/sdk-core-protos/build.rs +108 -0
- data/bridge/sdk-core/sdk-core-protos/src/constants.rs +7 -0
- data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +497 -0
- data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +230 -0
- data/bridge/sdk-core/sdk-core-protos/src/lib.rs +1910 -0
- data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +38 -0
- data/bridge/sdk-core/sdk-core-protos/src/utilities.rs +14 -0
- data/bridge/sdk-core/test-utils/Cargo.toml +35 -0
- data/bridge/sdk-core/test-utils/src/canned_histories.rs +1579 -0
- data/bridge/sdk-core/test-utils/src/histfetch.rs +28 -0
- data/bridge/sdk-core/test-utils/src/lib.rs +598 -0
- data/bridge/sdk-core/tests/integ_tests/client_tests.rs +36 -0
- data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +128 -0
- data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +218 -0
- data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +146 -0
- data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +437 -0
- data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +93 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +878 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/appdata_propagation.rs +61 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +59 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +58 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +50 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +60 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +54 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +634 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +113 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +137 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +93 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +167 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +99 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +131 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +75 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +587 -0
- data/bridge/sdk-core/tests/load_tests.rs +191 -0
- data/bridge/sdk-core/tests/main.rs +111 -0
- data/bridge/sdk-core/tests/runner.rs +93 -0
- data/bridge/src/connection.rs +167 -0
- data/bridge/src/lib.rs +180 -0
- data/bridge/src/runtime.rs +47 -0
- data/bridge/src/worker.rs +73 -0
- data/ext/Rakefile +9 -0
- data/lib/bridge.so +0 -0
- data/lib/gen/dependencies/gogoproto/gogo_pb.rb +14 -0
- data/lib/gen/temporal/api/batch/v1/message_pb.rb +48 -0
- data/lib/gen/temporal/api/cluster/v1/message_pb.rb +67 -0
- data/lib/gen/temporal/api/command/v1/message_pb.rb +166 -0
- data/lib/gen/temporal/api/common/v1/message_pb.rb +69 -0
- data/lib/gen/temporal/api/enums/v1/batch_operation_pb.rb +32 -0
- data/lib/gen/temporal/api/enums/v1/cluster_pb.rb +26 -0
- data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +37 -0
- data/lib/gen/temporal/api/enums/v1/common_pb.rb +41 -0
- data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +67 -0
- data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +71 -0
- data/lib/gen/temporal/api/enums/v1/namespace_pb.rb +37 -0
- data/lib/gen/temporal/api/enums/v1/query_pb.rb +31 -0
- data/lib/gen/temporal/api/enums/v1/reset_pb.rb +24 -0
- data/lib/gen/temporal/api/enums/v1/schedule_pb.rb +28 -0
- data/lib/gen/temporal/api/enums/v1/task_queue_pb.rb +30 -0
- data/lib/gen/temporal/api/enums/v1/update_pb.rb +28 -0
- data/lib/gen/temporal/api/enums/v1/workflow_pb.rb +89 -0
- data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +84 -0
- data/lib/gen/temporal/api/failure/v1/message_pb.rb +83 -0
- data/lib/gen/temporal/api/filter/v1/message_pb.rb +40 -0
- data/lib/gen/temporal/api/history/v1/message_pb.rb +489 -0
- data/lib/gen/temporal/api/namespace/v1/message_pb.rb +63 -0
- data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +125 -0
- data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +20 -0
- data/lib/gen/temporal/api/query/v1/message_pb.rb +38 -0
- data/lib/gen/temporal/api/replication/v1/message_pb.rb +37 -0
- data/lib/gen/temporal/api/schedule/v1/message_pb.rb +128 -0
- data/lib/gen/temporal/api/taskqueue/v1/message_pb.rb +73 -0
- data/lib/gen/temporal/api/update/v1/message_pb.rb +26 -0
- data/lib/gen/temporal/api/version/v1/message_pb.rb +41 -0
- data/lib/gen/temporal/api/workflow/v1/message_pb.rb +110 -0
- data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +771 -0
- data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +20 -0
- data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +58 -0
- data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +57 -0
- data/lib/gen/temporal/sdk/core/bridge/bridge_pb.rb +222 -0
- data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +57 -0
- data/lib/gen/temporal/sdk/core/common/common_pb.rb +22 -0
- data/lib/gen/temporal/sdk/core/core_interface_pb.rb +34 -0
- data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +27 -0
- data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +164 -0
- data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +192 -0
- data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +34 -0
- data/lib/temporal/bridge.rb +14 -0
- data/lib/temporal/client/implementation.rb +339 -0
- data/lib/temporal/client/workflow_handle.rb +243 -0
- data/lib/temporal/client.rb +144 -0
- data/lib/temporal/connection.rb +736 -0
- data/lib/temporal/data_converter.rb +150 -0
- data/lib/temporal/error/failure.rb +194 -0
- data/lib/temporal/error/workflow_failure.rb +17 -0
- data/lib/temporal/errors.rb +22 -0
- data/lib/temporal/failure_converter/base.rb +26 -0
- data/lib/temporal/failure_converter/basic.rb +313 -0
- data/lib/temporal/failure_converter.rb +8 -0
- data/lib/temporal/interceptor/chain.rb +27 -0
- data/lib/temporal/interceptor/client.rb +102 -0
- data/lib/temporal/payload_codec/base.rb +32 -0
- data/lib/temporal/payload_converter/base.rb +24 -0
- data/lib/temporal/payload_converter/bytes.rb +26 -0
- data/lib/temporal/payload_converter/composite.rb +47 -0
- data/lib/temporal/payload_converter/encoding_base.rb +35 -0
- data/lib/temporal/payload_converter/json.rb +25 -0
- data/lib/temporal/payload_converter/nil.rb +25 -0
- data/lib/temporal/payload_converter.rb +14 -0
- data/lib/temporal/retry_policy.rb +82 -0
- data/lib/temporal/retry_state.rb +35 -0
- data/lib/temporal/runtime.rb +22 -0
- data/lib/temporal/timeout_type.rb +29 -0
- data/lib/temporal/version.rb +3 -0
- data/lib/temporal/workflow/execution_info.rb +54 -0
- data/lib/temporal/workflow/execution_status.rb +36 -0
- data/lib/temporal/workflow/id_reuse_policy.rb +36 -0
- data/lib/temporal/workflow/query_reject_condition.rb +33 -0
- data/lib/temporal.rb +8 -0
- data/lib/temporalio.rb +3 -0
- data/lib/thermite_patch.rb +23 -0
- data/temporalio.gemspec +41 -0
- metadata +583 -0
data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto
ADDED
@@ -0,0 +1,1124 @@
|
|
1
|
+
// The MIT License
|
2
|
+
//
|
3
|
+
// Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
|
4
|
+
//
|
5
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
// of this software and associated documentation files (the "Software"), to deal
|
7
|
+
// in the Software without restriction, including without limitation the rights
|
8
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
// copies of the Software, and to permit persons to whom the Software is
|
10
|
+
// furnished to do so, subject to the following conditions:
|
11
|
+
//
|
12
|
+
// The above copyright notice and this permission notice shall be included in
|
13
|
+
// all copies or substantial portions of the Software.
|
14
|
+
//
|
15
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
// THE SOFTWARE.
|
22
|
+
|
23
|
+
syntax = "proto3";
|
24
|
+
|
25
|
+
package temporal.api.workflowservice.v1;
|
26
|
+
|
27
|
+
option go_package = "go.temporal.io/api/workflowservice/v1;workflowservice";
|
28
|
+
option java_package = "io.temporal.api.workflowservice.v1";
|
29
|
+
option java_multiple_files = true;
|
30
|
+
option java_outer_classname = "RequestResponseProto";
|
31
|
+
option ruby_package = "Temporal::Api::WorkflowService::V1";
|
32
|
+
option csharp_namespace = "Temporal.Api.WorkflowService.V1";
|
33
|
+
|
34
|
+
import "temporal/api/enums/v1/batch_operation.proto";
|
35
|
+
import "temporal/api/enums/v1/workflow.proto";
|
36
|
+
import "temporal/api/enums/v1/namespace.proto";
|
37
|
+
import "temporal/api/enums/v1/failed_cause.proto";
|
38
|
+
import "temporal/api/enums/v1/common.proto";
|
39
|
+
import "temporal/api/enums/v1/query.proto";
|
40
|
+
import "temporal/api/enums/v1/reset.proto";
|
41
|
+
import "temporal/api/enums/v1/task_queue.proto";
|
42
|
+
import "temporal/api/enums/v1/update.proto";
|
43
|
+
import "temporal/api/common/v1/message.proto";
|
44
|
+
import "temporal/api/history/v1/message.proto";
|
45
|
+
import "temporal/api/workflow/v1/message.proto";
|
46
|
+
import "temporal/api/command/v1/message.proto";
|
47
|
+
import "temporal/api/failure/v1/message.proto";
|
48
|
+
import "temporal/api/filter/v1/message.proto";
|
49
|
+
import "temporal/api/namespace/v1/message.proto";
|
50
|
+
import "temporal/api/query/v1/message.proto";
|
51
|
+
import "temporal/api/replication/v1/message.proto";
|
52
|
+
import "temporal/api/schedule/v1/message.proto";
|
53
|
+
import "temporal/api/taskqueue/v1/message.proto";
|
54
|
+
import "temporal/api/update/v1/message.proto";
|
55
|
+
import "temporal/api/version/v1/message.proto";
|
56
|
+
import "temporal/api/batch/v1/message.proto";
|
57
|
+
|
58
|
+
import "google/protobuf/duration.proto";
|
59
|
+
import "google/protobuf/timestamp.proto";
|
60
|
+
|
61
|
+
import "dependencies/gogoproto/gogo.proto";
|
62
|
+
|
63
|
+
message RegisterNamespaceRequest {
|
64
|
+
string namespace = 1;
|
65
|
+
string description = 2;
|
66
|
+
string owner_email = 3;
|
67
|
+
google.protobuf.Duration workflow_execution_retention_period = 4 [(gogoproto.stdduration) = true];
|
68
|
+
repeated temporal.api.replication.v1.ClusterReplicationConfig clusters = 5;
|
69
|
+
string active_cluster_name = 6;
|
70
|
+
// A key-value map for any customized purpose.
|
71
|
+
map<string, string> data = 7;
|
72
|
+
string security_token = 8;
|
73
|
+
bool is_global_namespace = 9;
|
74
|
+
// If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.
|
75
|
+
temporal.api.enums.v1.ArchivalState history_archival_state = 10;
|
76
|
+
string history_archival_uri = 11;
|
77
|
+
// If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.
|
78
|
+
temporal.api.enums.v1.ArchivalState visibility_archival_state = 12;
|
79
|
+
string visibility_archival_uri = 13;
|
80
|
+
}
|
81
|
+
|
82
|
+
message RegisterNamespaceResponse {
|
83
|
+
}
|
84
|
+
|
85
|
+
message ListNamespacesRequest {
|
86
|
+
int32 page_size = 1;
|
87
|
+
bytes next_page_token = 2;
|
88
|
+
temporal.api.namespace.v1.NamespaceFilter namespace_filter = 3;
|
89
|
+
}
|
90
|
+
|
91
|
+
message ListNamespacesResponse {
|
92
|
+
repeated DescribeNamespaceResponse namespaces = 1;
|
93
|
+
bytes next_page_token = 2;
|
94
|
+
}
|
95
|
+
|
96
|
+
message DescribeNamespaceRequest {
|
97
|
+
string namespace = 1;
|
98
|
+
string id = 2;
|
99
|
+
}
|
100
|
+
|
101
|
+
message DescribeNamespaceResponse {
|
102
|
+
temporal.api.namespace.v1.NamespaceInfo namespace_info = 1;
|
103
|
+
temporal.api.namespace.v1.NamespaceConfig config = 2;
|
104
|
+
temporal.api.replication.v1.NamespaceReplicationConfig replication_config = 3;
|
105
|
+
int64 failover_version = 4;
|
106
|
+
bool is_global_namespace = 5;
|
107
|
+
// Contains the historical state of failover_versions for the cluster, truncated to contain only the last N
|
108
|
+
// states to ensure that the list does not grow unbounded.
|
109
|
+
repeated temporal.api.replication.v1.FailoverStatus failover_history = 6;
|
110
|
+
}
|
111
|
+
|
112
|
+
// (-- api-linter: core::0134::request-mask-required=disabled
|
113
|
+
// aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)
|
114
|
+
// (-- api-linter: core::0134::request-resource-required=disabled
|
115
|
+
// aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)
|
116
|
+
message UpdateNamespaceRequest {
|
117
|
+
string namespace = 1;
|
118
|
+
temporal.api.namespace.v1.UpdateNamespaceInfo update_info = 2;
|
119
|
+
temporal.api.namespace.v1.NamespaceConfig config = 3;
|
120
|
+
temporal.api.replication.v1.NamespaceReplicationConfig replication_config = 4;
|
121
|
+
string security_token = 5;
|
122
|
+
string delete_bad_binary = 6;
|
123
|
+
// promote local namespace to global namespace. Ignored if namespace is already global namespace.
|
124
|
+
bool promote_namespace = 7;
|
125
|
+
}
|
126
|
+
|
127
|
+
message UpdateNamespaceResponse {
|
128
|
+
temporal.api.namespace.v1.NamespaceInfo namespace_info = 1;
|
129
|
+
temporal.api.namespace.v1.NamespaceConfig config = 2;
|
130
|
+
temporal.api.replication.v1.NamespaceReplicationConfig replication_config = 3;
|
131
|
+
int64 failover_version = 4;
|
132
|
+
bool is_global_namespace = 5;
|
133
|
+
}
|
134
|
+
|
135
|
+
// Deprecated.
|
136
|
+
message DeprecateNamespaceRequest {
|
137
|
+
string namespace = 1;
|
138
|
+
string security_token = 2;
|
139
|
+
}
|
140
|
+
|
141
|
+
// Deprecated.
|
142
|
+
message DeprecateNamespaceResponse {
|
143
|
+
}
|
144
|
+
|
145
|
+
message StartWorkflowExecutionRequest {
|
146
|
+
string namespace = 1;
|
147
|
+
string workflow_id = 2;
|
148
|
+
temporal.api.common.v1.WorkflowType workflow_type = 3;
|
149
|
+
temporal.api.taskqueue.v1.TaskQueue task_queue = 4;
|
150
|
+
// Serialized arguments to the workflow. These are passed as arguments to the workflow function.
|
151
|
+
temporal.api.common.v1.Payloads input = 5;
|
152
|
+
// Total workflow execution timeout including retries and continue as new.
|
153
|
+
google.protobuf.Duration workflow_execution_timeout = 6 [(gogoproto.stdduration) = true];
|
154
|
+
// Timeout of a single workflow run.
|
155
|
+
google.protobuf.Duration workflow_run_timeout = 7 [(gogoproto.stdduration) = true];
|
156
|
+
// Timeout of a single workflow task.
|
157
|
+
google.protobuf.Duration workflow_task_timeout = 8 [(gogoproto.stdduration) = true];
|
158
|
+
// The identity of the client who initiated this request
|
159
|
+
string identity = 9;
|
160
|
+
// A unique identifier for this start request. Typically UUIDv4.
|
161
|
+
string request_id = 10;
|
162
|
+
// Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.
|
163
|
+
temporal.api.enums.v1.WorkflowIdReusePolicy workflow_id_reuse_policy = 11;
|
164
|
+
// The retry policy for the workflow. Will never exceed `workflow_execution_timeout`.
|
165
|
+
temporal.api.common.v1.RetryPolicy retry_policy = 12;
|
166
|
+
// See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/
|
167
|
+
string cron_schedule = 13;
|
168
|
+
temporal.api.common.v1.Memo memo = 14;
|
169
|
+
temporal.api.common.v1.SearchAttributes search_attributes = 15;
|
170
|
+
temporal.api.common.v1.Header header = 16;
|
171
|
+
}
|
172
|
+
|
173
|
+
message StartWorkflowExecutionResponse {
|
174
|
+
string run_id = 1;
|
175
|
+
}
|
176
|
+
|
177
|
+
message GetWorkflowExecutionHistoryRequest {
|
178
|
+
string namespace = 1;
|
179
|
+
temporal.api.common.v1.WorkflowExecution execution = 2;
|
180
|
+
int32 maximum_page_size = 3;
|
181
|
+
// If a `GetWorkflowExecutionHistoryResponse` or a `PollWorkflowTaskQueueResponse` had one of
|
182
|
+
// these, it should be passed here to fetch the next page.
|
183
|
+
bytes next_page_token = 4;
|
184
|
+
// If set to true, the RPC call will not resolve until there is a new event which matches
|
185
|
+
// the `history_event_filter_type`, or a timeout is hit.
|
186
|
+
bool wait_new_event = 5;
|
187
|
+
// Filter returned events such that they match the specified filter type.
|
188
|
+
// Default: HISTORY_EVENT_FILTER_TYPE_ALL_EVENT.
|
189
|
+
temporal.api.enums.v1.HistoryEventFilterType history_event_filter_type = 6;
|
190
|
+
bool skip_archival = 7;
|
191
|
+
}
|
192
|
+
|
193
|
+
message GetWorkflowExecutionHistoryResponse {
|
194
|
+
temporal.api.history.v1.History history = 1;
|
195
|
+
// Raw history is an alternate representation of history that may be returned if configured on
|
196
|
+
// the frontend. This is not supported by all SDKs. Either this or `history` will be set.
|
197
|
+
repeated temporal.api.common.v1.DataBlob raw_history = 2;
|
198
|
+
// Will be set if there are more history events than were included in this response
|
199
|
+
bytes next_page_token = 3;
|
200
|
+
bool archived = 4;
|
201
|
+
}
|
202
|
+
|
203
|
+
message GetWorkflowExecutionHistoryReverseRequest {
|
204
|
+
string namespace = 1;
|
205
|
+
temporal.api.common.v1.WorkflowExecution execution = 2;
|
206
|
+
int32 maximum_page_size = 3;
|
207
|
+
bytes next_page_token = 4;
|
208
|
+
}
|
209
|
+
|
210
|
+
message GetWorkflowExecutionHistoryReverseResponse {
|
211
|
+
temporal.api.history.v1.History history = 1;
|
212
|
+
// Will be set if there are more history events than were included in this response
|
213
|
+
bytes next_page_token = 3;
|
214
|
+
}
|
215
|
+
|
216
|
+
message PollWorkflowTaskQueueRequest {
|
217
|
+
string namespace = 1;
|
218
|
+
temporal.api.taskqueue.v1.TaskQueue task_queue = 2;
|
219
|
+
// The identity of the worker/client who is polling this task queue
|
220
|
+
string identity = 3;
|
221
|
+
// Each worker process should provide an ID unique to the specific set of code it is running
|
222
|
+
// "checksum" in this field name isn't very accurate, it should be though of as an id.
|
223
|
+
string binary_checksum = 4;
|
224
|
+
// If set, the worker is opting in to build-id based versioning and wishes to only
|
225
|
+
// receive tasks that are considered compatible with the version provided in the string.
|
226
|
+
// Doing so only makes sense in conjunction with the `UpdateWorkerBuildIdOrdering` API.
|
227
|
+
// When set, and `binary_checksum` is not, this value should also be considered as the
|
228
|
+
// `binary_checksum`.
|
229
|
+
string worker_versioning_build_id = 5;
|
230
|
+
}
|
231
|
+
|
232
|
+
message PollWorkflowTaskQueueResponse {
|
233
|
+
// A unique identifier for this task
|
234
|
+
bytes task_token = 1;
|
235
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 2;
|
236
|
+
temporal.api.common.v1.WorkflowType workflow_type = 3;
|
237
|
+
// The last workflow task started event which was processed by some worker for this execution.
|
238
|
+
// Will be zero if no task has ever started.
|
239
|
+
int64 previous_started_event_id = 4;
|
240
|
+
// The id of the most recent workflow task started event, which will have been generated as a
|
241
|
+
// result of this poll request being served.
|
242
|
+
int64 started_event_id = 5;
|
243
|
+
// Starting at 1, the number of attempts to complete this task by any worker.
|
244
|
+
int32 attempt = 6;
|
245
|
+
// A hint that there are more tasks already present in this task queue. Can be used to
|
246
|
+
// prioritize draining a sticky queue before polling from a normal queue.
|
247
|
+
int64 backlog_count_hint = 7;
|
248
|
+
// The history for this workflow, which will either be complete or partial. Partial histories
|
249
|
+
// are sent to workers who have signaled that they are using a sticky queue when completing
|
250
|
+
// a workflow task.
|
251
|
+
temporal.api.history.v1.History history = 8;
|
252
|
+
// Will be set if there are more history events than were included in this response. Such events
|
253
|
+
// should be fetched via `GetWorkflowExecutionHistory`.
|
254
|
+
bytes next_page_token = 9;
|
255
|
+
// Legacy queries appear in this field. The query must be responded to via
|
256
|
+
// `RespondQueryTaskCompleted`. If the workflow is already closed (queries are permitted on
|
257
|
+
// closed workflows) then the `history` field will be populated with the entire history. It
|
258
|
+
// may also be populated if this task originates on a non-sticky queue.
|
259
|
+
temporal.api.query.v1.WorkflowQuery query = 10;
|
260
|
+
// The task queue this task originated from, which will always be the original non-sticky name
|
261
|
+
// for the queue, even if this response came from polling a sticky queue.
|
262
|
+
temporal.api.taskqueue.v1.TaskQueue workflow_execution_task_queue = 11;
|
263
|
+
// When this task was scheduled by the server
|
264
|
+
google.protobuf.Timestamp scheduled_time = 12 [(gogoproto.stdtime) = true];
|
265
|
+
// When the current workflow task started event was generated, meaning the current attempt.
|
266
|
+
google.protobuf.Timestamp started_time = 13 [(gogoproto.stdtime) = true];
|
267
|
+
// Queries that should be executed after applying the history in this task. Responses should be
|
268
|
+
// attached to `RespondWorkflowTaskCompletedRequest::query_results`
|
269
|
+
map<string, temporal.api.query.v1.WorkflowQuery> queries = 14;
|
270
|
+
}
|
271
|
+
|
272
|
+
message RespondWorkflowTaskCompletedRequest {
|
273
|
+
// The task token as received in `PollWorkflowTaskQueueResponse`
|
274
|
+
bytes task_token = 1;
|
275
|
+
// A list of commands generated when driving the workflow code in response to the new task
|
276
|
+
repeated temporal.api.command.v1.Command commands = 2;
|
277
|
+
// The identity of the worker/client
|
278
|
+
string identity = 3;
|
279
|
+
// May be set by workers to indicate that the worker desires future tasks to be provided with
|
280
|
+
// incremental history on a sticky queue.
|
281
|
+
temporal.api.taskqueue.v1.StickyExecutionAttributes sticky_attributes = 4;
|
282
|
+
// If set, the worker wishes to immediately receive the next workflow task as a response to
|
283
|
+
// this completion. This can save on polling round-trips.
|
284
|
+
bool return_new_workflow_task = 5;
|
285
|
+
// Can be used to *force* creation of a new workflow task, even if no commands have resolved or
|
286
|
+
// one would not otherwise have been generated. This is used when the worker knows it is doing
|
287
|
+
// something useful, but cannot complete it within the workflow task timeout. Local activities
|
288
|
+
// which run for longer than the task timeout being the prime example.
|
289
|
+
bool force_create_new_workflow_task = 6;
|
290
|
+
// Worker process' unique binary id
|
291
|
+
string binary_checksum = 7;
|
292
|
+
// Responses to the `queries` field in the task being responded to
|
293
|
+
map<string, temporal.api.query.v1.WorkflowQueryResult> query_results = 8;
|
294
|
+
string namespace = 9;
|
295
|
+
}
|
296
|
+
|
297
|
+
message RespondWorkflowTaskCompletedResponse {
|
298
|
+
// See `RespondWorkflowTaskCompletedResponse::return_new_workflow_task`
|
299
|
+
PollWorkflowTaskQueueResponse workflow_task = 1;
|
300
|
+
// See `ScheduleActivityTaskCommandAttributes::request_start`
|
301
|
+
repeated PollActivityTaskQueueResponse activity_tasks = 2;
|
302
|
+
}
|
303
|
+
|
304
|
+
message RespondWorkflowTaskFailedRequest {
|
305
|
+
// The task token as received in `PollWorkflowTaskQueueResponse`
|
306
|
+
bytes task_token = 1;
|
307
|
+
// Why did the task fail? It's important to note that many of the variants in this enum cannot
|
308
|
+
// apply to worker responses. See the type's doc for more.
|
309
|
+
temporal.api.enums.v1.WorkflowTaskFailedCause cause = 2;
|
310
|
+
// Failure details
|
311
|
+
temporal.api.failure.v1.Failure failure = 3;
|
312
|
+
// The identity of the worker/client
|
313
|
+
string identity = 4;
|
314
|
+
// Worker process' unique binary id
|
315
|
+
string binary_checksum = 5;
|
316
|
+
string namespace = 6;
|
317
|
+
}
|
318
|
+
|
319
|
+
message RespondWorkflowTaskFailedResponse {
|
320
|
+
}
|
321
|
+
|
322
|
+
message PollActivityTaskQueueRequest {
|
323
|
+
string namespace = 1;
|
324
|
+
temporal.api.taskqueue.v1.TaskQueue task_queue = 2;
|
325
|
+
// The identity of the worker/client
|
326
|
+
string identity = 3;
|
327
|
+
temporal.api.taskqueue.v1.TaskQueueMetadata task_queue_metadata = 4;
|
328
|
+
// If set, the worker is opting in to build-id based versioning and wishes to only
|
329
|
+
// receive tasks that are considered compatible with the version provided in the string.
|
330
|
+
// Doing so only makes sense in conjunction with the `UpdateWorkerBuildIdOrdering` API.
|
331
|
+
string worker_versioning_build_id = 5;
|
332
|
+
}
|
333
|
+
|
334
|
+
message PollActivityTaskQueueResponse {
|
335
|
+
// A unique identifier for this task
|
336
|
+
bytes task_token = 1;
|
337
|
+
// The namespace the workflow which requested this activity lives in
|
338
|
+
string workflow_namespace = 2;
|
339
|
+
// Type of the requesting workflow
|
340
|
+
temporal.api.common.v1.WorkflowType workflow_type = 3;
|
341
|
+
// Execution info of the requesting workflow
|
342
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 4;
|
343
|
+
temporal.api.common.v1.ActivityType activity_type = 5;
|
344
|
+
// The autogenerated or user specified identifier of this activity. Can be used to complete the
|
345
|
+
// activity via `RespondActivityTaskCompletedById`. May be re-used as long as the last usage
|
346
|
+
// has resolved, but unique IDs for every activity invocation is a good idea.
|
347
|
+
string activity_id = 6;
|
348
|
+
// Headers specified by the scheduling workflow. Commonly used to propagate contextual info
|
349
|
+
// from the workflow to its activities. For example, tracing contexts.
|
350
|
+
temporal.api.common.v1.Header header = 7;
|
351
|
+
// Arguments to the activity invocation
|
352
|
+
temporal.api.common.v1.Payloads input = 8;
|
353
|
+
// Details of the last heartbeat that was recorded for this activity as of the time this task
|
354
|
+
// was delivered.
|
355
|
+
temporal.api.common.v1.Payloads heartbeat_details = 9;
|
356
|
+
// When was this task first scheduled
|
357
|
+
google.protobuf.Timestamp scheduled_time = 10 [(gogoproto.stdtime) = true];
|
358
|
+
// When was this task attempt scheduled
|
359
|
+
google.protobuf.Timestamp current_attempt_scheduled_time = 11 [(gogoproto.stdtime) = true];
|
360
|
+
// When was this task started (this attempt)
|
361
|
+
google.protobuf.Timestamp started_time = 12 [(gogoproto.stdtime) = true];
|
362
|
+
// Starting at 1, the number of attempts to perform this activity
|
363
|
+
int32 attempt = 13;
|
364
|
+
// First scheduled -> final result reported timeout
|
365
|
+
//
|
366
|
+
// (-- api-linter: core::0140::prepositions=disabled
|
367
|
+
// aip.dev/not-precedent: "to" is used to indicate interval. --)
|
368
|
+
google.protobuf.Duration schedule_to_close_timeout = 14 [(gogoproto.stdduration) = true];
|
369
|
+
// Current attempt start -> final result reported timeout
|
370
|
+
//
|
371
|
+
// (-- api-linter: core::0140::prepositions=disabled
|
372
|
+
// aip.dev/not-precedent: "to" is used to indicate interval. --)
|
373
|
+
google.protobuf.Duration start_to_close_timeout = 15 [(gogoproto.stdduration) = true];
|
374
|
+
// Window within which the activity must report a heartbeat, or be timed out.
|
375
|
+
google.protobuf.Duration heartbeat_timeout = 16 [(gogoproto.stdduration) = true];
|
376
|
+
// This is the retry policy the service uses which may be different from the one provided
|
377
|
+
// (or not) during activity scheduling. The service can override the provided one if some
|
378
|
+
// values are not specified or exceed configured system limits.
|
379
|
+
temporal.api.common.v1.RetryPolicy retry_policy = 17;
|
380
|
+
}
|
381
|
+
|
382
|
+
message RecordActivityTaskHeartbeatRequest {
|
383
|
+
// The task token as received in `PollActivityTaskQueueResponse`
|
384
|
+
bytes task_token = 1;
|
385
|
+
// Arbitrary data, of which the most recent call is kept, to store for this activity
|
386
|
+
temporal.api.common.v1.Payloads details = 2;
|
387
|
+
// The identity of the worker/client
|
388
|
+
string identity = 3;
|
389
|
+
string namespace = 4;
|
390
|
+
}
|
391
|
+
|
392
|
+
message RecordActivityTaskHeartbeatResponse {
|
393
|
+
// Will be set to true if the activity has been asked to cancel itself. The SDK should then
|
394
|
+
// notify the activity of cancellation if it is still running.
|
395
|
+
bool cancel_requested = 1;
|
396
|
+
}
|
397
|
+
|
398
|
+
message RecordActivityTaskHeartbeatByIdRequest {
|
399
|
+
// Namespace of the workflow which scheduled this activity
|
400
|
+
string namespace = 1;
|
401
|
+
// Id of the workflow which scheduled this activity
|
402
|
+
string workflow_id = 2;
|
403
|
+
// Run Id of the workflow which scheduled this activity
|
404
|
+
string run_id = 3;
|
405
|
+
// Id of the activity we're heartbeating
|
406
|
+
string activity_id = 4;
|
407
|
+
// Arbitrary data, of which the most recent call is kept, to store for this activity
|
408
|
+
temporal.api.common.v1.Payloads details = 5;
|
409
|
+
// The identity of the worker/client
|
410
|
+
string identity = 6;
|
411
|
+
}
|
412
|
+
|
413
|
+
message RecordActivityTaskHeartbeatByIdResponse {
|
414
|
+
// Will be set to true if the activity has been asked to cancel itself. The SDK should then
|
415
|
+
// notify the activity of cancellation if it is still running.
|
416
|
+
bool cancel_requested = 1;
|
417
|
+
}
|
418
|
+
|
419
|
+
message RespondActivityTaskCompletedRequest {
|
420
|
+
// The task token as received in `PollActivityTaskQueueResponse`
|
421
|
+
bytes task_token = 1;
|
422
|
+
// The result of successfully executing the activity
|
423
|
+
temporal.api.common.v1.Payloads result = 2;
|
424
|
+
// The identity of the worker/client
|
425
|
+
string identity = 3;
|
426
|
+
string namespace = 4;
|
427
|
+
}
|
428
|
+
|
429
|
+
message RespondActivityTaskCompletedResponse {
|
430
|
+
}
|
431
|
+
|
432
|
+
message RespondActivityTaskCompletedByIdRequest {
|
433
|
+
// Namespace of the workflow which scheduled this activity
|
434
|
+
string namespace = 1;
|
435
|
+
// Id of the workflow which scheduled this activity
|
436
|
+
string workflow_id = 2;
|
437
|
+
// Run Id of the workflow which scheduled this activity
|
438
|
+
string run_id = 3;
|
439
|
+
// Id of the activity to complete
|
440
|
+
string activity_id = 4;
|
441
|
+
// The serialized result of activity execution
|
442
|
+
temporal.api.common.v1.Payloads result = 5;
|
443
|
+
// The identity of the worker/client
|
444
|
+
string identity = 6;
|
445
|
+
}
|
446
|
+
|
447
|
+
message RespondActivityTaskCompletedByIdResponse {
|
448
|
+
}
|
449
|
+
|
450
|
+
message RespondActivityTaskFailedRequest {
|
451
|
+
// The task token as received in `PollActivityTaskQueueResponse`
|
452
|
+
bytes task_token = 1;
|
453
|
+
// Detailed failure information
|
454
|
+
temporal.api.failure.v1.Failure failure = 2;
|
455
|
+
// The identity of the worker/client
|
456
|
+
string identity = 3;
|
457
|
+
string namespace = 4;
|
458
|
+
// Additional details to be stored as last activity heartbeat
|
459
|
+
temporal.api.common.v1.Payloads last_heartbeat_details = 5;
|
460
|
+
}
|
461
|
+
|
462
|
+
message RespondActivityTaskFailedResponse {
|
463
|
+
// Server validation failures could include
|
464
|
+
// last_heartbeat_details payload is too large, request failure is too large
|
465
|
+
repeated temporal.api.failure.v1.Failure failures = 1;
|
466
|
+
}
|
467
|
+
|
468
|
+
message RespondActivityTaskFailedByIdRequest {
|
469
|
+
// Namespace of the workflow which scheduled this activity
|
470
|
+
string namespace = 1;
|
471
|
+
// Id of the workflow which scheduled this activity
|
472
|
+
string workflow_id = 2;
|
473
|
+
// Run Id of the workflow which scheduled this activity
|
474
|
+
string run_id = 3;
|
475
|
+
// Id of the activity to fail
|
476
|
+
string activity_id = 4;
|
477
|
+
// Detailed failure information
|
478
|
+
temporal.api.failure.v1.Failure failure = 5;
|
479
|
+
// The identity of the worker/client
|
480
|
+
string identity = 6;
|
481
|
+
// Additional details to be stored as last activity heartbeat
|
482
|
+
temporal.api.common.v1.Payloads last_heartbeat_details = 7;
|
483
|
+
}
|
484
|
+
|
485
|
+
message RespondActivityTaskFailedByIdResponse {
|
486
|
+
// Server validation failures could include
|
487
|
+
// last_heartbeat_details payload is too large, request failure is too large
|
488
|
+
repeated temporal.api.failure.v1.Failure failures = 1;
|
489
|
+
}
|
490
|
+
|
491
|
+
message RespondActivityTaskCanceledRequest {
|
492
|
+
// The task token as received in `PollActivityTaskQueueResponse`
|
493
|
+
bytes task_token = 1;
|
494
|
+
// Serialized additional information to attach to the cancellation
|
495
|
+
temporal.api.common.v1.Payloads details = 2;
|
496
|
+
// The identity of the worker/client
|
497
|
+
string identity = 3;
|
498
|
+
string namespace = 4;
|
499
|
+
}
|
500
|
+
|
501
|
+
message RespondActivityTaskCanceledResponse {
|
502
|
+
}
|
503
|
+
|
504
|
+
message RespondActivityTaskCanceledByIdRequest {
|
505
|
+
// Namespace of the workflow which scheduled this activity
|
506
|
+
string namespace = 1;
|
507
|
+
// Id of the workflow which scheduled this activity
|
508
|
+
string workflow_id = 2;
|
509
|
+
// Run Id of the workflow which scheduled this activity
|
510
|
+
string run_id = 3;
|
511
|
+
// Id of the activity to confirm is cancelled
|
512
|
+
string activity_id = 4;
|
513
|
+
// Serialized additional information to attach to the cancellation
|
514
|
+
temporal.api.common.v1.Payloads details = 5;
|
515
|
+
// The identity of the worker/client
|
516
|
+
string identity = 6;
|
517
|
+
}
|
518
|
+
|
519
|
+
message RespondActivityTaskCanceledByIdResponse {
|
520
|
+
}
|
521
|
+
|
522
|
+
message RequestCancelWorkflowExecutionRequest {
|
523
|
+
string namespace = 1;
|
524
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 2;
|
525
|
+
// The identity of the worker/client
|
526
|
+
string identity = 3;
|
527
|
+
// Used to de-dupe cancellation requests
|
528
|
+
string request_id = 4;
|
529
|
+
// If set, this call will error if the most recent (if no run id is set on
|
530
|
+
// `workflow_execution`), or specified (if it is) workflow execution is not part of the same
|
531
|
+
// execution chain as this id.
|
532
|
+
string first_execution_run_id = 5;
|
533
|
+
// Reason for requesting the cancellation
|
534
|
+
string reason = 6;
|
535
|
+
}
|
536
|
+
|
537
|
+
message RequestCancelWorkflowExecutionResponse {
|
538
|
+
}
|
539
|
+
|
540
|
+
message SignalWorkflowExecutionRequest {
|
541
|
+
string namespace = 1;
|
542
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 2;
|
543
|
+
// The workflow author-defined name of the signal to send to the workflow
|
544
|
+
string signal_name = 3;
|
545
|
+
// Serialized value(s) to provide with the signal
|
546
|
+
temporal.api.common.v1.Payloads input = 4;
|
547
|
+
// The identity of the worker/client
|
548
|
+
string identity = 5;
|
549
|
+
// Used to de-dupe sent signals
|
550
|
+
string request_id = 6;
|
551
|
+
// Deprecated
|
552
|
+
string control = 7;
|
553
|
+
// Headers that are passed with the signal to the processing workflow.
|
554
|
+
// These can include things like auth or tracing tokens.
|
555
|
+
temporal.api.common.v1.Header header = 8;
|
556
|
+
}
|
557
|
+
|
558
|
+
message SignalWorkflowExecutionResponse {
|
559
|
+
}
|
560
|
+
|
561
|
+
message SignalWithStartWorkflowExecutionRequest {
|
562
|
+
string namespace = 1;
|
563
|
+
string workflow_id = 2;
|
564
|
+
temporal.api.common.v1.WorkflowType workflow_type = 3;
|
565
|
+
// The task queue to start this workflow on, if it will be started
|
566
|
+
temporal.api.taskqueue.v1.TaskQueue task_queue = 4;
|
567
|
+
// Serialized arguments to the workflow. These are passed as arguments to the workflow function.
|
568
|
+
temporal.api.common.v1.Payloads input = 5;
|
569
|
+
// Total workflow execution timeout including retries and continue as new
|
570
|
+
google.protobuf.Duration workflow_execution_timeout = 6 [(gogoproto.stdduration) = true];
|
571
|
+
// Timeout of a single workflow run
|
572
|
+
google.protobuf.Duration workflow_run_timeout = 7 [(gogoproto.stdduration) = true];
|
573
|
+
// Timeout of a single workflow task
|
574
|
+
google.protobuf.Duration workflow_task_timeout = 8 [(gogoproto.stdduration) = true];
|
575
|
+
// The identity of the worker/client
|
576
|
+
string identity = 9;
|
577
|
+
// Used to de-dupe signal w/ start requests
|
578
|
+
string request_id = 10;
|
579
|
+
temporal.api.enums.v1.WorkflowIdReusePolicy workflow_id_reuse_policy = 11;
|
580
|
+
// The workflow author-defined name of the signal to send to the workflow
|
581
|
+
string signal_name = 12;
|
582
|
+
// Serialized value(s) to provide with the signal
|
583
|
+
temporal.api.common.v1.Payloads signal_input = 13;
|
584
|
+
// Deprecated
|
585
|
+
string control = 14;
|
586
|
+
// Retry policy for the workflow Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.
|
587
|
+
temporal.api.common.v1.RetryPolicy retry_policy = 15;
|
588
|
+
// See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/
|
589
|
+
string cron_schedule = 16;
|
590
|
+
temporal.api.common.v1.Memo memo = 17;
|
591
|
+
temporal.api.common.v1.SearchAttributes search_attributes = 18;
|
592
|
+
temporal.api.common.v1.Header header = 19;
|
593
|
+
}
|
594
|
+
|
595
|
+
message SignalWithStartWorkflowExecutionResponse {
|
596
|
+
string run_id = 1;
|
597
|
+
}
|
598
|
+
|
599
|
+
message ResetWorkflowExecutionRequest {
|
600
|
+
string namespace = 1;
|
601
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 2;
|
602
|
+
string reason = 3;
|
603
|
+
// The id of a `WORKFLOW_TASK_COMPLETED`,`WORKFLOW_TASK_TIMED_OUT`, `WORKFLOW_TASK_FAILED`, or
|
604
|
+
// `WORKFLOW_TASK_STARTED` event to reset to.
|
605
|
+
int64 workflow_task_finish_event_id = 4;
|
606
|
+
// Used to de-dupe reset requests
|
607
|
+
string request_id = 5;
|
608
|
+
// Reset reapplay(replay) options.
|
609
|
+
temporal.api.enums.v1.ResetReapplyType reset_reapply_type = 6;
|
610
|
+
}
|
611
|
+
|
612
|
+
message ResetWorkflowExecutionResponse {
|
613
|
+
string run_id = 1;
|
614
|
+
}
|
615
|
+
|
616
|
+
message TerminateWorkflowExecutionRequest {
|
617
|
+
string namespace = 1;
|
618
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 2;
|
619
|
+
string reason = 3;
|
620
|
+
// Serialized additional information to attach to the termination event
|
621
|
+
temporal.api.common.v1.Payloads details = 4;
|
622
|
+
// The identity of the worker/client
|
623
|
+
string identity = 5;
|
624
|
+
// If set, this call will error if the most recent (if no run id is set on
|
625
|
+
// `workflow_execution`), or specified (if it is) workflow execution is not part of the same
|
626
|
+
// execution chain as this id.
|
627
|
+
string first_execution_run_id = 6;
|
628
|
+
}
|
629
|
+
|
630
|
+
message TerminateWorkflowExecutionResponse {
|
631
|
+
}
|
632
|
+
|
633
|
+
message ListOpenWorkflowExecutionsRequest {
|
634
|
+
string namespace = 1;
|
635
|
+
int32 maximum_page_size = 2;
|
636
|
+
bytes next_page_token = 3;
|
637
|
+
temporal.api.filter.v1.StartTimeFilter start_time_filter = 4;
|
638
|
+
oneof filters {
|
639
|
+
temporal.api.filter.v1.WorkflowExecutionFilter execution_filter = 5;
|
640
|
+
temporal.api.filter.v1.WorkflowTypeFilter type_filter = 6;
|
641
|
+
}
|
642
|
+
}
|
643
|
+
|
644
|
+
message ListOpenWorkflowExecutionsResponse {
|
645
|
+
repeated temporal.api.workflow.v1.WorkflowExecutionInfo executions = 1;
|
646
|
+
bytes next_page_token = 2;
|
647
|
+
}
|
648
|
+
|
649
|
+
message ListClosedWorkflowExecutionsRequest {
|
650
|
+
string namespace = 1;
|
651
|
+
int32 maximum_page_size = 2;
|
652
|
+
bytes next_page_token = 3;
|
653
|
+
temporal.api.filter.v1.StartTimeFilter start_time_filter = 4;
|
654
|
+
oneof filters {
|
655
|
+
temporal.api.filter.v1.WorkflowExecutionFilter execution_filter = 5;
|
656
|
+
temporal.api.filter.v1.WorkflowTypeFilter type_filter = 6;
|
657
|
+
temporal.api.filter.v1.StatusFilter status_filter = 7;
|
658
|
+
}
|
659
|
+
}
|
660
|
+
|
661
|
+
message ListClosedWorkflowExecutionsResponse {
|
662
|
+
repeated temporal.api.workflow.v1.WorkflowExecutionInfo executions = 1;
|
663
|
+
bytes next_page_token = 2;
|
664
|
+
}
|
665
|
+
|
666
|
+
message ListWorkflowExecutionsRequest {
|
667
|
+
string namespace = 1;
|
668
|
+
int32 page_size = 2;
|
669
|
+
bytes next_page_token = 3;
|
670
|
+
string query = 4;
|
671
|
+
}
|
672
|
+
|
673
|
+
message ListWorkflowExecutionsResponse {
|
674
|
+
repeated temporal.api.workflow.v1.WorkflowExecutionInfo executions = 1;
|
675
|
+
bytes next_page_token = 2;
|
676
|
+
}
|
677
|
+
|
678
|
+
message ListArchivedWorkflowExecutionsRequest {
|
679
|
+
string namespace = 1;
|
680
|
+
int32 page_size = 2;
|
681
|
+
bytes next_page_token = 3;
|
682
|
+
string query = 4;
|
683
|
+
}
|
684
|
+
|
685
|
+
message ListArchivedWorkflowExecutionsResponse {
|
686
|
+
repeated temporal.api.workflow.v1.WorkflowExecutionInfo executions = 1;
|
687
|
+
bytes next_page_token = 2;
|
688
|
+
}
|
689
|
+
|
690
|
+
message ScanWorkflowExecutionsRequest {
|
691
|
+
string namespace = 1;
|
692
|
+
int32 page_size = 2;
|
693
|
+
bytes next_page_token = 3;
|
694
|
+
string query = 4;
|
695
|
+
}
|
696
|
+
|
697
|
+
message ScanWorkflowExecutionsResponse {
|
698
|
+
repeated temporal.api.workflow.v1.WorkflowExecutionInfo executions = 1;
|
699
|
+
bytes next_page_token = 2;
|
700
|
+
}
|
701
|
+
|
702
|
+
message CountWorkflowExecutionsRequest {
|
703
|
+
string namespace = 1;
|
704
|
+
string query = 2;
|
705
|
+
}
|
706
|
+
|
707
|
+
message CountWorkflowExecutionsResponse {
|
708
|
+
int64 count = 1;
|
709
|
+
}
|
710
|
+
|
711
|
+
message GetSearchAttributesRequest {
|
712
|
+
}
|
713
|
+
|
714
|
+
message GetSearchAttributesResponse {
|
715
|
+
map<string, temporal.api.enums.v1.IndexedValueType> keys = 1;
|
716
|
+
}
|
717
|
+
|
718
|
+
message RespondQueryTaskCompletedRequest {
|
719
|
+
bytes task_token = 1;
|
720
|
+
temporal.api.enums.v1.QueryResultType completed_type = 2;
|
721
|
+
temporal.api.common.v1.Payloads query_result = 3;
|
722
|
+
string error_message = 4;
|
723
|
+
reserved 5;
|
724
|
+
string namespace = 6;
|
725
|
+
}
|
726
|
+
|
727
|
+
message RespondQueryTaskCompletedResponse {
|
728
|
+
}
|
729
|
+
|
730
|
+
message ResetStickyTaskQueueRequest {
|
731
|
+
string namespace = 1;
|
732
|
+
temporal.api.common.v1.WorkflowExecution execution = 2;
|
733
|
+
}
|
734
|
+
|
735
|
+
message ResetStickyTaskQueueResponse {
|
736
|
+
}
|
737
|
+
|
738
|
+
message QueryWorkflowRequest {
|
739
|
+
string namespace = 1;
|
740
|
+
temporal.api.common.v1.WorkflowExecution execution = 2;
|
741
|
+
temporal.api.query.v1.WorkflowQuery query = 3;
|
742
|
+
// QueryRejectCondition can used to reject the query if workflow state does not satisfy condition.
|
743
|
+
// Default: QUERY_REJECT_CONDITION_NONE.
|
744
|
+
temporal.api.enums.v1.QueryRejectCondition query_reject_condition = 4;
|
745
|
+
}
|
746
|
+
|
747
|
+
message QueryWorkflowResponse {
|
748
|
+
temporal.api.common.v1.Payloads query_result = 1;
|
749
|
+
temporal.api.query.v1.QueryRejected query_rejected = 2;
|
750
|
+
}
|
751
|
+
|
752
|
+
message DescribeWorkflowExecutionRequest {
|
753
|
+
string namespace = 1;
|
754
|
+
temporal.api.common.v1.WorkflowExecution execution = 2;
|
755
|
+
}
|
756
|
+
|
757
|
+
message DescribeWorkflowExecutionResponse {
|
758
|
+
temporal.api.workflow.v1.WorkflowExecutionConfig execution_config = 1;
|
759
|
+
temporal.api.workflow.v1.WorkflowExecutionInfo workflow_execution_info = 2;
|
760
|
+
repeated temporal.api.workflow.v1.PendingActivityInfo pending_activities = 3;
|
761
|
+
repeated temporal.api.workflow.v1.PendingChildExecutionInfo pending_children = 4;
|
762
|
+
temporal.api.workflow.v1.PendingWorkflowTaskInfo pending_workflow_task = 5;
|
763
|
+
}
|
764
|
+
|
765
|
+
message DescribeTaskQueueRequest {
|
766
|
+
string namespace = 1;
|
767
|
+
temporal.api.taskqueue.v1.TaskQueue task_queue = 2;
|
768
|
+
temporal.api.enums.v1.TaskQueueType task_queue_type = 3;
|
769
|
+
bool include_task_queue_status = 4;
|
770
|
+
}
|
771
|
+
|
772
|
+
message DescribeTaskQueueResponse {
|
773
|
+
repeated temporal.api.taskqueue.v1.PollerInfo pollers = 1;
|
774
|
+
temporal.api.taskqueue.v1.TaskQueueStatus task_queue_status = 2;
|
775
|
+
}
|
776
|
+
|
777
|
+
message GetClusterInfoRequest {
|
778
|
+
}
|
779
|
+
|
780
|
+
// GetClusterInfoResponse contains information about Temporal cluster.
|
781
|
+
message GetClusterInfoResponse {
|
782
|
+
// Key is client name i.e "temporal-go", "temporal-java", or "temporal-cli".
|
783
|
+
// Value is ranges of supported versions of this client i.e ">1.1.1 <=1.4.0 || ^5.0.0".
|
784
|
+
map<string,string> supported_clients = 1;
|
785
|
+
string server_version = 2;
|
786
|
+
string cluster_id = 3;
|
787
|
+
temporal.api.version.v1.VersionInfo version_info = 4;
|
788
|
+
string cluster_name = 5;
|
789
|
+
int32 history_shard_count = 6;
|
790
|
+
string persistence_store = 7;
|
791
|
+
string visibility_store = 8;
|
792
|
+
}
|
793
|
+
|
794
|
+
message GetSystemInfoRequest {
|
795
|
+
}
|
796
|
+
|
797
|
+
message GetSystemInfoResponse {
|
798
|
+
// Version of the server.
|
799
|
+
string server_version = 1;
|
800
|
+
|
801
|
+
// All capabilities the system supports.
|
802
|
+
Capabilities capabilities = 2;
|
803
|
+
|
804
|
+
// System capability details.
|
805
|
+
message Capabilities {
|
806
|
+
// True if signal and query headers are supported.
|
807
|
+
bool signal_and_query_header = 1;
|
808
|
+
|
809
|
+
// True if internal errors are differentiated from other types of errors for purposes of
|
810
|
+
// retrying non-internal errors.
|
811
|
+
//
|
812
|
+
// When unset/false, clients retry all failures. When true, clients should only retry
|
813
|
+
// non-internal errors.
|
814
|
+
bool internal_error_differentiation = 2;
|
815
|
+
|
816
|
+
// True if RespondActivityTaskFailed API supports including heartbeat details
|
817
|
+
bool activity_failure_include_heartbeat = 3;
|
818
|
+
|
819
|
+
// Supports scheduled workflow features.
|
820
|
+
bool supports_schedules = 4;
|
821
|
+
|
822
|
+
// True if server uses protos that include temporal.api.failure.v1.Failure.encoded_attributes
|
823
|
+
bool encoded_failure_attributes = 5;
|
824
|
+
}
|
825
|
+
}
|
826
|
+
|
827
|
+
message ListTaskQueuePartitionsRequest {
|
828
|
+
string namespace = 1;
|
829
|
+
temporal.api.taskqueue.v1.TaskQueue task_queue = 2;
|
830
|
+
}
|
831
|
+
|
832
|
+
message ListTaskQueuePartitionsResponse {
|
833
|
+
repeated temporal.api.taskqueue.v1.TaskQueuePartitionMetadata activity_task_queue_partitions = 1;
|
834
|
+
repeated temporal.api.taskqueue.v1.TaskQueuePartitionMetadata workflow_task_queue_partitions = 2;
|
835
|
+
}
|
836
|
+
|
837
|
+
// (-- api-linter: core::0133::request-parent-required=disabled
|
838
|
+
// aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)
|
839
|
+
// (-- api-linter: core::0133::request-unknown-fields=disabled
|
840
|
+
// aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --)
|
841
|
+
// (-- api-linter: core::0133::request-resource-behavior=disabled
|
842
|
+
// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --)
|
843
|
+
// (-- api-linter: core::0203::optional=disabled
|
844
|
+
// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --)
|
845
|
+
message CreateScheduleRequest {
|
846
|
+
// The namespace the schedule should be created in.
|
847
|
+
string namespace = 1;
|
848
|
+
// The id of the new schedule.
|
849
|
+
string schedule_id = 2;
|
850
|
+
// The schedule spec, policies, action, and initial state.
|
851
|
+
temporal.api.schedule.v1.Schedule schedule = 3;
|
852
|
+
// Optional initial patch (e.g. to run the action once immediately).
|
853
|
+
temporal.api.schedule.v1.SchedulePatch initial_patch = 4;
|
854
|
+
// The identity of the client who initiated this request.
|
855
|
+
string identity = 5;
|
856
|
+
// A unique identifier for this create request for idempotence. Typically UUIDv4.
|
857
|
+
string request_id = 6;
|
858
|
+
// Memo and search attributes to attach to the schedule itself.
|
859
|
+
temporal.api.common.v1.Memo memo = 7;
|
860
|
+
temporal.api.common.v1.SearchAttributes search_attributes = 8;
|
861
|
+
}
|
862
|
+
|
863
|
+
message CreateScheduleResponse {
|
864
|
+
bytes conflict_token = 1;
|
865
|
+
}
|
866
|
+
|
867
|
+
message DescribeScheduleRequest {
|
868
|
+
// The namespace of the schedule to describe.
|
869
|
+
string namespace = 1;
|
870
|
+
// The id of the schedule to describe.
|
871
|
+
string schedule_id = 2;
|
872
|
+
}
|
873
|
+
|
874
|
+
message DescribeScheduleResponse {
|
875
|
+
// The complete current schedule details. This may not match the schedule as
|
876
|
+
// created because:
|
877
|
+
// - some fields in the state are modified automatically
|
878
|
+
// - the schedule may have been modified by UpdateSchedule or PatchSchedule
|
879
|
+
temporal.api.schedule.v1.Schedule schedule = 1;
|
880
|
+
// Extra schedule state info.
|
881
|
+
temporal.api.schedule.v1.ScheduleInfo info = 2;
|
882
|
+
// The memo and search attributes that the schedule was created with.
|
883
|
+
temporal.api.common.v1.Memo memo = 3;
|
884
|
+
temporal.api.common.v1.SearchAttributes search_attributes = 4;
|
885
|
+
|
886
|
+
// This value can be passed back to UpdateSchedule to ensure that the
|
887
|
+
// schedule was not modified between a Describe and an Update, which could
|
888
|
+
// lead to lost updates and other confusion.
|
889
|
+
bytes conflict_token = 5;
|
890
|
+
}
|
891
|
+
|
892
|
+
// (-- api-linter: core::0134::request-mask-required=disabled
|
893
|
+
// aip.dev/not-precedent: UpdateSchedule doesn't follow Google API format --)
|
894
|
+
message UpdateScheduleRequest {
|
895
|
+
// The namespace of the schedule to update.
|
896
|
+
string namespace = 1;
|
897
|
+
// The id of the schedule to update.
|
898
|
+
string schedule_id = 2;
|
899
|
+
// The new schedule. The four main fields of the schedule (spec, action,
|
900
|
+
// policies, state) are replaced completely by the values in this message.
|
901
|
+
temporal.api.schedule.v1.Schedule schedule = 3;
|
902
|
+
// This can be the value of conflict_token from a DescribeScheduleResponse,
|
903
|
+
// which will cause this request to fail if the schedule has been modified
|
904
|
+
// between the Describe and this Update.
|
905
|
+
// If missing, the schedule will be updated unconditionally.
|
906
|
+
bytes conflict_token = 4;
|
907
|
+
// The identity of the client who initiated this request.
|
908
|
+
string identity = 5;
|
909
|
+
// A unique identifier for this update request for idempotence. Typically UUIDv4.
|
910
|
+
string request_id = 6;
|
911
|
+
}
|
912
|
+
|
913
|
+
message UpdateScheduleResponse {
|
914
|
+
}
|
915
|
+
|
916
|
+
message PatchScheduleRequest {
|
917
|
+
// The namespace of the schedule to patch.
|
918
|
+
string namespace = 1;
|
919
|
+
// The id of the schedule to patch.
|
920
|
+
string schedule_id = 2;
|
921
|
+
temporal.api.schedule.v1.SchedulePatch patch = 3;
|
922
|
+
// The identity of the client who initiated this request.
|
923
|
+
string identity = 4;
|
924
|
+
// A unique identifier for this update request for idempotence. Typically UUIDv4.
|
925
|
+
string request_id = 5;
|
926
|
+
}
|
927
|
+
|
928
|
+
message PatchScheduleResponse {
|
929
|
+
}
|
930
|
+
|
931
|
+
message ListScheduleMatchingTimesRequest {
|
932
|
+
// The namespace of the schedule to query.
|
933
|
+
string namespace = 1;
|
934
|
+
// The id of the schedule to query.
|
935
|
+
string schedule_id = 2;
|
936
|
+
// Time range to query.
|
937
|
+
google.protobuf.Timestamp start_time = 3 [(gogoproto.stdtime) = true];
|
938
|
+
google.protobuf.Timestamp end_time = 4 [(gogoproto.stdtime) = true];
|
939
|
+
}
|
940
|
+
|
941
|
+
message ListScheduleMatchingTimesResponse {
|
942
|
+
repeated google.protobuf.Timestamp start_time = 1 [(gogoproto.stdtime) = true];
|
943
|
+
}
|
944
|
+
|
945
|
+
// (-- api-linter: core::0135::request-name-required=disabled
|
946
|
+
// aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --)
|
947
|
+
// (-- api-linter: core::0135::request-unknown-fields=disabled
|
948
|
+
// aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --)
|
949
|
+
message DeleteScheduleRequest {
|
950
|
+
// The namespace of the schedule to delete.
|
951
|
+
string namespace = 1;
|
952
|
+
// The id of the schedule to delete.
|
953
|
+
string schedule_id = 2;
|
954
|
+
// The identity of the client who initiated this request.
|
955
|
+
string identity = 3;
|
956
|
+
}
|
957
|
+
|
958
|
+
message DeleteScheduleResponse {
|
959
|
+
}
|
960
|
+
|
961
|
+
message ListSchedulesRequest {
|
962
|
+
// The namespace to list schedules in.
|
963
|
+
string namespace = 1;
|
964
|
+
// How many to return at once.
|
965
|
+
int32 maximum_page_size = 2;
|
966
|
+
// Token to get the next page of results.
|
967
|
+
bytes next_page_token = 3;
|
968
|
+
}
|
969
|
+
|
970
|
+
message ListSchedulesResponse {
|
971
|
+
repeated temporal.api.schedule.v1.ScheduleListEntry schedules = 1;
|
972
|
+
bytes next_page_token = 2;
|
973
|
+
}
|
974
|
+
|
975
|
+
// (-- api-linter: core::0134::request-mask-required=disabled
|
976
|
+
// aip.dev/not-precedent: UpdateWorkerBuildIdOrderingRequest doesn't follow Google API format --)
|
977
|
+
// (-- api-linter: core::0134::request-resource-required=disabled
|
978
|
+
// aip.dev/not-precedent: UpdateWorkerBuildIdOrderingRequest RPC doesn't follow Google API format. --)
|
979
|
+
message UpdateWorkerBuildIdOrderingRequest {
|
980
|
+
string namespace = 1;
|
981
|
+
// Must be set, the task queue to apply changes to. Because all workers on
|
982
|
+
// a given task queue must have the same set of workflow & activity
|
983
|
+
// implementations, there is no reason to specify a task queue type here.
|
984
|
+
string task_queue = 2;
|
985
|
+
// The version id we are targeting.
|
986
|
+
temporal.api.taskqueue.v1.VersionId version_id = 3;
|
987
|
+
// When set, indicates that the `version_id` in this message is compatible
|
988
|
+
// with the one specified in this field. Because compatability should form
|
989
|
+
// a DAG, any build id can only be the "next compatible" version for one
|
990
|
+
// other ID of a certain type at a time, and any setting which would create a cycle is invalid.
|
991
|
+
temporal.api.taskqueue.v1.VersionId previous_compatible = 4;
|
992
|
+
// When set, establishes the specified `version_id` as the default of it's type
|
993
|
+
// for the queue. Workers matching it will begin processing new workflow executions.
|
994
|
+
// The existing default will be marked as a previous incompatible version
|
995
|
+
// to this one, assuming it is not also in `is_compatible_with`.
|
996
|
+
bool become_default = 5;
|
997
|
+
}
|
998
|
+
message UpdateWorkerBuildIdOrderingResponse {}
|
999
|
+
|
1000
|
+
// (-- api-linter: core::0134::request-resource-required=disabled
|
1001
|
+
// aip.dev/not-precedent: GetWorkerBuildIdOrderingRequest RPC doesn't follow Google API format. --)
|
1002
|
+
message GetWorkerBuildIdOrderingRequest {
|
1003
|
+
string namespace = 1;
|
1004
|
+
// Must be set, the task queue to interrogate about worker id ordering
|
1005
|
+
string task_queue = 2;
|
1006
|
+
// Limits how deep the returned DAG will go. 1 will return only the
|
1007
|
+
// default build id. A default/0 value will return the entire graph.
|
1008
|
+
int32 max_depth = 3;
|
1009
|
+
}
|
1010
|
+
message GetWorkerBuildIdOrderingResponse {
|
1011
|
+
// The currently established default version
|
1012
|
+
temporal.api.taskqueue.v1.VersionIdNode current_default = 1;
|
1013
|
+
// Other current latest-compatible versions who are not the overall default. These are the
|
1014
|
+
// versions that will be used when generating new tasks by following the graph from the
|
1015
|
+
// version of the last task out to a leaf.
|
1016
|
+
repeated temporal.api.taskqueue.v1.VersionIdNode compatible_leaves = 2;
|
1017
|
+
}
|
1018
|
+
|
1019
|
+
// (-- api-linter: core::0134=disabled
|
1020
|
+
// aip.dev/not-precedent: Update RPCs don't follow Google API format. --)
|
1021
|
+
message UpdateWorkflowRequest {
|
1022
|
+
// A unique ID for this logical request
|
1023
|
+
string request_id = 1;
|
1024
|
+
|
1025
|
+
// The manner in which the update result will be accessed.
|
1026
|
+
// This field requires a non-default value; the default value of the enum
|
1027
|
+
// will result in an error.
|
1028
|
+
temporal.api.enums.v1.WorkflowUpdateResultAccessStyle result_access_style = 2;
|
1029
|
+
|
1030
|
+
// The namespace name of the target workflow
|
1031
|
+
string namespace = 3;
|
1032
|
+
// The target workflow id and (optionally) a specific run thereof
|
1033
|
+
// (-- api-linter: core::0203::optional=disabled
|
1034
|
+
// aip.dev/not-precedent: false positive triggered by the word "optional" --)
|
1035
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 4;
|
1036
|
+
// If set, this call will error if the most recent (if no run id is set on
|
1037
|
+
// `workflow_execution`), or specified (if it is) workflow execution is not
|
1038
|
+
// part of the same execution chain as this id.
|
1039
|
+
string first_execution_run_id = 5;
|
1040
|
+
|
1041
|
+
// The name under which the workflow update function is registered and the
|
1042
|
+
// arguments to pass to said function.
|
1043
|
+
temporal.api.update.v1.WorkflowUpdate update = 6;
|
1044
|
+
}
|
1045
|
+
|
1046
|
+
message UpdateWorkflowResponse {
|
1047
|
+
// An opaque token that can be used to retrieve the update result via
|
1048
|
+
// polling if it is not returned as part of the gRPC response
|
1049
|
+
bytes update_token = 1;
|
1050
|
+
// The success or failure status of the update
|
1051
|
+
oneof result {
|
1052
|
+
temporal.api.common.v1.Payloads success = 2;
|
1053
|
+
temporal.api.failure.v1.Failure failure = 3;
|
1054
|
+
}
|
1055
|
+
}
|
1056
|
+
|
1057
|
+
message StartBatchOperationRequest {
|
1058
|
+
// Namespace that contains the batch operation
|
1059
|
+
string namespace = 1;
|
1060
|
+
// Visibility query defines the the group of workflow to do batch operation
|
1061
|
+
string visibility_query = 2;
|
1062
|
+
// Operation input
|
1063
|
+
oneof operation {
|
1064
|
+
temporal.api.batch.v1.BatchOperationTermination termination_operation = 10;
|
1065
|
+
temporal.api.batch.v1.BatchOperationSignal signal_operation = 11;
|
1066
|
+
temporal.api.batch.v1.BatchOperationCancellation cancellation_operation = 12;
|
1067
|
+
}
|
1068
|
+
}
|
1069
|
+
|
1070
|
+
message StartBatchOperationResponse {
|
1071
|
+
// Batch job id
|
1072
|
+
string job_id = 1;
|
1073
|
+
}
|
1074
|
+
|
1075
|
+
message StopBatchOperationRequest {
|
1076
|
+
// Namespace that contains the batch operation
|
1077
|
+
string namespace = 1;
|
1078
|
+
// Batch job id
|
1079
|
+
string job_id = 2;
|
1080
|
+
}
|
1081
|
+
|
1082
|
+
message StopBatchOperationResponse {
|
1083
|
+
}
|
1084
|
+
|
1085
|
+
message DescribeBatchOperationRequest {
|
1086
|
+
// Namespace that contains the batch operation
|
1087
|
+
string namespace = 1;
|
1088
|
+
// Batch job id
|
1089
|
+
string job_id = 2;
|
1090
|
+
}
|
1091
|
+
|
1092
|
+
message DescribeBatchOperationResponse {
|
1093
|
+
// Batch operation type
|
1094
|
+
temporal.api.enums.v1.BatchOperationType operation_type = 1;
|
1095
|
+
// Batch job ID
|
1096
|
+
string job_id = 2;
|
1097
|
+
// Batch operation state
|
1098
|
+
temporal.api.enums.v1.BatchOperationState state = 3;
|
1099
|
+
// Batch operation start time
|
1100
|
+
google.protobuf.Timestamp start_time = 4 [(gogoproto.stdtime) = true];
|
1101
|
+
// Batch operation close time
|
1102
|
+
google.protobuf.Timestamp close_time = 5 [(gogoproto.stdtime) = true];
|
1103
|
+
// Total operation count
|
1104
|
+
int64 total_operation_count = 6;
|
1105
|
+
// Complete operation count
|
1106
|
+
int64 complete_operation_count = 7;
|
1107
|
+
// Failure operation count
|
1108
|
+
int64 failure_operation_count = 8;
|
1109
|
+
}
|
1110
|
+
|
1111
|
+
message ListBatchOperationsRequest {
|
1112
|
+
// Namespace that contains the batch operation
|
1113
|
+
string namespace = 1;
|
1114
|
+
// List page size
|
1115
|
+
int32 page_size = 2;
|
1116
|
+
// Next page token
|
1117
|
+
bytes next_page_token = 3;
|
1118
|
+
}
|
1119
|
+
|
1120
|
+
message ListBatchOperationsResponse {
|
1121
|
+
// BatchOperationInfo contains the basic info about batch operation
|
1122
|
+
repeated temporal.api.batch.v1.BatchOperationInfo operation_info = 1;
|
1123
|
+
bytes next_page_token = 2;
|
1124
|
+
}
|