temporalio 0.0.1 → 0.0.2
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 +175 -4
- data/bridge/Cargo.lock +44 -21
- data/bridge/Cargo.toml +1 -0
- data/bridge/sdk-core/Cargo.toml +1 -1
- data/bridge/sdk-core/README.md +1 -4
- data/bridge/sdk-core/client/Cargo.toml +1 -1
- data/bridge/sdk-core/client/src/lib.rs +12 -20
- data/bridge/sdk-core/client/src/raw.rs +9 -8
- data/bridge/sdk-core/client/src/retry.rs +100 -23
- data/bridge/sdk-core/core/Cargo.toml +7 -7
- data/bridge/sdk-core/core/benches/workflow_replay.rs +13 -10
- data/bridge/sdk-core/core/src/abstractions.rs +22 -22
- data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +146 -43
- data/bridge/sdk-core/core/src/core_tests/local_activities.rs +419 -9
- data/bridge/sdk-core/core/src/core_tests/queries.rs +247 -89
- data/bridge/sdk-core/core/src/core_tests/workers.rs +2 -2
- data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +1 -1
- data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +47 -27
- data/bridge/sdk-core/core/src/lib.rs +139 -32
- 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 +184 -139
- data/bridge/sdk-core/core/src/telemetry/mod.rs +310 -315
- data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +4 -3
- data/bridge/sdk-core/core/src/test_help/mod.rs +23 -9
- data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +12 -6
- data/bridge/sdk-core/core/src/worker/activities.rs +40 -23
- data/bridge/sdk-core/core/src/worker/client/mocks.rs +1 -1
- data/bridge/sdk-core/core/src/worker/client.rs +30 -4
- data/bridge/sdk-core/core/src/worker/mod.rs +23 -19
- data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +10 -19
- data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +99 -25
- data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +1 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +1 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +1 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +3 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +1 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +2 -6
- data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +1 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +24 -22
- data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +12 -38
- data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +178 -0
- data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +1 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +1 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +1 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +8 -2
- data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +1 -5
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +1 -1
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +233 -217
- data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +1 -6
- data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +4 -4
- data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +13 -5
- data/bridge/sdk-core/core/src/worker/workflow/mod.rs +86 -29
- data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +2 -2
- data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +56 -11
- data/bridge/sdk-core/core-api/Cargo.toml +4 -3
- data/bridge/sdk-core/core-api/src/lib.rs +1 -43
- data/bridge/sdk-core/core-api/src/telemetry.rs +147 -0
- data/bridge/sdk-core/core-api/src/worker.rs +13 -0
- 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/tests/trybuild/no_handle_conversions_require_into_fail.stderr +1 -1
- 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/update/v1/message.proto → build/tools.go} +6 -23
- 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 +20 -19
- data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +2 -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 -4
- 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 +5 -3
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +23 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/{cluster.proto → interaction_type.proto} +10 -11
- 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 +2 -13
- 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 +26 -19
- data/bridge/sdk-core/protos/api_upstream/temporal/api/interaction/v1/message.proto +87 -0
- data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +2 -2
- data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +21 -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/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/taskqueue/v1/message.proto +4 -4
- 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 +60 -16
- data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +17 -3
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +2 -0
- data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +8 -1
- 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 +2 -2
- data/bridge/sdk-core/sdk/src/interceptors.rs +36 -3
- data/bridge/sdk-core/sdk/src/lib.rs +7 -5
- data/bridge/sdk-core/sdk/src/workflow_context.rs +13 -2
- data/bridge/sdk-core/sdk/src/workflow_future.rs +3 -7
- data/bridge/sdk-core/sdk-core-protos/Cargo.toml +1 -1
- data/bridge/sdk-core/sdk-core-protos/build.rs +0 -1
- data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +65 -18
- data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +22 -22
- data/bridge/sdk-core/sdk-core-protos/src/lib.rs +104 -44
- data/bridge/sdk-core/test-utils/Cargo.toml +2 -1
- data/bridge/sdk-core/test-utils/src/lib.rs +81 -29
- data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +5 -2
- data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +37 -0
- data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +0 -13
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +167 -13
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +53 -0
- data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +106 -20
- data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +18 -8
- data/bridge/sdk-core/tests/main.rs +6 -4
- data/bridge/src/connection.rs +81 -62
- data/bridge/src/lib.rs +92 -33
- data/bridge/src/runtime.rs +9 -2
- data/bridge/src/worker.rs +53 -2
- data/lib/bridge.so +0 -0
- data/lib/gen/temporal/api/batch/v1/message_pb.rb +8 -6
- data/lib/gen/temporal/api/command/v1/message_pb.rb +17 -9
- data/lib/gen/temporal/api/common/v1/message_pb.rb +1 -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 -1
- data/lib/gen/temporal/api/enums/v1/common_pb.rb +2 -1
- data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +3 -2
- data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +7 -1
- data/lib/gen/temporal/api/enums/v1/interaction_type_pb.rb +25 -0
- 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 +1 -6
- 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 +19 -18
- data/lib/gen/temporal/api/interaction/v1/message_pb.rb +49 -0
- data/lib/gen/temporal/api/namespace/v1/message_pb.rb +1 -1
- data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +11 -51
- data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +1 -1
- 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/taskqueue/v1/message_pb.rb +2 -2
- 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 +27 -10
- data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +1 -1
- data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +1 -0
- data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +5 -1
- data/lib/temporalio/activity/context.rb +97 -0
- data/lib/temporalio/activity/info.rb +67 -0
- data/lib/temporalio/activity.rb +85 -0
- data/lib/temporalio/bridge/error.rb +8 -0
- data/lib/temporalio/bridge.rb +14 -0
- data/lib/{temporal → temporalio}/client/implementation.rb +49 -48
- data/lib/{temporal → temporalio}/client/workflow_handle.rb +35 -35
- data/lib/{temporal → temporalio}/client.rb +19 -32
- data/lib/{temporal → temporalio}/connection.rb +238 -223
- 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/{temporal → temporalio}/interceptor/chain.rb +2 -1
- data/lib/{temporal → temporalio}/interceptor/client.rb +22 -1
- 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 +4 -4
- data/lib/{temporal → temporalio}/retry_state.rb +1 -1
- data/lib/temporalio/runtime.rb +25 -0
- data/lib/{temporal → temporalio}/timeout_type.rb +2 -2
- data/lib/temporalio/version.rb +3 -0
- data/lib/temporalio/worker/activity_runner.rb +92 -0
- data/lib/temporalio/worker/activity_worker.rb +138 -0
- data/lib/temporalio/worker/reactor.rb +46 -0
- data/lib/temporalio/worker/runner.rb +63 -0
- data/lib/temporalio/worker/sync_worker.rb +88 -0
- data/lib/temporalio/worker/thread_pool_executor.rb +51 -0
- data/lib/temporalio/worker.rb +198 -0
- data/lib/{temporal → temporalio}/workflow/execution_info.rb +4 -4
- data/lib/{temporal → temporalio}/workflow/execution_status.rb +1 -1
- data/lib/{temporal → temporalio}/workflow/id_reuse_policy.rb +6 -6
- data/lib/{temporal → temporalio}/workflow/query_reject_condition.rb +5 -5
- data/lib/temporalio.rb +12 -3
- data/temporalio.gemspec +7 -3
- metadata +79 -56
- 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/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/api/update/v1/message_pb.rb +0 -26
- data/lib/temporal/bridge.rb +0 -14
- 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/query/v1;query";
|
|
|
28
28
|
option java_package = "io.temporal.api.query.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::Query::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Query.V1";
|
|
33
33
|
|
|
34
34
|
import "temporal/api/enums/v1/query.proto";
|
|
35
35
|
import "temporal/api/enums/v1/workflow.proto";
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/replication/v1;replication";
|
|
|
28
28
|
option java_package = "io.temporal.api.replication.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::Replication::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Replication.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/timestamp.proto";
|
|
35
35
|
|
|
@@ -20,6 +20,11 @@
|
|
|
20
20
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
21
|
// THE SOFTWARE.
|
|
22
22
|
|
|
23
|
+
// (-- api-linter: core::0203::optional=disabled
|
|
24
|
+
// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --)
|
|
25
|
+
// (-- api-linter: core::0203::input-only=disabled
|
|
26
|
+
// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --)
|
|
27
|
+
|
|
23
28
|
syntax = "proto3";
|
|
24
29
|
|
|
25
30
|
package temporal.api.schedule.v1;
|
|
@@ -28,8 +33,8 @@ option go_package = "go.temporal.io/api/schedule/v1;schedule";
|
|
|
28
33
|
option java_package = "io.temporal.api.schedule.v1";
|
|
29
34
|
option java_multiple_files = true;
|
|
30
35
|
option java_outer_classname = "MessageProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
36
|
+
option ruby_package = "Temporalio::Api::Schedule::V1";
|
|
37
|
+
option csharp_namespace = "Temporalio.Api.Schedule.V1";
|
|
33
38
|
|
|
34
39
|
import "google/protobuf/duration.proto";
|
|
35
40
|
import "google/protobuf/timestamp.proto";
|
|
@@ -41,7 +46,8 @@ import "temporal/api/enums/v1/schedule.proto";
|
|
|
41
46
|
import "temporal/api/workflow/v1/message.proto";
|
|
42
47
|
|
|
43
48
|
// CalendarSpec describes an event specification relative to the calendar,
|
|
44
|
-
// similar to a traditional cron specification
|
|
49
|
+
// similar to a traditional cron specification, but with labeled fields. Each
|
|
50
|
+
// field can be one of:
|
|
45
51
|
// *: matches always
|
|
46
52
|
// x: matches when the field equals x
|
|
47
53
|
// x/y : matches when the field equals x+n*y where n is an integer
|
|
@@ -49,13 +55,14 @@ import "temporal/api/workflow/v1/message.proto";
|
|
|
49
55
|
// w,x,y,...: matches when the field is one of the listed values
|
|
50
56
|
// Each x, y, z, ... is either a decimal integer, or a month or day of week name
|
|
51
57
|
// or abbreviation (in the appropriate fields).
|
|
52
|
-
// A
|
|
58
|
+
// A timestamp matches if all fields match.
|
|
59
|
+
// Note that fields have different default values, for convenience.
|
|
53
60
|
// Note that the special case that some cron implementations have for treating
|
|
54
61
|
// day_of_month and day_of_week as "or" instead of "and" when both are set is
|
|
55
62
|
// not implemented.
|
|
56
63
|
// day_of_week can accept 0 or 7 as Sunday
|
|
57
|
-
//
|
|
58
|
-
//
|
|
64
|
+
// CalendarSpec gets compiled into StructuredCalendarSpec, which is what will be
|
|
65
|
+
// returned if you describe the schedule.
|
|
59
66
|
message CalendarSpec {
|
|
60
67
|
// Expression to match seconds. Default: 0
|
|
61
68
|
string second = 1;
|
|
@@ -73,6 +80,51 @@ message CalendarSpec {
|
|
|
73
80
|
string year = 6;
|
|
74
81
|
// Expression to match days of the week. Default: *
|
|
75
82
|
string day_of_week = 7;
|
|
83
|
+
// Free-form comment describing the intention of this spec.
|
|
84
|
+
string comment = 8;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Range represents a set of integer values, used to match fields of a calendar
|
|
88
|
+
// time in StructuredCalendarSpec. If end < start, then end is interpreted as
|
|
89
|
+
// equal to start. This means you can use a Range with start set to a value, and
|
|
90
|
+
// end and step unset (defaulting to 0) to represent a single value.
|
|
91
|
+
message Range {
|
|
92
|
+
// Start of range (inclusive).
|
|
93
|
+
int32 start = 1;
|
|
94
|
+
// End of range (inclusive).
|
|
95
|
+
int32 end = 2;
|
|
96
|
+
// Step (optional, default 1).
|
|
97
|
+
int32 step = 3;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// StructuredCalendarSpec describes an event specification relative to the
|
|
101
|
+
// calendar, in a form that's easy to work with programmatically. Each field can
|
|
102
|
+
// be one or more ranges.
|
|
103
|
+
// A timestamp matches if at least one range of each field matches the
|
|
104
|
+
// corresponding fields of the timestamp, except for year: if year is missing,
|
|
105
|
+
// that means all years match. For all fields besides year, at least one Range
|
|
106
|
+
// must be present to match anything.
|
|
107
|
+
// TODO: add relative-to-end-of-month
|
|
108
|
+
// TODO: add nth day-of-week in month
|
|
109
|
+
message StructuredCalendarSpec {
|
|
110
|
+
// Match seconds (0-59)
|
|
111
|
+
repeated Range second = 1;
|
|
112
|
+
// Match minutes (0-59)
|
|
113
|
+
repeated Range minute = 2;
|
|
114
|
+
// Match hours (0-23)
|
|
115
|
+
repeated Range hour = 3;
|
|
116
|
+
// Match days of the month (1-31)
|
|
117
|
+
// (-- api-linter: core::0140::prepositions=disabled
|
|
118
|
+
// aip.dev/not-precedent: standard name of field --)
|
|
119
|
+
repeated Range day_of_month = 4;
|
|
120
|
+
// Match months (1-12)
|
|
121
|
+
repeated Range month = 5;
|
|
122
|
+
// Match years.
|
|
123
|
+
repeated Range year = 6;
|
|
124
|
+
// Match days of the week (0-6; 0 is Sunday).
|
|
125
|
+
repeated Range day_of_week = 7;
|
|
126
|
+
// Free-form comment describing the intention of this spec.
|
|
127
|
+
string comment = 8;
|
|
76
128
|
}
|
|
77
129
|
|
|
78
130
|
// IntervalSpec matches times that can be expressed as:
|
|
@@ -97,24 +149,56 @@ message IntervalSpec {
|
|
|
97
149
|
// definition of a time zone can change over time (most commonly, when daylight
|
|
98
150
|
// saving time policy changes for an area). To create a totally self-contained
|
|
99
151
|
// ScheduleSpec, use UTC or include timezone_data.
|
|
152
|
+
//
|
|
153
|
+
// For input, you can provide zero or more of: structured_calendar, calendar,
|
|
154
|
+
// cron_string, interval, and exclude_structured_calendar, and all of them will
|
|
155
|
+
// be used (the schedule will take action at the union of all of their times,
|
|
156
|
+
// minus the ones that match exclude_structured_calendar).
|
|
157
|
+
//
|
|
158
|
+
// On input, calendar and cron_string fields will be compiled into
|
|
159
|
+
// structured_calendar (and maybe interval and timezone_name), so if you
|
|
160
|
+
// Describe a schedule, you'll see only structured_calendar, interval, etc.
|
|
100
161
|
message ScheduleSpec {
|
|
162
|
+
// Calendar-based specifications of times.
|
|
163
|
+
repeated StructuredCalendarSpec structured_calendar = 7;
|
|
164
|
+
// cron_string holds a traditional cron specification as a string. It
|
|
165
|
+
// accepts 5, 6, or 7 fields, separated by spaces, and interprets them the
|
|
166
|
+
// same way as CalendarSpec.
|
|
167
|
+
// 5 fields: minute, hour, day_of_month, month, day_of_week
|
|
168
|
+
// 6 fields: minute, hour, day_of_month, month, day_of_week, year
|
|
169
|
+
// 7 fields: second, minute, hour, day_of_month, month, day_of_week, year
|
|
170
|
+
// If year is not given, it defaults to *. If second is not given, it
|
|
171
|
+
// defaults to 0.
|
|
172
|
+
// Shorthands @yearly, @monthly, @weekly, @daily, and @hourly are also
|
|
173
|
+
// accepted instead of the 5-7 time fields.
|
|
174
|
+
// Optionally, the string can be preceded by CRON_TZ=<timezone name> or
|
|
175
|
+
// TZ=<timezone name>, which will get copied to timezone_name. (There must
|
|
176
|
+
// not also be a timezone_name present.)
|
|
177
|
+
// Optionally "#" followed by a comment can appear at the end of the string.
|
|
178
|
+
// Note that the special case that some cron implementations have for
|
|
179
|
+
// treating day_of_month and day_of_week as "or" instead of "and" when both
|
|
180
|
+
// are set is not implemented.
|
|
181
|
+
// @every <interval>[/<phase>] is accepted and gets compiled into an
|
|
182
|
+
// IntervalSpec instead. <interval> and <phase> should be a decimal integer
|
|
183
|
+
// with a unit suffix s, m, h, or d.
|
|
184
|
+
repeated string cron_string = 8;
|
|
101
185
|
// Calendar-based specifications of times.
|
|
102
186
|
repeated CalendarSpec calendar = 1;
|
|
103
187
|
// Interval-based specifications of times.
|
|
104
188
|
repeated IntervalSpec interval = 2;
|
|
105
|
-
// Any timestamps matching any of
|
|
106
|
-
//
|
|
107
|
-
repeated
|
|
108
|
-
//
|
|
109
|
-
// and end_time make an inclusive interval.
|
|
189
|
+
// Any timestamps matching any of exclude_* will be skipped.
|
|
190
|
+
repeated CalendarSpec exclude_calendar = 3 [deprecated = true]; // use exclude_structured_calendar
|
|
191
|
+
repeated StructuredCalendarSpec exclude_structured_calendar = 9;
|
|
192
|
+
// If start_time is set, any timestamps before start_time will be skipped.
|
|
193
|
+
// (Together, start_time and end_time make an inclusive interval.)
|
|
110
194
|
google.protobuf.Timestamp start_time = 4 [(gogoproto.stdtime) = true];
|
|
111
|
-
//
|
|
195
|
+
// If end_time is set, any timestamps after end_time will be skipped.
|
|
112
196
|
google.protobuf.Timestamp end_time = 5 [(gogoproto.stdtime) = true];
|
|
113
197
|
// All timestamps will be incremented by a random value from 0 to this
|
|
114
|
-
// amount of jitter. Default:
|
|
198
|
+
// amount of jitter. Default: 0
|
|
115
199
|
google.protobuf.Duration jitter = 6 [(gogoproto.stdduration) = true];
|
|
116
200
|
|
|
117
|
-
// Time zone to interpret all
|
|
201
|
+
// Time zone to interpret all calendar-based specs in.
|
|
118
202
|
//
|
|
119
203
|
// If unset, defaults to UTC. We recommend using UTC for your application if
|
|
120
204
|
// at all possible, to avoid various surprising properties of time zones.
|
|
@@ -134,21 +218,17 @@ message ScheduleSpec {
|
|
|
134
218
|
// at 2:30am and specify a time zone that follows DST, that action will not
|
|
135
219
|
// be triggered on the day that has no 2:30am. Similarly, an action that
|
|
136
220
|
// fires at 1:30am will be triggered twice on the day that has two 1:30s.
|
|
221
|
+
//
|
|
222
|
+
// Also note that no actions are taken on leap-seconds (e.g. 23:59:60 UTC).
|
|
137
223
|
string timezone_name = 10;
|
|
138
224
|
bytes timezone_data = 11;
|
|
139
225
|
}
|
|
140
226
|
|
|
141
227
|
message SchedulePolicies {
|
|
142
228
|
// Policy for overlaps.
|
|
143
|
-
// Note that this can be changed after a schedule has taken some actions,
|
|
144
|
-
//
|
|
145
|
-
//
|
|
146
|
-
// concurrently, but for all other policies only one can run at a time. Changing
|
|
147
|
-
// between these two classes will leave all workflows with the other class alone.
|
|
148
|
-
// E.g., if changing from ALLOW_ALL to CANCEL_OTHER, and there are workflows running,
|
|
149
|
-
// those workflows will not be cancelled. If changing from ALLOW_ALL to SKIP with
|
|
150
|
-
// workflows running, the running workflows will not cause the next action to be
|
|
151
|
-
// skipped.
|
|
229
|
+
// Note that this can be changed after a schedule has taken some actions,
|
|
230
|
+
// and some changes might produce unintuitive results. In general, the later
|
|
231
|
+
// policy overrides the earlier policy.
|
|
152
232
|
temporal.api.enums.v1.ScheduleOverlapPolicy overlap_policy = 1;
|
|
153
233
|
|
|
154
234
|
// Policy for catchups:
|
|
@@ -195,10 +275,11 @@ message ScheduleState {
|
|
|
195
275
|
// If true, do not take any actions based on the schedule spec.
|
|
196
276
|
bool paused = 2;
|
|
197
277
|
|
|
198
|
-
// If limited_actions is true, decrement remaining_actions after each
|
|
199
|
-
// not take any more scheduled actions if remaining_actions
|
|
200
|
-
// be taken by explicit request
|
|
201
|
-
//
|
|
278
|
+
// If limited_actions is true, decrement remaining_actions after each
|
|
279
|
+
// action, and do not take any more scheduled actions if remaining_actions
|
|
280
|
+
// is zero. Actions may still be taken by explicit request (i.e. trigger
|
|
281
|
+
// immediately or backfill). Skipped actions (due to overlap policy) do not
|
|
282
|
+
// count against remaining actions.
|
|
202
283
|
bool limited_actions = 3;
|
|
203
284
|
int64 remaining_actions = 4;
|
|
204
285
|
}
|
|
@@ -258,8 +339,7 @@ message ScheduleInfo {
|
|
|
258
339
|
google.protobuf.Timestamp create_time = 6 [(gogoproto.stdtime) = true];
|
|
259
340
|
google.protobuf.Timestamp update_time = 7 [(gogoproto.stdtime) = true];
|
|
260
341
|
|
|
261
|
-
|
|
262
|
-
string invalid_schedule_error = 8;
|
|
342
|
+
string invalid_schedule_error = 8 [deprecated = true];
|
|
263
343
|
}
|
|
264
344
|
|
|
265
345
|
message Schedule {
|
|
@@ -273,8 +353,7 @@ message Schedule {
|
|
|
273
353
|
// that's returned in ListSchedules.
|
|
274
354
|
message ScheduleListInfo {
|
|
275
355
|
// From spec:
|
|
276
|
-
// Some fields are
|
|
277
|
-
// from this copy of spec: exclude_calendar, jitter, timezone_data.
|
|
356
|
+
// Some fields are dropped from this copy of spec: timezone_data
|
|
278
357
|
ScheduleSpec spec = 1;
|
|
279
358
|
|
|
280
359
|
// From action:
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/taskqueue/v1;taskqueue";
|
|
|
28
28
|
option java_package = "io.temporal.api.taskqueue.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::TaskQueue::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.TaskQueue.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/duration.proto";
|
|
35
35
|
import "google/protobuf/timestamp.proto";
|
|
@@ -77,7 +77,7 @@ message PollerInfo {
|
|
|
77
77
|
double rate_per_second = 3;
|
|
78
78
|
// If a worker has specified an ID for use with the worker versioning feature while polling,
|
|
79
79
|
// that id must appear here.
|
|
80
|
-
|
|
80
|
+
VersionId worker_versioning_id = 4;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
message StickyExecutionAttributes {
|
|
@@ -98,7 +98,7 @@ message VersionIdNode {
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
// Used by the worker versioning APIs, represents a specific version of something
|
|
101
|
-
// Currently, that's just a whole-worker id. In the future, if we support
|
|
101
|
+
// Currently, that's just a whole-worker id. In the future, if we support
|
|
102
102
|
// WASM workflow bundle based versioning, for example, then the inside of this
|
|
103
103
|
// message may become a oneof of different version types.
|
|
104
104
|
message VersionId {
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/version/v1;version";
|
|
|
28
28
|
option java_package = "io.temporal.api.version.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "MessageProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Version::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Version.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/timestamp.proto";
|
|
35
35
|
import "dependencies/gogoproto/gogo.proto";
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/workflow/v1;workflow";
|
|
|
28
28
|
option java_package = "io.temporal.api.workflow.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "MessageProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::Workflow::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.Workflow.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/duration.proto";
|
|
35
35
|
import "google/protobuf/timestamp.proto";
|
|
@@ -56,6 +56,7 @@ message WorkflowExecutionInfo {
|
|
|
56
56
|
ResetPoints auto_reset_points = 12;
|
|
57
57
|
string task_queue = 13;
|
|
58
58
|
int64 state_transition_count = 14;
|
|
59
|
+
int64 history_size_bytes = 15;
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
message WorkflowExecutionConfig {
|
data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto
CHANGED
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/workflowservice/v1;workflowservice";
|
|
|
28
28
|
option java_package = "io.temporal.api.workflowservice.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "RequestResponseProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::WorkflowService::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.WorkflowService.V1";
|
|
33
33
|
|
|
34
34
|
import "temporal/api/enums/v1/batch_operation.proto";
|
|
35
35
|
import "temporal/api/enums/v1/workflow.proto";
|
|
@@ -42,6 +42,7 @@ import "temporal/api/enums/v1/task_queue.proto";
|
|
|
42
42
|
import "temporal/api/enums/v1/update.proto";
|
|
43
43
|
import "temporal/api/common/v1/message.proto";
|
|
44
44
|
import "temporal/api/history/v1/message.proto";
|
|
45
|
+
import "temporal/api/interaction/v1/message.proto";
|
|
45
46
|
import "temporal/api/workflow/v1/message.proto";
|
|
46
47
|
import "temporal/api/command/v1/message.proto";
|
|
47
48
|
import "temporal/api/failure/v1/message.proto";
|
|
@@ -51,7 +52,6 @@ import "temporal/api/query/v1/message.proto";
|
|
|
51
52
|
import "temporal/api/replication/v1/message.proto";
|
|
52
53
|
import "temporal/api/schedule/v1/message.proto";
|
|
53
54
|
import "temporal/api/taskqueue/v1/message.proto";
|
|
54
|
-
import "temporal/api/update/v1/message.proto";
|
|
55
55
|
import "temporal/api/version/v1/message.proto";
|
|
56
56
|
import "temporal/api/batch/v1/message.proto";
|
|
57
57
|
|
|
@@ -222,11 +222,11 @@ message PollWorkflowTaskQueueRequest {
|
|
|
222
222
|
// "checksum" in this field name isn't very accurate, it should be though of as an id.
|
|
223
223
|
string binary_checksum = 4;
|
|
224
224
|
// If set, the worker is opting in to build-id based versioning and wishes to only
|
|
225
|
-
// receive tasks that are considered compatible with the version provided
|
|
225
|
+
// receive tasks that are considered compatible with the version provided.
|
|
226
226
|
// Doing so only makes sense in conjunction with the `UpdateWorkerBuildIdOrdering` API.
|
|
227
|
-
// When
|
|
228
|
-
// `binary_checksum`.
|
|
229
|
-
|
|
227
|
+
// When `worker_versioning_id` has a `worker_build_id`, and `binary_checksum` is not
|
|
228
|
+
// set, that value should also be considered as the `binary_checksum`.
|
|
229
|
+
temporal.api.taskqueue.v1.VersionId worker_versioning_id = 5;
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
message PollWorkflowTaskQueueResponse {
|
|
@@ -267,6 +267,8 @@ message PollWorkflowTaskQueueResponse {
|
|
|
267
267
|
// Queries that should be executed after applying the history in this task. Responses should be
|
|
268
268
|
// attached to `RespondWorkflowTaskCompletedRequest::query_results`
|
|
269
269
|
map<string, temporal.api.query.v1.WorkflowQuery> queries = 14;
|
|
270
|
+
|
|
271
|
+
repeated temporal.api.interaction.v1.Invocation interactions = 15;
|
|
270
272
|
}
|
|
271
273
|
|
|
272
274
|
message RespondWorkflowTaskCompletedRequest {
|
|
@@ -292,6 +294,11 @@ message RespondWorkflowTaskCompletedRequest {
|
|
|
292
294
|
// Responses to the `queries` field in the task being responded to
|
|
293
295
|
map<string, temporal.api.query.v1.WorkflowQueryResult> query_results = 8;
|
|
294
296
|
string namespace = 9;
|
|
297
|
+
// If using versioning, worker should send the same id here that it used to
|
|
298
|
+
// poll for the workflow task.
|
|
299
|
+
// When `worker_versioning_id` has a `worker_build_id`, and `binary_checksum` is not
|
|
300
|
+
// set, that value should also be considered as the `binary_checksum`.
|
|
301
|
+
temporal.api.taskqueue.v1.VersionId worker_versioning_id = 10;
|
|
295
302
|
}
|
|
296
303
|
|
|
297
304
|
message RespondWorkflowTaskCompletedResponse {
|
|
@@ -299,6 +306,8 @@ message RespondWorkflowTaskCompletedResponse {
|
|
|
299
306
|
PollWorkflowTaskQueueResponse workflow_task = 1;
|
|
300
307
|
// See `ScheduleActivityTaskCommandAttributes::request_start`
|
|
301
308
|
repeated PollActivityTaskQueueResponse activity_tasks = 2;
|
|
309
|
+
|
|
310
|
+
int64 reset_history_event_id = 3;
|
|
302
311
|
}
|
|
303
312
|
|
|
304
313
|
message RespondWorkflowTaskFailedRequest {
|
|
@@ -326,9 +335,9 @@ message PollActivityTaskQueueRequest {
|
|
|
326
335
|
string identity = 3;
|
|
327
336
|
temporal.api.taskqueue.v1.TaskQueueMetadata task_queue_metadata = 4;
|
|
328
337
|
// If set, the worker is opting in to build-id based versioning and wishes to only
|
|
329
|
-
// receive tasks that are considered compatible with the version provided
|
|
338
|
+
// receive tasks that are considered compatible with the version provided.
|
|
330
339
|
// Doing so only makes sense in conjunction with the `UpdateWorkerBuildIdOrdering` API.
|
|
331
|
-
|
|
340
|
+
temporal.api.taskqueue.v1.VersionId worker_versioning_id = 5;
|
|
332
341
|
}
|
|
333
342
|
|
|
334
343
|
message PollActivityTaskQueueResponse {
|
|
@@ -630,6 +639,19 @@ message TerminateWorkflowExecutionRequest {
|
|
|
630
639
|
message TerminateWorkflowExecutionResponse {
|
|
631
640
|
}
|
|
632
641
|
|
|
642
|
+
// (-- api-linter: core::0135::request-unknown-fields=disabled
|
|
643
|
+
// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)
|
|
644
|
+
// (-- api-linter: core::0135::request-name-required=disabled
|
|
645
|
+
// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)
|
|
646
|
+
message DeleteWorkflowExecutionRequest {
|
|
647
|
+
string namespace = 1;
|
|
648
|
+
// Workflow Execution to delete. If run_id is not specified, the latest one is used.
|
|
649
|
+
temporal.api.common.v1.WorkflowExecution workflow_execution = 2;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
message DeleteWorkflowExecutionResponse {
|
|
653
|
+
}
|
|
654
|
+
|
|
633
655
|
message ListOpenWorkflowExecutionsRequest {
|
|
634
656
|
string namespace = 1;
|
|
635
657
|
int32 maximum_page_size = 2;
|
|
@@ -821,6 +843,14 @@ message GetSystemInfoResponse {
|
|
|
821
843
|
|
|
822
844
|
// True if server uses protos that include temporal.api.failure.v1.Failure.encoded_attributes
|
|
823
845
|
bool encoded_failure_attributes = 5;
|
|
846
|
+
|
|
847
|
+
// True if server supports dispatching Workflow and Activity tasks based on a worker's build_id
|
|
848
|
+
// (see:
|
|
849
|
+
// https://github.com/temporalio/proposals/blob/a123af3b559f43db16ea6dd31870bfb754c4dc5e/versioning/worker-versions.md)
|
|
850
|
+
bool build_id_based_versioning = 6;
|
|
851
|
+
|
|
852
|
+
// True if server supports upserting workflow memo
|
|
853
|
+
bool upsert_memo = 7;
|
|
824
854
|
}
|
|
825
855
|
}
|
|
826
856
|
|
|
@@ -874,6 +904,9 @@ message DescribeScheduleRequest {
|
|
|
874
904
|
message DescribeScheduleResponse {
|
|
875
905
|
// The complete current schedule details. This may not match the schedule as
|
|
876
906
|
// created because:
|
|
907
|
+
// - some types of schedule specs may get compiled into others (e.g.
|
|
908
|
+
// CronString into StructuredCalendarSpec)
|
|
909
|
+
// - some unspecified fields may be replaced by defaults
|
|
877
910
|
// - some fields in the state are modified automatically
|
|
878
911
|
// - the schedule may have been modified by UpdateSchedule or PatchSchedule
|
|
879
912
|
temporal.api.schedule.v1.Schedule schedule = 1;
|
|
@@ -1038,9 +1071,12 @@ message UpdateWorkflowRequest {
|
|
|
1038
1071
|
// part of the same execution chain as this id.
|
|
1039
1072
|
string first_execution_run_id = 5;
|
|
1040
1073
|
|
|
1074
|
+
// A string identifying the agent that requested this interaction.
|
|
1075
|
+
string identity = 6;
|
|
1076
|
+
|
|
1041
1077
|
// The name under which the workflow update function is registered and the
|
|
1042
1078
|
// arguments to pass to said function.
|
|
1043
|
-
temporal.api.
|
|
1079
|
+
temporal.api.interaction.v1.Input input = 7;
|
|
1044
1080
|
}
|
|
1045
1081
|
|
|
1046
1082
|
message UpdateWorkflowResponse {
|
|
@@ -1048,10 +1084,7 @@ message UpdateWorkflowResponse {
|
|
|
1048
1084
|
// polling if it is not returned as part of the gRPC response
|
|
1049
1085
|
bytes update_token = 1;
|
|
1050
1086
|
// The success or failure status of the update
|
|
1051
|
-
|
|
1052
|
-
temporal.api.common.v1.Payloads success = 2;
|
|
1053
|
-
temporal.api.failure.v1.Failure failure = 3;
|
|
1054
|
-
}
|
|
1087
|
+
temporal.api.interaction.v1.Output output = 2;
|
|
1055
1088
|
}
|
|
1056
1089
|
|
|
1057
1090
|
message StartBatchOperationRequest {
|
|
@@ -1059,17 +1092,20 @@ message StartBatchOperationRequest {
|
|
|
1059
1092
|
string namespace = 1;
|
|
1060
1093
|
// Visibility query defines the the group of workflow to do batch operation
|
|
1061
1094
|
string visibility_query = 2;
|
|
1095
|
+
// Job ID defines the unique ID for the batch job
|
|
1096
|
+
string job_id = 3;
|
|
1097
|
+
// Reason to perform the batch operation
|
|
1098
|
+
string reason = 4;
|
|
1062
1099
|
// Operation input
|
|
1063
1100
|
oneof operation {
|
|
1064
1101
|
temporal.api.batch.v1.BatchOperationTermination termination_operation = 10;
|
|
1065
1102
|
temporal.api.batch.v1.BatchOperationSignal signal_operation = 11;
|
|
1066
1103
|
temporal.api.batch.v1.BatchOperationCancellation cancellation_operation = 12;
|
|
1104
|
+
temporal.api.batch.v1.BatchOperationDeletion deletion_operation = 13;
|
|
1067
1105
|
}
|
|
1068
1106
|
}
|
|
1069
1107
|
|
|
1070
1108
|
message StartBatchOperationResponse {
|
|
1071
|
-
// Batch job id
|
|
1072
|
-
string job_id = 1;
|
|
1073
1109
|
}
|
|
1074
1110
|
|
|
1075
1111
|
message StopBatchOperationRequest {
|
|
@@ -1077,6 +1113,10 @@ message StopBatchOperationRequest {
|
|
|
1077
1113
|
string namespace = 1;
|
|
1078
1114
|
// Batch job id
|
|
1079
1115
|
string job_id = 2;
|
|
1116
|
+
// Reason to stop a batch operation
|
|
1117
|
+
string reason = 3;
|
|
1118
|
+
// Identity of the operator
|
|
1119
|
+
string identity = 4;
|
|
1080
1120
|
}
|
|
1081
1121
|
|
|
1082
1122
|
message StopBatchOperationResponse {
|
|
@@ -1106,6 +1146,10 @@ message DescribeBatchOperationResponse {
|
|
|
1106
1146
|
int64 complete_operation_count = 7;
|
|
1107
1147
|
// Failure operation count
|
|
1108
1148
|
int64 failure_operation_count = 8;
|
|
1149
|
+
// Identity indicates the operator identity
|
|
1150
|
+
string identity = 9;
|
|
1151
|
+
// Reason indicates the reason to stop a operation
|
|
1152
|
+
string reason = 10;
|
|
1109
1153
|
}
|
|
1110
1154
|
|
|
1111
1155
|
message ListBatchOperationsRequest {
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/workflowservice/v1;workflowservice";
|
|
|
28
28
|
option java_package = "io.temporal.api.workflowservice.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "ServiceProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::WorkflowService::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.WorkflowService.V1";
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
import "temporal/api/workflowservice/v1/request_response.proto";
|
|
@@ -256,6 +256,17 @@ service WorkflowService {
|
|
|
256
256
|
rpc TerminateWorkflowExecution (TerminateWorkflowExecutionRequest) returns (TerminateWorkflowExecutionResponse) {
|
|
257
257
|
}
|
|
258
258
|
|
|
259
|
+
// DeleteWorkflowExecution asynchronously deletes a specific Workflow Execution (when
|
|
260
|
+
// WorkflowExecution.run_id is provided) or the latest Workflow Execution (when
|
|
261
|
+
// WorkflowExecution.run_id is not provided). If the Workflow Execution is Running, it will be
|
|
262
|
+
// terminated before deletion.
|
|
263
|
+
// (-- api-linter: core::0135::method-signature=disabled
|
|
264
|
+
// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)
|
|
265
|
+
// (-- api-linter: core::0135::response-message-name=disabled
|
|
266
|
+
// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --)
|
|
267
|
+
rpc DeleteWorkflowExecution (DeleteWorkflowExecutionRequest) returns (DeleteWorkflowExecutionResponse) {
|
|
268
|
+
}
|
|
269
|
+
|
|
259
270
|
// ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace.
|
|
260
271
|
rpc ListOpenWorkflowExecutions (ListOpenWorkflowExecutionsRequest) returns (ListOpenWorkflowExecutionsResponse) {
|
|
261
272
|
}
|
|
@@ -369,12 +380,15 @@ service WorkflowService {
|
|
|
369
380
|
rpc ListSchedules (ListSchedulesRequest) returns (ListSchedulesResponse) {
|
|
370
381
|
}
|
|
371
382
|
|
|
383
|
+
// Allows users to specify a graph of worker build id based versions on a
|
|
384
|
+
// per task queue basis. Versions are ordered, and may be either compatible
|
|
385
|
+
// with some extant version, or a new incompatible version.
|
|
372
386
|
// (-- api-linter: core::0134::response-message-name=disabled
|
|
373
387
|
// aip.dev/not-precedent: UpdateWorkerBuildIdOrdering RPC doesn't follow Google API format. --)
|
|
374
388
|
// (-- api-linter: core::0134::method-signature=disabled
|
|
375
389
|
// aip.dev/not-precedent: UpdateWorkerBuildIdOrdering RPC doesn't follow Google API format. --)
|
|
376
390
|
rpc UpdateWorkerBuildIdOrdering (UpdateWorkerBuildIdOrderingRequest) returns (UpdateWorkerBuildIdOrderingResponse) {}
|
|
377
|
-
//
|
|
391
|
+
// Fetches the worker build id versioning graph for some task queue.
|
|
378
392
|
rpc GetWorkerBuildIdOrdering (GetWorkerBuildIdOrderingRequest) returns (GetWorkerBuildIdOrderingResponse) {}
|
|
379
393
|
|
|
380
394
|
// Invokes the specified update function on user workflow code.
|
data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto
CHANGED
|
@@ -119,6 +119,8 @@ message StartWorkflow {
|
|
|
119
119
|
temporal.api.common.v1.Memo memo = 21;
|
|
120
120
|
// Search attributes created/updated when this workflow was started
|
|
121
121
|
temporal.api.common.v1.SearchAttributes search_attributes = 22;
|
|
122
|
+
// When the workflow execution started event was first written
|
|
123
|
+
google.protobuf.Timestamp start_time = 23;
|
|
122
124
|
}
|
|
123
125
|
|
|
124
126
|
/// Notify a workflow that a timer has fired
|
data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto
CHANGED
|
@@ -35,6 +35,7 @@ message WorkflowCommand {
|
|
|
35
35
|
ScheduleLocalActivity schedule_local_activity = 16;
|
|
36
36
|
RequestCancelLocalActivity request_cancel_local_activity = 17;
|
|
37
37
|
UpsertWorkflowSearchAttributes upsert_workflow_search_attributes = 18;
|
|
38
|
+
ModifyWorkflowProperties modify_workflow_properties = 19;
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
|
|
@@ -54,7 +55,6 @@ message ScheduleActivity {
|
|
|
54
55
|
uint32 seq = 1;
|
|
55
56
|
string activity_id = 2;
|
|
56
57
|
string activity_type = 3;
|
|
57
|
-
string namespace = 4;
|
|
58
58
|
// The name of the task queue to place this activity request in
|
|
59
59
|
string task_queue = 5;
|
|
60
60
|
map<string, temporal.api.common.v1.Payload> headers = 6;
|
|
@@ -295,3 +295,10 @@ message UpsertWorkflowSearchAttributes {
|
|
|
295
295
|
/// value?
|
|
296
296
|
map<string, temporal.api.common.v1.Payload> search_attributes = 1;
|
|
297
297
|
}
|
|
298
|
+
|
|
299
|
+
message ModifyWorkflowProperties {
|
|
300
|
+
// If set, update the workflow memo with the provided values. The values will be merged with
|
|
301
|
+
// the existing memo. If the user wants to delete values, a default/empty Payload should be
|
|
302
|
+
// used as the value for the key being deleted.
|
|
303
|
+
temporal.api.common.v1.Memo upserted_memo = 1;
|
|
304
|
+
}
|
data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto
CHANGED
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/testservice/v1;testservice";
|
|
|
28
28
|
option java_package = "io.temporal.api.testservice.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "RequestResponseProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::TestService::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.TestService.V1";
|
|
33
33
|
|
|
34
34
|
import "google/protobuf/duration.proto";
|
|
35
35
|
import "google/protobuf/timestamp.proto";
|
|
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/testservice/v1;testservice";
|
|
|
28
28
|
option java_package = "io.temporal.api.testservice.v1";
|
|
29
29
|
option java_multiple_files = true;
|
|
30
30
|
option java_outer_classname = "ServiceProto";
|
|
31
|
-
option ruby_package = "
|
|
32
|
-
option csharp_namespace = "
|
|
31
|
+
option ruby_package = "Temporalio::Api::TestService::V1";
|
|
32
|
+
option csharp_namespace = "Temporalio.Api.TestService.V1";
|
|
33
33
|
|
|
34
34
|
import "temporal/api/testservice/v1/request_response.proto";
|
|
35
35
|
import "google/protobuf/empty.proto";
|
|
@@ -15,7 +15,7 @@ categories = ["development-tools"]
|
|
|
15
15
|
[dependencies]
|
|
16
16
|
async-trait = "0.1"
|
|
17
17
|
anyhow = "1.0"
|
|
18
|
-
base64 = "0.
|
|
18
|
+
base64 = "0.20"
|
|
19
19
|
crossbeam = "0.8"
|
|
20
20
|
derive_more = "0.99"
|
|
21
21
|
futures = "0.3"
|
|
@@ -28,7 +28,7 @@ tokio = { version = "1.1", features = ["rt", "rt-multi-thread", "parking_lot", "
|
|
|
28
28
|
tokio-util = { version = "0.7" }
|
|
29
29
|
tokio-stream = "0.1"
|
|
30
30
|
tonic = "0.8"
|
|
31
|
-
tracing =
|
|
31
|
+
tracing = "0.1"
|
|
32
32
|
|
|
33
33
|
[dependencies.temporal-sdk-core]
|
|
34
34
|
path = "../core"
|