temporalio 0.0.1 → 0.1.0
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 +4 -4
- data/README.md +180 -7
- data/bridge/Cargo.lock +208 -76
- data/bridge/Cargo.toml +5 -2
- data/bridge/sdk-core/Cargo.toml +1 -1
- data/bridge/sdk-core/README.md +20 -10
- data/bridge/sdk-core/client/Cargo.toml +1 -1
- data/bridge/sdk-core/client/src/lib.rs +227 -59
- data/bridge/sdk-core/client/src/metrics.rs +17 -8
- data/bridge/sdk-core/client/src/raw.rs +13 -12
- data/bridge/sdk-core/client/src/retry.rs +132 -43
- data/bridge/sdk-core/core/Cargo.toml +28 -15
- data/bridge/sdk-core/core/benches/workflow_replay.rs +13 -10
- data/bridge/sdk-core/core/src/abstractions.rs +225 -36
- data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +217 -79
- data/bridge/sdk-core/core/src/core_tests/determinism.rs +165 -2
- data/bridge/sdk-core/core/src/core_tests/local_activities.rs +565 -34
- data/bridge/sdk-core/core/src/core_tests/queries.rs +247 -90
- data/bridge/sdk-core/core/src/core_tests/workers.rs +3 -5
- data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +1 -1
- data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +430 -67
- data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +106 -12
- data/bridge/sdk-core/core/src/internal_flags.rs +136 -0
- data/bridge/sdk-core/core/src/lib.rs +148 -34
- data/bridge/sdk-core/core/src/protosext/mod.rs +1 -1
- data/bridge/sdk-core/core/src/replay/mod.rs +185 -41
- data/bridge/sdk-core/core/src/telemetry/log_export.rs +190 -0
- data/bridge/sdk-core/core/src/telemetry/metrics.rs +219 -140
- data/bridge/sdk-core/core/src/telemetry/mod.rs +326 -315
- data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +20 -14
- data/bridge/sdk-core/core/src/test_help/mod.rs +85 -21
- data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +112 -156
- data/bridge/sdk-core/core/src/worker/activities/activity_task_poller_stream.rs +89 -0
- data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +364 -128
- data/bridge/sdk-core/core/src/worker/activities.rs +263 -170
- data/bridge/sdk-core/core/src/worker/client/mocks.rs +23 -3
- data/bridge/sdk-core/core/src/worker/client.rs +48 -6
- data/bridge/sdk-core/core/src/worker/mod.rs +186 -75
- data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +1 -3
- data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +13 -24
- data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +879 -226
- data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +101 -48
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +8 -12
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +6 -9
- data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +90 -32
- data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +6 -9
- data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +7 -10
- data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +6 -9
- data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +160 -83
- data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +36 -54
- data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +179 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +104 -157
- data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +8 -12
- data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +9 -13
- data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +10 -4
- data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +14 -11
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +6 -17
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +395 -299
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +12 -20
- data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +33 -18
- data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +1032 -374
- data/bridge/sdk-core/core/src/worker/workflow/mod.rs +525 -392
- data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +40 -57
- data/bridge/sdk-core/core/src/worker/workflow/wft_extraction.rs +125 -0
- data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +3 -6
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/saved_wf_inputs.rs +117 -0
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/tonic_status_serde.rs +24 -0
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +456 -681
- data/bridge/sdk-core/core-api/Cargo.toml +6 -4
- data/bridge/sdk-core/core-api/src/errors.rs +1 -34
- data/bridge/sdk-core/core-api/src/lib.rs +7 -45
- data/bridge/sdk-core/core-api/src/telemetry.rs +141 -0
- data/bridge/sdk-core/core-api/src/worker.rs +27 -1
- data/bridge/sdk-core/etc/deps.svg +115 -140
- data/bridge/sdk-core/etc/regen-depgraph.sh +5 -0
- data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +18 -15
- data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +1 -1
- data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +8 -3
- data/bridge/sdk-core/histories/evict_while_la_running_no_interference-16_history.bin +0 -0
- data/bridge/sdk-core/histories/evict_while_la_running_no_interference-23_history.bin +0 -0
- data/bridge/sdk-core/histories/evict_while_la_running_no_interference-85_history.bin +0 -0
- data/bridge/sdk-core/protos/api_upstream/buf.yaml +0 -3
- data/bridge/sdk-core/protos/api_upstream/build/go.mod +7 -0
- data/bridge/sdk-core/protos/api_upstream/build/go.sum +5 -0
- data/bridge/sdk-core/protos/api_upstream/{temporal/api/enums/v1/cluster.proto → build/tools.go} +7 -18
- data/bridge/sdk-core/protos/api_upstream/go.mod +6 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +12 -9
- data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +15 -26
- data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +13 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +3 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +4 -9
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +3 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +10 -8
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +28 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +24 -19
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +62 -26
- data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +4 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +24 -61
- data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +2 -21
- data/bridge/sdk-core/protos/api_upstream/temporal/api/protocol/v1/message.proto +57 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +110 -31
- data/bridge/sdk-core/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +63 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +4 -4
- data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +71 -6
- data/bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +3 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +111 -36
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +19 -5
- data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +1 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +9 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +9 -1
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +6 -0
- data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +2 -2
- data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +2 -2
- data/bridge/sdk-core/sdk/Cargo.toml +4 -3
- data/bridge/sdk-core/sdk/src/interceptors.rs +36 -3
- data/bridge/sdk-core/sdk/src/lib.rs +94 -25
- data/bridge/sdk-core/sdk/src/workflow_context.rs +13 -2
- data/bridge/sdk-core/sdk/src/workflow_future.rs +10 -13
- data/bridge/sdk-core/sdk-core-protos/Cargo.toml +5 -2
- data/bridge/sdk-core/sdk-core-protos/build.rs +36 -2
- data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +164 -104
- data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +27 -23
- data/bridge/sdk-core/sdk-core-protos/src/lib.rs +252 -74
- data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +12 -2
- data/bridge/sdk-core/test-utils/Cargo.toml +4 -1
- data/bridge/sdk-core/test-utils/src/canned_histories.rs +106 -296
- data/bridge/sdk-core/test-utils/src/histfetch.rs +1 -1
- data/bridge/sdk-core/test-utils/src/lib.rs +161 -50
- data/bridge/sdk-core/test-utils/src/wf_input_saver.rs +50 -0
- data/bridge/sdk-core/test-utils/src/workflows.rs +29 -0
- data/bridge/sdk-core/tests/fuzzy_workflow.rs +130 -0
- data/bridge/sdk-core/tests/{load_tests.rs → heavy_tests.rs} +125 -51
- data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +25 -3
- data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +10 -5
- data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +239 -0
- data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +4 -60
- data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +5 -128
- data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +83 -25
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +93 -69
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +1 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +6 -13
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +1 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +6 -2
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +3 -10
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +151 -116
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +54 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +7 -28
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +115 -24
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +1 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +18 -14
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +6 -20
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +10 -21
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +6 -4
- data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +27 -18
- data/bridge/sdk-core/tests/main.rs +8 -16
- data/bridge/sdk-core/tests/runner.rs +75 -36
- data/bridge/sdk-core/tests/wf_input_replay.rs +32 -0
- data/bridge/src/connection.rs +117 -82
- data/bridge/src/lib.rs +356 -42
- data/bridge/src/runtime.rs +10 -3
- data/bridge/src/test_server.rs +153 -0
- data/bridge/src/worker.rs +133 -9
- data/lib/gen/temporal/api/batch/v1/message_pb.rb +8 -6
- data/lib/gen/temporal/api/command/v1/message_pb.rb +10 -16
- data/lib/gen/temporal/api/common/v1/message_pb.rb +5 -1
- data/lib/gen/temporal/api/enums/v1/batch_operation_pb.rb +2 -1
- data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +3 -3
- data/lib/gen/temporal/api/enums/v1/common_pb.rb +2 -1
- data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +5 -4
- data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +9 -1
- data/lib/gen/temporal/api/enums/v1/namespace_pb.rb +1 -1
- data/lib/gen/temporal/api/enums/v1/query_pb.rb +1 -1
- data/lib/gen/temporal/api/enums/v1/reset_pb.rb +1 -1
- data/lib/gen/temporal/api/enums/v1/schedule_pb.rb +1 -1
- data/lib/gen/temporal/api/enums/v1/task_queue_pb.rb +1 -1
- data/lib/gen/temporal/api/enums/v1/update_pb.rb +7 -10
- data/lib/gen/temporal/api/enums/v1/workflow_pb.rb +1 -1
- data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +1 -1
- data/lib/gen/temporal/api/failure/v1/message_pb.rb +1 -1
- data/lib/gen/temporal/api/filter/v1/message_pb.rb +1 -1
- data/lib/gen/temporal/api/history/v1/message_pb.rb +34 -25
- data/lib/gen/temporal/api/namespace/v1/message_pb.rb +2 -1
- data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +14 -51
- data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +1 -1
- data/lib/gen/temporal/api/protocol/v1/message_pb.rb +30 -0
- data/lib/gen/temporal/api/query/v1/message_pb.rb +1 -1
- data/lib/gen/temporal/api/replication/v1/message_pb.rb +1 -1
- data/lib/gen/temporal/api/schedule/v1/message_pb.rb +22 -1
- data/lib/gen/temporal/api/sdk/v1/task_complete_metadata_pb.rb +23 -0
- data/lib/gen/temporal/api/taskqueue/v1/message_pb.rb +2 -2
- data/lib/gen/temporal/api/testservice/v1/request_response_pb.rb +49 -0
- data/lib/gen/temporal/api/testservice/v1/service_pb.rb +21 -0
- data/lib/gen/temporal/api/update/v1/message_pb.rb +49 -3
- data/lib/gen/temporal/api/version/v1/message_pb.rb +1 -1
- data/lib/gen/temporal/api/workflow/v1/message_pb.rb +2 -1
- data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +47 -20
- data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +1 -1
- data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +13 -9
- data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +10 -6
- data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +13 -9
- data/lib/gen/temporal/sdk/core/common/common_pb.rb +7 -3
- data/lib/gen/temporal/sdk/core/core_interface_pb.rb +9 -3
- data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +7 -3
- data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +28 -21
- data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +32 -24
- data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +12 -5
- data/lib/temporalio/activity/context.rb +102 -0
- data/lib/temporalio/activity/info.rb +67 -0
- data/lib/temporalio/activity.rb +85 -0
- data/lib/temporalio/bridge/connect_options.rb +15 -0
- data/lib/temporalio/bridge/error.rb +8 -0
- data/lib/temporalio/bridge/retry_config.rb +24 -0
- data/lib/temporalio/bridge/tls_options.rb +19 -0
- data/lib/temporalio/bridge.rb +14 -0
- data/lib/{temporal → temporalio}/client/implementation.rb +57 -56
- data/lib/{temporal → temporalio}/client/workflow_handle.rb +35 -35
- data/lib/{temporal → temporalio}/client.rb +19 -32
- data/lib/temporalio/connection/retry_config.rb +44 -0
- data/lib/temporalio/connection/service.rb +20 -0
- data/lib/temporalio/connection/test_service.rb +92 -0
- data/lib/temporalio/connection/tls_options.rb +51 -0
- data/lib/temporalio/connection/workflow_service.rb +731 -0
- data/lib/temporalio/connection.rb +86 -0
- data/lib/{temporal → temporalio}/data_converter.rb +76 -35
- data/lib/{temporal → temporalio}/error/failure.rb +6 -6
- data/lib/{temporal → temporalio}/error/workflow_failure.rb +4 -2
- data/lib/{temporal → temporalio}/errors.rb +19 -1
- data/lib/{temporal → temporalio}/failure_converter/base.rb +5 -5
- data/lib/{temporal → temporalio}/failure_converter/basic.rb +58 -52
- data/lib/temporalio/failure_converter.rb +7 -0
- data/lib/temporalio/interceptor/activity_inbound.rb +22 -0
- data/lib/temporalio/interceptor/activity_outbound.rb +24 -0
- data/lib/{temporal → temporalio}/interceptor/chain.rb +7 -6
- data/lib/{temporal → temporalio}/interceptor/client.rb +27 -2
- data/lib/temporalio/interceptor.rb +22 -0
- data/lib/{temporal → temporalio}/payload_codec/base.rb +5 -5
- data/lib/{temporal → temporalio}/payload_converter/base.rb +3 -3
- data/lib/{temporal → temporalio}/payload_converter/bytes.rb +4 -3
- data/lib/{temporal → temporalio}/payload_converter/composite.rb +7 -5
- data/lib/{temporal → temporalio}/payload_converter/encoding_base.rb +4 -4
- data/lib/{temporal → temporalio}/payload_converter/json.rb +4 -3
- data/lib/{temporal → temporalio}/payload_converter/nil.rb +4 -3
- data/lib/temporalio/payload_converter.rb +14 -0
- data/lib/{temporal → temporalio}/retry_policy.rb +17 -7
- data/lib/{temporal → temporalio}/retry_state.rb +1 -1
- data/lib/temporalio/runtime.rb +25 -0
- data/lib/temporalio/testing/time_skipping_handle.rb +32 -0
- data/lib/temporalio/testing/time_skipping_interceptor.rb +23 -0
- data/lib/temporalio/testing/workflow_environment.rb +112 -0
- data/lib/temporalio/testing.rb +175 -0
- data/lib/{temporal → temporalio}/timeout_type.rb +2 -2
- data/lib/temporalio/version.rb +3 -0
- data/lib/temporalio/worker/activity_runner.rb +114 -0
- data/lib/temporalio/worker/activity_worker.rb +164 -0
- data/lib/temporalio/worker/reactor.rb +46 -0
- data/lib/temporalio/worker/runner.rb +63 -0
- data/lib/temporalio/worker/sync_worker.rb +124 -0
- data/lib/temporalio/worker/thread_pool_executor.rb +51 -0
- data/lib/temporalio/worker.rb +204 -0
- data/lib/temporalio/workflow/async.rb +46 -0
- data/lib/{temporal → temporalio}/workflow/execution_info.rb +4 -4
- data/lib/{temporal → temporalio}/workflow/execution_status.rb +1 -1
- data/lib/temporalio/workflow/future.rb +138 -0
- data/lib/{temporal → temporalio}/workflow/id_reuse_policy.rb +6 -6
- data/lib/temporalio/workflow/info.rb +76 -0
- data/lib/{temporal → temporalio}/workflow/query_reject_condition.rb +5 -5
- data/lib/temporalio.rb +12 -3
- data/temporalio.gemspec +11 -6
- metadata +137 -64
- data/bridge/sdk-core/Cargo.lock +0 -2606
- data/bridge/sdk-core/bridge-ffi/Cargo.toml +0 -24
- data/bridge/sdk-core/bridge-ffi/LICENSE.txt +0 -23
- data/bridge/sdk-core/bridge-ffi/build.rs +0 -25
- data/bridge/sdk-core/bridge-ffi/include/sdk-core-bridge.h +0 -249
- data/bridge/sdk-core/bridge-ffi/src/lib.rs +0 -825
- data/bridge/sdk-core/bridge-ffi/src/wrappers.rs +0 -211
- data/bridge/sdk-core/core/src/log_export.rs +0 -62
- data/bridge/sdk-core/core/src/worker/workflow/machines/mutable_side_effect_state_machine.rs +0 -127
- data/bridge/sdk-core/core/src/worker/workflow/machines/side_effect_state_machine.rs +0 -71
- data/bridge/sdk-core/protos/api_upstream/temporal/api/cluster/v1/message.proto +0 -83
- data/bridge/sdk-core/protos/local/temporal/sdk/core/bridge/bridge.proto +0 -210
- data/bridge/sdk-core/sdk/src/conversions.rs +0 -8
- data/lib/bridge.so +0 -0
- data/lib/gen/temporal/api/cluster/v1/message_pb.rb +0 -67
- data/lib/gen/temporal/api/enums/v1/cluster_pb.rb +0 -26
- data/lib/gen/temporal/sdk/core/bridge/bridge_pb.rb +0 -222
- data/lib/temporal/bridge.rb +0 -14
- data/lib/temporal/connection.rb +0 -736
- data/lib/temporal/failure_converter.rb +0 -8
- data/lib/temporal/payload_converter.rb +0 -14
- data/lib/temporal/runtime.rb +0 -22
- data/lib/temporal/version.rb +0 -3
- data/lib/temporal.rb +0 -8
|
@@ -28,19 +28,84 @@ option go_package = "go.temporal.io/api/update/v1;update";
|
|
|
28
28
|
option java_package = "io.temporal.api.update.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "MessageProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Update::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Update.V1";
|
|
33
33
|
|
|
34
34
|
import "temporal/api/common/v1/message.proto";
|
|
35
|
+
import "temporal/api/enums/v1/update.proto";
|
|
36
|
+
import "temporal/api/failure/v1/message.proto";
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
// Sepcifies to the gRPC server how the client wants the UpdateWorkflowExecution
|
|
39
|
+
// call to wait before returning control to the caller.
|
|
40
|
+
message WaitPolicy {
|
|
41
|
+
|
|
42
|
+
// Indicates the update lifecycle stage that the gRPC call should wait for
|
|
43
|
+
// before returning.
|
|
44
|
+
temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage lifecycle_stage = 1;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// The data needed by a client to refer to an previously invoked workflow
|
|
48
|
+
// execution update process.
|
|
49
|
+
message UpdateRef {
|
|
50
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 1;
|
|
51
|
+
string update_id = 2;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// The outcome of a workflow update - success or failure.
|
|
55
|
+
message Outcome {
|
|
56
|
+
oneof value {
|
|
57
|
+
temporal.api.common.v1.Payloads success = 1;
|
|
58
|
+
temporal.api.failure.v1.Failure failure = 2;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Metadata about a workflow execution update.
|
|
63
|
+
message Meta {
|
|
64
|
+
// An ID with workflow-scoped uniqueness for this update
|
|
65
|
+
string update_id = 1;
|
|
66
|
+
|
|
67
|
+
// A string identifying the agent that requested this update.
|
|
68
|
+
string identity = 2;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
message Input {
|
|
72
|
+
// Headers that are passed with the update from the requesting entity.
|
|
38
73
|
// These can include things like auth or tracing tokens.
|
|
39
74
|
temporal.api.common.v1.Header header = 1;
|
|
40
75
|
|
|
41
|
-
// The name of the
|
|
76
|
+
// The name of the input handler to invoke on the target workflow
|
|
42
77
|
string name = 2;
|
|
43
78
|
|
|
44
|
-
// The arguments to pass to the named
|
|
79
|
+
// The arguments to pass to the named handler.
|
|
45
80
|
temporal.api.common.v1.Payloads args = 3;
|
|
46
81
|
}
|
|
82
|
+
|
|
83
|
+
// The client request that triggers a workflow execution update
|
|
84
|
+
message Request {
|
|
85
|
+
Meta meta = 1;
|
|
86
|
+
Input input = 2;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// An update protocol message indicating that a workflow execution update has
|
|
90
|
+
// been rejected.
|
|
91
|
+
message Rejection {
|
|
92
|
+
string rejected_request_message_id = 1;
|
|
93
|
+
int64 rejected_request_sequencing_event_id = 2;
|
|
94
|
+
Request rejected_request = 3;
|
|
95
|
+
temporal.api.failure.v1.Failure failure = 4;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// An update protocol message indicating that a workflow execution update has
|
|
99
|
+
// been accepted (i.e. passed the worker-side validation phase).
|
|
100
|
+
message Acceptance {
|
|
101
|
+
string accepted_request_message_id = 1;
|
|
102
|
+
int64 accepted_request_sequencing_event_id = 2;
|
|
103
|
+
Request accepted_request = 3;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// An update protocol message indicating that a workflow execution update has
|
|
107
|
+
// completed with the contained outcome.
|
|
108
|
+
message Response {
|
|
109
|
+
Meta meta = 1;
|
|
110
|
+
Outcome outcome = 2;
|
|
111
|
+
}
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/version/v1;version";
|
|
|
28
28
|
option java_package = "io.temporal.api.version.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "MessageProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Version::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Version.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/timestamp.proto";
|
|
35
35
|
import "dependencies/gogoproto/gogo.proto";
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/workflow/v1;workflow";
|
|
|
28
28
|
option java_package = "io.temporal.api.workflow.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "MessageProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Workflow::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Workflow.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/duration.proto";
|
|
35
35
|
import "google/protobuf/timestamp.proto";
|
|
@@ -56,6 +56,7 @@ message WorkflowExecutionInfo {
|
|
|
56
56
|
ResetPoints auto_reset_points = 12;
|
|
57
57
|
string task_queue = 13;
|
|
58
58
|
int64 state_transition_count = 14;
|
|
59
|
+
int64 history_size_bytes = 15;
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
message WorkflowExecutionConfig {
|
data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto
CHANGED
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/workflowservice/v1;workflowservice";
|
|
|
28
28
|
option java_package = "io.temporal.api.workflowservice.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "RequestResponseProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::WorkflowService::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.WorkflowService.V1";
|
|
33
33
|
|
|
34
34
|
import "temporal/api/enums/v1/batch_operation.proto";
|
|
35
35
|
import "temporal/api/enums/v1/workflow.proto";
|
|
@@ -39,13 +39,13 @@ import "temporal/api/enums/v1/common.proto";
|
|
|
39
39
|
import "temporal/api/enums/v1/query.proto";
|
|
40
40
|
import "temporal/api/enums/v1/reset.proto";
|
|
41
41
|
import "temporal/api/enums/v1/task_queue.proto";
|
|
42
|
-
import "temporal/api/enums/v1/update.proto";
|
|
43
42
|
import "temporal/api/common/v1/message.proto";
|
|
44
43
|
import "temporal/api/history/v1/message.proto";
|
|
45
44
|
import "temporal/api/workflow/v1/message.proto";
|
|
46
45
|
import "temporal/api/command/v1/message.proto";
|
|
47
46
|
import "temporal/api/failure/v1/message.proto";
|
|
48
47
|
import "temporal/api/filter/v1/message.proto";
|
|
48
|
+
import "temporal/api/protocol/v1/message.proto";
|
|
49
49
|
import "temporal/api/namespace/v1/message.proto";
|
|
50
50
|
import "temporal/api/query/v1/message.proto";
|
|
51
51
|
import "temporal/api/replication/v1/message.proto";
|
|
@@ -54,6 +54,7 @@ import "temporal/api/taskqueue/v1/message.proto";
|
|
|
54
54
|
import "temporal/api/update/v1/message.proto";
|
|
55
55
|
import "temporal/api/version/v1/message.proto";
|
|
56
56
|
import "temporal/api/batch/v1/message.proto";
|
|
57
|
+
import "temporal/api/sdk/v1/task_complete_metadata.proto";
|
|
57
58
|
|
|
58
59
|
import "google/protobuf/duration.proto";
|
|
59
60
|
import "google/protobuf/timestamp.proto";
|
|
@@ -168,10 +169,25 @@ message StartWorkflowExecutionRequest {
|
|
|
168
169
|
temporal.api.common.v1.Memo memo = 14;
|
|
169
170
|
temporal.api.common.v1.SearchAttributes search_attributes = 15;
|
|
170
171
|
temporal.api.common.v1.Header header = 16;
|
|
172
|
+
// Request to get the first workflow task inline in the response bypassing matching service and worker polling.
|
|
173
|
+
// If set to `true` the caller is expected to have a worker available and capable of processing the task.
|
|
174
|
+
// The returned task will be marked as started and is expected to be completed by the specified
|
|
175
|
+
// `workflow_task_timeout`.
|
|
176
|
+
bool request_eager_execution = 17;
|
|
177
|
+
// These values will be available as ContinuedFailure and LastCompletionResult in the
|
|
178
|
+
// WorkflowExecutionStarted event and through SDKs. The are currently only used by the
|
|
179
|
+
// server itself (for the schedules feature) and are not intended to be exposed in
|
|
180
|
+
// StartWorkflowExecution.
|
|
181
|
+
temporal.api.failure.v1.Failure continued_failure = 18;
|
|
182
|
+
temporal.api.common.v1.Payloads last_completion_result = 19;
|
|
171
183
|
}
|
|
172
184
|
|
|
173
185
|
message StartWorkflowExecutionResponse {
|
|
174
186
|
string run_id = 1;
|
|
187
|
+
// When `request_eager_execution` is set on the `StartWorkflowExecutionRequest`, the server - if supported - will
|
|
188
|
+
// return the first workflow task to be eagerly executed.
|
|
189
|
+
// The caller is expected to have a worker available to process the task.
|
|
190
|
+
PollWorkflowTaskQueueResponse eager_workflow_task = 2;
|
|
175
191
|
}
|
|
176
192
|
|
|
177
193
|
message GetWorkflowExecutionHistoryRequest {
|
|
@@ -222,11 +238,11 @@ message PollWorkflowTaskQueueRequest {
|
|
|
222
238
|
// "checksum" in this field name isn't very accurate, it should be though of as an id.
|
|
223
239
|
string binary_checksum = 4;
|
|
224
240
|
// 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
|
|
241
|
+
// receive tasks that are considered compatible with the version provided.
|
|
226
242
|
// Doing so only makes sense in conjunction with the `UpdateWorkerBuildIdOrdering` API.
|
|
227
|
-
// When
|
|
228
|
-
// `binary_checksum`.
|
|
229
|
-
|
|
243
|
+
// When `worker_versioning_id` has a `worker_build_id`, and `binary_checksum` is not
|
|
244
|
+
// set, that value should also be considered as the `binary_checksum`.
|
|
245
|
+
temporal.api.taskqueue.v1.VersionId worker_versioning_id = 5;
|
|
230
246
|
}
|
|
231
247
|
|
|
232
248
|
message PollWorkflowTaskQueueResponse {
|
|
@@ -267,6 +283,8 @@ message PollWorkflowTaskQueueResponse {
|
|
|
267
283
|
// Queries that should be executed after applying the history in this task. Responses should be
|
|
268
284
|
// attached to `RespondWorkflowTaskCompletedRequest::query_results`
|
|
269
285
|
map<string, temporal.api.query.v1.WorkflowQuery> queries = 14;
|
|
286
|
+
// Protocol messages piggybacking on a WFT as a transport
|
|
287
|
+
repeated temporal.api.protocol.v1.Message messages = 15;
|
|
270
288
|
}
|
|
271
289
|
|
|
272
290
|
message RespondWorkflowTaskCompletedRequest {
|
|
@@ -292,6 +310,18 @@ message RespondWorkflowTaskCompletedRequest {
|
|
|
292
310
|
// Responses to the `queries` field in the task being responded to
|
|
293
311
|
map<string, temporal.api.query.v1.WorkflowQueryResult> query_results = 8;
|
|
294
312
|
string namespace = 9;
|
|
313
|
+
// If using versioning, worker should send the same id here that it used to
|
|
314
|
+
// poll for the workflow task.
|
|
315
|
+
// When `worker_versioning_id` has a `worker_build_id`, and `binary_checksum` is not
|
|
316
|
+
// set, that value should also be considered as the `binary_checksum`.
|
|
317
|
+
temporal.api.taskqueue.v1.VersionId worker_versioning_id = 10;
|
|
318
|
+
// Protocol messages piggybacking on a WFT as a transport
|
|
319
|
+
repeated temporal.api.protocol.v1.Message messages = 11;
|
|
320
|
+
// Data the SDK wishes to record for itself, but server need not interpret, and does not
|
|
321
|
+
// directly impact workflow state.
|
|
322
|
+
temporal.api.sdk.v1.WorkflowTaskCompletedMetadata sdk_metadata = 12;
|
|
323
|
+
// Local usage data collected for metering
|
|
324
|
+
temporal.api.common.v1.MeteringMetadata metering_metadata = 13;
|
|
295
325
|
}
|
|
296
326
|
|
|
297
327
|
message RespondWorkflowTaskCompletedResponse {
|
|
@@ -299,6 +329,8 @@ message RespondWorkflowTaskCompletedResponse {
|
|
|
299
329
|
PollWorkflowTaskQueueResponse workflow_task = 1;
|
|
300
330
|
// See `ScheduleActivityTaskCommandAttributes::request_start`
|
|
301
331
|
repeated PollActivityTaskQueueResponse activity_tasks = 2;
|
|
332
|
+
|
|
333
|
+
int64 reset_history_event_id = 3;
|
|
302
334
|
}
|
|
303
335
|
|
|
304
336
|
message RespondWorkflowTaskFailedRequest {
|
|
@@ -314,6 +346,8 @@ message RespondWorkflowTaskFailedRequest {
|
|
|
314
346
|
// Worker process' unique binary id
|
|
315
347
|
string binary_checksum = 5;
|
|
316
348
|
string namespace = 6;
|
|
349
|
+
// Protocol messages piggybacking on a WFT as a transport
|
|
350
|
+
repeated temporal.api.protocol.v1.Message messages = 7;
|
|
317
351
|
}
|
|
318
352
|
|
|
319
353
|
message RespondWorkflowTaskFailedResponse {
|
|
@@ -326,9 +360,9 @@ message PollActivityTaskQueueRequest {
|
|
|
326
360
|
string identity = 3;
|
|
327
361
|
temporal.api.taskqueue.v1.TaskQueueMetadata task_queue_metadata = 4;
|
|
328
362
|
// 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
|
|
363
|
+
// receive tasks that are considered compatible with the version provided.
|
|
330
364
|
// Doing so only makes sense in conjunction with the `UpdateWorkerBuildIdOrdering` API.
|
|
331
|
-
|
|
365
|
+
temporal.api.taskqueue.v1.VersionId worker_versioning_id = 5;
|
|
332
366
|
}
|
|
333
367
|
|
|
334
368
|
message PollActivityTaskQueueResponse {
|
|
@@ -630,6 +664,19 @@ message TerminateWorkflowExecutionRequest {
|
|
|
630
664
|
message TerminateWorkflowExecutionResponse {
|
|
631
665
|
}
|
|
632
666
|
|
|
667
|
+
// (-- api-linter: core::0135::request-unknown-fields=disabled
|
|
668
|
+
// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)
|
|
669
|
+
// (-- api-linter: core::0135::request-name-required=disabled
|
|
670
|
+
// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)
|
|
671
|
+
message DeleteWorkflowExecutionRequest {
|
|
672
|
+
string namespace = 1;
|
|
673
|
+
// Workflow Execution to delete. If run_id is not specified, the latest one is used.
|
|
674
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 2;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
message DeleteWorkflowExecutionResponse {
|
|
678
|
+
}
|
|
679
|
+
|
|
633
680
|
message ListOpenWorkflowExecutionsRequest {
|
|
634
681
|
string namespace = 1;
|
|
635
682
|
int32 maximum_page_size = 2;
|
|
@@ -821,6 +868,21 @@ message GetSystemInfoResponse {
|
|
|
821
868
|
|
|
822
869
|
// True if server uses protos that include temporal.api.failure.v1.Failure.encoded_attributes
|
|
823
870
|
bool encoded_failure_attributes = 5;
|
|
871
|
+
|
|
872
|
+
// True if server supports dispatching Workflow and Activity tasks based on a worker's build_id
|
|
873
|
+
// (see:
|
|
874
|
+
// https://github.com/temporalio/proposals/blob/a123af3b559f43db16ea6dd31870bfb754c4dc5e/versioning/worker-versions.md)
|
|
875
|
+
bool build_id_based_versioning = 6;
|
|
876
|
+
|
|
877
|
+
// True if server supports upserting workflow memo
|
|
878
|
+
bool upsert_memo = 7;
|
|
879
|
+
|
|
880
|
+
// True if server supports eager workflow task dispatching for the StartWorkflowExecution API
|
|
881
|
+
bool eager_workflow_start = 8;
|
|
882
|
+
|
|
883
|
+
// True if the server knows about the sdk metadata field on WFT completions and will record
|
|
884
|
+
// it in history
|
|
885
|
+
bool sdk_metadata = 9;
|
|
824
886
|
}
|
|
825
887
|
}
|
|
826
888
|
|
|
@@ -874,6 +936,9 @@ message DescribeScheduleRequest {
|
|
|
874
936
|
message DescribeScheduleResponse {
|
|
875
937
|
// The complete current schedule details. This may not match the schedule as
|
|
876
938
|
// created because:
|
|
939
|
+
// - some types of schedule specs may get compiled into others (e.g.
|
|
940
|
+
// CronString into StructuredCalendarSpec)
|
|
941
|
+
// - some unspecified fields may be replaced by defaults
|
|
877
942
|
// - some fields in the state are modified automatically
|
|
878
943
|
// - the schedule may have been modified by UpdateSchedule or PatchSchedule
|
|
879
944
|
temporal.api.schedule.v1.Schedule schedule = 1;
|
|
@@ -1018,58 +1083,60 @@ message GetWorkerBuildIdOrderingResponse {
|
|
|
1018
1083
|
|
|
1019
1084
|
// (-- api-linter: core::0134=disabled
|
|
1020
1085
|
// aip.dev/not-precedent: Update RPCs don't follow Google API format. --)
|
|
1021
|
-
message
|
|
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
|
-
|
|
1086
|
+
message UpdateWorkflowExecutionRequest {
|
|
1030
1087
|
// The namespace name of the target workflow
|
|
1031
|
-
string namespace =
|
|
1088
|
+
string namespace = 1;
|
|
1032
1089
|
// The target workflow id and (optionally) a specific run thereof
|
|
1033
1090
|
// (-- api-linter: core::0203::optional=disabled
|
|
1034
1091
|
// aip.dev/not-precedent: false positive triggered by the word "optional" --)
|
|
1035
|
-
temporal.api.common.v1.WorkflowExecution workflow_execution =
|
|
1092
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 2;
|
|
1036
1093
|
// If set, this call will error if the most recent (if no run id is set on
|
|
1037
1094
|
// `workflow_execution`), or specified (if it is) workflow execution is not
|
|
1038
1095
|
// part of the same execution chain as this id.
|
|
1039
|
-
string first_execution_run_id =
|
|
1096
|
+
string first_execution_run_id = 3;
|
|
1097
|
+
|
|
1098
|
+
// Describes when this request should return - basically whether the
|
|
1099
|
+
// update is synchronous, asynchronous, or somewhere in between.
|
|
1100
|
+
temporal.api.update.v1.WaitPolicy wait_policy = 4;
|
|
1040
1101
|
|
|
1041
|
-
// The
|
|
1042
|
-
//
|
|
1043
|
-
temporal.api.update.v1.
|
|
1102
|
+
// The request information that will be delivered all the way down to the
|
|
1103
|
+
// workflow execution.
|
|
1104
|
+
temporal.api.update.v1.Request request = 5;
|
|
1044
1105
|
}
|
|
1045
1106
|
|
|
1046
|
-
message
|
|
1047
|
-
//
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
// The
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
}
|
|
1107
|
+
message UpdateWorkflowExecutionResponse {
|
|
1108
|
+
// Enough information for subsequent poll calls if needed. Never null.
|
|
1109
|
+
temporal.api.update.v1.UpdateRef update_ref = 1;
|
|
1110
|
+
|
|
1111
|
+
// The outcome of the update if and only if the workflow execution update
|
|
1112
|
+
// has completed. If this response is being returned before the update has
|
|
1113
|
+
// completed then this field will not be set.
|
|
1114
|
+
temporal.api.update.v1.Outcome outcome = 2;
|
|
1055
1115
|
}
|
|
1056
1116
|
|
|
1057
1117
|
message StartBatchOperationRequest {
|
|
1058
1118
|
// Namespace that contains the batch operation
|
|
1059
1119
|
string namespace = 1;
|
|
1060
|
-
// Visibility query defines the the group of workflow to
|
|
1120
|
+
// Visibility query defines the the group of workflow to apply the batch operation
|
|
1121
|
+
// This field and Executions are mutually exclusive
|
|
1061
1122
|
string visibility_query = 2;
|
|
1123
|
+
// Job ID defines the unique ID for the batch job
|
|
1124
|
+
string job_id = 3;
|
|
1125
|
+
// Reason to perform the batch operation
|
|
1126
|
+
string reason = 4;
|
|
1127
|
+
// Executions to apply the batch operation
|
|
1128
|
+
// This field and VisibilityQuery are mutually exclusive
|
|
1129
|
+
repeated temporal.api.common.v1.WorkflowExecution executions = 5;
|
|
1062
1130
|
// Operation input
|
|
1063
1131
|
oneof operation {
|
|
1064
1132
|
temporal.api.batch.v1.BatchOperationTermination termination_operation = 10;
|
|
1065
1133
|
temporal.api.batch.v1.BatchOperationSignal signal_operation = 11;
|
|
1066
1134
|
temporal.api.batch.v1.BatchOperationCancellation cancellation_operation = 12;
|
|
1135
|
+
temporal.api.batch.v1.BatchOperationDeletion deletion_operation = 13;
|
|
1067
1136
|
}
|
|
1068
1137
|
}
|
|
1069
1138
|
|
|
1070
1139
|
message StartBatchOperationResponse {
|
|
1071
|
-
// Batch job id
|
|
1072
|
-
string job_id = 1;
|
|
1073
1140
|
}
|
|
1074
1141
|
|
|
1075
1142
|
message StopBatchOperationRequest {
|
|
@@ -1077,6 +1144,10 @@ message StopBatchOperationRequest {
|
|
|
1077
1144
|
string namespace = 1;
|
|
1078
1145
|
// Batch job id
|
|
1079
1146
|
string job_id = 2;
|
|
1147
|
+
// Reason to stop a batch operation
|
|
1148
|
+
string reason = 3;
|
|
1149
|
+
// Identity of the operator
|
|
1150
|
+
string identity = 4;
|
|
1080
1151
|
}
|
|
1081
1152
|
|
|
1082
1153
|
message StopBatchOperationResponse {
|
|
@@ -1106,6 +1177,10 @@ message DescribeBatchOperationResponse {
|
|
|
1106
1177
|
int64 complete_operation_count = 7;
|
|
1107
1178
|
// Failure operation count
|
|
1108
1179
|
int64 failure_operation_count = 8;
|
|
1180
|
+
// Identity indicates the operator identity
|
|
1181
|
+
string identity = 9;
|
|
1182
|
+
// Reason indicates the reason to stop a operation
|
|
1183
|
+
string reason = 10;
|
|
1109
1184
|
}
|
|
1110
1185
|
|
|
1111
1186
|
message ListBatchOperationsRequest {
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/workflowservice/v1;workflowservice";
|
|
|
28
28
|
option java_package = "io.temporal.api.workflowservice.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "ServiceProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::WorkflowService::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.WorkflowService.V1";
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
import "temporal/api/workflowservice/v1/request_response.proto";
|
|
@@ -256,6 +256,17 @@ service WorkflowService {
|
|
|
256
256
|
rpc TerminateWorkflowExecution (TerminateWorkflowExecutionRequest) returns (TerminateWorkflowExecutionResponse) {
|
|
257
257
|
}
|
|
258
258
|
|
|
259
|
+
// DeleteWorkflowExecution asynchronously deletes a specific Workflow Execution (when
|
|
260
|
+
// WorkflowExecution.run_id is provided) or the latest Workflow Execution (when
|
|
261
|
+
// WorkflowExecution.run_id is not provided). If the Workflow Execution is Running, it will be
|
|
262
|
+
// terminated before deletion.
|
|
263
|
+
// (-- api-linter: core::0135::method-signature=disabled
|
|
264
|
+
// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)
|
|
265
|
+
// (-- api-linter: core::0135::response-message-name=disabled
|
|
266
|
+
// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)
|
|
267
|
+
rpc DeleteWorkflowExecution (DeleteWorkflowExecutionRequest) returns (DeleteWorkflowExecutionResponse) {
|
|
268
|
+
}
|
|
269
|
+
|
|
259
270
|
// ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace.
|
|
260
271
|
rpc ListOpenWorkflowExecutions (ListOpenWorkflowExecutionsRequest) returns (ListOpenWorkflowExecutionsResponse) {
|
|
261
272
|
}
|
|
@@ -369,18 +380,21 @@ service WorkflowService {
|
|
|
369
380
|
rpc ListSchedules (ListSchedulesRequest) returns (ListSchedulesResponse) {
|
|
370
381
|
}
|
|
371
382
|
|
|
383
|
+
// Allows users to specify a graph of worker build id based versions on a
|
|
384
|
+
// per task queue basis. Versions are ordered, and may be either compatible
|
|
385
|
+
// with some extant version, or a new incompatible version.
|
|
372
386
|
// (-- api-linter: core::0134::response-message-name=disabled
|
|
373
387
|
// aip.dev/not-precedent: UpdateWorkerBuildIdOrdering RPC doesn't follow Google API format. --)
|
|
374
388
|
// (-- api-linter: core::0134::method-signature=disabled
|
|
375
389
|
// aip.dev/not-precedent: UpdateWorkerBuildIdOrdering RPC doesn't follow Google API format. --)
|
|
376
390
|
rpc UpdateWorkerBuildIdOrdering (UpdateWorkerBuildIdOrderingRequest) returns (UpdateWorkerBuildIdOrderingResponse) {}
|
|
377
|
-
//
|
|
391
|
+
// Fetches the worker build id versioning graph for some task queue.
|
|
378
392
|
rpc GetWorkerBuildIdOrdering (GetWorkerBuildIdOrderingRequest) returns (GetWorkerBuildIdOrderingResponse) {}
|
|
379
393
|
|
|
380
394
|
// Invokes the specified update function on user workflow code.
|
|
381
395
|
// (-- api-linter: core::0134=disabled
|
|
382
|
-
// aip.dev/not-precedent:
|
|
383
|
-
rpc
|
|
396
|
+
// aip.dev/not-precedent: UpdateWorkflowExecution doesn't follow Google API format --)
|
|
397
|
+
rpc UpdateWorkflowExecution(UpdateWorkflowExecutionRequest) returns (UpdateWorkflowExecutionResponse) {
|
|
384
398
|
}
|
|
385
399
|
|
|
386
400
|
// StartBatchOperation starts a new batch operation
|
|
@@ -4,6 +4,7 @@ syntax = "proto3";
|
|
|
4
4
|
* Definitions of the different activity tasks returned from [crate::Core::poll_task].
|
|
5
5
|
*/
|
|
6
6
|
package coresdk.activity_task;
|
|
7
|
+
option ruby_package = "Temporalio::Bridge::Api::ActivityTask";
|
|
7
8
|
|
|
8
9
|
import "google/protobuf/duration.proto";
|
|
9
10
|
import "google/protobuf/timestamp.proto";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
syntax = "proto3";
|
|
2
2
|
|
|
3
3
|
package coresdk;
|
|
4
|
+
option ruby_package = "Temporalio::Bridge::Api::CoreInterface";
|
|
4
5
|
|
|
5
6
|
// Note: Intellij will think the Google imports don't work because of the slightly odd nature of
|
|
6
7
|
// the include paths. You can make it work by going to the "Protobuf Support" settings section
|
data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto
CHANGED
|
@@ -5,6 +5,7 @@ syntax = "proto3";
|
|
|
5
5
|
* lang SDK applies these activation jobs to drive workflows.
|
|
6
6
|
*/
|
|
7
7
|
package coresdk.workflow_activation;
|
|
8
|
+
option ruby_package = "Temporalio::Bridge::Api::WorkflowActivation";
|
|
8
9
|
|
|
9
10
|
import "google/protobuf/timestamp.proto";
|
|
10
11
|
import "google/protobuf/duration.proto";
|
|
@@ -30,6 +31,10 @@ message WorkflowActivation {
|
|
|
30
31
|
uint32 history_length = 4;
|
|
31
32
|
/// The things to do upon activating the workflow
|
|
32
33
|
repeated WorkflowActivationJob jobs = 5;
|
|
34
|
+
// Internal flags which are available for use by lang. If `is_replaying` is false, all
|
|
35
|
+
// internal flags may be used. This is not a delta - all previously used flags always
|
|
36
|
+
// appear since this representation is cheap.
|
|
37
|
+
repeated uint32 available_internal_flags = 6;
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
message WorkflowActivationJob {
|
|
@@ -119,6 +124,8 @@ message StartWorkflow {
|
|
|
119
124
|
temporal.api.common.v1.Memo memo = 21;
|
|
120
125
|
// Search attributes created/updated when this workflow was started
|
|
121
126
|
temporal.api.common.v1.SearchAttributes search_attributes = 22;
|
|
127
|
+
// When the workflow execution started event was first written
|
|
128
|
+
google.protobuf.Timestamp start_time = 23;
|
|
122
129
|
}
|
|
123
130
|
|
|
124
131
|
/// Notify a workflow that a timer has fired
|
|
@@ -256,6 +263,8 @@ message RemoveFromCache {
|
|
|
256
263
|
// There was some fatal error processing the workflow, typically an internal error, but
|
|
257
264
|
// can also happen if then network drops out while paginating. Check message string.
|
|
258
265
|
FATAL = 8;
|
|
266
|
+
// Something went wrong attempting to fetch more history events.
|
|
267
|
+
PAGINATION_OR_HISTORY_FETCH = 9;
|
|
259
268
|
}
|
|
260
269
|
EvictionReason reason = 2;
|
|
261
270
|
}
|
data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto
CHANGED
|
@@ -6,6 +6,7 @@ syntax = "proto3";
|
|
|
6
6
|
* activation.
|
|
7
7
|
*/
|
|
8
8
|
package coresdk.workflow_commands;
|
|
9
|
+
option ruby_package = "Temporalio::Bridge::Api::WorkflowCommands";
|
|
9
10
|
|
|
10
11
|
import "google/protobuf/duration.proto";
|
|
11
12
|
import "google/protobuf/timestamp.proto";
|
|
@@ -35,6 +36,7 @@ message WorkflowCommand {
|
|
|
35
36
|
ScheduleLocalActivity schedule_local_activity = 16;
|
|
36
37
|
RequestCancelLocalActivity request_cancel_local_activity = 17;
|
|
37
38
|
UpsertWorkflowSearchAttributes upsert_workflow_search_attributes = 18;
|
|
39
|
+
ModifyWorkflowProperties modify_workflow_properties = 19;
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
|
|
@@ -54,7 +56,6 @@ message ScheduleActivity {
|
|
|
54
56
|
uint32 seq = 1;
|
|
55
57
|
string activity_id = 2;
|
|
56
58
|
string activity_type = 3;
|
|
57
|
-
string namespace = 4;
|
|
58
59
|
// The name of the task queue to place this activity request in
|
|
59
60
|
string task_queue = 5;
|
|
60
61
|
map<string, temporal.api.common.v1.Payload> headers = 6;
|
|
@@ -295,3 +296,10 @@ message UpsertWorkflowSearchAttributes {
|
|
|
295
296
|
/// value?
|
|
296
297
|
map<string, temporal.api.common.v1.Payload> search_attributes = 1;
|
|
297
298
|
}
|
|
299
|
+
|
|
300
|
+
message ModifyWorkflowProperties {
|
|
301
|
+
// If set, update the workflow memo with the provided values. The values will be merged with
|
|
302
|
+
// the existing memo. If the user wants to delete values, a default/empty Payload should be
|
|
303
|
+
// used as the value for the key being deleted.
|
|
304
|
+
temporal.api.common.v1.Memo upserted_memo = 1;
|
|
305
|
+
}
|
data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
syntax = "proto3";
|
|
2
2
|
|
|
3
3
|
package coresdk.workflow_completion;
|
|
4
|
+
option ruby_package = "Temporalio::Bridge::Api::WorkflowCompletion";
|
|
4
5
|
|
|
5
6
|
import "temporal/api/failure/v1/message.proto";
|
|
7
|
+
import "temporal/api/enums/v1/failed_cause.proto";
|
|
6
8
|
import "temporal/sdk/core/common/common.proto";
|
|
7
9
|
import "temporal/sdk/core/workflow_commands/workflow_commands.proto";
|
|
8
10
|
|
|
@@ -20,10 +22,14 @@ message WorkflowActivationCompletion {
|
|
|
20
22
|
message Success {
|
|
21
23
|
// A list of commands to send back to the temporal server
|
|
22
24
|
repeated workflow_commands.WorkflowCommand commands = 1;
|
|
25
|
+
// Any internal flags which the lang SDK used in the processing of this activation
|
|
26
|
+
repeated uint32 used_internal_flags = 6;
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
/// Failure to activate or execute a workflow
|
|
26
30
|
message Failure {
|
|
27
31
|
temporal.api.failure.v1.Failure failure = 1;
|
|
32
|
+
// Forces overriding the WFT failure cause
|
|
33
|
+
temporal.api.enums.v1.WorkflowTaskFailedCause force_cause = 2;
|
|
28
34
|
}
|
|
29
35
|
|
data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto
CHANGED
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/testservice/v1;testservice";
|
|
|
28
28
|
option java_package = "io.temporal.api.testservice.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "RequestResponseProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::TestService::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.TestService.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/duration.proto";
|
|
35
35
|
import "google/protobuf/timestamp.proto";
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/testservice/v1;testservice";
|
|
|
28
28
|
option java_package = "io.temporal.api.testservice.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "ServiceProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::TestService::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.TestService.V1";
|
|
33
33
|
|
|
34
34
|
import "temporal/api/testservice/v1/request_response.proto";
|
|
35
35
|
import "google/protobuf/empty.proto";
|