Uh oh!
There was an error while loading. Please reload this page.
Add synchronous Vertex AI Agent Engine query operator - #70933
Conversation
SameerMesiah97
left a comment
There was a problem hiding this comment.
Just a few minor comments. Very clean overall.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
5ed968a to
dfdd1a9CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
dfdd1a9 to
98f5b06CompareAlejandroMorgante
commented
Aug 4, 2026
@MaksYermak I applied the suggested renames-thanks for the feedback! My original intention was to follow the pattern we had been developing, with a synchronous Agent Engine query operator alongside the existing query-job operator, and keep their naming consistent. However, I agree that, from an Airflow user's perspective, matching the underlying client resource and method names makes the API easier to discover and understand. |
f92b8fa to
197d3a8Compare
MaksYermak
left a comment
There was a problem hiding this comment.
@AlejandroMorgante could you provide the screenshots of passing system tests for this new operator?
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
197d3a8 to
ed7f8c2Compare
Hello! Here are the E2E test screenshots showing the synchronous Reasoning Engine query operator, the successful task run, and the response stored in XCom. ![]() ![]() ![]() |
MaksYermak
left a comment
There was a problem hiding this comment.
@AlejandroMorgante LGTM
Uh oh!
There was an error while loading. Please reload this page.
Direct Agent Engine invocations currently require a Google Cloud Storage-backed query job in the provider. A synchronous public GAPIC path supports request-response workflows without that intermediate storage layer.
The public hook exposes configurable request controls, so its unit test should detect regressions that replace caller-supplied values with defaults.
Users familiar with ReasoningEngineExecutionService should be able to find the equivalent Airflow API without translating between resource vocabularies.
Matching the GAPIC resource vocabulary makes the operator easier for users to discover and understand.
The GAPIC retry sentinel type is private and cannot be relied upon by provider code. This RPC has no default retry policy, so an explicit None keeps existing behavior while leaving custom Retry policies available.
ed7f8c2 to
3f1a29dCompareUh oh!
There was an error while loading. Please reload this page.
* Add synchronous Vertex AI Agent Engine queries Direct Agent Engine invocations currently require a Google Cloud Storage-backed query job in the provider. A synchronous public GAPIC path supports request-response workflows without that intermediate storage layer. * Handle omitted Agent Engine query input * Cover custom Agent Engine query options in hook test The public hook exposes configurable request controls, so its unit test should detect regressions that replace caller-supplied values with defaults. * Address Agent Engine query review feedback * Return complete Agent Engine query responses * Align synchronous Agent Engine query names with GAPIC Users familiar with ReasoningEngineExecutionService should be able to find the equivalent Airflow API without translating between resource vocabularies. * Clarify synchronous Vertex AI Reasoning Engine terminology Matching the GAPIC resource vocabulary makes the operator easier for users to discover and understand. * Preserve Agent Engine query retry behavior The GAPIC retry sentinel type is private and cannot be relied upon by provider code. This RPC has no default retry policy, so an explicit None keeps existing behavior while leaving custom Retry policies available.



Add
RunReasoningEngineQueryOperatorfor direct synchronous Agent Engine invocations through the publicReasoningEngineExecutionServiceGAPIC. This complementsRunQueryJobOperatorwhen a Google Cloud Storage-backed asynchronous job is not needed.The hook configures the regional endpoint and forwards retry, timeout, metadata, input, and class method options. The operator returns the complete JSON-serializable GAPIC response, without first fetching the runtime or creating a query job.
The new path is covered by hook and operator unit tests, provider documentation, and the existing Agent Engine system-test example.
related: #68479
Validation
44 passed.4973 passed, 59 skipped.1 passed(details and reproduction steps below).pr-management-code-review, dry-run) atdfdd1a9: no blocking, major, minor, or nit findings. The public GAPIC surface was cross-checked against the minimum supportedgoogle-cloud-aiplatform==1.155.0. No GitHub review was posted.The complete system test was also run end-to-end against a real GCP environment. It can be reproduced from the Airflow checkout with GCP credentials forwarded to Breeze,
SYSTEM_TESTS_GCP_PROJECTconfigured infiles/airflow-breeze-config/environment_variables.env, and a unique environment ID:Latest result:
1 passed in 747.16s. The run exercised create, get, synchronous query, synchronous and deferrable query jobs, update, and delete flows, and completed resource teardown successfully.The one-time GCP project setup required by the test remains documented in the system test module docstring.
Was generative AI tooling used to co-author this PR?
Generated-by: Codex (GPT-5) following the guidelines