diff --git a/core/sdk/src/main/gen/com/google/api/expr/v1alpha1/ConstantOrBuilder.java b/core/sdk/src/main/gen/com/google/api/expr/v1alpha1/ConstantOrBuilder.java
index ab40f5664..4bc633d0a 100644
--- a/core/sdk/src/main/gen/com/google/api/expr/v1alpha1/ConstantOrBuilder.java
+++ b/core/sdk/src/main/gen/com/google/api/expr/v1alpha1/ConstantOrBuilder.java
@@ -169,7 +169,7 @@ public interface ConstantOrBuilder extends
*
* .google.protobuf.Duration duration_value = 8 [json_name = "durationValue", deprecated = true];
* @deprecated google.api.expr.v1alpha1.Constant.duration_value is deprecated.
- * See google/api/expr/v1alpha1/syntax.proto;l=287
+ * See google/api/expr/v1alpha1/syntax.proto;l=325
* @return Whether the durationValue field is set.
*/
@java.lang.Deprecated boolean hasDurationValue();
@@ -182,7 +182,7 @@ public interface ConstantOrBuilder extends
*
* .google.protobuf.Duration duration_value = 8 [json_name = "durationValue", deprecated = true];
* @deprecated google.api.expr.v1alpha1.Constant.duration_value is deprecated.
- * See google/api/expr/v1alpha1/syntax.proto;l=287
+ * See google/api/expr/v1alpha1/syntax.proto;l=325
* @return The durationValue.
*/
@java.lang.Deprecated com.google.protobuf.Duration getDurationValue();
@@ -196,7 +196,7 @@ public interface ConstantOrBuilder extends
*
* .google.protobuf.Timestamp timestamp_value = 9 [json_name = "timestampValue", deprecated = true];
* @deprecated google.api.expr.v1alpha1.Constant.timestamp_value is deprecated.
- * See google/api/expr/v1alpha1/syntax.proto;l=292
+ * See google/api/expr/v1alpha1/syntax.proto;l=330
* @return Whether the timestampValue field is set.
*/
@java.lang.Deprecated boolean hasTimestampValue();
@@ -209,7 +209,7 @@ public interface ConstantOrBuilder extends
*
* .google.protobuf.Timestamp timestamp_value = 9 [json_name = "timestampValue", deprecated = true];
* @deprecated google.api.expr.v1alpha1.Constant.timestamp_value is deprecated.
- * See google/api/expr/v1alpha1/syntax.proto;l=292
+ * See google/api/expr/v1alpha1/syntax.proto;l=330
* @return The timestampValue.
*/
@java.lang.Deprecated com.google.protobuf.Timestamp getTimestampValue();
diff --git a/core/sdk/src/main/gen/com/google/api/expr/v1alpha1/Expr.java b/core/sdk/src/main/gen/com/google/api/expr/v1alpha1/Expr.java
index bdbf11b79..ccfac672e 100644
--- a/core/sdk/src/main/gen/com/google/api/expr/v1alpha1/Expr.java
+++ b/core/sdk/src/main/gen/com/google/api/expr/v1alpha1/Expr.java
@@ -4501,7 +4501,9 @@ public interface ComprehensionOrBuilder extends
/**
*
- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *
string iter_var = 1 [json_name = "iterVar"];
@@ -4510,7 +4512,9 @@ public interface ComprehensionOrBuilder extends
java.lang.String getIterVar();
/**
* - * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *
string iter_var = 1 [json_name = "iterVar"];
@@ -4521,7 +4525,33 @@ public interface ComprehensionOrBuilder extends
/**
* - * The range over which var iterates. + * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *
string iter_var2 = 8 [json_name = "iterVar2"];
+ * @return The iterVar2.
+ */
+ java.lang.String getIterVar2();
+ /**
+ * + * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *
string iter_var2 = 8 [json_name = "iterVar2"];
+ * @return The bytes for iterVar2.
+ */
+ com.google.protobuf.ByteString
+ getIterVar2Bytes();
+
+ /**
+ * + * The range over which the comprehension iterates. ** *
.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -4530,7 +4560,7 @@ public interface ComprehensionOrBuilder extends
boolean hasIterRange();
/**
* - * The range over which var iterates. + * The range over which the comprehension iterates. ** *
.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -4579,7 +4609,7 @@ public interface ComprehensionOrBuilder extends
/**
* - * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -4591,7 +4621,7 @@ public interface ComprehensionOrBuilder extends boolean hasLoopCondition(); /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -4604,7 +4634,7 @@ public interface ComprehensionOrBuilder extends /** ** * Protobuf type {@code google.api.expr.v1alpha1.Expr.Comprehension} @@ -4687,6 +4747,7 @@ public static final class Comprehension extends ComprehensionOrBuilder { private Comprehension() { iterVar_ = ""; + iterVar2_ = ""; accuVar_ = ""; } private int bitField0_; @@ -4694,7 +4755,9 @@ private Comprehension() { private java.lang.String iterVar_; /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -4615,7 +4645,7 @@ public interface ComprehensionOrBuilder extends boolean hasLoopStep(); /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -4676,6 +4706,36 @@ public interface ComprehensionOrBuilder extends * messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the * macro tests whether the property is set to its default. For map and struct * types, the macro tests whether the property `x` is defined on `m`. + * + * Comprehensions for the standard environment macros evaluation can be best + * visualized as the following pseudocode: + * + * ``` + * let `accu_var` = `accu_init` + * for (let `iter_var` in `iter_range`) { + * if (!`loop_condition`) { + * break + * } + * `accu_var` = `loop_step` + * } + * return `result` + * ``` + * + * Comprehensions for the optional V2 macros which support map-to-map + * translation differ slightly from the standard environment macros in that + * they expose both the key or index in addition to the value for each list + * or map entry: + * + * ``` + * let `accu_var` = `accu_init` + * for (let `iter_var`, `iter_var2` in `iter_range`) { + * if (!`loop_condition`) { + * break + * } + * `accu_var` = `loop_step` + * } + * return `result` + * ``` *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -4706,7 +4769,9 @@ public java.lang.String getIterVar() { } /** *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -4719,7 +4784,9 @@ public java.lang.String getIterVar() { } /** *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -4733,7 +4800,9 @@ private void setIterVar( } /** *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -4744,7 +4813,9 @@ private void clearIterVar() { } /** *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -4757,11 +4828,93 @@ private void setIterVarBytes( } + public static final int ITER_VAR2_FIELD_NUMBER = 8; + private java.lang.String iterVar2_; + /** + *+ * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ * @return The iterVar2. + */ + @java.lang.Override + public java.lang.String getIterVar2() { + return iterVar2_; + } + /** + *+ * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ * @return The bytes for iterVar2. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getIterVar2Bytes() { + return com.google.protobuf.ByteString.copyFromUtf8(iterVar2_); + } + /** + *+ * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ * @param value The iterVar2 to set. + */ + private void setIterVar2( + java.lang.String value) { + java.lang.Class> valueClass = value.getClass(); + + iterVar2_ = value; + } + /** + *+ * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ */ + private void clearIterVar2() { + + iterVar2_ = getDefaultInstance().getIterVar2(); + } + /** + *+ * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ * @param value The bytes for iterVar2 to set. + */ + private void setIterVar2Bytes( + com.google.protobuf.ByteString value) { + checkByteStringIsUtf8(value); + iterVar2_ = value.toStringUtf8(); + + } + public static final int ITER_RANGE_FIELD_NUMBER = 2; private com.google.api.expr.v1alpha1.Expr iterRange_; /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -4772,7 +4925,7 @@ public boolean hasIterRange() { } /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -4783,7 +4936,7 @@ public com.google.api.expr.v1alpha1.Expr getIterRange() { } /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -4795,7 +4948,7 @@ private void setIterRange(com.google.api.expr.v1alpha1.Expr value) { } /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -4814,7 +4967,7 @@ private void mergeIterRange(com.google.api.expr.v1alpha1.Expr value) { } /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -4960,7 +5113,7 @@ private void mergeAccuInit(com.google.api.expr.v1alpha1.Expr value) { private com.google.api.expr.v1alpha1.Expr loopCondition_; /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -4974,7 +5127,7 @@ public boolean hasLoopCondition() { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -4988,7 +5141,7 @@ public com.google.api.expr.v1alpha1.Expr getLoopCondition() { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -5003,7 +5156,7 @@ private void setLoopCondition(com.google.api.expr.v1alpha1.Expr value) { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -5025,7 +5178,7 @@ private void mergeLoopCondition(com.google.api.expr.v1alpha1.Expr value) { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -5041,7 +5194,7 @@ private void mergeLoopCondition(com.google.api.expr.v1alpha1.Expr value) { private com.google.api.expr.v1alpha1.Expr loopStep_; /** ** * Protobuf type {@code google.api.expr.v1alpha1.Expr.Comprehension} @@ -5317,7 +5500,9 @@ private Builder() { /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5054,7 +5207,7 @@ public boolean hasLoopStep() { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5067,7 +5220,7 @@ public com.google.api.expr.v1alpha1.Expr getLoopStep() { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5081,7 +5234,7 @@ private void setLoopStep(com.google.api.expr.v1alpha1.Expr value) { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5102,7 +5255,7 @@ private void mergeLoopStep(com.google.api.expr.v1alpha1.Expr value) { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5300,6 +5453,36 @@ public static Builder newBuilder(com.google.api.expr.v1alpha1.Expr.Comprehension * messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the * macro tests whether the property is set to its default. For map and struct * types, the macro tests whether the property `x` is defined on `m`. + * + * Comprehensions for the standard environment macros evaluation can be best + * visualized as the following pseudocode: + * + * ``` + * let `accu_var` = `accu_init` + * for (let `iter_var` in `iter_range`) { + * if (!`loop_condition`) { + * break + * } + * `accu_var` = `loop_step` + * } + * return `result` + * ``` + * + * Comprehensions for the optional V2 macros which support map-to-map + * translation differ slightly from the standard environment macros in that + * they expose both the key or index in addition to the value for each list + * or map entry: + * + * ``` + * let `accu_var` = `accu_init` + * for (let `iter_var`, `iter_var2` in `iter_range`) { + * if (!`loop_condition`) { + * break + * } + * `accu_var` = `loop_step` + * } + * return `result` + * ``` *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -5329,7 +5514,9 @@ public java.lang.String getIterVar() { } /** *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -5342,7 +5529,9 @@ public java.lang.String getIterVar() { } /** *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -5357,7 +5546,9 @@ public Builder setIterVar( } /** *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -5370,7 +5561,9 @@ public Builder clearIterVar() { } /** *- * The name of the iteration variable. + * The name of the first iteration variable. + * When the iter_range is a list, this variable is the list element. + * When the iter_range is a map, this variable is the map entry key. ** *string iter_var = 1 [json_name = "iterVar"];
@@ -5386,7 +5579,91 @@ public Builder setIterVarBytes( /** *- * The range over which var iterates. + * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ * @return The iterVar2. + */ + @java.lang.Override + public java.lang.String getIterVar2() { + return instance.getIterVar2(); + } + /** + *+ * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ * @return The bytes for iterVar2. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getIterVar2Bytes() { + return instance.getIterVar2Bytes(); + } + /** + *+ * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ * @param value The iterVar2 to set. + * @return This builder for chaining. + */ + public Builder setIterVar2( + java.lang.String value) { + copyOnWrite(); + instance.setIterVar2(value); + return this; + } + /** + *+ * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ * @return This builder for chaining. + */ + public Builder clearIterVar2() { + copyOnWrite(); + instance.clearIterVar2(); + return this; + } + /** + *+ * The name of the second iteration variable, empty if not set. + * When the iter_range is a list, this variable is the integer index. + * When the iter_range is a map, this variable is the map entry value. + * This field is only set for comprehension v2 macros. + *+ * + *string iter_var2 = 8 [json_name = "iterVar2"];
+ * @param value The bytes for iterVar2 to set. + * @return This builder for chaining. + */ + public Builder setIterVar2Bytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setIterVar2Bytes(value); + return this; + } + + /** + *+ * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -5397,7 +5674,7 @@ public boolean hasIterRange() { } /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -5408,7 +5685,7 @@ public com.google.api.expr.v1alpha1.Expr getIterRange() { } /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -5420,7 +5697,7 @@ public Builder setIterRange(com.google.api.expr.v1alpha1.Expr value) { } /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -5433,7 +5710,7 @@ public Builder setIterRange( } /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -5445,7 +5722,7 @@ public Builder mergeIterRange(com.google.api.expr.v1alpha1.Expr value) { } /** *- * The range over which var iterates. + * The range over which the comprehension iterates. ** *.google.api.expr.v1alpha1.Expr iter_range = 2 [json_name = "iterRange"];
@@ -5597,7 +5874,7 @@ public Builder mergeAccuInit(com.google.api.expr.v1alpha1.Expr value) { /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -5611,7 +5888,7 @@ public boolean hasLoopCondition() { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -5625,7 +5902,7 @@ public com.google.api.expr.v1alpha1.Expr getLoopCondition() { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -5640,7 +5917,7 @@ public Builder setLoopCondition(com.google.api.expr.v1alpha1.Expr value) { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -5656,7 +5933,7 @@ public Builder setLoopCondition( } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -5671,7 +5948,7 @@ public Builder mergeLoopCondition(com.google.api.expr.v1alpha1.Expr value) { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Returns false when the result has been computed and may be used as * a hint to short-circuit the remainder of the comprehension. @@ -5686,7 +5963,7 @@ public Builder mergeLoopCondition(com.google.api.expr.v1alpha1.Expr value) { /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5699,7 +5976,7 @@ public boolean hasLoopStep() { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5712,7 +5989,7 @@ public com.google.api.expr.v1alpha1.Expr getLoopStep() { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5726,7 +6003,7 @@ public Builder setLoopStep(com.google.api.expr.v1alpha1.Expr value) { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5741,7 +6018,7 @@ public Builder setLoopStep( } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5755,7 +6032,7 @@ public Builder mergeLoopStep(com.google.api.expr.v1alpha1.Expr value) { } /** *- * An expression which can contain iter_var and accu_var. + * An expression which can contain iter_var, iter_var2, and accu_var. * * Computes the next value of accu_var. *@@ -5874,11 +6151,12 @@ protected final java.lang.Object dynamicMethod( "loopCondition_", "loopStep_", "result_", + "iterVar2_", }; java.lang.String info = - "\u0000\u0007\u0000\u0001\u0001\u0007\u0007\u0000\u0000\u0000\u0001\u0208\u0002\u1009" + - "\u0000\u0003\u0208\u0004\u1009\u0001\u0005\u1009\u0002\u0006\u1009\u0003\u0007\u1009" + - "\u0004"; + "\u0000\b\u0000\u0001\u0001\b\b\u0000\u0000\u0000\u0001\u0208\u0002\u1009\u0000\u0003" + + "\u0208\u0004\u1009\u0001\u0005\u1009\u0002\u0006\u1009\u0003\u0007\u1009\u0004\b" + + "\u0208"; return newMessageInfo(DEFAULT_INSTANCE, info, objects); } // fall through diff --git a/core/sdk/src/main/gen/viam/app/v1/App.java b/core/sdk/src/main/gen/viam/app/v1/App.java index 4c0641d65..78cd6d1cd 100644 --- a/core/sdk/src/main/gen/viam/app/v1/App.java +++ b/core/sdk/src/main/gen/viam/app/v1/App.java @@ -34047,6 +34047,34 @@ public interface GetRobotPartHistoryRequestOrBuilder extends */ com.google.protobuf.ByteString getIdBytes(); + + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return Whether the pageToken field is set. + */ + boolean hasPageToken(); + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return The pageToken. + */ + java.lang.String getPageToken(); + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString + getPageTokenBytes(); + + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ * @return Whether the pageLimit field is set. + */ + boolean hasPageLimit(); + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ * @return The pageLimit. + */ + long getPageLimit(); } /** * Protobuf type {@code viam.app.v1.GetRobotPartHistoryRequest} @@ -34058,7 +34086,9 @@ public static final class GetRobotPartHistoryRequest extends GetRobotPartHistoryRequestOrBuilder { private GetRobotPartHistoryRequest() { id_ = ""; + pageToken_ = ""; } + private int bitField0_; public static final int ID_FIELD_NUMBER = 1; private java.lang.String id_; /** @@ -34106,6 +34136,95 @@ private void setIdBytes( } + public static final int PAGE_TOKEN_FIELD_NUMBER = 2; + private java.lang.String pageToken_; + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return Whether the pageToken field is set. + */ + @java.lang.Override + public boolean hasPageToken() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + return pageToken_; + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getPageTokenBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(pageToken_); + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @param value The pageToken to set. + */ + private void setPageToken( + java.lang.String value) { + java.lang.Class> valueClass = value.getClass(); + bitField0_ |= 0x00000001; + pageToken_ = value; + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ */ + private void clearPageToken() { + bitField0_ = (bitField0_ & ~0x00000001); + pageToken_ = getDefaultInstance().getPageToken(); + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @param value The bytes for pageToken to set. + */ + private void setPageTokenBytes( + com.google.protobuf.ByteString value) { + checkByteStringIsUtf8(value); + pageToken_ = value.toStringUtf8(); + bitField0_ |= 0x00000001; + } + + public static final int PAGE_LIMIT_FIELD_NUMBER = 3; + private long pageLimit_; + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ * @return Whether the pageLimit field is set. + */ + @java.lang.Override + public boolean hasPageLimit() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ * @return The pageLimit. + */ + @java.lang.Override + public long getPageLimit() { + return pageLimit_; + } + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ * @param value The pageLimit to set. + */ + private void setPageLimit(long value) { + bitField0_ |= 0x00000002; + pageLimit_ = value; + } + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ */ + private void clearPageLimit() { + bitField0_ = (bitField0_ & ~0x00000002); + pageLimit_ = 0L; + } + public static viam.app.v1.App.GetRobotPartHistoryRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -34252,6 +34371,99 @@ public Builder setIdBytes( return this; } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return Whether the pageToken field is set. + */ + @java.lang.Override + public boolean hasPageToken() { + return instance.hasPageToken(); + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + return instance.getPageToken(); + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getPageTokenBytes() { + return instance.getPageTokenBytes(); + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken( + java.lang.String value) { + copyOnWrite(); + instance.setPageToken(value); + return this; + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @return This builder for chaining. + */ + public Builder clearPageToken() { + copyOnWrite(); + instance.clearPageToken(); + return this; + } + /** + *optional string page_token = 2 [json_name = "pageToken"];
+ * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setPageTokenBytes(value); + return this; + } + + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ * @return Whether the pageLimit field is set. + */ + @java.lang.Override + public boolean hasPageLimit() { + return instance.hasPageLimit(); + } + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ * @return The pageLimit. + */ + @java.lang.Override + public long getPageLimit() { + return instance.getPageLimit(); + } + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ * @param value The pageLimit to set. + * @return This builder for chaining. + */ + public Builder setPageLimit(long value) { + copyOnWrite(); + instance.setPageLimit(value); + return this; + } + /** + *optional int64 page_limit = 3 [json_name = "pageLimit"];
+ * @return This builder for chaining. + */ + public Builder clearPageLimit() { + copyOnWrite(); + instance.clearPageLimit(); + return this; + } + // @@protoc_insertion_point(builder_scope:viam.app.v1.GetRobotPartHistoryRequest) } @java.lang.Override @@ -34268,10 +34480,14 @@ protected final java.lang.Object dynamicMethod( } case BUILD_MESSAGE_INFO: { java.lang.Object[] objects = new java.lang.Object[] { + "bitField0_", "id_", + "pageToken_", + "pageLimit_", }; java.lang.String info = - "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001\u0208"; + "\u0000\u0003\u0000\u0001\u0001\u0003\u0003\u0000\u0000\u0000\u0001\u0208\u0002\u1208" + + "\u0000\u0003\u1002\u0001"; return newMessageInfo(DEFAULT_INSTANCE, info, objects); } // fall through @@ -34343,6 +34559,18 @@ public interface GetRobotPartHistoryResponseOrBuilder extends *repeated .viam.app.v1.RobotPartHistoryEntry history = 1 [json_name = "history"];
*/ int getHistoryCount(); + + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString + getNextPageTokenBytes(); } /** * Protobuf type {@code viam.app.v1.GetRobotPartHistoryResponse} @@ -34354,6 +34582,7 @@ public static final class GetRobotPartHistoryResponse extends GetRobotPartHistoryResponseOrBuilder { private GetRobotPartHistoryResponse() { history_ = emptyProtobufList(); + nextPageToken_ = ""; } public static final int HISTORY_FIELD_NUMBER = 1; private com.google.protobuf.Internal.ProtobufListhistory_; @@ -34449,6 +34678,53 @@ private void removeHistory(int index) { history_.remove(index); } + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + private java.lang.String nextPageToken_; + /** + * string next_page_token = 2 [json_name = "nextPageToken"];
+ * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + return nextPageToken_; + } + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNextPageTokenBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(nextPageToken_); + } + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @param value The nextPageToken to set. + */ + private void setNextPageToken( + java.lang.String value) { + java.lang.Class> valueClass = value.getClass(); + + nextPageToken_ = value; + } + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ */ + private void clearNextPageToken() { + + nextPageToken_ = getDefaultInstance().getNextPageToken(); + } + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @param value The bytes for nextPageToken to set. + */ + private void setNextPageTokenBytes( + com.google.protobuf.ByteString value) { + checkByteStringIsUtf8(value); + nextPageToken_ = value.toStringUtf8(); + + } + public static viam.app.v1.App.GetRobotPartHistoryResponse parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -34648,6 +34924,55 @@ public Builder removeHistory(int index) { return this; } + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + return instance.getNextPageToken(); + } + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getNextPageTokenBytes() { + return instance.getNextPageTokenBytes(); + } + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken( + java.lang.String value) { + copyOnWrite(); + instance.setNextPageToken(value); + return this; + } + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + copyOnWrite(); + instance.clearNextPageToken(); + return this; + } + /** + *string next_page_token = 2 [json_name = "nextPageToken"];
+ * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setNextPageTokenBytes(value); + return this; + } + // @@protoc_insertion_point(builder_scope:viam.app.v1.GetRobotPartHistoryResponse) } @java.lang.Override @@ -34666,9 +34991,11 @@ protected final java.lang.Object dynamicMethod( java.lang.Object[] objects = new java.lang.Object[] { "history_", viam.app.v1.App.RobotPartHistoryEntry.class, + "nextPageToken_", }; java.lang.String info = - "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0001\u0000\u0001\u001b"; + "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0001\u0000\u0001\u001b\u0002\u0208" + + ""; return newMessageInfo(DEFAULT_INSTANCE, info, objects); } // fall through diff --git a/core/sdk/src/main/resources/protofds/viam.api b/core/sdk/src/main/resources/protofds/viam.api index 525b5cc68..939d6fee7 100644 Binary files a/core/sdk/src/main/resources/protofds/viam.api and b/core/sdk/src/main/resources/protofds/viam.api differ