> = ({ children, user, tenants, tenantId }) => {
- useEffect(() => {
- if (!tenantId) {
- setTenant(tenants[0])
- }
- })
-
return {children}
}
diff --git a/dashboard/src/middleware.ts b/dashboard/src/middleware.ts
index 20c2754a8..e7080ead5 100644
--- a/dashboard/src/middleware.ts
+++ b/dashboard/src/middleware.ts
@@ -20,5 +20,4 @@ const withAuth = nextAuth(async req => {
export const config = {
matcher: ['/((?!api|_next/static|_next/image|images|favicon.ico).*)'],
}
-
export default process.env.LHD_OAUTH_ENABLED === 'true' ? withAuth : withoutAuth
diff --git a/dashboard/src/setTenant.ts b/dashboard/src/setTenant.ts
deleted file mode 100644
index 6c0104db0..000000000
--- a/dashboard/src/setTenant.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-'use server'
-import { cookies } from 'next/headers'
-
-export const setTenant = async (tenantId: string) => {
- cookies().set('tenantId', tenantId)
-}
diff --git a/docs/docs/06-operations/01-server-configuration.md b/docs/docs/06-operations/01-server-configuration.md
index 3538b403a..16dae6bb8 100644
--- a/docs/docs/06-operations/01-server-configuration.md
+++ b/docs/docs/06-operations/01-server-configuration.md
@@ -698,3 +698,13 @@ The path upon which application liveness (the ability to ).
- **Type:** string
- **Default:** /metrics
- **Importance:** low
+
+---
+
+### `LHS_METRICS_LEVEL`
+
+The level of granularity to collect application instance metrics.
+
+- **Type:** string
+- **Default:** INFO
+- **Importance:** low
\ No newline at end of file
diff --git a/docs/docs/08-api.md b/docs/docs/08-api.md
index fc79749fa..8170029e3 100644
--- a/docs/docs/08-api.md
+++ b/docs/docs/08-api.md
@@ -858,9 +858,9 @@ they are writing their own WfSpec SDK.
| `lhs_name` | | string | The name of the variable to mutate |
| `lhs_json_path` | optional| string | For JSON_ARR and JSON_OBJ variables, this allows you to optionally mutate a specific sub-field of the variable. |
| `operation` | | [VariableMutationType](#variablemutationtype) | Defines the operation that we are executing. |
-| `source_variable` | oneof `rhs_value`| [VariableAssignment](#variableassignment) | Set the source_variable as the RHS to use another variable from the workflow to as the RHS/ |
-| `literal_value` | oneof `rhs_value`| [VariableValue](#variablevalue) | Use a literal value as the RHS. |
-| `node_output` | oneof `rhs_value`| [VariableMutation.NodeOutputSource](#variablemutationnodeoutputsource) | Use the output of the current node as the RHS. |
+| `rhs_assignment` | oneof `rhs_value`| [VariableAssignment](#variableassignment) | Assigns the value to be used as the RHS of the mutation. |
+| `literal_value` | oneof `rhs_value`| [VariableValue](#variablevalue) | Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value instead. |
+| `node_output` | oneof `rhs_value`| [VariableMutation.NodeOutputSource](#variablemutationnodeoutputsource) | Use the output of the current node as the RHS. DEPRECATED: use rhs_assignment.node_output instead. |
diff --git a/docs/static/img/protobuf-docs.html b/docs/static/img/protobuf-docs.html
index c95aeee38..cf0d601c2 100644
--- a/docs/static/img/protobuf-docs.html
+++ b/docs/static/img/protobuf-docs.html
@@ -2307,10 +2307,10 @@ VariableMutation
- source_variable |
+ rhs_assignment |
VariableAssignment |
|
- Set the source_variable as the RHS to use another variable from the workflow to
+ | Set the rhs_assignment as the RHS to use another variable from the workflow to
as the RHS/ |
diff --git a/local-dev/configs/server-1.config b/local-dev/configs/server-1.config
index f561a5877..773f7591d 100644
--- a/local-dev/configs/server-1.config
+++ b/local-dev/configs/server-1.config
@@ -9,7 +9,8 @@ LHS_STREAMS_NUM_STANDBY_REPLICAS=0
LHS_STREAMS_SESSION_TIMEOUT=10000
LHS_SHOULD_CREATE_TOPICS=true
LHS_CORE_STREAM_THREADS=2
-LHS_STREAMS_METRICS_LEVEL=info
+LHS_STREAMS_METRICS_LEVEL=debug
+LHS_METRICS_LEVEL=info
LHS_STREAMS_TRANSACTION_TIMEOUT_MS=10000
diff --git a/schemas/littlehorse/common_wfspec.proto b/schemas/littlehorse/common_wfspec.proto
index 4128e0618..153ff1f77 100644
--- a/schemas/littlehorse/common_wfspec.proto
+++ b/schemas/littlehorse/common_wfspec.proto
@@ -114,16 +114,20 @@ message VariableMutation {
// Defines the operation that we are executing.
VariableMutationType operation = 3;
- // The RHS of the mutation; i.e. what is operated _with_.
+ // The RHS of the mutation; i.e. what is operated _with_. Note the values other
+ // than `rhs_assignment` are deprecated and will be removed in 2.0.
+ //
+ // As of 0.12.0, the SDK's only use rhs_assignment.
oneof rhs_value {
- // Set the source_variable as the RHS to use another variable from the workflow to
- // as the RHS/
- VariableAssignment source_variable = 4;
+ // Assigns the value to be used as the RHS of the mutation.
+ VariableAssignment rhs_assignment = 4;
- // Use a literal value as the RHS.
+ // Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ // instead.
VariableValue literal_value = 5;
- // Use the output of the current node as the RHS.
+ // Use the output of the current node as the RHS. DEPRECATED: use
+ // rhs_assignment.node_output instead.
NodeOutputSource node_output = 6;
}
}
diff --git a/sdk-go/lhproto/common_wfspec.pb.go b/sdk-go/lhproto/common_wfspec.pb.go
index d21722fb4..511cab212 100644
--- a/sdk-go/lhproto/common_wfspec.pb.go
+++ b/sdk-go/lhproto/common_wfspec.pb.go
@@ -397,10 +397,13 @@ type VariableMutation struct {
LhsJsonPath *string `protobuf:"bytes,2,opt,name=lhs_json_path,json=lhsJsonPath,proto3,oneof" json:"lhs_json_path,omitempty"`
// Defines the operation that we are executing.
Operation VariableMutationType `protobuf:"varint,3,opt,name=operation,proto3,enum=littlehorse.VariableMutationType" json:"operation,omitempty"`
- // The RHS of the mutation; i.e. what is operated _with_.
+ // The RHS of the mutation; i.e. what is operated _with_. Note the values other
+ // than `rhs_assignment` are deprecated and will be removed in 2.0.
+ //
+ // As of 0.12.0, the SDK's only use rhs_assignment.
//
// Types that are assignable to RhsValue:
- // *VariableMutation_SourceVariable
+ // *VariableMutation_RhsAssignment
// *VariableMutation_LiteralValue
// *VariableMutation_NodeOutput
RhsValue isVariableMutation_RhsValue `protobuf_oneof:"rhs_value"`
@@ -466,9 +469,9 @@ func (m *VariableMutation) GetRhsValue() isVariableMutation_RhsValue {
return nil
}
-func (x *VariableMutation) GetSourceVariable() *VariableAssignment {
- if x, ok := x.GetRhsValue().(*VariableMutation_SourceVariable); ok {
- return x.SourceVariable
+func (x *VariableMutation) GetRhsAssignment() *VariableAssignment {
+ if x, ok := x.GetRhsValue().(*VariableMutation_RhsAssignment); ok {
+ return x.RhsAssignment
}
return nil
}
@@ -491,23 +494,24 @@ type isVariableMutation_RhsValue interface {
isVariableMutation_RhsValue()
}
-type VariableMutation_SourceVariable struct {
- // Set the source_variable as the RHS to use another variable from the workflow to
- // as the RHS/
- SourceVariable *VariableAssignment `protobuf:"bytes,4,opt,name=source_variable,json=sourceVariable,proto3,oneof"`
+type VariableMutation_RhsAssignment struct {
+ // Assigns the value to be used as the RHS of the mutation.
+ RhsAssignment *VariableAssignment `protobuf:"bytes,4,opt,name=rhs_assignment,json=rhsAssignment,proto3,oneof"`
}
type VariableMutation_LiteralValue struct {
- // Use a literal value as the RHS.
+ // Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ // instead.
LiteralValue *VariableValue `protobuf:"bytes,5,opt,name=literal_value,json=literalValue,proto3,oneof"`
}
type VariableMutation_NodeOutput struct {
- // Use the output of the current node as the RHS.
+ // Use the output of the current node as the RHS. DEPRECATED: use
+ // rhs_assignment.node_output instead.
NodeOutput *VariableMutation_NodeOutputSource `protobuf:"bytes,6,opt,name=node_output,json=nodeOutput,proto3,oneof"`
}
-func (*VariableMutation_SourceVariable) isVariableMutation_RhsValue() {}
+func (*VariableMutation_RhsAssignment) isVariableMutation_RhsValue() {}
func (*VariableMutation_LiteralValue) isVariableMutation_RhsValue() {}
@@ -1362,7 +1366,7 @@ var file_common_wfspec_proto_rawDesc = []byte{
0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73,
0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x03, 0x72, 0x68, 0x73, 0x42, 0x08, 0x0a,
0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6a, 0x73, 0x6f, 0x6e,
- 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0xda, 0x03, 0x0a, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
+ 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0xd8, 0x03, 0x0a, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
0x6c, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x68,
0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x68,
0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x6c, 0x68, 0x73, 0x5f, 0x6a, 0x73, 0x6f,
@@ -1372,142 +1376,141 @@ var file_common_wfspec_proto_rawDesc = []byte{
0x0e, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e,
0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x4a, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62,
- 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c,
- 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x41,
- 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x6c,
- 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65,
- 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00,
- 0x52, 0x0c, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x51,
- 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73,
- 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75,
- 0x74, 0x1a, 0x40, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x70, 0x61, 0x74,
- 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x70,
- 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x70,
- 0x61, 0x74, 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x68, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x68, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61,
- 0x74, 0x68, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x44,
- 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56,
- 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
- 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
- 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c,
- 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61,
- 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61,
- 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x6d,
- 0x61, 0x73, 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x0b, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x10,
- 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x22, 0xbf, 0x05, 0x0a, 0x0f, 0x55, 0x54, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69,
- 0x67, 0x67, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65,
- 0x2e, 0x55, 0x54, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
- 0x2e, 0x55, 0x54, 0x41, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b,
- 0x12, 0x40, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x26, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x55,
+ 0x48, 0x0a, 0x0e, 0x72, 0x68, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
+ 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65,
+ 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73,
+ 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x68, 0x73, 0x41,
+ 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0d, 0x6c, 0x69, 0x74,
+ 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56,
+ 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c,
+ 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x51, 0x0a, 0x0b,
+ 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x2e, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e,
+ 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x1a,
+ 0x40, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x70, 0x61, 0x74, 0x68, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x70, 0x61, 0x74,
+ 0x68, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x70, 0x61, 0x74,
+ 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x68, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x10,
+ 0x0a, 0x0e, 0x5f, 0x6c, 0x68, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68,
+ 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66,
+ 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19,
+ 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72,
+ 0x69, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x74,
+ 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
+ 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x73,
+ 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x10, 0x0a, 0x0e,
+ 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbf,
+ 0x05, 0x0a, 0x0f, 0x55, 0x54, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67,
+ 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x24, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x55,
0x54, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x55,
- 0x54, 0x41, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63,
- 0x65, 0x6c, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72,
- 0x73, 0x65, 0x2e, 0x55, 0x54, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67,
- 0x65, 0x72, 0x2e, 0x55, 0x54, 0x41, 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x48, 0x00,
- 0x52, 0x08, 0x72, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x44, 0x0a, 0x0d, 0x64, 0x65,
- 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e,
- 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65,
- 0x6e, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
- 0x12, 0x37, 0x0a, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23,
+ 0x54, 0x41, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x40,
+ 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x55, 0x54, 0x41,
- 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x54, 0x48,
- 0x6f, 0x6f, 0x6b, 0x52, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x1a, 0x0b, 0x0a, 0x09, 0x55, 0x54, 0x41,
- 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x71, 0x0a, 0x07, 0x55, 0x54, 0x41, 0x54, 0x61, 0x73,
- 0x6b, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x15, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x54, 0x61,
- 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x3b, 0x0a, 0x09,
- 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x1d, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61,
- 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09,
- 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xac, 0x01, 0x0a, 0x0b, 0x55, 0x54,
- 0x41, 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x75, 0x73, 0x65,
- 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x74,
- 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
- 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75,
- 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72,
- 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c,
- 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61,
- 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x01, 0x52,
- 0x09, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a,
- 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x75, 0x73,
- 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2e, 0x0a, 0x06, 0x55, 0x54, 0x48, 0x6f,
- 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x49, 0x56, 0x41, 0x4c,
- 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x41, 0x53,
- 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69,
- 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f,
- 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74,
- 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e,
- 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x12, 0x20,
- 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x73,
- 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72,
- 0x22, 0x99, 0x03, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a,
- 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65,
- 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x66, 0x49, 0x64, 0x48, 0x00, 0x52, 0x09, 0x74, 0x61,
- 0x73, 0x6b, 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0c, 0x64, 0x79, 0x6e, 0x61, 0x6d,
- 0x69, 0x63, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x54, 0x41,
+ 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c,
+ 0x12, 0x46, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65,
+ 0x2e, 0x55, 0x54, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
+ 0x2e, 0x55, 0x54, 0x41, 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x48, 0x00, 0x52, 0x08,
+ 0x72, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x44, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x61,
+ 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1f, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61,
+ 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+ 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x37,
+ 0x0a, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6c,
+ 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x55, 0x54, 0x41, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x54, 0x48, 0x6f, 0x6f,
+ 0x6b, 0x52, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x1a, 0x0b, 0x0a, 0x09, 0x55, 0x54, 0x41, 0x43, 0x61,
+ 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x71, 0x0a, 0x07, 0x55, 0x54, 0x41, 0x54, 0x61, 0x73, 0x6b, 0x12,
+ 0x29, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b,
+ 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x3b, 0x0a, 0x09, 0x6d, 0x75,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69,
- 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00,
- 0x52, 0x0b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x27, 0x0a,
- 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53,
- 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65,
- 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73,
- 0x12, 0x60, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f,
- 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
- 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x6f,
- 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x52, 0x65,
- 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x12, 0x65, 0x78, 0x70,
- 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x88,
- 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
- 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f,
- 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69,
- 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
- 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65,
- 0x63, 0x75, 0x74, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e,
- 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x2a, 0x98, 0x01, 0x0a,
- 0x14, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10,
- 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x58,
- 0x54, 0x45, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x55, 0x42, 0x54, 0x52, 0x41,
- 0x43, 0x54, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x59,
- 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x49, 0x56, 0x49, 0x44, 0x45, 0x10, 0x05, 0x12, 0x15,
- 0x0a, 0x11, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x53,
- 0x45, 0x4e, 0x54, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f,
- 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x4d, 0x4f, 0x56,
- 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x08, 0x2a, 0x84, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70,
- 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54,
- 0x48, 0x41, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52,
- 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x45, 0x53, 0x53, 0x5f,
- 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x45, 0x51, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x52, 0x45,
- 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x45, 0x51, 0x10, 0x03, 0x12, 0x0a,
- 0x0a, 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f,
- 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x05, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e,
- 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x10, 0x07, 0x42, 0x49,
- 0x0a, 0x1f, 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65,
- 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x50, 0x01, 0x5a, 0x09, 0x2e, 0x3b, 0x6c, 0x68, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0xaa, 0x02,
- 0x18, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d,
- 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
+ 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6d, 0x75,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xac, 0x01, 0x0a, 0x0b, 0x55, 0x54, 0x41, 0x52,
+ 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c,
+ 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x41,
+ 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x73, 0x65,
+ 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x74,
+ 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
+ 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x09, 0x75,
+ 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f,
+ 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x75, 0x73, 0x65, 0x72,
+ 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2e, 0x0a, 0x06, 0x55, 0x54, 0x48, 0x6f, 0x6f, 0x6b,
+ 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x49, 0x56, 0x41, 0x4c, 0x10, 0x00,
+ 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x41, 0x53, 0x53, 0x49,
+ 0x47, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
+ 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x62, 0x61,
+ 0x73, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x12, 0x20, 0x0a, 0x0c,
+ 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x73, 0x12, 0x1e,
+ 0x0a, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x22, 0x99,
+ 0x03, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x74,
+ 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x54,
+ 0x61, 0x73, 0x6b, 0x44, 0x65, 0x66, 0x49, 0x64, 0x48, 0x00, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b,
+ 0x44, 0x65, 0x66, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
+ 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69,
+ 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
+ 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b,
+ 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x27, 0x0a, 0x0f, 0x74,
+ 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x60,
+ 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61,
+ 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6c, 0x69,
+ 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65,
+ 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x52, 0x65, 0x74, 0x72,
+ 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e,
+ 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x88, 0x01, 0x01,
+ 0x12, 0x3d, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73,
+ 0x65, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e,
+ 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x42,
+ 0x11, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75,
+ 0x74, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69,
+ 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x2a, 0x98, 0x01, 0x0a, 0x14, 0x56,
+ 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x00, 0x12,
+ 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x58, 0x54, 0x45,
+ 0x4e, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x55, 0x42, 0x54, 0x52, 0x41, 0x43, 0x54,
+ 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x59, 0x10, 0x04,
+ 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x49, 0x56, 0x49, 0x44, 0x45, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11,
+ 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e,
+ 0x54, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x49, 0x4e,
+ 0x44, 0x45, 0x58, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f,
+ 0x4b, 0x45, 0x59, 0x10, 0x08, 0x2a, 0x84, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72,
+ 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41,
+ 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54,
+ 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48,
+ 0x41, 0x4e, 0x5f, 0x45, 0x51, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x52, 0x45, 0x41, 0x54,
+ 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x45, 0x51, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06,
+ 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x05, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x06,
+ 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x10, 0x07, 0x42, 0x49, 0x0a, 0x1f,
+ 0x69, 0x6f, 0x2e, 0x6c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x73,
+ 0x64, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x50,
+ 0x01, 0x5a, 0x09, 0x2e, 0x3b, 0x6c, 0x68, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0xaa, 0x02, 0x18, 0x4c,
+ 0x69, 0x74, 0x74, 0x6c, 0x65, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1551,7 +1554,7 @@ var file_common_wfspec_proto_depIdxs = []int32{
10, // 2: littlehorse.VariableAssignment.node_output:type_name -> littlehorse.VariableAssignment.NodeOutputReference
11, // 3: littlehorse.VariableAssignment.expression:type_name -> littlehorse.VariableAssignment.Expression
0, // 4: littlehorse.VariableMutation.operation:type_name -> littlehorse.VariableMutationType
- 3, // 5: littlehorse.VariableMutation.source_variable:type_name -> littlehorse.VariableAssignment
+ 3, // 5: littlehorse.VariableMutation.rhs_assignment:type_name -> littlehorse.VariableAssignment
16, // 6: littlehorse.VariableMutation.literal_value:type_name -> littlehorse.VariableValue
12, // 7: littlehorse.VariableMutation.node_output:type_name -> littlehorse.VariableMutation.NodeOutputSource
17, // 8: littlehorse.VariableDef.type:type_name -> littlehorse.VariableType
@@ -1755,7 +1758,7 @@ func file_common_wfspec_proto_init() {
(*VariableAssignment_Expression_)(nil),
}
file_common_wfspec_proto_msgTypes[1].OneofWrappers = []interface{}{
- (*VariableMutation_SourceVariable)(nil),
+ (*VariableMutation_RhsAssignment)(nil),
(*VariableMutation_LiteralValue)(nil),
(*VariableMutation_NodeOutput)(nil),
}
diff --git a/sdk-go/littlehorse/wf_lib_internal.go b/sdk-go/littlehorse/wf_lib_internal.go
index a0a648619..2e50d8c1b 100644
--- a/sdk-go/littlehorse/wf_lib_internal.go
+++ b/sdk-go/littlehorse/wf_lib_internal.go
@@ -709,8 +709,8 @@ func (t *WorkflowThread) mutate(
},
}
case WfRunVariable:
- mutation.RhsValue = &lhproto.VariableMutation_SourceVariable{
- SourceVariable: &lhproto.VariableAssignment{
+ mutation.RhsValue = &lhproto.VariableMutation_RhsAssignment{
+ RhsAssignment: &lhproto.VariableAssignment{
JsonPath: r.jsonPath,
Source: &lhproto.VariableAssignment_VariableName{
VariableName: r.Name,
@@ -718,8 +718,8 @@ func (t *WorkflowThread) mutate(
},
}
case *WfRunVariable:
- mutation.RhsValue = &lhproto.VariableMutation_SourceVariable{
- SourceVariable: &lhproto.VariableAssignment{
+ mutation.RhsValue = &lhproto.VariableMutation_RhsAssignment{
+ RhsAssignment: &lhproto.VariableAssignment{
JsonPath: r.jsonPath,
Source: &lhproto.VariableAssignment_VariableName{
VariableName: r.Name,
diff --git a/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/CommonWfspec.java b/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/CommonWfspec.java
index 0406587c2..6e90f7ce1 100644
--- a/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/CommonWfspec.java
+++ b/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/CommonWfspec.java
@@ -107,56 +107,56 @@ public static void registerAllExtensions(
"\0224\n\toperation\030\002 \001(\0162!.littlehorse.Variab" +
"leMutationType\022,\n\003rhs\030\003 \001(\0132\037.littlehors" +
"e.VariableAssignmentB\010\n\006sourceB\014\n\n_json_" +
- "path\"\205\003\n\020VariableMutation\022\020\n\010lhs_name\030\001 " +
+ "path\"\204\003\n\020VariableMutation\022\020\n\010lhs_name\030\001 " +
"\001(\t\022\032\n\rlhs_json_path\030\002 \001(\tH\001\210\001\001\0224\n\topera" +
"tion\030\003 \001(\0162!.littlehorse.VariableMutatio" +
- "nType\022:\n\017source_variable\030\004 \001(\0132\037.littleh" +
- "orse.VariableAssignmentH\000\0223\n\rliteral_val" +
- "ue\030\005 \001(\0132\032.littlehorse.VariableValueH\000\022E" +
- "\n\013node_output\030\006 \001(\0132..littlehorse.Variab" +
- "leMutation.NodeOutputSourceH\000\0326\n\020NodeOut" +
- "putSource\022\025\n\010jsonpath\030\n \001(\tH\000\210\001\001B\013\n\t_jso" +
- "npathB\013\n\trhs_valueB\020\n\016_lhs_json_path\"\244\001\n" +
- "\013VariableDef\022\'\n\004type\030\001 \001(\0162\031.littlehorse" +
- ".VariableType\022\014\n\004name\030\002 \001(\t\0226\n\rdefault_v" +
- "alue\030\003 \001(\0132\032.littlehorse.VariableValueH\000" +
- "\210\001\001\022\024\n\014masked_value\030\004 \001(\010B\020\n\016_default_va" +
- "lue\"\357\004\n\017UTActionTrigger\0224\n\004task\030\001 \001(\0132$." +
- "littlehorse.UTActionTrigger.UTATaskH\000\0228\n" +
- "\006cancel\030\002 \001(\0132&.littlehorse.UTActionTrig" +
- "ger.UTACancelH\000\022<\n\010reassign\030\003 \001(\0132(.litt" +
- "lehorse.UTActionTrigger.UTAReassignH\000\0226\n" +
- "\rdelay_seconds\030\005 \001(\0132\037.littlehorse.Varia" +
- "bleAssignment\0221\n\004hook\030\006 \001(\0162#.littlehors" +
- "e.UTActionTrigger.UTHook\032\013\n\tUTACancel\032`\n" +
- "\007UTATask\022#\n\004task\030\001 \001(\0132\025.littlehorse.Tas" +
- "kNode\0220\n\tmutations\030\002 \003(\0132\035.littlehorse.V" +
- "ariableMutation\032\231\001\n\013UTAReassign\0225\n\007user_" +
- "id\030\001 \001(\0132\037.littlehorse.VariableAssignmen" +
- "tH\000\210\001\001\0228\n\nuser_group\030\002 \001(\0132\037.littlehorse" +
- ".VariableAssignmentH\001\210\001\001B\n\n\010_user_idB\r\n\013" +
- "_user_group\".\n\006UTHook\022\016\n\nON_ARRIVAL\020\000\022\024\n" +
- "\020ON_TASK_ASSIGNED\020\001B\010\n\006action\"c\n\035Exponen" +
- "tialBackoffRetryPolicy\022\030\n\020base_interval_" +
- "ms\030\001 \001(\005\022\024\n\014max_delay_ms\030\002 \001(\003\022\022\n\nmultip" +
- "lier\030\003 \001(\002\"\311\002\n\010TaskNode\022-\n\013task_def_id\030\001" +
- " \001(\0132\026.littlehorse.TaskDefIdH\000\0227\n\014dynami" +
- "c_task\030\006 \001(\0132\037.littlehorse.VariableAssig" +
- "nmentH\000\022\027\n\017timeout_seconds\030\002 \001(\005\022\017\n\007retr" +
- "ies\030\003 \001(\005\022L\n\023exponential_backoff\030\005 \001(\0132*" +
- ".littlehorse.ExponentialBackoffRetryPoli" +
- "cyH\001\210\001\001\0222\n\tvariables\030\004 \003(\0132\037.littlehorse" +
- ".VariableAssignmentB\021\n\017task_to_executeB\026" +
- "\n\024_exponential_backoff*\230\001\n\024VariableMutat" +
- "ionType\022\n\n\006ASSIGN\020\000\022\007\n\003ADD\020\001\022\n\n\006EXTEND\020\002" +
- "\022\014\n\010SUBTRACT\020\003\022\014\n\010MULTIPLY\020\004\022\n\n\006DIVIDE\020\005" +
- "\022\025\n\021REMOVE_IF_PRESENT\020\006\022\020\n\014REMOVE_INDEX\020" +
- "\007\022\016\n\nREMOVE_KEY\020\010*\204\001\n\nComparator\022\r\n\tLESS" +
- "_THAN\020\000\022\020\n\014GREATER_THAN\020\001\022\020\n\014LESS_THAN_E" +
- "Q\020\002\022\023\n\017GREATER_THAN_EQ\020\003\022\n\n\006EQUALS\020\004\022\016\n\n" +
- "NOT_EQUALS\020\005\022\006\n\002IN\020\006\022\n\n\006NOT_IN\020\007BI\n\037io.l" +
- "ittlehorse.sdk.common.protoP\001Z\t.;lhproto" +
- "\252\002\030LittleHorse.Common.Protob\006proto3"
+ "nType\0229\n\016rhs_assignment\030\004 \001(\0132\037.littleho" +
+ "rse.VariableAssignmentH\000\0223\n\rliteral_valu" +
+ "e\030\005 \001(\0132\032.littlehorse.VariableValueH\000\022E\n" +
+ "\013node_output\030\006 \001(\0132..littlehorse.Variabl" +
+ "eMutation.NodeOutputSourceH\000\0326\n\020NodeOutp" +
+ "utSource\022\025\n\010jsonpath\030\n \001(\tH\000\210\001\001B\013\n\t_json" +
+ "pathB\013\n\trhs_valueB\020\n\016_lhs_json_path\"\244\001\n\013" +
+ "VariableDef\022\'\n\004type\030\001 \001(\0162\031.littlehorse." +
+ "VariableType\022\014\n\004name\030\002 \001(\t\0226\n\rdefault_va" +
+ "lue\030\003 \001(\0132\032.littlehorse.VariableValueH\000\210" +
+ "\001\001\022\024\n\014masked_value\030\004 \001(\010B\020\n\016_default_val" +
+ "ue\"\357\004\n\017UTActionTrigger\0224\n\004task\030\001 \001(\0132$.l" +
+ "ittlehorse.UTActionTrigger.UTATaskH\000\0228\n\006" +
+ "cancel\030\002 \001(\0132&.littlehorse.UTActionTrigg" +
+ "er.UTACancelH\000\022<\n\010reassign\030\003 \001(\0132(.littl" +
+ "ehorse.UTActionTrigger.UTAReassignH\000\0226\n\r" +
+ "delay_seconds\030\005 \001(\0132\037.littlehorse.Variab" +
+ "leAssignment\0221\n\004hook\030\006 \001(\0162#.littlehorse" +
+ ".UTActionTrigger.UTHook\032\013\n\tUTACancel\032`\n\007" +
+ "UTATask\022#\n\004task\030\001 \001(\0132\025.littlehorse.Task" +
+ "Node\0220\n\tmutations\030\002 \003(\0132\035.littlehorse.Va" +
+ "riableMutation\032\231\001\n\013UTAReassign\0225\n\007user_i" +
+ "d\030\001 \001(\0132\037.littlehorse.VariableAssignment" +
+ "H\000\210\001\001\0228\n\nuser_group\030\002 \001(\0132\037.littlehorse." +
+ "VariableAssignmentH\001\210\001\001B\n\n\010_user_idB\r\n\013_" +
+ "user_group\".\n\006UTHook\022\016\n\nON_ARRIVAL\020\000\022\024\n\020" +
+ "ON_TASK_ASSIGNED\020\001B\010\n\006action\"c\n\035Exponent" +
+ "ialBackoffRetryPolicy\022\030\n\020base_interval_m" +
+ "s\030\001 \001(\005\022\024\n\014max_delay_ms\030\002 \001(\003\022\022\n\nmultipl" +
+ "ier\030\003 \001(\002\"\311\002\n\010TaskNode\022-\n\013task_def_id\030\001 " +
+ "\001(\0132\026.littlehorse.TaskDefIdH\000\0227\n\014dynamic" +
+ "_task\030\006 \001(\0132\037.littlehorse.VariableAssign" +
+ "mentH\000\022\027\n\017timeout_seconds\030\002 \001(\005\022\017\n\007retri" +
+ "es\030\003 \001(\005\022L\n\023exponential_backoff\030\005 \001(\0132*." +
+ "littlehorse.ExponentialBackoffRetryPolic" +
+ "yH\001\210\001\001\0222\n\tvariables\030\004 \003(\0132\037.littlehorse." +
+ "VariableAssignmentB\021\n\017task_to_executeB\026\n" +
+ "\024_exponential_backoff*\230\001\n\024VariableMutati" +
+ "onType\022\n\n\006ASSIGN\020\000\022\007\n\003ADD\020\001\022\n\n\006EXTEND\020\002\022" +
+ "\014\n\010SUBTRACT\020\003\022\014\n\010MULTIPLY\020\004\022\n\n\006DIVIDE\020\005\022" +
+ "\025\n\021REMOVE_IF_PRESENT\020\006\022\020\n\014REMOVE_INDEX\020\007" +
+ "\022\016\n\nREMOVE_KEY\020\010*\204\001\n\nComparator\022\r\n\tLESS_" +
+ "THAN\020\000\022\020\n\014GREATER_THAN\020\001\022\020\n\014LESS_THAN_EQ" +
+ "\020\002\022\023\n\017GREATER_THAN_EQ\020\003\022\n\n\006EQUALS\020\004\022\016\n\nN" +
+ "OT_EQUALS\020\005\022\006\n\002IN\020\006\022\n\n\006NOT_IN\020\007BI\n\037io.li" +
+ "ttlehorse.sdk.common.protoP\001Z\t.;lhproto\252" +
+ "\002\030LittleHorse.Common.Protob\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@@ -194,7 +194,7 @@ public static void registerAllExtensions(
internal_static_littlehorse_VariableMutation_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_littlehorse_VariableMutation_descriptor,
- new java.lang.String[] { "LhsName", "LhsJsonPath", "Operation", "SourceVariable", "LiteralValue", "NodeOutput", "RhsValue", "LhsJsonPath", });
+ new java.lang.String[] { "LhsName", "LhsJsonPath", "Operation", "RhsAssignment", "LiteralValue", "NodeOutput", "RhsValue", "LhsJsonPath", });
internal_static_littlehorse_VariableMutation_NodeOutputSource_descriptor =
internal_static_littlehorse_VariableMutation_descriptor.getNestedTypes().get(0);
internal_static_littlehorse_VariableMutation_NodeOutputSource_fieldAccessorTable = new
diff --git a/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/VariableMutation.java b/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/VariableMutation.java
index ace98259d..c3e4317d4 100644
--- a/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/VariableMutation.java
+++ b/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/VariableMutation.java
@@ -694,7 +694,7 @@ public io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSource getDefa
public enum RhsValueCase
implements com.google.protobuf.Internal.EnumLite,
com.google.protobuf.AbstractMessage.InternalOneOfEnum {
- SOURCE_VARIABLE(4),
+ RHS_ASSIGNMENT(4),
LITERAL_VALUE(5),
NODE_OUTPUT(6),
RHSVALUE_NOT_SET(0);
@@ -714,7 +714,7 @@ public static RhsValueCase valueOf(int value) {
public static RhsValueCase forNumber(int value) {
switch (value) {
- case 4: return SOURCE_VARIABLE;
+ case 4: return RHS_ASSIGNMENT;
case 5: return LITERAL_VALUE;
case 6: return NODE_OUTPUT;
case 0: return RHSVALUE_NOT_SET;
@@ -867,31 +867,29 @@ public java.lang.String getLhsJsonPath() {
return result == null ? io.littlehorse.sdk.common.proto.VariableMutationType.UNRECOGNIZED : result;
}
- public static final int SOURCE_VARIABLE_FIELD_NUMBER = 4;
+ public static final int RHS_ASSIGNMENT_FIELD_NUMBER = 4;
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
- * @return Whether the sourceVariable field is set.
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
+ * @return Whether the rhsAssignment field is set.
*/
@java.lang.Override
- public boolean hasSourceVariable() {
+ public boolean hasRhsAssignment() {
return rhsValueCase_ == 4;
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
- * @return The sourceVariable.
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
+ * @return The rhsAssignment.
*/
@java.lang.Override
- public io.littlehorse.sdk.common.proto.VariableAssignment getSourceVariable() {
+ public io.littlehorse.sdk.common.proto.VariableAssignment getRhsAssignment() {
if (rhsValueCase_ == 4) {
return (io.littlehorse.sdk.common.proto.VariableAssignment) rhsValue_;
}
@@ -899,14 +897,13 @@ public io.littlehorse.sdk.common.proto.VariableAssignment getSourceVariable() {
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
*/
@java.lang.Override
- public io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder getSourceVariableOrBuilder() {
+ public io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder getRhsAssignmentOrBuilder() {
if (rhsValueCase_ == 4) {
return (io.littlehorse.sdk.common.proto.VariableAssignment) rhsValue_;
}
@@ -916,7 +913,8 @@ public io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder getSourceVari
public static final int LITERAL_VALUE_FIELD_NUMBER = 5;
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -928,7 +926,8 @@ public boolean hasLiteralValue() {
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -943,7 +942,8 @@ public io.littlehorse.sdk.common.proto.VariableValue getLiteralValue() {
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -959,7 +959,8 @@ public io.littlehorse.sdk.common.proto.VariableValueOrBuilder getLiteralValueOrB
public static final int NODE_OUTPUT_FIELD_NUMBER = 6;
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -971,7 +972,8 @@ public boolean hasNodeOutput() {
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -986,7 +988,8 @@ public io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSource getNode
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -1088,8 +1091,8 @@ public boolean equals(final java.lang.Object obj) {
if (!getRhsValueCase().equals(other.getRhsValueCase())) return false;
switch (rhsValueCase_) {
case 4:
- if (!getSourceVariable()
- .equals(other.getSourceVariable())) return false;
+ if (!getRhsAssignment()
+ .equals(other.getRhsAssignment())) return false;
break;
case 5:
if (!getLiteralValue()
@@ -1123,8 +1126,8 @@ public int hashCode() {
hash = (53 * hash) + operation_;
switch (rhsValueCase_) {
case 4:
- hash = (37 * hash) + SOURCE_VARIABLE_FIELD_NUMBER;
- hash = (53 * hash) + getSourceVariable().hashCode();
+ hash = (37 * hash) + RHS_ASSIGNMENT_FIELD_NUMBER;
+ hash = (53 * hash) + getRhsAssignment().hashCode();
break;
case 5:
hash = (37 * hash) + LITERAL_VALUE_FIELD_NUMBER;
@@ -1280,8 +1283,8 @@ public Builder clear() {
lhsName_ = "";
lhsJsonPath_ = "";
operation_ = 0;
- if (sourceVariableBuilder_ != null) {
- sourceVariableBuilder_.clear();
+ if (rhsAssignmentBuilder_ != null) {
+ rhsAssignmentBuilder_.clear();
}
if (literalValueBuilder_ != null) {
literalValueBuilder_.clear();
@@ -1343,8 +1346,8 @@ private void buildPartialOneofs(io.littlehorse.sdk.common.proto.VariableMutation
result.rhsValueCase_ = rhsValueCase_;
result.rhsValue_ = this.rhsValue_;
if (rhsValueCase_ == 4 &&
- sourceVariableBuilder_ != null) {
- result.rhsValue_ = sourceVariableBuilder_.build();
+ rhsAssignmentBuilder_ != null) {
+ result.rhsValue_ = rhsAssignmentBuilder_.build();
}
if (rhsValueCase_ == 5 &&
literalValueBuilder_ != null) {
@@ -1414,8 +1417,8 @@ public Builder mergeFrom(io.littlehorse.sdk.common.proto.VariableMutation other)
setOperationValue(other.getOperationValue());
}
switch (other.getRhsValueCase()) {
- case SOURCE_VARIABLE: {
- mergeSourceVariable(other.getSourceVariable());
+ case RHS_ASSIGNMENT: {
+ mergeRhsAssignment(other.getRhsAssignment());
break;
}
case LITERAL_VALUE: {
@@ -1473,7 +1476,7 @@ public Builder mergeFrom(
} // case 24
case 34: {
input.readMessage(
- getSourceVariableFieldBuilder().getBuilder(),
+ getRhsAssignmentFieldBuilder().getBuilder(),
extensionRegistry);
rhsValueCase_ = 4;
break;
@@ -1799,93 +1802,88 @@ public Builder clearOperation() {
}
private com.google.protobuf.SingleFieldBuilderV3<
- io.littlehorse.sdk.common.proto.VariableAssignment, io.littlehorse.sdk.common.proto.VariableAssignment.Builder, io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder> sourceVariableBuilder_;
+ io.littlehorse.sdk.common.proto.VariableAssignment, io.littlehorse.sdk.common.proto.VariableAssignment.Builder, io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder> rhsAssignmentBuilder_;
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
- * @return Whether the sourceVariable field is set.
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
+ * @return Whether the rhsAssignment field is set.
*/
@java.lang.Override
- public boolean hasSourceVariable() {
+ public boolean hasRhsAssignment() {
return rhsValueCase_ == 4;
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
- * @return The sourceVariable.
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
+ * @return The rhsAssignment.
*/
@java.lang.Override
- public io.littlehorse.sdk.common.proto.VariableAssignment getSourceVariable() {
- if (sourceVariableBuilder_ == null) {
+ public io.littlehorse.sdk.common.proto.VariableAssignment getRhsAssignment() {
+ if (rhsAssignmentBuilder_ == null) {
if (rhsValueCase_ == 4) {
return (io.littlehorse.sdk.common.proto.VariableAssignment) rhsValue_;
}
return io.littlehorse.sdk.common.proto.VariableAssignment.getDefaultInstance();
} else {
if (rhsValueCase_ == 4) {
- return sourceVariableBuilder_.getMessage();
+ return rhsAssignmentBuilder_.getMessage();
}
return io.littlehorse.sdk.common.proto.VariableAssignment.getDefaultInstance();
}
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
*/
- public Builder setSourceVariable(io.littlehorse.sdk.common.proto.VariableAssignment value) {
- if (sourceVariableBuilder_ == null) {
+ public Builder setRhsAssignment(io.littlehorse.sdk.common.proto.VariableAssignment value) {
+ if (rhsAssignmentBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
rhsValue_ = value;
onChanged();
} else {
- sourceVariableBuilder_.setMessage(value);
+ rhsAssignmentBuilder_.setMessage(value);
}
rhsValueCase_ = 4;
return this;
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
*/
- public Builder setSourceVariable(
+ public Builder setRhsAssignment(
io.littlehorse.sdk.common.proto.VariableAssignment.Builder builderForValue) {
- if (sourceVariableBuilder_ == null) {
+ if (rhsAssignmentBuilder_ == null) {
rhsValue_ = builderForValue.build();
onChanged();
} else {
- sourceVariableBuilder_.setMessage(builderForValue.build());
+ rhsAssignmentBuilder_.setMessage(builderForValue.build());
}
rhsValueCase_ = 4;
return this;
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
*/
- public Builder mergeSourceVariable(io.littlehorse.sdk.common.proto.VariableAssignment value) {
- if (sourceVariableBuilder_ == null) {
+ public Builder mergeRhsAssignment(io.littlehorse.sdk.common.proto.VariableAssignment value) {
+ if (rhsAssignmentBuilder_ == null) {
if (rhsValueCase_ == 4 &&
rhsValue_ != io.littlehorse.sdk.common.proto.VariableAssignment.getDefaultInstance()) {
rhsValue_ = io.littlehorse.sdk.common.proto.VariableAssignment.newBuilder((io.littlehorse.sdk.common.proto.VariableAssignment) rhsValue_)
@@ -1896,9 +1894,9 @@ public Builder mergeSourceVariable(io.littlehorse.sdk.common.proto.VariableAssig
onChanged();
} else {
if (rhsValueCase_ == 4) {
- sourceVariableBuilder_.mergeFrom(value);
+ rhsAssignmentBuilder_.mergeFrom(value);
} else {
- sourceVariableBuilder_.setMessage(value);
+ rhsAssignmentBuilder_.setMessage(value);
}
}
rhsValueCase_ = 4;
@@ -1906,14 +1904,13 @@ public Builder mergeSourceVariable(io.littlehorse.sdk.common.proto.VariableAssig
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
*/
- public Builder clearSourceVariable() {
- if (sourceVariableBuilder_ == null) {
+ public Builder clearRhsAssignment() {
+ if (rhsAssignmentBuilder_ == null) {
if (rhsValueCase_ == 4) {
rhsValueCase_ = 0;
rhsValue_ = null;
@@ -1924,33 +1921,31 @@ public Builder clearSourceVariable() {
rhsValueCase_ = 0;
rhsValue_ = null;
}
- sourceVariableBuilder_.clear();
+ rhsAssignmentBuilder_.clear();
}
return this;
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
*/
- public io.littlehorse.sdk.common.proto.VariableAssignment.Builder getSourceVariableBuilder() {
- return getSourceVariableFieldBuilder().getBuilder();
+ public io.littlehorse.sdk.common.proto.VariableAssignment.Builder getRhsAssignmentBuilder() {
+ return getRhsAssignmentFieldBuilder().getBuilder();
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
*/
@java.lang.Override
- public io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder getSourceVariableOrBuilder() {
- if ((rhsValueCase_ == 4) && (sourceVariableBuilder_ != null)) {
- return sourceVariableBuilder_.getMessageOrBuilder();
+ public io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder getRhsAssignmentOrBuilder() {
+ if ((rhsValueCase_ == 4) && (rhsAssignmentBuilder_ != null)) {
+ return rhsAssignmentBuilder_.getMessageOrBuilder();
} else {
if (rhsValueCase_ == 4) {
return (io.littlehorse.sdk.common.proto.VariableAssignment) rhsValue_;
@@ -1960,20 +1955,19 @@ public io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder getSourceVari
}
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
*/
private com.google.protobuf.SingleFieldBuilderV3<
io.littlehorse.sdk.common.proto.VariableAssignment, io.littlehorse.sdk.common.proto.VariableAssignment.Builder, io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder>
- getSourceVariableFieldBuilder() {
- if (sourceVariableBuilder_ == null) {
+ getRhsAssignmentFieldBuilder() {
+ if (rhsAssignmentBuilder_ == null) {
if (!(rhsValueCase_ == 4)) {
rhsValue_ = io.littlehorse.sdk.common.proto.VariableAssignment.getDefaultInstance();
}
- sourceVariableBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ rhsAssignmentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
io.littlehorse.sdk.common.proto.VariableAssignment, io.littlehorse.sdk.common.proto.VariableAssignment.Builder, io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder>(
(io.littlehorse.sdk.common.proto.VariableAssignment) rhsValue_,
getParentForChildren(),
@@ -1982,14 +1976,15 @@ public io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder getSourceVari
}
rhsValueCase_ = 4;
onChanged();
- return sourceVariableBuilder_;
+ return rhsAssignmentBuilder_;
}
private com.google.protobuf.SingleFieldBuilderV3<
io.littlehorse.sdk.common.proto.VariableValue, io.littlehorse.sdk.common.proto.VariableValue.Builder, io.littlehorse.sdk.common.proto.VariableValueOrBuilder> literalValueBuilder_;
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -2001,7 +1996,8 @@ public boolean hasLiteralValue() {
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -2023,7 +2019,8 @@ public io.littlehorse.sdk.common.proto.VariableValue getLiteralValue() {
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -2043,7 +2040,8 @@ public Builder setLiteralValue(io.littlehorse.sdk.common.proto.VariableValue val
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -2061,7 +2059,8 @@ public Builder setLiteralValue(
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -2088,7 +2087,8 @@ public Builder mergeLiteralValue(io.littlehorse.sdk.common.proto.VariableValue v
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -2111,7 +2111,8 @@ public Builder clearLiteralValue() {
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -2121,7 +2122,8 @@ public io.littlehorse.sdk.common.proto.VariableValue.Builder getLiteralValueBuil
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -2139,7 +2141,8 @@ public io.littlehorse.sdk.common.proto.VariableValueOrBuilder getLiteralValueOrB
}
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -2167,7 +2170,8 @@ public io.littlehorse.sdk.common.proto.VariableValueOrBuilder getLiteralValueOrB
io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSource, io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSource.Builder, io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSourceOrBuilder> nodeOutputBuilder_;
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -2179,7 +2183,8 @@ public boolean hasNodeOutput() {
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -2201,7 +2206,8 @@ public io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSource getNode
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -2221,7 +2227,8 @@ public Builder setNodeOutput(io.littlehorse.sdk.common.proto.VariableMutation.No
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -2239,7 +2246,8 @@ public Builder setNodeOutput(
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -2266,7 +2274,8 @@ public Builder mergeNodeOutput(io.littlehorse.sdk.common.proto.VariableMutation.
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -2289,7 +2298,8 @@ public Builder clearNodeOutput() {
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -2299,7 +2309,8 @@ public io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSource.Builder
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -2317,7 +2328,8 @@ public io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSourceOrBuilde
}
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
diff --git a/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/VariableMutationOrBuilder.java b/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/VariableMutationOrBuilder.java
index 0a2b90cbb..4956d7196 100644
--- a/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/VariableMutationOrBuilder.java
+++ b/sdk-java/src/main/java/io/littlehorse/sdk/common/proto/VariableMutationOrBuilder.java
@@ -80,37 +80,35 @@ public interface VariableMutationOrBuilder extends
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
- * @return Whether the sourceVariable field is set.
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
+ * @return Whether the rhsAssignment field is set.
*/
- boolean hasSourceVariable();
+ boolean hasRhsAssignment();
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
- * @return The sourceVariable.
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
+ * @return The rhsAssignment.
*/
- io.littlehorse.sdk.common.proto.VariableAssignment getSourceVariable();
+ io.littlehorse.sdk.common.proto.VariableAssignment getRhsAssignment();
/**
*
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
+ * Assigns the value to be used as the RHS of the mutation.
*
*
- * .littlehorse.VariableAssignment source_variable = 4;
+ * .littlehorse.VariableAssignment rhs_assignment = 4;
*/
- io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder getSourceVariableOrBuilder();
+ io.littlehorse.sdk.common.proto.VariableAssignmentOrBuilder getRhsAssignmentOrBuilder();
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -119,7 +117,8 @@ public interface VariableMutationOrBuilder extends
boolean hasLiteralValue();
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -128,7 +127,8 @@ public interface VariableMutationOrBuilder extends
io.littlehorse.sdk.common.proto.VariableValue getLiteralValue();
/**
*
- * Use a literal value as the RHS.
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
*
*
* .littlehorse.VariableValue literal_value = 5;
@@ -137,7 +137,8 @@ public interface VariableMutationOrBuilder extends
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -146,7 +147,8 @@ public interface VariableMutationOrBuilder extends
boolean hasNodeOutput();
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
@@ -155,7 +157,8 @@ public interface VariableMutationOrBuilder extends
io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSource getNodeOutput();
/**
*
- * Use the output of the current node as the RHS.
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
*
*
* .littlehorse.VariableMutation.NodeOutputSource node_output = 6;
diff --git a/sdk-java/src/main/java/io/littlehorse/sdk/wfsdk/internal/BuilderUtil.java b/sdk-java/src/main/java/io/littlehorse/sdk/wfsdk/internal/BuilderUtil.java
index 32c67e72a..6e6f8dbae 100644
--- a/sdk-java/src/main/java/io/littlehorse/sdk/wfsdk/internal/BuilderUtil.java
+++ b/sdk-java/src/main/java/io/littlehorse/sdk/wfsdk/internal/BuilderUtil.java
@@ -27,6 +27,10 @@ static VariableAssignment assignVariable(Object variable) {
builder.setNodeOutput(NodeOutputReference.newBuilder()
.setNodeName(nodeReference.nodeName)
.build());
+
+ if (nodeReference.jsonPath != null) {
+ builder.setJsonPath(nodeReference.jsonPath);
+ }
} else if (variable.getClass().equals(LHFormatStringImpl.class)) {
LHFormatStringImpl format = (LHFormatStringImpl) variable;
builder.setFormatString(VariableAssignment.FormatString.newBuilder()
diff --git a/sdk-java/src/main/java/io/littlehorse/sdk/wfsdk/internal/WorkflowThreadImpl.java b/sdk-java/src/main/java/io/littlehorse/sdk/wfsdk/internal/WorkflowThreadImpl.java
index 93a9f65de..9db7e0385 100644
--- a/sdk-java/src/main/java/io/littlehorse/sdk/wfsdk/internal/WorkflowThreadImpl.java
+++ b/sdk-java/src/main/java/io/littlehorse/sdk/wfsdk/internal/WorkflowThreadImpl.java
@@ -2,7 +2,6 @@
import com.google.protobuf.Message;
import io.littlehorse.sdk.common.LHLibUtil;
-import io.littlehorse.sdk.common.exception.LHSerdeError;
import io.littlehorse.sdk.common.exception.TaskSchemaMismatchError;
import io.littlehorse.sdk.common.proto.Comparator;
import io.littlehorse.sdk.common.proto.Edge;
@@ -33,7 +32,6 @@
import io.littlehorse.sdk.common.proto.VariableAssignment;
import io.littlehorse.sdk.common.proto.VariableDef;
import io.littlehorse.sdk.common.proto.VariableMutation;
-import io.littlehorse.sdk.common.proto.VariableMutation.NodeOutputSource;
import io.littlehorse.sdk.common.proto.VariableMutationType;
import io.littlehorse.sdk.common.proto.VariableType;
import io.littlehorse.sdk.common.proto.VariableValue;
@@ -718,51 +716,7 @@ public void mutate(WfRunVariable lhsVar, VariableMutationType type, Object rhs)
mutation.setLhsJsonPath(lhs.jsonPath);
}
- mutation.setSourceVariable(assignVariable(rhs));
-
- if (NodeOutputImpl.class.isAssignableFrom(rhs.getClass())) {
- NodeOutputImpl no = (NodeOutputImpl) rhs;
- if (!no.nodeName.equals(this.lastNodeName)) {
- log.debug("Mutating {} {} {}", no.nodeName, this.lastNodeName, name);
-
- throw new RuntimeException("Cannot use an old NodeOutput from node " + no.nodeName);
- }
-
- NodeOutputSource.Builder nodeOutputSource = NodeOutputSource.newBuilder();
- if (no.jsonPath != null) {
- nodeOutputSource.setJsonpath(no.jsonPath);
- }
-
- mutation.setNodeOutput(nodeOutputSource);
- } else if (WfRunVariableImpl.class.isAssignableFrom(rhs.getClass())) {
- WfRunVariableImpl var = (WfRunVariableImpl) rhs;
- VariableAssignment.Builder varBuilder = VariableAssignment.newBuilder();
-
- if (var.jsonPath != null) {
- varBuilder.setJsonPath(var.jsonPath);
- }
- varBuilder.setVariableName(var.name);
-
- mutation.setSourceVariable(varBuilder);
- } else if (LHExpression.class.isAssignableFrom(rhs.getClass())) {
- // TODO: Long term, we should deprecate all forms of mutation other than
- // just using the `VariableAssignemnt source_variable` field.
- //
- // That would mean we just use `assignVariable()` for all cases.
- mutation.setSourceVariable(assignVariable(rhs));
- } else {
- // At this point, we're going to treat it as a regular POJO, which means
- // likely a json obj.
-
- VariableValue rhsVal;
- try {
- rhsVal = LHLibUtil.objToVarVal(rhs);
- } catch (LHSerdeError exn) {
- throw new RuntimeException(exn);
- }
-
- mutation.setLiteralValue(rhsVal);
- }
+ mutation.setRhsAssignment(assignVariable(rhs));
this.variableMutations.add(mutation.build());
}
diff --git a/sdk-java/src/test/java/io/littlehorse/sdk/wfsdk/internal/ConditionalTest.java b/sdk-java/src/test/java/io/littlehorse/sdk/wfsdk/internal/ConditionalTest.java
index 745711225..4512b4666 100644
--- a/sdk-java/src/test/java/io/littlehorse/sdk/wfsdk/internal/ConditionalTest.java
+++ b/sdk-java/src/test/java/io/littlehorse/sdk/wfsdk/internal/ConditionalTest.java
@@ -39,6 +39,7 @@ public void shouldCreateIfElseConditionWithoutNodes() {
.getLiteralValue()
.getInt(),
(edge) -> edge.getVariableMutations(0)
+ .getRhsAssignment()
.getLiteralValue()
.getStr())
.containsExactlyInAnyOrder(
diff --git a/sdk-java/src/test/java/io/littlehorse/sdk/wfsdk/internal/WorkflowThreadImplTest.java b/sdk-java/src/test/java/io/littlehorse/sdk/wfsdk/internal/WorkflowThreadImplTest.java
index bd59c2a58..681c6a666 100644
--- a/sdk-java/src/test/java/io/littlehorse/sdk/wfsdk/internal/WorkflowThreadImplTest.java
+++ b/sdk-java/src/test/java/io/littlehorse/sdk/wfsdk/internal/WorkflowThreadImplTest.java
@@ -4,6 +4,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import io.littlehorse.sdk.common.proto.Comparator;
+import io.littlehorse.sdk.common.proto.Edge;
import io.littlehorse.sdk.common.proto.ExponentialBackoffRetryPolicy;
import io.littlehorse.sdk.common.proto.FailureHandlerDef;
import io.littlehorse.sdk.common.proto.FailureHandlerDef.FailureToCatchCase;
@@ -543,4 +544,106 @@ void testPassingNodeOutput() {
assertThat(taskNode.getVariables(0).getNodeOutput().getNodeName()).isEqualTo("1-some-other-task-TASK");
}
+
+ @Test
+ void mutationsShouldUseVariableAssignment() {
+ // Deprecated the literal_value and node_output approach
+ Workflow workflow = new WorkflowImpl("obiwan", wf -> {
+ WfRunVariable myVar = wf.addVariable("my-var", VariableType.STR);
+ myVar.assignTo("some-value");
+ });
+
+ PutWfSpecRequest wfSpec = workflow.compileWorkflow();
+ ThreadSpec entrypoint = wfSpec.getThreadSpecsOrThrow(wfSpec.getEntrypointThreadName());
+ Node node = entrypoint.getNodesOrThrow("0-entrypoint-ENTRYPOINT");
+
+ Edge edge = node.getOutgoingEdges(0);
+ assertThat(edge.getVariableMutations(0)
+ .getRhsAssignment()
+ .getLiteralValue()
+ .getStr())
+ .isEqualTo("some-value");
+ }
+
+ @Test
+ void nodeOutputMutationsShouldAlsoUseVariableAssignments() {
+ // Deprecated the literal_value and node_output approach
+ Workflow workflow = new WorkflowImpl("obiwan", wf -> {
+ WfRunVariable myVar = wf.addVariable("my-var", VariableType.STR);
+ myVar.assignTo(wf.execute("use-the-force"));
+ });
+
+ PutWfSpecRequest wfSpec = workflow.compileWorkflow();
+ ThreadSpec entrypoint = wfSpec.getThreadSpecsOrThrow(wfSpec.getEntrypointThreadName());
+ Node node = entrypoint.getNodesOrThrow("1-use-the-force-TASK");
+
+ Edge edge = node.getOutgoingEdges(0);
+ assertThat(edge.getVariableMutations(0)
+ .getRhsAssignment()
+ .getNodeOutput()
+ .getNodeName())
+ .isEqualTo("1-use-the-force-TASK");
+ }
+
+ @Test
+ void nodeOutputMutationsShouldCarryJsonPath() {
+ // Deprecated the literal_value and node_output approach
+ Workflow workflow = new WorkflowImpl("obiwan", wf -> {
+ WfRunVariable myVar = wf.addVariable("my-var", VariableType.STR);
+ myVar.assignTo(wf.execute("use-the-force").jsonPath("$.hello.there"));
+ });
+
+ PutWfSpecRequest wfSpec = workflow.compileWorkflow();
+ ThreadSpec entrypoint = wfSpec.getThreadSpecsOrThrow(wfSpec.getEntrypointThreadName());
+ Node node = entrypoint.getNodesOrThrow("1-use-the-force-TASK");
+
+ Edge edge = node.getOutgoingEdges(0);
+ assertThat(edge.getVariableMutations(0)
+ .getRhsAssignment()
+ .getNodeOutput()
+ .getNodeName())
+ .isEqualTo("1-use-the-force-TASK");
+
+ assertThat(edge.getVariableMutations(0).getRhsAssignment().getJsonPath())
+ .isEqualTo("$.hello.there");
+ }
+
+ @Test
+ void assigningVariablesToOtherVariablesShouldUseVariableAssignment() {
+ // Deprecated the literal_value and node_output approach
+ Workflow workflow = new WorkflowImpl("obiwan", wf -> {
+ WfRunVariable myVar = wf.addVariable("my-var", VariableType.STR);
+ WfRunVariable otherVar = wf.addVariable("other-var", VariableType.STR);
+ myVar.assignTo(otherVar);
+ });
+
+ PutWfSpecRequest wfSpec = workflow.compileWorkflow();
+ ThreadSpec entrypoint = wfSpec.getThreadSpecsOrThrow(wfSpec.getEntrypointThreadName());
+ Node node = entrypoint.getNodesOrThrow("0-entrypoint-ENTRYPOINT");
+
+ Edge edge = node.getOutgoingEdges(0);
+ assertThat(edge.getVariableMutations(0).getRhsAssignment().getVariableName())
+ .isEqualTo("other-var");
+ }
+
+ @Test
+ void assigningVariablesToOtherVariablesShouldCarryJsonPath() {
+ // Deprecated the literal_value and node_output approach
+ Workflow workflow = new WorkflowImpl("obiwan", wf -> {
+ WfRunVariable myVar = wf.addVariable("my-var", VariableType.STR);
+ WfRunVariable otherVar = wf.addVariable("other-var", VariableType.JSON_OBJ);
+ myVar.assignTo(otherVar.jsonPath("$.hello.there"));
+ });
+
+ PutWfSpecRequest wfSpec = workflow.compileWorkflow();
+ ThreadSpec entrypoint = wfSpec.getThreadSpecsOrThrow(wfSpec.getEntrypointThreadName());
+ Node node = entrypoint.getNodesOrThrow("0-entrypoint-ENTRYPOINT");
+
+ Edge edge = node.getOutgoingEdges(0);
+ assertThat(edge.getVariableMutations(0).getRhsAssignment().getVariableName())
+ .isEqualTo("other-var");
+
+ assertThat(edge.getVariableMutations(0).getRhsAssignment().getJsonPath())
+ .isEqualTo("$.hello.there");
+ }
}
diff --git a/sdk-js/src/proto/common_wfspec.ts b/sdk-js/src/proto/common_wfspec.ts
index 85696dc53..5f890e2a0 100644
--- a/sdk-js/src/proto/common_wfspec.ts
+++ b/sdk-js/src/proto/common_wfspec.ts
@@ -280,18 +280,21 @@ export interface VariableMutation {
| undefined;
/** Defines the operation that we are executing. */
operation: VariableMutationType;
- /**
- * Set the source_variable as the RHS to use another variable from the workflow to
- * as the RHS/
- */
- sourceVariable?:
+ /** Assigns the value to be used as the RHS of the mutation. */
+ rhsAssignment?:
| VariableAssignment
| undefined;
- /** Use a literal value as the RHS. */
+ /**
+ * Use a literal value as the RHS. DEPRECATED: use rhs_assignment.literal_value
+ * instead.
+ */
literalValue?:
| VariableValue
| undefined;
- /** Use the output of the current node as the RHS. */
+ /**
+ * Use the output of the current node as the RHS. DEPRECATED: use
+ * rhs_assignment.node_output instead.
+ */
nodeOutput?: VariableMutation_NodeOutputSource | undefined;
}
@@ -776,7 +779,7 @@ function createBaseVariableMutation(): VariableMutation {
lhsName: "",
lhsJsonPath: undefined,
operation: VariableMutationType.ASSIGN,
- sourceVariable: undefined,
+ rhsAssignment: undefined,
literalValue: undefined,
nodeOutput: undefined,
};
@@ -793,8 +796,8 @@ export const VariableMutation = {
if (message.operation !== VariableMutationType.ASSIGN) {
writer.uint32(24).int32(variableMutationTypeToNumber(message.operation));
}
- if (message.sourceVariable !== undefined) {
- VariableAssignment.encode(message.sourceVariable, writer.uint32(34).fork()).ldelim();
+ if (message.rhsAssignment !== undefined) {
+ VariableAssignment.encode(message.rhsAssignment, writer.uint32(34).fork()).ldelim();
}
if (message.literalValue !== undefined) {
VariableValue.encode(message.literalValue, writer.uint32(42).fork()).ldelim();
@@ -838,7 +841,7 @@ export const VariableMutation = {
break;
}
- message.sourceVariable = VariableAssignment.decode(reader, reader.uint32());
+ message.rhsAssignment = VariableAssignment.decode(reader, reader.uint32());
continue;
case 5:
if (tag !== 42) {
@@ -871,8 +874,8 @@ export const VariableMutation = {
message.lhsName = object.lhsName ?? "";
message.lhsJsonPath = object.lhsJsonPath ?? undefined;
message.operation = object.operation ?? VariableMutationType.ASSIGN;
- message.sourceVariable = (object.sourceVariable !== undefined && object.sourceVariable !== null)
- ? VariableAssignment.fromPartial(object.sourceVariable)
+ message.rhsAssignment = (object.rhsAssignment !== undefined && object.rhsAssignment !== null)
+ ? VariableAssignment.fromPartial(object.rhsAssignment)
: undefined;
message.literalValue = (object.literalValue !== undefined && object.literalValue !== null)
? VariableValue.fromPartial(object.literalValue)
diff --git a/sdk-python/littlehorse/model/__init__.py b/sdk-python/littlehorse/model/__init__.py
index 85f573b7e..c956189c7 100644
--- a/sdk-python/littlehorse/model/__init__.py
+++ b/sdk-python/littlehorse/model/__init__.py
@@ -5,8 +5,8 @@
from .node_run_pb2 import *
from .object_id_pb2 import *
from .scheduled_wf_run_pb2 import *
-from .service_pb2 import *
from .service_pb2_grpc import *
+from .service_pb2 import *
from .task_def_pb2 import *
from .task_run_pb2 import *
from .user_tasks_pb2 import *
diff --git a/sdk-python/littlehorse/model/common_wfspec_pb2.py b/sdk-python/littlehorse/model/common_wfspec_pb2.py
index e209ba371..35fdfd883 100644
--- a/sdk-python/littlehorse/model/common_wfspec_pb2.py
+++ b/sdk-python/littlehorse/model/common_wfspec_pb2.py
@@ -16,7 +16,7 @@
import littlehorse.model.object_id_pb2 as object__id__pb2
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13\x63ommon_wfspec.proto\x12\x0blittlehorse\x1a\x12\x63ommon_enums.proto\x1a\x0evariable.proto\x1a\x0fobject_id.proto\"\xa2\x05\n\x12VariableAssignment\x12\x16\n\tjson_path\x18\x01 \x01(\tH\x01\x88\x01\x01\x12\x17\n\rvariable_name\x18\x02 \x01(\tH\x00\x12\x33\n\rliteral_value\x18\x03 \x01(\x0b\x32\x1a.littlehorse.VariableValueH\x00\x12\x45\n\rformat_string\x18\x04 \x01(\x0b\x32,.littlehorse.VariableAssignment.FormatStringH\x00\x12J\n\x0bnode_output\x18\x05 \x01(\x0b\x32\x33.littlehorse.VariableAssignment.NodeOutputReferenceH\x00\x12@\n\nexpression\x18\x06 \x01(\x0b\x32*.littlehorse.VariableAssignment.ExpressionH\x00\x1an\n\x0c\x46ormatString\x12/\n\x06\x66ormat\x18\x01 \x01(\x0b\x32\x1f.littlehorse.VariableAssignment\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.littlehorse.VariableAssignment\x1a(\n\x13NodeOutputReference\x12\x11\n\tnode_name\x18\x01 \x01(\t\x1a\x9e\x01\n\nExpression\x12,\n\x03lhs\x18\x01 \x01(\x0b\x32\x1f.littlehorse.VariableAssignment\x12\x34\n\toperation\x18\x02 \x01(\x0e\x32!.littlehorse.VariableMutationType\x12,\n\x03rhs\x18\x03 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentB\x08\n\x06sourceB\x0c\n\n_json_path\"\x85\x03\n\x10VariableMutation\x12\x10\n\x08lhs_name\x18\x01 \x01(\t\x12\x1a\n\rlhs_json_path\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x34\n\toperation\x18\x03 \x01(\x0e\x32!.littlehorse.VariableMutationType\x12:\n\x0fsource_variable\x18\x04 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentH\x00\x12\x33\n\rliteral_value\x18\x05 \x01(\x0b\x32\x1a.littlehorse.VariableValueH\x00\x12\x45\n\x0bnode_output\x18\x06 \x01(\x0b\x32..littlehorse.VariableMutation.NodeOutputSourceH\x00\x1a\x36\n\x10NodeOutputSource\x12\x15\n\x08jsonpath\x18\n \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_jsonpathB\x0b\n\trhs_valueB\x10\n\x0e_lhs_json_path\"\xa4\x01\n\x0bVariableDef\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.littlehorse.VariableType\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\rdefault_value\x18\x03 \x01(\x0b\x32\x1a.littlehorse.VariableValueH\x00\x88\x01\x01\x12\x14\n\x0cmasked_value\x18\x04 \x01(\x08\x42\x10\n\x0e_default_value\"\xef\x04\n\x0fUTActionTrigger\x12\x34\n\x04task\x18\x01 \x01(\x0b\x32$.littlehorse.UTActionTrigger.UTATaskH\x00\x12\x38\n\x06\x63\x61ncel\x18\x02 \x01(\x0b\x32&.littlehorse.UTActionTrigger.UTACancelH\x00\x12<\n\x08reassign\x18\x03 \x01(\x0b\x32(.littlehorse.UTActionTrigger.UTAReassignH\x00\x12\x36\n\rdelay_seconds\x18\x05 \x01(\x0b\x32\x1f.littlehorse.VariableAssignment\x12\x31\n\x04hook\x18\x06 \x01(\x0e\x32#.littlehorse.UTActionTrigger.UTHook\x1a\x0b\n\tUTACancel\x1a`\n\x07UTATask\x12#\n\x04task\x18\x01 \x01(\x0b\x32\x15.littlehorse.TaskNode\x12\x30\n\tmutations\x18\x02 \x03(\x0b\x32\x1d.littlehorse.VariableMutation\x1a\x99\x01\n\x0bUTAReassign\x12\x35\n\x07user_id\x18\x01 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentH\x00\x88\x01\x01\x12\x38\n\nuser_group\x18\x02 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentH\x01\x88\x01\x01\x42\n\n\x08_user_idB\r\n\x0b_user_group\".\n\x06UTHook\x12\x0e\n\nON_ARRIVAL\x10\x00\x12\x14\n\x10ON_TASK_ASSIGNED\x10\x01\x42\x08\n\x06\x61\x63tion\"c\n\x1d\x45xponentialBackoffRetryPolicy\x12\x18\n\x10\x62\x61se_interval_ms\x18\x01 \x01(\x05\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\x03\x12\x12\n\nmultiplier\x18\x03 \x01(\x02\"\xc9\x02\n\x08TaskNode\x12-\n\x0btask_def_id\x18\x01 \x01(\x0b\x32\x16.littlehorse.TaskDefIdH\x00\x12\x37\n\x0c\x64ynamic_task\x18\x06 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentH\x00\x12\x17\n\x0ftimeout_seconds\x18\x02 \x01(\x05\x12\x0f\n\x07retries\x18\x03 \x01(\x05\x12L\n\x13\x65xponential_backoff\x18\x05 \x01(\x0b\x32*.littlehorse.ExponentialBackoffRetryPolicyH\x01\x88\x01\x01\x12\x32\n\tvariables\x18\x04 \x03(\x0b\x32\x1f.littlehorse.VariableAssignmentB\x11\n\x0ftask_to_executeB\x16\n\x14_exponential_backoff*\x98\x01\n\x14VariableMutationType\x12\n\n\x06\x41SSIGN\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06\x45XTEND\x10\x02\x12\x0c\n\x08SUBTRACT\x10\x03\x12\x0c\n\x08MULTIPLY\x10\x04\x12\n\n\x06\x44IVIDE\x10\x05\x12\x15\n\x11REMOVE_IF_PRESENT\x10\x06\x12\x10\n\x0cREMOVE_INDEX\x10\x07\x12\x0e\n\nREMOVE_KEY\x10\x08*\x84\x01\n\nComparator\x12\r\n\tLESS_THAN\x10\x00\x12\x10\n\x0cGREATER_THAN\x10\x01\x12\x10\n\x0cLESS_THAN_EQ\x10\x02\x12\x13\n\x0fGREATER_THAN_EQ\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\x12\x06\n\x02IN\x10\x06\x12\n\n\x06NOT_IN\x10\x07\x42I\n\x1fio.littlehorse.sdk.common.protoP\x01Z\t.;lhproto\xaa\x02\x18LittleHorse.Common.Protob\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13\x63ommon_wfspec.proto\x12\x0blittlehorse\x1a\x12\x63ommon_enums.proto\x1a\x0evariable.proto\x1a\x0fobject_id.proto\"\xa2\x05\n\x12VariableAssignment\x12\x16\n\tjson_path\x18\x01 \x01(\tH\x01\x88\x01\x01\x12\x17\n\rvariable_name\x18\x02 \x01(\tH\x00\x12\x33\n\rliteral_value\x18\x03 \x01(\x0b\x32\x1a.littlehorse.VariableValueH\x00\x12\x45\n\rformat_string\x18\x04 \x01(\x0b\x32,.littlehorse.VariableAssignment.FormatStringH\x00\x12J\n\x0bnode_output\x18\x05 \x01(\x0b\x32\x33.littlehorse.VariableAssignment.NodeOutputReferenceH\x00\x12@\n\nexpression\x18\x06 \x01(\x0b\x32*.littlehorse.VariableAssignment.ExpressionH\x00\x1an\n\x0c\x46ormatString\x12/\n\x06\x66ormat\x18\x01 \x01(\x0b\x32\x1f.littlehorse.VariableAssignment\x12-\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1f.littlehorse.VariableAssignment\x1a(\n\x13NodeOutputReference\x12\x11\n\tnode_name\x18\x01 \x01(\t\x1a\x9e\x01\n\nExpression\x12,\n\x03lhs\x18\x01 \x01(\x0b\x32\x1f.littlehorse.VariableAssignment\x12\x34\n\toperation\x18\x02 \x01(\x0e\x32!.littlehorse.VariableMutationType\x12,\n\x03rhs\x18\x03 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentB\x08\n\x06sourceB\x0c\n\n_json_path\"\x84\x03\n\x10VariableMutation\x12\x10\n\x08lhs_name\x18\x01 \x01(\t\x12\x1a\n\rlhs_json_path\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x34\n\toperation\x18\x03 \x01(\x0e\x32!.littlehorse.VariableMutationType\x12\x39\n\x0erhs_assignment\x18\x04 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentH\x00\x12\x33\n\rliteral_value\x18\x05 \x01(\x0b\x32\x1a.littlehorse.VariableValueH\x00\x12\x45\n\x0bnode_output\x18\x06 \x01(\x0b\x32..littlehorse.VariableMutation.NodeOutputSourceH\x00\x1a\x36\n\x10NodeOutputSource\x12\x15\n\x08jsonpath\x18\n \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_jsonpathB\x0b\n\trhs_valueB\x10\n\x0e_lhs_json_path\"\xa4\x01\n\x0bVariableDef\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.littlehorse.VariableType\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\rdefault_value\x18\x03 \x01(\x0b\x32\x1a.littlehorse.VariableValueH\x00\x88\x01\x01\x12\x14\n\x0cmasked_value\x18\x04 \x01(\x08\x42\x10\n\x0e_default_value\"\xef\x04\n\x0fUTActionTrigger\x12\x34\n\x04task\x18\x01 \x01(\x0b\x32$.littlehorse.UTActionTrigger.UTATaskH\x00\x12\x38\n\x06\x63\x61ncel\x18\x02 \x01(\x0b\x32&.littlehorse.UTActionTrigger.UTACancelH\x00\x12<\n\x08reassign\x18\x03 \x01(\x0b\x32(.littlehorse.UTActionTrigger.UTAReassignH\x00\x12\x36\n\rdelay_seconds\x18\x05 \x01(\x0b\x32\x1f.littlehorse.VariableAssignment\x12\x31\n\x04hook\x18\x06 \x01(\x0e\x32#.littlehorse.UTActionTrigger.UTHook\x1a\x0b\n\tUTACancel\x1a`\n\x07UTATask\x12#\n\x04task\x18\x01 \x01(\x0b\x32\x15.littlehorse.TaskNode\x12\x30\n\tmutations\x18\x02 \x03(\x0b\x32\x1d.littlehorse.VariableMutation\x1a\x99\x01\n\x0bUTAReassign\x12\x35\n\x07user_id\x18\x01 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentH\x00\x88\x01\x01\x12\x38\n\nuser_group\x18\x02 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentH\x01\x88\x01\x01\x42\n\n\x08_user_idB\r\n\x0b_user_group\".\n\x06UTHook\x12\x0e\n\nON_ARRIVAL\x10\x00\x12\x14\n\x10ON_TASK_ASSIGNED\x10\x01\x42\x08\n\x06\x61\x63tion\"c\n\x1d\x45xponentialBackoffRetryPolicy\x12\x18\n\x10\x62\x61se_interval_ms\x18\x01 \x01(\x05\x12\x14\n\x0cmax_delay_ms\x18\x02 \x01(\x03\x12\x12\n\nmultiplier\x18\x03 \x01(\x02\"\xc9\x02\n\x08TaskNode\x12-\n\x0btask_def_id\x18\x01 \x01(\x0b\x32\x16.littlehorse.TaskDefIdH\x00\x12\x37\n\x0c\x64ynamic_task\x18\x06 \x01(\x0b\x32\x1f.littlehorse.VariableAssignmentH\x00\x12\x17\n\x0ftimeout_seconds\x18\x02 \x01(\x05\x12\x0f\n\x07retries\x18\x03 \x01(\x05\x12L\n\x13\x65xponential_backoff\x18\x05 \x01(\x0b\x32*.littlehorse.ExponentialBackoffRetryPolicyH\x01\x88\x01\x01\x12\x32\n\tvariables\x18\x04 \x03(\x0b\x32\x1f.littlehorse.VariableAssignmentB\x11\n\x0ftask_to_executeB\x16\n\x14_exponential_backoff*\x98\x01\n\x14VariableMutationType\x12\n\n\x06\x41SSIGN\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06\x45XTEND\x10\x02\x12\x0c\n\x08SUBTRACT\x10\x03\x12\x0c\n\x08MULTIPLY\x10\x04\x12\n\n\x06\x44IVIDE\x10\x05\x12\x15\n\x11REMOVE_IF_PRESENT\x10\x06\x12\x10\n\x0cREMOVE_INDEX\x10\x07\x12\x0e\n\nREMOVE_KEY\x10\x08*\x84\x01\n\nComparator\x12\r\n\tLESS_THAN\x10\x00\x12\x10\n\x0cGREATER_THAN\x10\x01\x12\x10\n\x0cLESS_THAN_EQ\x10\x02\x12\x13\n\x0fGREATER_THAN_EQ\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\x12\x06\n\x02IN\x10\x06\x12\n\n\x06NOT_IN\x10\x07\x42I\n\x1fio.littlehorse.sdk.common.protoP\x01Z\t.;lhproto\xaa\x02\x18LittleHorse.Common.Protob\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -25,10 +25,10 @@
DESCRIPTOR._options = None
DESCRIPTOR._serialized_options = b'\n\037io.littlehorse.sdk.common.protoP\001Z\t.;lhproto\252\002\030LittleHorse.Common.Proto'
- _globals['_VARIABLEMUTATIONTYPE']._serialized_start=2385
- _globals['_VARIABLEMUTATIONTYPE']._serialized_end=2537
- _globals['_COMPARATOR']._serialized_start=2540
- _globals['_COMPARATOR']._serialized_end=2672
+ _globals['_VARIABLEMUTATIONTYPE']._serialized_start=2384
+ _globals['_VARIABLEMUTATIONTYPE']._serialized_end=2536
+ _globals['_COMPARATOR']._serialized_start=2539
+ _globals['_COMPARATOR']._serialized_end=2671
_globals['_VARIABLEASSIGNMENT']._serialized_start=90
_globals['_VARIABLEASSIGNMENT']._serialized_end=764
_globals['_VARIABLEASSIGNMENT_FORMATSTRING']._serialized_start=427
@@ -38,23 +38,23 @@
_globals['_VARIABLEASSIGNMENT_EXPRESSION']._serialized_start=582
_globals['_VARIABLEASSIGNMENT_EXPRESSION']._serialized_end=740
_globals['_VARIABLEMUTATION']._serialized_start=767
- _globals['_VARIABLEMUTATION']._serialized_end=1156
- _globals['_VARIABLEMUTATION_NODEOUTPUTSOURCE']._serialized_start=1071
- _globals['_VARIABLEMUTATION_NODEOUTPUTSOURCE']._serialized_end=1125
- _globals['_VARIABLEDEF']._serialized_start=1159
- _globals['_VARIABLEDEF']._serialized_end=1323
- _globals['_UTACTIONTRIGGER']._serialized_start=1326
- _globals['_UTACTIONTRIGGER']._serialized_end=1949
- _globals['_UTACTIONTRIGGER_UTACANCEL']._serialized_start=1626
- _globals['_UTACTIONTRIGGER_UTACANCEL']._serialized_end=1637
- _globals['_UTACTIONTRIGGER_UTATASK']._serialized_start=1639
- _globals['_UTACTIONTRIGGER_UTATASK']._serialized_end=1735
- _globals['_UTACTIONTRIGGER_UTAREASSIGN']._serialized_start=1738
- _globals['_UTACTIONTRIGGER_UTAREASSIGN']._serialized_end=1891
- _globals['_UTACTIONTRIGGER_UTHOOK']._serialized_start=1893
- _globals['_UTACTIONTRIGGER_UTHOOK']._serialized_end=1939
- _globals['_EXPONENTIALBACKOFFRETRYPOLICY']._serialized_start=1951
- _globals['_EXPONENTIALBACKOFFRETRYPOLICY']._serialized_end=2050
- _globals['_TASKNODE']._serialized_start=2053
- _globals['_TASKNODE']._serialized_end=2382
+ _globals['_VARIABLEMUTATION']._serialized_end=1155
+ _globals['_VARIABLEMUTATION_NODEOUTPUTSOURCE']._serialized_start=1070
+ _globals['_VARIABLEMUTATION_NODEOUTPUTSOURCE']._serialized_end=1124
+ _globals['_VARIABLEDEF']._serialized_start=1158
+ _globals['_VARIABLEDEF']._serialized_end=1322
+ _globals['_UTACTIONTRIGGER']._serialized_start=1325
+ _globals['_UTACTIONTRIGGER']._serialized_end=1948
+ _globals['_UTACTIONTRIGGER_UTACANCEL']._serialized_start=1625
+ _globals['_UTACTIONTRIGGER_UTACANCEL']._serialized_end=1636
+ _globals['_UTACTIONTRIGGER_UTATASK']._serialized_start=1638
+ _globals['_UTACTIONTRIGGER_UTATASK']._serialized_end=1734
+ _globals['_UTACTIONTRIGGER_UTAREASSIGN']._serialized_start=1737
+ _globals['_UTACTIONTRIGGER_UTAREASSIGN']._serialized_end=1890
+ _globals['_UTACTIONTRIGGER_UTHOOK']._serialized_start=1892
+ _globals['_UTACTIONTRIGGER_UTHOOK']._serialized_end=1938
+ _globals['_EXPONENTIALBACKOFFRETRYPOLICY']._serialized_start=1950
+ _globals['_EXPONENTIALBACKOFFRETRYPOLICY']._serialized_end=2049
+ _globals['_TASKNODE']._serialized_start=2052
+ _globals['_TASKNODE']._serialized_end=2381
# @@protoc_insertion_point(module_scope)
diff --git a/sdk-python/littlehorse/model/common_wfspec_pb2.pyi b/sdk-python/littlehorse/model/common_wfspec_pb2.pyi
index 1e3ebffa6..6462238a7 100644
--- a/sdk-python/littlehorse/model/common_wfspec_pb2.pyi
+++ b/sdk-python/littlehorse/model/common_wfspec_pb2.pyi
@@ -87,7 +87,7 @@ class VariableAssignment(_message.Message):
def __init__(self, json_path: _Optional[str] = ..., variable_name: _Optional[str] = ..., literal_value: _Optional[_Union[_variable_pb2.VariableValue, _Mapping]] = ..., format_string: _Optional[_Union[VariableAssignment.FormatString, _Mapping]] = ..., node_output: _Optional[_Union[VariableAssignment.NodeOutputReference, _Mapping]] = ..., expression: _Optional[_Union[VariableAssignment.Expression, _Mapping]] = ...) -> None: ...
class VariableMutation(_message.Message):
- __slots__ = ["lhs_name", "lhs_json_path", "operation", "source_variable", "literal_value", "node_output"]
+ __slots__ = ["lhs_name", "lhs_json_path", "operation", "rhs_assignment", "literal_value", "node_output"]
class NodeOutputSource(_message.Message):
__slots__ = ["jsonpath"]
JSONPATH_FIELD_NUMBER: _ClassVar[int]
@@ -96,16 +96,16 @@ class VariableMutation(_message.Message):
LHS_NAME_FIELD_NUMBER: _ClassVar[int]
LHS_JSON_PATH_FIELD_NUMBER: _ClassVar[int]
OPERATION_FIELD_NUMBER: _ClassVar[int]
- SOURCE_VARIABLE_FIELD_NUMBER: _ClassVar[int]
+ RHS_ASSIGNMENT_FIELD_NUMBER: _ClassVar[int]
LITERAL_VALUE_FIELD_NUMBER: _ClassVar[int]
NODE_OUTPUT_FIELD_NUMBER: _ClassVar[int]
lhs_name: str
lhs_json_path: str
operation: VariableMutationType
- source_variable: VariableAssignment
+ rhs_assignment: VariableAssignment
literal_value: _variable_pb2.VariableValue
node_output: VariableMutation.NodeOutputSource
- def __init__(self, lhs_name: _Optional[str] = ..., lhs_json_path: _Optional[str] = ..., operation: _Optional[_Union[VariableMutationType, str]] = ..., source_variable: _Optional[_Union[VariableAssignment, _Mapping]] = ..., literal_value: _Optional[_Union[_variable_pb2.VariableValue, _Mapping]] = ..., node_output: _Optional[_Union[VariableMutation.NodeOutputSource, _Mapping]] = ...) -> None: ...
+ def __init__(self, lhs_name: _Optional[str] = ..., lhs_json_path: _Optional[str] = ..., operation: _Optional[_Union[VariableMutationType, str]] = ..., rhs_assignment: _Optional[_Union[VariableAssignment, _Mapping]] = ..., literal_value: _Optional[_Union[_variable_pb2.VariableValue, _Mapping]] = ..., node_output: _Optional[_Union[VariableMutation.NodeOutputSource, _Mapping]] = ...) -> None: ...
class VariableDef(_message.Message):
__slots__ = ["type", "name", "default_value", "masked_value"]
diff --git a/sdk-python/littlehorse/workflow.py b/sdk-python/littlehorse/workflow.py
index 6d61db990..13b54058a 100644
--- a/sdk-python/littlehorse/workflow.py
+++ b/sdk-python/littlehorse/workflow.py
@@ -1461,7 +1461,7 @@ def mutate(
last_node = self._last_node()
node_output: Optional[VariableMutation.NodeOutputSource] = None
- source_variable: Optional[VariableAssignment] = None
+ rhs_assignment: Optional[VariableAssignment] = None
literal_value: Optional[VariableValue] = None
if isinstance(right_hand, NodeOutput):
@@ -1471,7 +1471,7 @@ def mutate(
jsonpath=right_hand.json_path
)
elif isinstance(right_hand, WfRunVariable):
- source_variable = to_variable_assignment(right_hand)
+ rhs_assignment = to_variable_assignment(right_hand)
else:
literal_value = to_variable_value(right_hand)
@@ -1480,7 +1480,7 @@ def mutate(
lhs_json_path=left_hand.json_path,
operation=operation,
node_output=node_output,
- source_variable=source_variable,
+ rhs_assignment=rhs_assignment,
literal_value=literal_value,
)
diff --git a/server/src/main/java/io/littlehorse/common/LHServerConfig.java b/server/src/main/java/io/littlehorse/common/LHServerConfig.java
index cece0e29b..ff8835f02 100644
--- a/server/src/main/java/io/littlehorse/common/LHServerConfig.java
+++ b/server/src/main/java/io/littlehorse/common/LHServerConfig.java
@@ -56,13 +56,6 @@
@Slf4j
public class LHServerConfig extends ConfigBase {
- // Singletons for RocksConfigSetter
- @Getter
- private Cache globalRocksdbBlockCache;
-
- @Getter
- private WriteBufferManager globalRocksdbWriteBufferManager;
-
private String instanceName;
// Kafka Global Configs
@@ -91,6 +84,7 @@ public class LHServerConfig extends ConfigBase {
public static final String NUM_STANDBY_REPLICAS_KEY = "LHS_STREAMS_NUM_STANDBY_REPLICAS";
public static final String ROCKSDB_COMPACTION_THREADS_KEY = "LHS_ROCKSDB_COMPACTION_THREADS";
public static final String STREAMS_METRICS_LEVEL_KEY = "LHS_STREAMS_METRICS_LEVEL";
+ public static final String LHS_METRICS_LEVEL_KEY = "LHS_METRICS_LEVEL";
public static final String LINGER_MS_KEY = "LHS_KAFKA_LINGER_MS";
public static final String TRANSACTION_TIMEOUT_MS_KEY = "LHS_STREAMS_TRANSACTION_TIMEOUT_MS";
public static final String CORE_KAFKA_STREAMS_OVERRIDE_PREFIX = "LHS_CORE_KS_CONFIG_";
@@ -151,6 +145,37 @@ public class LHServerConfig extends ConfigBase {
public static final String X_LEAVE_GROUP_ON_SHUTDOWN_KEY = "LHS_X_LEAVE_GROUP_ON_SHUTDOWN";
public static final String X_USE_STATIC_MEMBERSHIP_KEY = "LHS_X_USE_STATIC_MEMBERSHIP";
+ // Instance configs
+ private final String lhsMetricsLevel;
+
+ // Singletons for RocksConfigSetter
+ @Getter
+ private Cache globalRocksdbBlockCache;
+
+ @Getter
+ private WriteBufferManager globalRocksdbWriteBufferManager;
+
+ public LHServerConfig() {
+ super();
+ initKafkaAdmin();
+ initRocksdbSingletons();
+ lhsMetricsLevel = getServerMetricLevel();
+ }
+
+ public LHServerConfig(String propertiesPath) {
+ super(propertiesPath);
+ initKafkaAdmin();
+ initRocksdbSingletons();
+ lhsMetricsLevel = getServerMetricLevel();
+ }
+
+ public LHServerConfig(Properties props) {
+ super(props);
+ initKafkaAdmin();
+ initRocksdbSingletons();
+ lhsMetricsLevel = getServerMetricLevel();
+ }
+
protected String[] getEnvKeyPrefixes() {
return new String[] {"LHS_"};
}
@@ -364,6 +389,18 @@ public String getInternalAdvertisedHost() {
return getOrSetDefault(LHServerConfig.INTERNAL_ADVERTISED_HOST_KEY, "localhost");
}
+ public String getServerMetricLevel() {
+ if (lhsMetricsLevel != null) {
+ return lhsMetricsLevel;
+ }
+ String metricLevel = getOrSetDefault(LHS_METRICS_LEVEL_KEY, "INFO").toUpperCase();
+ List allowedValues = List.of("INFO", "DEBUG", "TRACE");
+ if (!allowedValues.contains(metricLevel)) {
+ throw new LHMisconfigurationException("Unrecognized metric level: " + metricLevel);
+ }
+ return metricLevel.toUpperCase();
+ }
+
// If INTERNAL_ADVERTISED_PORT isn't set, we return INTERNAL_BIND_PORT.
public int getInternalAdvertisedPort() {
return Integer.valueOf(
@@ -1017,24 +1054,6 @@ public boolean createKafkaTopic(NewTopic topic) throws InterruptedException, Exe
}
}
- public LHServerConfig() {
- super();
- initKafkaAdmin();
- initRocksdbSingletons();
- }
-
- public LHServerConfig(String propertiesPath) {
- super(propertiesPath);
- initKafkaAdmin();
- initRocksdbSingletons();
- }
-
- public LHServerConfig(Properties props) {
- super(props);
- initKafkaAdmin();
- initRocksdbSingletons();
- }
-
private void initRocksdbSingletons() {
RocksDB.loadLibrary();
long cacheSize = Long.valueOf(getOrSetDefault(ROCKSDB_TOTAL_BLOCK_CACHE_BYTES_KEY, "-1"));
diff --git a/server/src/main/java/io/littlehorse/common/model/getable/core/wfrun/ThreadRunModel.java b/server/src/main/java/io/littlehorse/common/model/getable/core/wfrun/ThreadRunModel.java
index 1ca43cd8c..ef2637e66 100644
--- a/server/src/main/java/io/littlehorse/common/model/getable/core/wfrun/ThreadRunModel.java
+++ b/server/src/main/java/io/littlehorse/common/model/getable/core/wfrun/ThreadRunModel.java
@@ -857,7 +857,7 @@ public NodeRunModel getMostRecentNodeRun(String nodeName) throws LHVarSubError {
// TODO: We can find a way to optimize this. Range scans are expensive, and also
// doing it in this way means that the NodeRun's will be re-put into the GetableManager's
// buffer, which could get _very_ expensive.
- for (int backwardPosition = currentNodePosition - 1; backwardPosition > 0; backwardPosition--) {
+ for (int backwardPosition = currentNodePosition; backwardPosition > 0; backwardPosition--) {
NodeRunModel nodeRun = this.getNodeRun(backwardPosition);
if (nodeRun.getNodeName().equals(nodeName)) {
return nodeRun;
diff --git a/server/src/main/java/io/littlehorse/common/model/getable/global/wfspec/variable/VariableMutationModel.java b/server/src/main/java/io/littlehorse/common/model/getable/global/wfspec/variable/VariableMutationModel.java
index 264cbd0f9..dc17ff822 100644
--- a/server/src/main/java/io/littlehorse/common/model/getable/global/wfspec/variable/VariableMutationModel.java
+++ b/server/src/main/java/io/littlehorse/common/model/getable/global/wfspec/variable/VariableMutationModel.java
@@ -26,7 +26,7 @@ public class VariableMutationModel extends LHSerializable {
private VariableMutationType operation;
private RhsValueCase rhsValueType;
- private VariableAssignmentModel rhsSourceVariable;
+ private VariableAssignmentModel rhsRhsAssignment;
private VariableValueModel rhsLiteralValue;
private NodeOutputSourceModel nodeOutputSource;
@@ -46,8 +46,8 @@ public VariableMutation.Builder toProto() {
case LITERAL_VALUE:
out.setLiteralValue(rhsLiteralValue.toProto());
break;
- case SOURCE_VARIABLE:
- out.setSourceVariable(rhsSourceVariable.toProto());
+ case RHS_ASSIGNMENT:
+ out.setRhsAssignment(rhsRhsAssignment.toProto());
break;
case NODE_OUTPUT:
out.setNodeOutput(nodeOutputSource.toProto()); // just set the flag
@@ -71,8 +71,8 @@ public void initFrom(Message proto, ExecutionContext context) {
case LITERAL_VALUE:
rhsLiteralValue = VariableValueModel.fromProto(p.getLiteralValue(), context);
break;
- case SOURCE_VARIABLE:
- rhsSourceVariable = VariableAssignmentModel.fromProto(p.getSourceVariable(), context);
+ case RHS_ASSIGNMENT:
+ rhsRhsAssignment = VariableAssignmentModel.fromProto(p.getRhsAssignment(), context);
break;
case NODE_OUTPUT:
nodeOutputSource = NodeOutputSourceModel.fromProto(p.getNodeOutput(), context);
@@ -117,8 +117,8 @@ public VariableValueModel getRhsValue(
if (rhsValueType == RhsValueCase.LITERAL_VALUE) {
out = rhsLiteralValue;
- } else if (rhsValueType == RhsValueCase.SOURCE_VARIABLE) {
- out = thread.assignVariable(rhsSourceVariable, txnCache);
+ } else if (rhsValueType == RhsValueCase.RHS_ASSIGNMENT) {
+ out = thread.assignVariable(rhsRhsAssignment, txnCache);
} else if (rhsValueType == RhsValueCase.NODE_OUTPUT) {
out = nodeOutput;
if (nodeOutputSource.jsonPath != null) {
@@ -168,8 +168,8 @@ public void execute(ThreadRunModel thread, Map txnCa
public Set getRequiredVariableNames() {
Set out = new HashSet<>();
out.add(lhsName);
- if (rhsValueType == RhsValueCase.SOURCE_VARIABLE) {
- out.addAll(rhsSourceVariable.getRequiredWfRunVarNames());
+ if (rhsValueType == RhsValueCase.RHS_ASSIGNMENT) {
+ out.addAll(rhsRhsAssignment.getRequiredWfRunVarNames());
}
return out;
}
diff --git a/server/src/main/java/io/littlehorse/server/LHServer.java b/server/src/main/java/io/littlehorse/server/LHServer.java
index 9d450ddb4..a72af4adf 100644
--- a/server/src/main/java/io/littlehorse/server/LHServer.java
+++ b/server/src/main/java/io/littlehorse/server/LHServer.java
@@ -73,7 +73,7 @@ private RequestExecutionContext requestContext() {
return contextKey.get();
}
- public LHServer(LHServerConfig config) {
+ public LHServer(LHServerConfig config) throws LHMisconfigurationException {
this.metadataCache = new MetadataCache();
this.config = config;
this.taskQueueManager = new TaskQueueManager(this, LHConstants.MAX_TASKRUNS_IN_ONE_TASKQUEUE);
@@ -87,6 +87,7 @@ public LHServer(LHServerConfig config) {
ServerTopology.initCoreTopology(config, this, metadataCache, taskQueueManager),
config.getCoreStreamsConfig());
this.timerStreams = new KafkaStreams(ServerTopology.initTimerTopology(config), config.getTimerStreamsConfig());
+
coreStreams.setUncaughtExceptionHandler(throwable -> {
log.error("Uncaught exception for " + throwable.getMessage());
return StreamsUncaughtExceptionHandler.StreamThreadExceptionResponse.SHUTDOWN_CLIENT;
diff --git a/server/src/main/java/io/littlehorse/server/monitoring/metrics/PrometheusMetricExporter.java b/server/src/main/java/io/littlehorse/server/monitoring/metrics/PrometheusMetricExporter.java
index ecfddfcd8..bf4c866fb 100644
--- a/server/src/main/java/io/littlehorse/server/monitoring/metrics/PrometheusMetricExporter.java
+++ b/server/src/main/java/io/littlehorse/server/monitoring/metrics/PrometheusMetricExporter.java
@@ -32,8 +32,8 @@ public PrometheusMetricExporter(LHServerConfig config) {
this.config = config;
this.prometheusRegistry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
this.prometheusRegistry.config().commonTags("application_id", config.getLHClusterId());
-
- new ServerMetricFilter(prometheusRegistry, ServerFilterRules.RULES).initialize();
+ new ServerMetricFilter(prometheusRegistry, ServerFilterRules.fromLevel(config.getServerMetricLevel()))
+ .initialize();
}
public MeterRegistry getMeterRegistry() {
diff --git a/server/src/main/java/io/littlehorse/server/monitoring/metrics/ServerFilterRules.java b/server/src/main/java/io/littlehorse/server/monitoring/metrics/ServerFilterRules.java
index f170bf538..68da1dc25 100644
--- a/server/src/main/java/io/littlehorse/server/monitoring/metrics/ServerFilterRules.java
+++ b/server/src/main/java/io/littlehorse/server/monitoring/metrics/ServerFilterRules.java
@@ -8,7 +8,7 @@ public final class ServerFilterRules {
private ServerFilterRules() {}
// relevance ordered
- public static final List RULES = List.of(
+ public static final List INFO_RULES = List.of(
// TODO: Wait for KIP-869 and gather state restoration metrics.
accept("lh_in_memory_task_queue_size"),
accept("lh_cache_size"),
@@ -39,13 +39,56 @@ private ServerFilterRules() {}
accept("kafka_producer_record_error"),
// Filter metrics to reduce
- deny("kafka_stream_state"),
+ deny("kafka_stream_state_"),
+ accept("kafka_stream_state"),
deny("kafka_stream_task"),
deny("kafka_stream_processor"),
deny("kafka_producer"),
deny("kafka_consumer"),
deny("kafka_admin"));
+ // relevance ordered
+ public static final List DEBUG_RULES = List.of(
+ // TODO: Wait for KIP-869 and gather state restoration metrics.
+ accept("lh_in_memory_task_queue_size"),
+ accept("lh_cache_size"),
+
+ // Kafka Streams State Stuff
+ accept("kafka_stream_state_compaction_pending"),
+ accept("kafka_stream_state_write_stall"),
+ accept("kafka_stream_state_bytes"),
+ accept("kafka_stream_state_total_sst"),
+ accept("kafka_stream_state_live_sst"),
+ accept("kafka_stream_state_put_latency"),
+ accept("kafka_stream_state_get_latency"),
+
+ // Kafka Consumer Metrics
+ accept("kafka_consumer_coordinator_rebalance"),
+ accept("kafka_consumer_coordinator_last_rebalance_seconds_ago"),
+ accept("kafka_consumer_incoming_byte_rate"),
+ accept("kafka_consumer_fetch_manager_records_lag"),
+ accept("kafka_consumer_fetch_manager_fetch_throttle_time"),
+ accept("kafka_consumer_fetch_manager_fetch_latency_avg"),
+ accept("kafka_consumer_request"),
+ accept("kafka_consumer_time_between_poll"),
+
+ // Producer Metrics
+ accept("kafka_producer_batch_size"),
+ accept("kafka_producer_request"),
+ accept("kafka_producer_outgoing_byte"),
+ accept("kafka_producer_record_error"),
+
+ // Filter metrics to reduce
+ deny("kafka_stream_state"),
+ accept("kafka_stream_state_"),
+ accept("kafka_stream_task"),
+ deny("kafka_stream_processor"),
+ deny("kafka_producer"),
+ deny("kafka_consumer"),
+ deny("kafka_admin"));
+
+ public static final List TRACE_RULES = List.of();
+
public static ServerFilterRule accept(String prefix) {
return new ServerFilterRule(prefix, MeterFilterReply.ACCEPT);
}
@@ -53,4 +96,14 @@ public static ServerFilterRule accept(String prefix) {
public static ServerFilterRule deny(String prefix) {
return new ServerFilterRule(prefix, MeterFilterReply.DENY);
}
+
+ public static List fromLevel(String level) {
+ if (level.equals("TRACE")) {
+ return TRACE_RULES;
+ } else if (level.equals("DEBUG")) {
+ return DEBUG_RULES;
+ } else {
+ return INFO_RULES;
+ }
+ }
}
diff --git a/server/src/main/java/io/littlehorse/server/monitoring/metrics/ServerMetricFilter.java b/server/src/main/java/io/littlehorse/server/monitoring/metrics/ServerMetricFilter.java
index 8f093bda0..945364275 100644
--- a/server/src/main/java/io/littlehorse/server/monitoring/metrics/ServerMetricFilter.java
+++ b/server/src/main/java/io/littlehorse/server/monitoring/metrics/ServerMetricFilter.java
@@ -5,8 +5,8 @@
public class ServerMetricFilter {
- private MeterRegistry meterRegistry;
- private List rules;
+ private final MeterRegistry meterRegistry;
+ private final List rules;
public ServerMetricFilter(MeterRegistry meterRegistry, List rules) {
this.meterRegistry = meterRegistry;
diff --git a/server/src/test/java/e2e/BasicTest.java b/server/src/test/java/e2e/BasicTest.java
index 70960efac..094d1ab96 100644
--- a/server/src/test/java/e2e/BasicTest.java
+++ b/server/src/test/java/e2e/BasicTest.java
@@ -1,6 +1,7 @@
package e2e;
import io.littlehorse.sdk.common.proto.LHStatus;
+import io.littlehorse.sdk.wfsdk.WfRunVariable;
import io.littlehorse.sdk.wfsdk.Workflow;
import io.littlehorse.sdk.wfsdk.internal.WorkflowImpl;
import io.littlehorse.sdk.worker.LHTaskMethod;
@@ -25,7 +26,8 @@ public void shouldDoBasic() {
@LHWorkflow("test-basic")
public Workflow getBasic() {
return new WorkflowImpl("test-basic", thread -> {
- thread.execute("ag-one");
+ WfRunVariable asdf = thread.declareBool("asdf");
+ asdf.assignTo(thread.execute("ag-one"));
});
}