temporalio 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 {
|