From 12d5eafaed8a7f02cabe0c4e4288cad40a56db9c Mon Sep 17 00:00:00 2001 From: Amariah Kamau <110414493+AmariahAK@users.noreply.github.com> Date: Sat, 18 Jul 2026 15:06:21 +0300 Subject: [PATCH] fix(discoveryengine): change streamAnswer return type to array streamAnswer REST endpoint returns a JSON array of AnswerQueryResponse frames at runtime, but the generated TypeScript types declared a single object, causing res.data.answerQueryToken and similar fields to be undefined at runtime. - Fix v1, v1beta, and v1alpha generated types (99 total) - Add :stream path detection in method-partial.njk generator template to prevent regression Fixes #3930 Co-authored-by: atlarix-agent --- src/apis/discoveryengine/v1.ts | 66 +++++++++++----------- src/apis/discoveryengine/v1alpha.ts | 66 +++++++++++----------- src/apis/discoveryengine/v1beta.ts | 66 +++++++++++----------- src/generator/templates/method-partial.njk | 3 + 4 files changed, 102 insertions(+), 99 deletions(-) diff --git a/src/apis/discoveryengine/v1.ts b/src/apis/discoveryengine/v1.ts index 32e05453bd4..17cabb1da3d 100644 --- a/src/apis/discoveryengine/v1.ts +++ b/src/apis/discoveryengine/v1.ts @@ -31004,7 +31004,7 @@ export namespace discoveryengine_v1 { params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, @@ -31015,33 +31015,33 @@ export namespace discoveryengine_v1 { params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( paramsOrCallback?: | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || @@ -31080,12 +31080,12 @@ export namespace discoveryengine_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } @@ -45833,7 +45833,7 @@ export namespace discoveryengine_v1 { params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, @@ -45844,33 +45844,33 @@ export namespace discoveryengine_v1 { params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( paramsOrCallback?: | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || @@ -45909,12 +45909,12 @@ export namespace discoveryengine_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } @@ -57084,7 +57084,7 @@ export namespace discoveryengine_v1 { params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; streamAnswer( params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, @@ -57095,33 +57095,33 @@ export namespace discoveryengine_v1 { params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; streamAnswer( params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( paramsOrCallback?: | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || @@ -57160,12 +57160,12 @@ export namespace discoveryengine_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } diff --git a/src/apis/discoveryengine/v1alpha.ts b/src/apis/discoveryengine/v1alpha.ts index 8b6a9dadffd..671ea1cb679 100644 --- a/src/apis/discoveryengine/v1alpha.ts +++ b/src/apis/discoveryengine/v1alpha.ts @@ -37911,7 +37911,7 @@ export namespace discoveryengine_v1alpha { params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, @@ -37922,33 +37922,33 @@ export namespace discoveryengine_v1alpha { params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( paramsOrCallback?: | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || @@ -37987,12 +37987,12 @@ export namespace discoveryengine_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } @@ -54683,7 +54683,7 @@ export namespace discoveryengine_v1alpha { params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, @@ -54694,33 +54694,33 @@ export namespace discoveryengine_v1alpha { params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( paramsOrCallback?: | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || @@ -54759,12 +54759,12 @@ export namespace discoveryengine_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } @@ -68464,7 +68464,7 @@ export namespace discoveryengine_v1alpha { params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; streamAnswer( params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, @@ -68475,33 +68475,33 @@ export namespace discoveryengine_v1alpha { params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; streamAnswer( params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( paramsOrCallback?: | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || @@ -68540,12 +68540,12 @@ export namespace discoveryengine_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } diff --git a/src/apis/discoveryengine/v1beta.ts b/src/apis/discoveryengine/v1beta.ts index 5e3cc78230e..ac5962a9f82 100644 --- a/src/apis/discoveryengine/v1beta.ts +++ b/src/apis/discoveryengine/v1beta.ts @@ -29503,7 +29503,7 @@ export namespace discoveryengine_v1beta { params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, @@ -29514,33 +29514,33 @@ export namespace discoveryengine_v1beta { params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( paramsOrCallback?: | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || @@ -29579,12 +29579,12 @@ export namespace discoveryengine_v1beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } @@ -42697,7 +42697,7 @@ export namespace discoveryengine_v1beta { params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, @@ -42708,33 +42708,33 @@ export namespace discoveryengine_v1beta { params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; streamAnswer( params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( paramsOrCallback?: | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || @@ -42773,12 +42773,12 @@ export namespace discoveryengine_v1beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } @@ -53516,7 +53516,7 @@ export namespace discoveryengine_v1beta { params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; streamAnswer( params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, @@ -53527,33 +53527,33 @@ export namespace discoveryengine_v1beta { params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; streamAnswer( params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; streamAnswer( paramsOrCallback?: | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || @@ -53592,12 +53592,12 @@ export namespace discoveryengine_v1beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } diff --git a/src/generator/templates/method-partial.njk b/src/generator/templates/method-partial.njk index 706b591f6d4..cf6d3fa9dee 100644 --- a/src/generator/templates/method-partial.njk +++ b/src/generator/templates/method-partial.njk @@ -21,6 +21,9 @@ */ {% if m.response.$ref %} {% set responseType = "Schema$"+m.response.$ref %} + {% if ':stream' in m.path %} + {% set responseType = responseType + "[]" %} + {% endif %} {% elif m.supportsMediaDownload %} {% set responseType = "unknown" %} {% else %}