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
@@ -0,0 +1,297 @@
|
|
1
|
+
syntax = "proto3";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Definitions for commands from a workflow in lang SDK to core. While a workflow processes a batch
|
5
|
+
* of activation jobs, it accumulates these commands to be sent back to core to conclude that
|
6
|
+
* activation.
|
7
|
+
*/
|
8
|
+
package coresdk.workflow_commands;
|
9
|
+
|
10
|
+
import "google/protobuf/duration.proto";
|
11
|
+
import "google/protobuf/timestamp.proto";
|
12
|
+
import "temporal/api/common/v1/message.proto";
|
13
|
+
import "temporal/api/enums/v1/workflow.proto";
|
14
|
+
import "temporal/api/failure/v1/message.proto";
|
15
|
+
import "temporal/sdk/core/child_workflow/child_workflow.proto";
|
16
|
+
import "temporal/sdk/core/common/common.proto";
|
17
|
+
|
18
|
+
message WorkflowCommand {
|
19
|
+
oneof variant {
|
20
|
+
StartTimer start_timer = 1;
|
21
|
+
ScheduleActivity schedule_activity = 2;
|
22
|
+
QueryResult respond_to_query = 3;
|
23
|
+
RequestCancelActivity request_cancel_activity = 4;
|
24
|
+
CancelTimer cancel_timer = 5;
|
25
|
+
CompleteWorkflowExecution complete_workflow_execution = 6;
|
26
|
+
FailWorkflowExecution fail_workflow_execution = 7;
|
27
|
+
ContinueAsNewWorkflowExecution continue_as_new_workflow_execution = 8;
|
28
|
+
CancelWorkflowExecution cancel_workflow_execution = 9;
|
29
|
+
SetPatchMarker set_patch_marker = 10;
|
30
|
+
StartChildWorkflowExecution start_child_workflow_execution = 11;
|
31
|
+
CancelChildWorkflowExecution cancel_child_workflow_execution = 12;
|
32
|
+
RequestCancelExternalWorkflowExecution request_cancel_external_workflow_execution = 13;
|
33
|
+
SignalExternalWorkflowExecution signal_external_workflow_execution = 14;
|
34
|
+
CancelSignalWorkflow cancel_signal_workflow = 15;
|
35
|
+
ScheduleLocalActivity schedule_local_activity = 16;
|
36
|
+
RequestCancelLocalActivity request_cancel_local_activity = 17;
|
37
|
+
UpsertWorkflowSearchAttributes upsert_workflow_search_attributes = 18;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
message StartTimer {
|
42
|
+
/// Lang's incremental sequence number, used as the operation identifier
|
43
|
+
uint32 seq = 1;
|
44
|
+
google.protobuf.Duration start_to_fire_timeout = 2;
|
45
|
+
}
|
46
|
+
|
47
|
+
message CancelTimer {
|
48
|
+
/// Lang's incremental sequence number as passed to `StartTimer`
|
49
|
+
uint32 seq = 1;
|
50
|
+
}
|
51
|
+
|
52
|
+
message ScheduleActivity {
|
53
|
+
/// Lang's incremental sequence number, used as the operation identifier
|
54
|
+
uint32 seq = 1;
|
55
|
+
string activity_id = 2;
|
56
|
+
string activity_type = 3;
|
57
|
+
string namespace = 4;
|
58
|
+
// The name of the task queue to place this activity request in
|
59
|
+
string task_queue = 5;
|
60
|
+
map<string, temporal.api.common.v1.Payload> headers = 6;
|
61
|
+
/// Arguments/input to the activity. Called "input" upstream.
|
62
|
+
repeated temporal.api.common.v1.Payload arguments = 7;
|
63
|
+
/// Indicates how long the caller is willing to wait for an activity completion. Limits how long
|
64
|
+
/// retries will be attempted. Either this or start_to_close_timeout_seconds must be specified.
|
65
|
+
/// When not specified defaults to the workflow execution timeout.
|
66
|
+
google.protobuf.Duration schedule_to_close_timeout = 8;
|
67
|
+
/// Limits time an activity task can stay in a task queue before a worker picks it up. This
|
68
|
+
/// timeout is always non retryable as all a retry would achieve is to put it back into the same
|
69
|
+
/// queue. Defaults to schedule_to_close_timeout or workflow execution timeout if not specified.
|
70
|
+
google.protobuf.Duration schedule_to_start_timeout = 9;
|
71
|
+
/// Maximum time an activity is allowed to execute after a pick up by a worker. This timeout is
|
72
|
+
/// always retryable. Either this or schedule_to_close_timeout must be specified.
|
73
|
+
google.protobuf.Duration start_to_close_timeout = 10;
|
74
|
+
/// Maximum time allowed between successful worker heartbeats.
|
75
|
+
google.protobuf.Duration heartbeat_timeout = 11;
|
76
|
+
/// Activities are provided by a default retry policy controlled through the service dynamic
|
77
|
+
/// configuration. Retries are happening up to schedule_to_close_timeout. To disable retries set
|
78
|
+
/// retry_policy.maximum_attempts to 1.
|
79
|
+
temporal.api.common.v1.RetryPolicy retry_policy = 12;
|
80
|
+
/// Defines how the workflow will wait (or not) for cancellation of the activity to be confirmed
|
81
|
+
ActivityCancellationType cancellation_type = 13;
|
82
|
+
/// If set, the worker will not tell the service that it can immediately start executing this
|
83
|
+
/// activity. When unset/default, workers will always attempt to do so if activity execution
|
84
|
+
/// slots are available.
|
85
|
+
bool do_not_eagerly_execute = 14;
|
86
|
+
}
|
87
|
+
|
88
|
+
message ScheduleLocalActivity {
|
89
|
+
/// Lang's incremental sequence number, used as the operation identifier
|
90
|
+
uint32 seq = 1;
|
91
|
+
string activity_id = 2;
|
92
|
+
string activity_type = 3;
|
93
|
+
/// Local activities can start with a non-1 attempt, if lang has been told to backoff using
|
94
|
+
/// a timer before retrying. It should pass the attempt number from a `DoBackoff` activity
|
95
|
+
/// resolution.
|
96
|
+
uint32 attempt = 4;
|
97
|
+
/// If this local activity is a retry (as per the attempt field) this needs to be the original
|
98
|
+
/// scheduling time (as provided in `DoBackoff`)
|
99
|
+
google.protobuf.Timestamp original_schedule_time = 5;
|
100
|
+
map<string, temporal.api.common.v1.Payload> headers = 6;
|
101
|
+
/// Arguments/input to the activity.
|
102
|
+
repeated temporal.api.common.v1.Payload arguments = 7;
|
103
|
+
/// Indicates how long the caller is willing to wait for local activity completion. Limits how
|
104
|
+
/// long retries will be attempted. When not specified defaults to the workflow execution
|
105
|
+
/// timeout (which may be unset).
|
106
|
+
google.protobuf.Duration schedule_to_close_timeout = 8;
|
107
|
+
/// Limits time the local activity can idle internally before being executed. That can happen if
|
108
|
+
/// the worker is currently at max concurrent local activity executions. This timeout is always
|
109
|
+
/// non retryable as all a retry would achieve is to put it back into the same queue. Defaults
|
110
|
+
/// to `schedule_to_close_timeout` if not specified and that is set. Must be <=
|
111
|
+
/// `schedule_to_close_timeout` when set, otherwise, it will be clamped down.
|
112
|
+
google.protobuf.Duration schedule_to_start_timeout = 9;
|
113
|
+
/// Maximum time the local activity is allowed to execute after the task is dispatched. This
|
114
|
+
/// timeout is always retryable. Either or both of `schedule_to_close_timeout` and this must be
|
115
|
+
/// specified. If set, this must be <= `schedule_to_close_timeout`, otherwise, it will be
|
116
|
+
/// clamped down.
|
117
|
+
google.protobuf.Duration start_to_close_timeout = 10;
|
118
|
+
/// Specify a retry policy for the local activity. By default local activities will be retried
|
119
|
+
/// indefinitely.
|
120
|
+
temporal.api.common.v1.RetryPolicy retry_policy = 11;
|
121
|
+
/// If the activity is retrying and backoff would exceed this value, lang will be told to
|
122
|
+
/// schedule a timer and retry the activity after. Otherwise, backoff will happen internally in
|
123
|
+
/// core. Defaults to 1 minute.
|
124
|
+
google.protobuf.Duration local_retry_threshold = 12;
|
125
|
+
/// Defines how the workflow will wait (or not) for cancellation of the activity to be
|
126
|
+
/// confirmed. Lang should default this to `WAIT_CANCELLATION_COMPLETED`, even though proto
|
127
|
+
/// will default to `TRY_CANCEL` automatically.
|
128
|
+
ActivityCancellationType cancellation_type = 13;
|
129
|
+
}
|
130
|
+
|
131
|
+
enum ActivityCancellationType {
|
132
|
+
/// Initiate a cancellation request and immediately report cancellation to the workflow.
|
133
|
+
TRY_CANCEL = 0;
|
134
|
+
/// Wait for activity cancellation completion. Note that activity must heartbeat to receive a
|
135
|
+
/// cancellation notification. This can block the cancellation for a long time if activity
|
136
|
+
/// doesn't heartbeat or chooses to ignore the cancellation request.
|
137
|
+
WAIT_CANCELLATION_COMPLETED = 1;
|
138
|
+
/// Do not request cancellation of the activity and immediately report cancellation to the
|
139
|
+
/// workflow
|
140
|
+
ABANDON = 2;
|
141
|
+
}
|
142
|
+
|
143
|
+
message RequestCancelActivity {
|
144
|
+
/// Lang's incremental sequence number as passed to `ScheduleActivity`
|
145
|
+
uint32 seq = 1;
|
146
|
+
}
|
147
|
+
|
148
|
+
message RequestCancelLocalActivity {
|
149
|
+
/// Lang's incremental sequence number as passed to `ScheduleLocalActivity`
|
150
|
+
uint32 seq = 1;
|
151
|
+
}
|
152
|
+
|
153
|
+
message QueryResult {
|
154
|
+
/// Corresponds to the id provided in the activation job
|
155
|
+
string query_id = 1;
|
156
|
+
oneof variant {
|
157
|
+
QuerySuccess succeeded = 2;
|
158
|
+
temporal.api.failure.v1.Failure failed = 3;
|
159
|
+
}
|
160
|
+
}
|
161
|
+
|
162
|
+
message QuerySuccess {
|
163
|
+
temporal.api.common.v1.Payload response = 1;
|
164
|
+
}
|
165
|
+
|
166
|
+
/// Issued when the workflow completes successfully
|
167
|
+
message CompleteWorkflowExecution {
|
168
|
+
temporal.api.common.v1.Payload result = 1;
|
169
|
+
}
|
170
|
+
|
171
|
+
/// Issued when the workflow errors out
|
172
|
+
message FailWorkflowExecution {
|
173
|
+
temporal.api.failure.v1.Failure failure = 1;
|
174
|
+
}
|
175
|
+
|
176
|
+
// Continue the workflow as a new execution
|
177
|
+
message ContinueAsNewWorkflowExecution {
|
178
|
+
// The identifier the lang-specific sdk uses to execute workflow code
|
179
|
+
string workflow_type = 1;
|
180
|
+
// Task queue for the new workflow execution
|
181
|
+
string task_queue = 2;
|
182
|
+
// Inputs to the workflow code. Should be specified. Will not re-use old arguments, as that
|
183
|
+
// typically wouldn't make any sense.
|
184
|
+
repeated temporal.api.common.v1.Payload arguments = 3;
|
185
|
+
// Timeout for a single run of the new workflow. Will not re-use current workflow's value.
|
186
|
+
google.protobuf.Duration workflow_run_timeout = 4;
|
187
|
+
// Timeout of a single workflow task. Will not re-use current workflow's value.
|
188
|
+
google.protobuf.Duration workflow_task_timeout = 5;
|
189
|
+
// If set, the new workflow will have this memo. If unset, re-uses the current workflow's memo
|
190
|
+
map<string, temporal.api.common.v1.Payload> memo = 6;
|
191
|
+
// If set, the new workflow will have these headers. Will *not* re-use current workflow's
|
192
|
+
// headers otherwise.
|
193
|
+
map<string, temporal.api.common.v1.Payload> headers = 7;
|
194
|
+
// If set, the new workflow will have these search attributes. If unset, re-uses the current
|
195
|
+
// workflow's search attributes.
|
196
|
+
map<string, temporal.api.common.v1.Payload> search_attributes = 8;
|
197
|
+
// If set, the new workflow will have this retry policy. If unset, re-uses the current
|
198
|
+
// workflow's retry policy.
|
199
|
+
temporal.api.common.v1.RetryPolicy retry_policy = 9;
|
200
|
+
}
|
201
|
+
|
202
|
+
/// Indicate a workflow has completed as cancelled. Generally sent as a response to an activation
|
203
|
+
/// containing a cancellation job.
|
204
|
+
message CancelWorkflowExecution {}
|
205
|
+
|
206
|
+
/// A request to set/check if a certain patch is present or not
|
207
|
+
message SetPatchMarker {
|
208
|
+
// A user-chosen identifier for this patch. If the same identifier is used in multiple places in
|
209
|
+
// the code, those places are considered to be versioned as one unit. IE: The check call will
|
210
|
+
// return the same result for all of them
|
211
|
+
string patch_id = 1;
|
212
|
+
// Can be set to true to indicate that branches using this change are being removed, and all
|
213
|
+
// future worker deployments will only have the "with change" code in them.
|
214
|
+
bool deprecated = 2;
|
215
|
+
}
|
216
|
+
|
217
|
+
/// Start a child workflow execution
|
218
|
+
message StartChildWorkflowExecution {
|
219
|
+
/// Lang's incremental sequence number, used as the operation identifier
|
220
|
+
uint32 seq = 1;
|
221
|
+
string namespace = 2;
|
222
|
+
string workflow_id = 3;
|
223
|
+
string workflow_type = 4;
|
224
|
+
string task_queue = 5;
|
225
|
+
repeated temporal.api.common.v1.Payload input = 6;
|
226
|
+
/// Total workflow execution timeout including retries and continue as new.
|
227
|
+
google.protobuf.Duration workflow_execution_timeout = 7;
|
228
|
+
/// Timeout of a single workflow run.
|
229
|
+
google.protobuf.Duration workflow_run_timeout = 8;
|
230
|
+
/// Timeout of a single workflow task.
|
231
|
+
google.protobuf.Duration workflow_task_timeout = 9;
|
232
|
+
/// Default: PARENT_CLOSE_POLICY_TERMINATE.
|
233
|
+
child_workflow.ParentClosePolicy parent_close_policy = 10;
|
234
|
+
// string control = 11; (unused from StartChildWorkflowExecutionCommandAttributes)
|
235
|
+
// Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.
|
236
|
+
temporal.api.enums.v1.WorkflowIdReusePolicy workflow_id_reuse_policy = 12;
|
237
|
+
temporal.api.common.v1.RetryPolicy retry_policy = 13;
|
238
|
+
string cron_schedule = 14;
|
239
|
+
/// Header fields
|
240
|
+
map<string, temporal.api.common.v1.Payload> headers = 15;
|
241
|
+
/// Memo fields
|
242
|
+
map<string, temporal.api.common.v1.Payload> memo = 16;
|
243
|
+
/// Search attributes
|
244
|
+
map<string, temporal.api.common.v1.Payload> search_attributes = 17;
|
245
|
+
/// Defines behaviour of the underlying workflow when child workflow cancellation has been requested.
|
246
|
+
child_workflow.ChildWorkflowCancellationType cancellation_type = 18;
|
247
|
+
}
|
248
|
+
|
249
|
+
/// Cancel a child workflow
|
250
|
+
message CancelChildWorkflowExecution {
|
251
|
+
// Sequence number as given to the `StartChildWorkflowExecution` command
|
252
|
+
uint32 child_workflow_seq = 1;
|
253
|
+
}
|
254
|
+
|
255
|
+
/// Request cancellation of an external workflow execution (which may be a started child)
|
256
|
+
message RequestCancelExternalWorkflowExecution {
|
257
|
+
/// Lang's incremental sequence number, used as the operation identifier
|
258
|
+
uint32 seq = 1;
|
259
|
+
// What workflow is being targeted
|
260
|
+
oneof target {
|
261
|
+
// A specific workflow instance
|
262
|
+
common.NamespacedWorkflowExecution workflow_execution = 2;
|
263
|
+
// The desired target must be a child of the issuing workflow, and this is its workflow id
|
264
|
+
string child_workflow_id = 3;
|
265
|
+
}
|
266
|
+
}
|
267
|
+
|
268
|
+
/// Send a signal to an external or child workflow
|
269
|
+
message SignalExternalWorkflowExecution {
|
270
|
+
/// Lang's incremental sequence number, used as the operation identifier
|
271
|
+
uint32 seq = 1;
|
272
|
+
// What workflow is being targeted
|
273
|
+
oneof target {
|
274
|
+
// A specific workflow instance
|
275
|
+
common.NamespacedWorkflowExecution workflow_execution = 2;
|
276
|
+
// The desired target must be a child of the issuing workflow, and this is its workflow id
|
277
|
+
string child_workflow_id = 3;
|
278
|
+
}
|
279
|
+
/// Name of the signal handler
|
280
|
+
string signal_name = 4;
|
281
|
+
/// Arguments for the handler
|
282
|
+
repeated temporal.api.common.v1.Payload args = 5;
|
283
|
+
/// Headers to attach to the signal
|
284
|
+
map<string, temporal.api.common.v1.Payload> headers = 6;
|
285
|
+
}
|
286
|
+
|
287
|
+
/// Can be used to cancel not-already-sent `SignalExternalWorkflowExecution` commands
|
288
|
+
message CancelSignalWorkflow {
|
289
|
+
/// Lang's incremental sequence number as passed to `SignalExternalWorkflowExecution`
|
290
|
+
uint32 seq = 1;
|
291
|
+
}
|
292
|
+
|
293
|
+
message UpsertWorkflowSearchAttributes {
|
294
|
+
/// SearchAttributes fields - equivalent to indexed_fields on api. Key = search index, Value =
|
295
|
+
/// value?
|
296
|
+
map<string, temporal.api.common.v1.Payload> search_attributes = 1;
|
297
|
+
}
|
data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
syntax = "proto3";
|
2
|
+
|
3
|
+
package coresdk.workflow_completion;
|
4
|
+
|
5
|
+
import "temporal/api/failure/v1/message.proto";
|
6
|
+
import "temporal/sdk/core/common/common.proto";
|
7
|
+
import "temporal/sdk/core/workflow_commands/workflow_commands.proto";
|
8
|
+
|
9
|
+
/// Result of a single workflow activation, reported from lang to core
|
10
|
+
message WorkflowActivationCompletion {
|
11
|
+
// The run id from the workflow activation you are completing
|
12
|
+
string run_id = 1;
|
13
|
+
oneof status {
|
14
|
+
Success successful = 2;
|
15
|
+
Failure failed = 3;
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
/// Successful workflow activation with a list of commands generated by the workflow execution
|
20
|
+
message Success {
|
21
|
+
// A list of commands to send back to the temporal server
|
22
|
+
repeated workflow_commands.WorkflowCommand commands = 1;
|
23
|
+
}
|
24
|
+
|
25
|
+
/// Failure to activate or execute a workflow
|
26
|
+
message Failure {
|
27
|
+
temporal.api.failure.v1.Failure failure = 1;
|
28
|
+
}
|
29
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
- included_paths:
|
2
|
+
- '**/*.proto'
|
3
|
+
disabled_rules:
|
4
|
+
- 'core::0192::has-comments'
|
5
|
+
|
6
|
+
- included_paths:
|
7
|
+
- '**/message.proto'
|
8
|
+
disabled_rules:
|
9
|
+
- 'core::0122::name-suffix'
|
10
|
+
- 'core::0123::resource-annotation'
|
11
|
+
|
12
|
+
- included_paths:
|
13
|
+
- '**/testservice/v1/request_response.proto'
|
14
|
+
disabled_rules:
|
15
|
+
- 'core::0122::name-suffix'
|
16
|
+
- 'core::0131::request-name-required'
|
17
|
+
- 'core::0131::request-unknown-fields'
|
18
|
+
- 'core::0132::request-parent-required'
|
19
|
+
- 'core::0132::request-unknown-fields'
|
20
|
+
- 'core::0132::response-unknown-fields'
|
21
|
+
- 'core::0134::request-unknown-fields'
|
22
|
+
- 'core::0158::request-page-size-field'
|
23
|
+
- 'core::0158::request-page-token-field'
|
24
|
+
- 'core::0158::response-next-page-token-field'
|
25
|
+
- 'core::0158::response-plural-first-field'
|
26
|
+
- 'core::0158::response-repeated-first-field'
|
27
|
+
|
28
|
+
- included_paths:
|
29
|
+
- '**/testservice/v1/service.proto'
|
30
|
+
disabled_rules:
|
31
|
+
- 'core::0127::http-annotation'
|
32
|
+
- 'core::0131::method-signature'
|
33
|
+
- 'core::0131::response-message-name'
|
34
|
+
|
35
|
+
- included_paths:
|
36
|
+
- 'dependencies/gogoproto/gogo.proto'
|
37
|
+
disabled_rules:
|
38
|
+
- 'all'
|
@@ -0,0 +1,141 @@
|
|
1
|
+
// Protocol Buffers for Go with Gadgets
|
2
|
+
//
|
3
|
+
// Copyright (c) 2013, The GoGo Authors. All rights reserved.
|
4
|
+
// http://github.com/temporalio/gogo-protobuf
|
5
|
+
//
|
6
|
+
// Redistribution and use in source and binary forms, with or without
|
7
|
+
// modification, are permitted provided that the following conditions are
|
8
|
+
// met:
|
9
|
+
//
|
10
|
+
// * Redistributions of source code must retain the above copyright
|
11
|
+
// notice, this list of conditions and the following disclaimer.
|
12
|
+
// * Redistributions in binary form must reproduce the above
|
13
|
+
// copyright notice, this list of conditions and the following disclaimer
|
14
|
+
// in the documentation and/or other materials provided with the
|
15
|
+
// distribution.
|
16
|
+
//
|
17
|
+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
18
|
+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
19
|
+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
20
|
+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
21
|
+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
22
|
+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
23
|
+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
24
|
+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
25
|
+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
26
|
+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
27
|
+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
28
|
+
|
29
|
+
syntax = "proto2";
|
30
|
+
package gogoproto;
|
31
|
+
|
32
|
+
import "google/protobuf/descriptor.proto";
|
33
|
+
|
34
|
+
option go_package = "github.com/gogo/protobuf/gogoproto";
|
35
|
+
|
36
|
+
extend google.protobuf.EnumOptions {
|
37
|
+
optional bool goproto_enum_prefix = 62001;
|
38
|
+
optional bool goproto_enum_stringer = 62021;
|
39
|
+
optional bool enum_stringer = 62022;
|
40
|
+
optional string enum_customname = 62023;
|
41
|
+
optional bool enumdecl = 62024;
|
42
|
+
}
|
43
|
+
|
44
|
+
extend google.protobuf.EnumValueOptions {
|
45
|
+
optional string enumvalue_customname = 66001;
|
46
|
+
}
|
47
|
+
|
48
|
+
extend google.protobuf.FileOptions {
|
49
|
+
optional bool goproto_getters_all = 63001;
|
50
|
+
optional bool goproto_enum_prefix_all = 63002;
|
51
|
+
optional bool goproto_stringer_all = 63003;
|
52
|
+
optional bool verbose_equal_all = 63004;
|
53
|
+
optional bool face_all = 63005;
|
54
|
+
optional bool gostring_all = 63006;
|
55
|
+
optional bool populate_all = 63007;
|
56
|
+
optional bool stringer_all = 63008;
|
57
|
+
optional bool onlyone_all = 63009;
|
58
|
+
|
59
|
+
optional bool equal_all = 63013;
|
60
|
+
optional bool description_all = 63014;
|
61
|
+
optional bool testgen_all = 63015;
|
62
|
+
optional bool benchgen_all = 63016;
|
63
|
+
optional bool marshaler_all = 63017;
|
64
|
+
optional bool unmarshaler_all = 63018;
|
65
|
+
optional bool stable_marshaler_all = 63019;
|
66
|
+
|
67
|
+
optional bool sizer_all = 63020;
|
68
|
+
|
69
|
+
optional bool goproto_enum_stringer_all = 63021;
|
70
|
+
optional bool enum_stringer_all = 63022;
|
71
|
+
|
72
|
+
optional bool unsafe_marshaler_all = 63023;
|
73
|
+
optional bool unsafe_unmarshaler_all = 63024;
|
74
|
+
|
75
|
+
optional bool goproto_extensions_map_all = 63025;
|
76
|
+
optional bool goproto_unrecognized_all = 63026;
|
77
|
+
optional bool gogoproto_import = 63027;
|
78
|
+
optional bool protosizer_all = 63028;
|
79
|
+
optional bool compare_all = 63029;
|
80
|
+
optional bool typedecl_all = 63030;
|
81
|
+
optional bool enumdecl_all = 63031;
|
82
|
+
|
83
|
+
optional bool goproto_registration = 63032;
|
84
|
+
optional bool messagename_all = 63033;
|
85
|
+
|
86
|
+
optional bool goproto_sizecache_all = 63034;
|
87
|
+
optional bool goproto_unkeyed_all = 63035;
|
88
|
+
}
|
89
|
+
|
90
|
+
extend google.protobuf.MessageOptions {
|
91
|
+
optional bool goproto_getters = 64001;
|
92
|
+
optional bool goproto_stringer = 64003;
|
93
|
+
optional bool verbose_equal = 64004;
|
94
|
+
optional bool face = 64005;
|
95
|
+
optional bool gostring = 64006;
|
96
|
+
optional bool populate = 64007;
|
97
|
+
optional bool stringer = 67008;
|
98
|
+
optional bool onlyone = 64009;
|
99
|
+
|
100
|
+
optional bool equal = 64013;
|
101
|
+
optional bool description = 64014;
|
102
|
+
optional bool testgen = 64015;
|
103
|
+
optional bool benchgen = 64016;
|
104
|
+
optional bool marshaler = 64017;
|
105
|
+
optional bool unmarshaler = 64018;
|
106
|
+
optional bool stable_marshaler = 64019;
|
107
|
+
|
108
|
+
optional bool sizer = 64020;
|
109
|
+
|
110
|
+
optional bool unsafe_marshaler = 64023;
|
111
|
+
optional bool unsafe_unmarshaler = 64024;
|
112
|
+
|
113
|
+
optional bool goproto_extensions_map = 64025;
|
114
|
+
optional bool goproto_unrecognized = 64026;
|
115
|
+
|
116
|
+
optional bool protosizer = 64028;
|
117
|
+
optional bool compare = 64029;
|
118
|
+
|
119
|
+
optional bool typedecl = 64030;
|
120
|
+
|
121
|
+
optional bool messagename = 64033;
|
122
|
+
|
123
|
+
optional bool goproto_sizecache = 64034;
|
124
|
+
optional bool goproto_unkeyed = 64035;
|
125
|
+
}
|
126
|
+
|
127
|
+
extend google.protobuf.FieldOptions {
|
128
|
+
optional bool nullable = 65001;
|
129
|
+
optional bool embed = 65002;
|
130
|
+
optional string customtype = 65003;
|
131
|
+
optional string customname = 65004;
|
132
|
+
optional string jsontag = 65005;
|
133
|
+
optional string moretags = 65006;
|
134
|
+
optional string casttype = 65007;
|
135
|
+
optional string castkey = 65008;
|
136
|
+
optional string castvalue = 65009;
|
137
|
+
|
138
|
+
optional bool stdtime = 65010;
|
139
|
+
optional bool stdduration = 65011;
|
140
|
+
optional bool wktpointer = 65012;
|
141
|
+
}
|
data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto
ADDED
@@ -0,0 +1,63 @@
|
|
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.testservice.v1;
|
26
|
+
|
27
|
+
option go_package = "go.temporal.io/api/testservice/v1;testservice";
|
28
|
+
option java_package = "io.temporal.api.testservice.v1";
|
29
|
+
option java_multiple_files = true;
|
30
|
+
option java_outer_classname = "RequestResponseProto";
|
31
|
+
option ruby_package = "Temporal::Api::TestService::V1";
|
32
|
+
option csharp_namespace = "Temporal.Api.TestService.V1";
|
33
|
+
|
34
|
+
import "google/protobuf/duration.proto";
|
35
|
+
import "google/protobuf/timestamp.proto";
|
36
|
+
import "dependencies/gogoproto/gogo.proto";
|
37
|
+
|
38
|
+
message LockTimeSkippingRequest {
|
39
|
+
}
|
40
|
+
|
41
|
+
message LockTimeSkippingResponse {
|
42
|
+
}
|
43
|
+
|
44
|
+
message UnlockTimeSkippingRequest {
|
45
|
+
}
|
46
|
+
|
47
|
+
message UnlockTimeSkippingResponse {
|
48
|
+
}
|
49
|
+
|
50
|
+
message SleepUntilRequest {
|
51
|
+
google.protobuf.Timestamp timestamp = 1 [(gogoproto.stdtime) = true];
|
52
|
+
}
|
53
|
+
|
54
|
+
message SleepRequest {
|
55
|
+
google.protobuf.Duration duration = 1 [(gogoproto.stdduration) = true];
|
56
|
+
}
|
57
|
+
|
58
|
+
message SleepResponse {
|
59
|
+
}
|
60
|
+
|
61
|
+
message GetCurrentTimeResponse {
|
62
|
+
google.protobuf.Timestamp time = 1 [(gogoproto.stdtime) = true];
|
63
|
+
}
|
@@ -0,0 +1,90 @@
|
|
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.testservice.v1;
|
26
|
+
|
27
|
+
option go_package = "go.temporal.io/api/testservice/v1;testservice";
|
28
|
+
option java_package = "io.temporal.api.testservice.v1";
|
29
|
+
option java_multiple_files = true;
|
30
|
+
option java_outer_classname = "ServiceProto";
|
31
|
+
option ruby_package = "Temporal::Api::TestService::V1";
|
32
|
+
option csharp_namespace = "Temporal.Api.TestService.V1";
|
33
|
+
|
34
|
+
import "temporal/api/testservice/v1/request_response.proto";
|
35
|
+
import "google/protobuf/empty.proto";
|
36
|
+
|
37
|
+
// TestService API defines an interface supported only by the Temporal Test Server.
|
38
|
+
// It provides functionality needed or supported for testing purposes only.
|
39
|
+
//
|
40
|
+
// This is an EXPERIMENTAL API.
|
41
|
+
service TestService {
|
42
|
+
// LockTimeSkipping increments Time Locking Counter by one.
|
43
|
+
//
|
44
|
+
// If Time Locking Counter is positive, time skipping is locked (disabled).
|
45
|
+
// When time skipping is disabled, the time in test server is moving normally, with a real time pace.
|
46
|
+
// Test Server is typically started with locked time skipping and Time Locking Counter = 1.
|
47
|
+
//
|
48
|
+
// LockTimeSkipping and UnlockTimeSkipping calls are counted.
|
49
|
+
rpc LockTimeSkipping (LockTimeSkippingRequest) returns (LockTimeSkippingResponse) {
|
50
|
+
}
|
51
|
+
|
52
|
+
// UnlockTimeSkipping decrements Time Locking Counter by one.
|
53
|
+
//
|
54
|
+
// If the counter reaches 0, it unlocks time skipping and fast forwards time.
|
55
|
+
// LockTimeSkipping and UnlockTimeSkipping calls are counted. Calling UnlockTimeSkipping does not
|
56
|
+
// guarantee that time is going to be fast forwarded as another lock can be holding it.
|
57
|
+
//
|
58
|
+
// Time Locking Counter can't be negative, unbalanced calls to UnlockTimeSkipping will lead to rpc call failure
|
59
|
+
rpc UnlockTimeSkipping (UnlockTimeSkippingRequest) returns (UnlockTimeSkippingResponse) {
|
60
|
+
}
|
61
|
+
|
62
|
+
// This call returns only when the Test Server Time advances by the specified duration.
|
63
|
+
// This is an EXPERIMENTAL API.
|
64
|
+
rpc Sleep (SleepRequest) returns (SleepResponse) {
|
65
|
+
}
|
66
|
+
|
67
|
+
// This call returns only when the Test Server Time advances to the specified timestamp.
|
68
|
+
// If the current Test Server Time is beyond the specified timestamp, returns immediately.
|
69
|
+
// This is an EXPERIMENTAL API.
|
70
|
+
rpc SleepUntil (SleepUntilRequest) returns (SleepResponse) {
|
71
|
+
}
|
72
|
+
|
73
|
+
// UnlockTimeSkippingWhileSleep decreases time locking counter by one and increases it back
|
74
|
+
// once the Test Server Time advances by the duration specified in the request.
|
75
|
+
//
|
76
|
+
// This call returns only when the Test Server Time advances by the specified duration.
|
77
|
+
//
|
78
|
+
// If it is called when Time Locking Counter is
|
79
|
+
// - more than 1 and no other unlocks are coming in, rpc call will block for the specified duration, time will not be fast forwarded.
|
80
|
+
// - 1, it will lead to fast forwarding of the time by the duration specified in the request and quick return of this rpc call.
|
81
|
+
// - 0 will lead to rpc call failure same way as an unbalanced UnlockTimeSkipping.
|
82
|
+
rpc UnlockTimeSkippingWithSleep (SleepRequest) returns (SleepResponse) {
|
83
|
+
}
|
84
|
+
|
85
|
+
// GetCurrentTime returns the current Temporal Test Server time
|
86
|
+
//
|
87
|
+
// This time might not be equal to {@link System#currentTimeMillis()} due to time skipping.
|
88
|
+
rpc GetCurrentTime (google.protobuf.Empty) returns (GetCurrentTimeResponse) {
|
89
|
+
}
|
90
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
imports_granularity="Crate"
|