| 398 | } |
| 399 | |
| 400 | bool IsUnknownFunctionResult(const CelValue& value) { |
| 401 | const CelError* error; |
| 402 | if (!value.GetValue(&error)) return false; |
| 403 | |
| 404 | if (error == nullptr || error->code() != absl::StatusCode::kUnavailable) { |
| 405 | return false; |
| 406 | } |
| 407 | auto payload = error->GetPayload( |
| 408 | cel::runtime_internal::kPayloadUrlUnknownFunctionResult); |
| 409 | return payload.has_value() && payload.value() == "true"; |
| 410 | } |
| 411 | |
| 412 | } // namespace google::api::expr::runtime |