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,8 +28,8 @@ option go_package = "go.temporal.io/api/command/v1;command";
|
|
|
28
28
|
option java_package = "io.temporal.api.command.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::Command::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Command.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/duration.proto";
|
|
35
35
|
|
|
@@ -37,7 +37,6 @@ import "dependencies/gogoproto/gogo.proto";
|
|
|
37
37
|
|
|
38
38
|
import "temporal/api/enums/v1/workflow.proto";
|
|
39
39
|
import "temporal/api/enums/v1/command_type.proto";
|
|
40
|
-
import "temporal/api/enums/v1/update.proto";
|
|
41
40
|
import "temporal/api/common/v1/message.proto";
|
|
42
41
|
import "temporal/api/failure/v1/message.proto";
|
|
43
42
|
import "temporal/api/taskqueue/v1/message.proto";
|
|
@@ -155,6 +154,13 @@ message UpsertWorkflowSearchAttributesCommandAttributes {
|
|
|
155
154
|
temporal.api.common.v1.SearchAttributes search_attributes = 1;
|
|
156
155
|
}
|
|
157
156
|
|
|
157
|
+
message ModifyWorkflowPropertiesCommandAttributes {
|
|
158
|
+
// If set, update the workflow memo with the provided values. The values will be merged with
|
|
159
|
+
// the existing memo. If the user wants to delete values, a default/empty Payload should be
|
|
160
|
+
// used as the value for the key being deleted.
|
|
161
|
+
temporal.api.common.v1.Memo upserted_memo = 1;
|
|
162
|
+
}
|
|
163
|
+
|
|
158
164
|
message RecordMarkerCommandAttributes {
|
|
159
165
|
string marker_name = 1;
|
|
160
166
|
map<string, temporal.api.common.v1.Payloads> details = 2;
|
|
@@ -214,27 +220,9 @@ message StartChildWorkflowExecutionCommandAttributes {
|
|
|
214
220
|
temporal.api.common.v1.SearchAttributes search_attributes = 16;
|
|
215
221
|
}
|
|
216
222
|
|
|
217
|
-
message
|
|
218
|
-
//
|
|
219
|
-
string
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
message CompleteWorkflowUpdateCommandAttributes {
|
|
223
|
-
// A unique identifier for an update within a given workflow context
|
|
224
|
-
string update_id = 1;
|
|
225
|
-
|
|
226
|
-
// Whether the server should attempt to bypass making this update rejection
|
|
227
|
-
// durable in history. This field is only consulted when the result field
|
|
228
|
-
// indicates failure. Leaving this field in its default state (i.e.
|
|
229
|
-
// UPDATE_WORKFLOW_REJECTION_DURABILITY_PREFERENCE_UNSPECIFIED) will result
|
|
230
|
-
// in making the rejection durable.
|
|
231
|
-
temporal.api.enums.v1.WorkflowUpdateDurabilityPreference durability_preference = 2;
|
|
232
|
-
|
|
233
|
-
// The success or failure output of the update
|
|
234
|
-
oneof result {
|
|
235
|
-
temporal.api.common.v1.Payloads success = 3;
|
|
236
|
-
temporal.api.failure.v1.Failure failure = 4;
|
|
237
|
-
}
|
|
223
|
+
message ProtocolMessageCommandAttributes {
|
|
224
|
+
// The message ID of the message to which this command is a pointer.
|
|
225
|
+
string message_id = 1;
|
|
238
226
|
}
|
|
239
227
|
|
|
240
228
|
message Command {
|
|
@@ -253,7 +241,8 @@ message Command {
|
|
|
253
241
|
StartChildWorkflowExecutionCommandAttributes start_child_workflow_execution_command_attributes = 12;
|
|
254
242
|
SignalExternalWorkflowExecutionCommandAttributes signal_external_workflow_execution_command_attributes = 13;
|
|
255
243
|
UpsertWorkflowSearchAttributesCommandAttributes upsert_workflow_search_attributes_command_attributes = 14;
|
|
256
|
-
|
|
257
|
-
|
|
244
|
+
ProtocolMessageCommandAttributes protocol_message_command_attributes = 15;
|
|
245
|
+
// 16 is available for use - it was used as part of a prototype that never made it into a release
|
|
246
|
+
ModifyWorkflowPropertiesCommandAttributes modify_workflow_properties_command_attributes = 17;
|
|
258
247
|
}
|
|
259
248
|
}
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/common/v1;common";
|
|
|
28
28
|
option java_package = "io.temporal.api.common.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::Common::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Common.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/duration.proto";
|
|
35
35
|
|
|
@@ -110,3 +110,14 @@ message RetryPolicy {
|
|
|
110
110
|
// this is not a substring match, the error *type* (not message) must match exactly.
|
|
111
111
|
repeated string non_retryable_error_types = 5;
|
|
112
112
|
}
|
|
113
|
+
|
|
114
|
+
// Metadata relevant for metering purposes
|
|
115
|
+
message MeteringMetadata {
|
|
116
|
+
// Count of local activities which have begun an execution attempt during this workflow task,
|
|
117
|
+
// and whose first attempt occurred in some previous task. This is used for metering
|
|
118
|
+
// purposes, and does not affect workflow state.
|
|
119
|
+
//
|
|
120
|
+
// (-- api-linter: core::0141::forbidden-types=disabled
|
|
121
|
+
// aip.dev/not-precedent: Negative values make no sense to represent. --)
|
|
122
|
+
uint32 nonfirst_local_activity_execution_attempts = 13;
|
|
123
|
+
}
|
|
@@ -28,14 +28,15 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "BatchOperationProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
enum BatchOperationType {
|
|
35
35
|
BATCH_OPERATION_TYPE_UNSPECIFIED = 0;
|
|
36
36
|
BATCH_OPERATION_TYPE_TERMINATE = 1;
|
|
37
37
|
BATCH_OPERATION_TYPE_CANCEL = 2;
|
|
38
38
|
BATCH_OPERATION_TYPE_SIGNAL = 3;
|
|
39
|
+
BATCH_OPERATION_TYPE_DELETE = 4;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
enum BatchOperationState {
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "CommandTypeProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
// Whenever this list of command types is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering.
|
|
35
35
|
enum CommandType {
|
|
@@ -47,11 +47,6 @@ enum CommandType {
|
|
|
47
47
|
COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION = 11;
|
|
48
48
|
COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION = 12;
|
|
49
49
|
COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES = 13;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
COMMAND_TYPE_ACCEPT_WORKFLOW_UPDATE = 14;
|
|
53
|
-
|
|
54
|
-
// Indicates that an update has completed and carries either the success or
|
|
55
|
-
// failure outcome of said update.
|
|
56
|
-
COMMAND_TYPE_COMPLETE_WORKFLOW_UPDATE = 15;
|
|
50
|
+
COMMAND_TYPE_PROTOCOL_MESSAGE = 14;
|
|
51
|
+
COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES = 16;
|
|
57
52
|
}
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "CommonProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
enum EncodingType {
|
|
35
35
|
ENCODING_TYPE_UNSPECIFIED = 0;
|
|
@@ -45,6 +45,7 @@ enum IndexedValueType {
|
|
|
45
45
|
INDEXED_VALUE_TYPE_DOUBLE = 4;
|
|
46
46
|
INDEXED_VALUE_TYPE_BOOL = 5;
|
|
47
47
|
INDEXED_VALUE_TYPE_DATETIME = 6;
|
|
48
|
+
INDEXED_VALUE_TYPE_KEYWORD_LIST = 7;
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
enum Severity {
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "EventTypeProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
// Whenever this list of events is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering
|
|
35
35
|
enum EventType {
|
|
@@ -151,12 +151,12 @@ enum EventType {
|
|
|
151
151
|
EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED = 39;
|
|
152
152
|
// Workflow search attributes should be updated and synchronized with the visibility store
|
|
153
153
|
EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES = 40;
|
|
154
|
-
//
|
|
155
|
-
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
//
|
|
159
|
-
|
|
154
|
+
// An update was accepted (i.e. validated)
|
|
155
|
+
EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED = 41;
|
|
156
|
+
// An update was rejected (i.e. failed validation)
|
|
157
|
+
EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED = 42;
|
|
158
|
+
// An update completed
|
|
159
|
+
EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED = 43;
|
|
160
160
|
// Some property or properties of the workflow as a whole have changed by non-workflow code.
|
|
161
161
|
// The distinction of external vs. command-based modification is important so the SDK can
|
|
162
162
|
// maintain determinism when using the command-based approach.
|
|
@@ -165,4 +165,6 @@ enum EventType {
|
|
|
165
165
|
// The distinction of external vs. command-based modification is important so the SDK can
|
|
166
166
|
// maintain determinism when using the command-based approach.
|
|
167
167
|
EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY = 45;
|
|
168
|
+
// Workflow properties modified by user workflow code
|
|
169
|
+
EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED = 46;
|
|
168
170
|
}
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "FailedCauseProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
// Workflow tasks can fail for various reasons. Note that some of these reasons can only originate
|
|
35
35
|
// from the server, and some of them can only originate from the SDK/worker.
|
|
@@ -66,6 +66,30 @@ enum WorkflowTaskFailedCause {
|
|
|
66
66
|
// The worker encountered a mismatch while replaying history between what was expected, and
|
|
67
67
|
// what the workflow code actually did.
|
|
68
68
|
WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR = 24;
|
|
69
|
+
WORKFLOW_TASK_FAILED_CAUSE_BAD_MODIFY_WORKFLOW_PROPERTIES_ATTRIBUTES = 25;
|
|
70
|
+
|
|
71
|
+
// We send the below error codes to users when their requests would violate a size constraint
|
|
72
|
+
// of their workflow. We do this to ensure that the state of their workflow does not become too
|
|
73
|
+
// large because that can cause severe performance degradation. You can modify the thresholds for
|
|
74
|
+
// each of these errors within your dynamic config.
|
|
75
|
+
//
|
|
76
|
+
// Spawning a new child workflow would cause this workflow to exceed its limit of pending child
|
|
77
|
+
// workflows.
|
|
78
|
+
WORKFLOW_TASK_FAILED_CAUSE_PENDING_CHILD_WORKFLOWS_LIMIT_EXCEEDED = 26;
|
|
79
|
+
// Starting a new activity would cause this workflow to exceed its limit of pending activities
|
|
80
|
+
// that we track.
|
|
81
|
+
WORKFLOW_TASK_FAILED_CAUSE_PENDING_ACTIVITIES_LIMIT_EXCEEDED = 27;
|
|
82
|
+
// A workflow has a buffer of signals that have not yet reached their destination. We return this
|
|
83
|
+
// error when sending a new signal would exceed the capacity of this buffer.
|
|
84
|
+
WORKFLOW_TASK_FAILED_CAUSE_PENDING_SIGNALS_LIMIT_EXCEEDED = 28;
|
|
85
|
+
// Similarly, we have a buffer of pending requests to cancel other workflows. We return this error
|
|
86
|
+
// when our capacity for pending cancel requests is already reached.
|
|
87
|
+
WORKFLOW_TASK_FAILED_CAUSE_PENDING_REQUEST_CANCEL_LIMIT_EXCEEDED = 29;
|
|
88
|
+
// Workflow execution update message (update.Acceptance, update.Rejection, or update.Response)
|
|
89
|
+
// has wrong format, or missing required fields.
|
|
90
|
+
WORKFLOW_TASK_FAILED_CAUSE_BAD_UPDATE_WORKFLOW_EXECUTION_MESSAGE = 30;
|
|
91
|
+
// Similar to WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_COMMAND, but for updates.
|
|
92
|
+
WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_UPDATE = 31;
|
|
69
93
|
}
|
|
70
94
|
|
|
71
95
|
enum StartChildWorkflowExecutionFailedCause {
|
|
@@ -94,4 +118,6 @@ enum ResourceExhaustedCause {
|
|
|
94
118
|
RESOURCE_EXHAUSTED_CAUSE_CONCURRENT_LIMIT = 2;
|
|
95
119
|
// System overloaded.
|
|
96
120
|
RESOURCE_EXHAUSTED_CAUSE_SYSTEM_OVERLOADED = 3;
|
|
121
|
+
// Namespace exceeds persistence rate limit.
|
|
122
|
+
RESOURCE_EXHAUSTED_CAUSE_PERSISTENCE_LIMIT = 4;
|
|
97
123
|
}
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "NamespaceProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
enum NamespaceState {
|
|
35
35
|
NAMESPACE_STATE_UNSPECIFIED = 0;
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "QueryProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
enum QueryResultType {
|
|
35
35
|
QUERY_RESULT_TYPE_UNSPECIFIED = 0;
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "ResetProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
// Reset reapplay(replay) options
|
|
35
35
|
// * RESET_REAPPLY_TYPE_SIGNAL (default) - Signals are reapplied when workflow is reset
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "ScheduleProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
// ScheduleOverlapPolicy controls what happens when a workflow would be started
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "TaskQueueProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
enum TaskQueueKind {
|
|
35
35
|
TASK_QUEUE_KIND_UNSPECIFIED = 0;
|
|
@@ -28,24 +28,29 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "UpdateProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// the
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
|
|
50
|
-
|
|
34
|
+
// UpdateWorkflowExecutionLifecycleStage is specified by clients invoking
|
|
35
|
+
// workflow execution updates and used to indicate to the server how long the
|
|
36
|
+
// client wishes to wait for a return value from the RPC. If any value other
|
|
37
|
+
// than UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED is sent by the
|
|
38
|
+
// client then the RPC will complete before the update is finished and will
|
|
39
|
+
// return a handle to the running update so that it can later be polled for
|
|
40
|
+
// completion.
|
|
41
|
+
enum UpdateWorkflowExecutionLifecycleStage {
|
|
42
|
+
// An unspecified vale for this enum.
|
|
43
|
+
UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED = 0;
|
|
44
|
+
// The gRPC call will not return until the update request has been admitted
|
|
45
|
+
// by the server - it may be the case that due to a considerations like load
|
|
46
|
+
// or resource limits that an update is made to wait before the server will
|
|
47
|
+
// indicate that it has been received and will be processed. This value
|
|
48
|
+
// does not wait for any sort of acknowledgement from a worker.
|
|
49
|
+
UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED = 1;
|
|
50
|
+
// The gRPC call will not return until the update has passed validation on
|
|
51
|
+
// a worker.
|
|
52
|
+
UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED = 2;
|
|
53
|
+
// The gRPC call will not return until the update has executed to completion
|
|
54
|
+
// on a worker and has either been rejected or returned a value or an error.
|
|
55
|
+
UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED = 3;
|
|
51
56
|
}
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
|
|
|
28
28
|
option java_package = "io.temporal.api.enums.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "WorkflowProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Enums::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Enums.V1";
|
|
33
33
|
|
|
34
34
|
// Defines how new runs of a workflow with a particular ID may or may not be allowed. Note that
|
|
35
35
|
// it is *never* valid to have two actively running instances of the same workflow id.
|
|
@@ -31,8 +31,8 @@ option go_package = "go.temporal.io/api/errordetails/v1;errordetails";
|
|
|
31
31
|
option java_package = "io.temporal.api.errordetails.v1";
|
|
32
32
|
option java_multiple_files = true;
|
|
33
33
|
option java_outer_classname = "MessageProto";
|
|
34
|
-
option ruby_package = "
|
|
35
|
-
option csharp_namespace = "
|
|
34
|
+
option ruby_package = "Temporalio::Api::ErrorDetails::V1";
|
|
35
|
+
option csharp_namespace = "Temporalio.Api.ErrorDetails.V1";
|
|
36
36
|
|
|
37
37
|
import "temporal/api/common/v1/message.proto";
|
|
38
38
|
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/failure/v1;failure";
|
|
|
28
28
|
option java_package = "io.temporal.api.failure.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::Failure::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Failure.V1";
|
|
33
33
|
|
|
34
34
|
import "temporal/api/common/v1/message.proto";
|
|
35
35
|
import "temporal/api/enums/v1/workflow.proto";
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/filter/v1;filter";
|
|
|
28
28
|
option java_package = "io.temporal.api.filter.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::Filter::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Filter.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/timestamp.proto";
|
|
35
35
|
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/history/v1;history";
|
|
|
28
28
|
option java_package = "io.temporal.api.history.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::History::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.History.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/duration.proto";
|
|
35
35
|
import "google/protobuf/timestamp.proto";
|
|
@@ -44,6 +44,7 @@ import "temporal/api/failure/v1/message.proto";
|
|
|
44
44
|
import "temporal/api/taskqueue/v1/message.proto";
|
|
45
45
|
import "temporal/api/update/v1/message.proto";
|
|
46
46
|
import "temporal/api/workflow/v1/message.proto";
|
|
47
|
+
import "temporal/api/sdk/v1/task_complete_metadata.proto";
|
|
47
48
|
|
|
48
49
|
// Always the first event in workflow history
|
|
49
50
|
message WorkflowExecutionStartedEventAttributes {
|
|
@@ -192,6 +193,14 @@ message WorkflowTaskCompletedEventAttributes {
|
|
|
192
193
|
string identity = 3;
|
|
193
194
|
// Binary ID of the worker who completed this task
|
|
194
195
|
string binary_checksum = 4;
|
|
196
|
+
// ID of the worker who picked up this workflow task, or missing if worker
|
|
197
|
+
// is not using versioning.
|
|
198
|
+
temporal.api.taskqueue.v1.VersionId worker_versioning_id = 5;
|
|
199
|
+
// Data the SDK wishes to record for itself, but server need not interpret, and does not
|
|
200
|
+
// directly impact workflow state.
|
|
201
|
+
temporal.api.sdk.v1.WorkflowTaskCompletedMetadata sdk_metadata = 6;
|
|
202
|
+
// Local usage data sent during workflow task completion and recorded here for posterity
|
|
203
|
+
temporal.api.common.v1.MeteringMetadata metering_metadata = 13;
|
|
195
204
|
}
|
|
196
205
|
|
|
197
206
|
message WorkflowTaskTimedOutEventAttributes {
|
|
@@ -506,6 +515,15 @@ message UpsertWorkflowSearchAttributesEventAttributes {
|
|
|
506
515
|
temporal.api.common.v1.SearchAttributes search_attributes = 2;
|
|
507
516
|
}
|
|
508
517
|
|
|
518
|
+
message WorkflowPropertiesModifiedEventAttributes {
|
|
519
|
+
// The `WORKFLOW_TASK_COMPLETED` event which this command was reported with
|
|
520
|
+
int64 workflow_task_completed_event_id = 1;
|
|
521
|
+
// If set, update the workflow memo with the provided values. The values will be merged with
|
|
522
|
+
// the existing memo. If the user wants to delete values, a default/empty Payload should be
|
|
523
|
+
// used as the value for the key being deleted.
|
|
524
|
+
temporal.api.common.v1.Memo upserted_memo = 2;
|
|
525
|
+
}
|
|
526
|
+
|
|
509
527
|
message StartChildWorkflowExecutionInitiatedEventAttributes {
|
|
510
528
|
// Namespace of the child workflow.
|
|
511
529
|
// SDKs and UI tools should use `namespace` field but server must use `namespace_id` only.
|
|
@@ -635,27 +653,6 @@ message ChildWorkflowExecutionTerminatedEventAttributes {
|
|
|
635
653
|
int64 started_event_id = 5;
|
|
636
654
|
}
|
|
637
655
|
|
|
638
|
-
message WorkflowUpdateRequestedEventAttributes {
|
|
639
|
-
temporal.api.common.v1.Header header = 1;
|
|
640
|
-
string request_id = 2;
|
|
641
|
-
string update_id = 3;
|
|
642
|
-
temporal.api.update.v1.WorkflowUpdate update = 4;
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
message WorkflowUpdateAcceptedEventAttributes {
|
|
646
|
-
temporal.api.common.v1.Header header = 1;
|
|
647
|
-
string update_id = 2;
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
message WorkflowUpdateCompletedEventAttributes {
|
|
651
|
-
temporal.api.common.v1.Header system_header = 1;
|
|
652
|
-
string update_id = 3;
|
|
653
|
-
oneof result {
|
|
654
|
-
temporal.api.common.v1.Payloads success = 4;
|
|
655
|
-
temporal.api.failure.v1.Failure failure = 5;
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
|
|
659
656
|
message WorkflowPropertiesModifiedExternallyEventAttributes {
|
|
660
657
|
// If set to a nonempty string, future workflow tasks for this workflow shall be dispatched on
|
|
661
658
|
// the provided queue.
|
|
@@ -680,6 +677,44 @@ message ActivityPropertiesModifiedExternallyEventAttributes {
|
|
|
680
677
|
temporal.api.common.v1.RetryPolicy new_retry_policy = 2;
|
|
681
678
|
}
|
|
682
679
|
|
|
680
|
+
message WorkflowExecutionUpdateAcceptedEventAttributes {
|
|
681
|
+
// The instance ID of the update protocol that generated this event.
|
|
682
|
+
string protocol_instance_id = 1;
|
|
683
|
+
// The message ID of the original request message that initiated this
|
|
684
|
+
// update. Needed so that the worker can recreate and deliver that same
|
|
685
|
+
// message as part of replay.
|
|
686
|
+
string accepted_request_message_id = 2;
|
|
687
|
+
// The event ID used to sequence the original request message.
|
|
688
|
+
int64 accepted_request_sequencing_event_id = 3;
|
|
689
|
+
// The message payload of the original request message that initiated this
|
|
690
|
+
// update.
|
|
691
|
+
temporal.api.update.v1.Request accepted_request = 4;
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
message WorkflowExecutionUpdateCompletedEventAttributes {
|
|
695
|
+
// The metadata about this update.
|
|
696
|
+
temporal.api.update.v1.Meta meta = 1;
|
|
697
|
+
// The outcome of executing the workflow update function.
|
|
698
|
+
temporal.api.update.v1.Outcome outcome = 2;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
message WorkflowExecutionUpdateRejectedEventAttributes {
|
|
702
|
+
// The instance ID of the update protocol that generated this event.
|
|
703
|
+
string protocol_instance_id = 1;
|
|
704
|
+
// The message ID of the original request message that initiated this
|
|
705
|
+
// update. Needed so that the worker can recreate and deliver that same
|
|
706
|
+
// message as part of replay.
|
|
707
|
+
string rejected_request_message_id = 2;
|
|
708
|
+
// The event ID used to sequence the original request message.
|
|
709
|
+
int64 rejected_request_sequencing_event_id = 3;
|
|
710
|
+
// The message payload of the original request message that initiated this
|
|
711
|
+
// update.
|
|
712
|
+
temporal.api.update.v1.Request rejected_request = 4;
|
|
713
|
+
// The cause of rejection.
|
|
714
|
+
temporal.api.failure.v1.Failure failure = 5;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
|
|
683
718
|
// History events are the method by which Temporal SDKs advance (or recreate) workflow state.
|
|
684
719
|
// See the `EventType` enum for more info about what each event is for.
|
|
685
720
|
message HistoryEvent {
|
|
@@ -738,11 +773,12 @@ message HistoryEvent {
|
|
|
738
773
|
SignalExternalWorkflowExecutionFailedEventAttributes signal_external_workflow_execution_failed_event_attributes = 43;
|
|
739
774
|
ExternalWorkflowExecutionSignaledEventAttributes external_workflow_execution_signaled_event_attributes = 44;
|
|
740
775
|
UpsertWorkflowSearchAttributesEventAttributes upsert_workflow_search_attributes_event_attributes = 45;
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
776
|
+
WorkflowExecutionUpdateAcceptedEventAttributes workflow_execution_update_accepted_event_attributes = 46;
|
|
777
|
+
WorkflowExecutionUpdateRejectedEventAttributes workflow_execution_update_rejected_event_attributes = 47;
|
|
778
|
+
WorkflowExecutionUpdateCompletedEventAttributes workflow_execution_update_completed_event_attributes = 48;
|
|
744
779
|
WorkflowPropertiesModifiedExternallyEventAttributes workflow_properties_modified_externally_event_attributes = 49;
|
|
745
780
|
ActivityPropertiesModifiedExternallyEventAttributes activity_properties_modified_externally_event_attributes = 50;
|
|
781
|
+
WorkflowPropertiesModifiedEventAttributes workflow_properties_modified_event_attributes = 51;
|
|
746
782
|
}
|
|
747
783
|
}
|
|
748
784
|
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/namespace/v1;namespace";
|
|
|
28
28
|
option java_package = "io.temporal.api.namespace.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::Namespace::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Namespace.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/duration.proto";
|
|
35
35
|
import "google/protobuf/timestamp.proto";
|
|
@@ -62,6 +62,8 @@ message NamespaceConfig {
|
|
|
62
62
|
// If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.
|
|
63
63
|
temporal.api.enums.v1.ArchivalState visibility_archival_state = 5;
|
|
64
64
|
string visibility_archival_uri = 6;
|
|
65
|
+
// Map from field name to alias.
|
|
66
|
+
map<string, string> custom_search_attribute_aliases = 7;
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
message BadBinaries {
|