diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index 87f4a7a32..c26c25de3 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -23,7 +23,7 @@ protobuf azure-identity azure-keyvault-keys boto3 -cel-python>=0.1.5 +cel-python>=0.4.0 google-auth google-api-core google-cloud-kms diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index 98dcaba4a..4dcf89d83 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,7 +1,7 @@ azure-identity azure-keyvault-keys boto3>=1.35 -cel-python>=0.1.5 +cel-python>=0.4.0 google-auth google-api-core google-cloud-kms @@ -10,4 +10,4 @@ hvac jsonata-python # Dependency of cel-python. Use version 6 due to https://github.com/yaml/pyyaml/issues/601 pyyaml>=6.0.0 -tink \ No newline at end of file +tink diff --git a/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py b/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py index e29685ea9..f78e4887e 100644 --- a/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py +++ b/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py @@ -35,12 +35,12 @@ def in_has() -> bool: class InterpretedRunner(celpy.InterpretedRunner): def evaluate(self, context): class Evaluator(celpy.Evaluator): - def macro_has_eval(self, exprlist): + def macro_has_eval(self, exprlist) -> celpy.celtypes.BoolType: _has_state.in_has = True result = super().macro_has_eval(exprlist) _has_state.in_has = False return result - e = Evaluator(ast=self.ast, activation=self.new_activation(context), functions=self.functions) - value = e.evaluate() + e = Evaluator(ast=self.ast, activation=self.new_activation()) + value = e.evaluate(context) return value