Skip to content

Commit 13e890d

Browse files
IvanLHcopybara-github
authored andcommitted
chore: Made Operations.response be of GeneratedVideosResponse type
PiperOrigin-RevId: 744340476
1 parent 2af7b67 commit 13e890d

6 files changed

Lines changed: 50 additions & 25 deletions

File tree

google/genai/_replay_api_client.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
from ._api_client import HttpResponse
3636
from ._common import BaseModel
3737
from .types import HttpOptionsOrDict
38+
from .types import GenerateVideosOperation
3839

3940

4041
def _redact_version_numbers(version_string: str) -> str:
@@ -397,7 +398,12 @@ def _verify_response(self, response_model: BaseModel):
397398
if isinstance(response_model, list):
398399
response_model = response_model[0]
399400
print('response_model: ', response_model.model_dump(exclude_none=True))
400-
actual = response_model.model_dump(exclude_none=True, mode='json')
401+
if isinstance(response_model, GenerateVideosOperation):
402+
actual = response_model.model_dump(
403+
exclude={'result'}, exclude_none=True, mode='json'
404+
)
405+
else:
406+
actual = response_model.model_dump(exclude_none=True, mode='json')
401407
expected = interaction.response.sdk_response_segments[
402408
self._sdk_response_index
403409
]

google/genai/models.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3204,8 +3204,16 @@ def _GenerateVideosOperation_from_mldev(
32043204
if getv(from_object, ['error']) is not None:
32053205
setv(to_object, ['error'], getv(from_object, ['error']))
32063206

3207-
if getv(from_object, ['response']) is not None:
3208-
setv(to_object, ['response'], getv(from_object, ['response']))
3207+
if getv(from_object, ['response', 'generateVideoResponse']) is not None:
3208+
setv(
3209+
to_object,
3210+
['response'],
3211+
_GenerateVideosResponse_from_mldev(
3212+
api_client,
3213+
getv(from_object, ['response', 'generateVideoResponse']),
3214+
to_object,
3215+
),
3216+
)
32093217

32103218
if getv(from_object, ['response', 'generateVideoResponse']) is not None:
32113219
setv(
@@ -3847,7 +3855,13 @@ def _GenerateVideosOperation_from_vertex(
38473855
setv(to_object, ['error'], getv(from_object, ['error']))
38483856

38493857
if getv(from_object, ['response']) is not None:
3850-
setv(to_object, ['response'], getv(from_object, ['response']))
3858+
setv(
3859+
to_object,
3860+
['response'],
3861+
_GenerateVideosResponse_from_vertex(
3862+
api_client, getv(from_object, ['response']), to_object
3863+
),
3864+
)
38513865

38523866
if getv(from_object, ['response']) is not None:
38533867
setv(

google/genai/operations.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,16 @@ def _GenerateVideosOperation_from_mldev(
178178
if getv(from_object, ['error']) is not None:
179179
setv(to_object, ['error'], getv(from_object, ['error']))
180180

181-
if getv(from_object, ['response']) is not None:
182-
setv(to_object, ['response'], getv(from_object, ['response']))
181+
if getv(from_object, ['response', 'generateVideoResponse']) is not None:
182+
setv(
183+
to_object,
184+
['response'],
185+
_GenerateVideosResponse_from_mldev(
186+
api_client,
187+
getv(from_object, ['response', 'generateVideoResponse']),
188+
to_object,
189+
),
190+
)
183191

184192
if getv(from_object, ['response', 'generateVideoResponse']) is not None:
185193
setv(
@@ -285,7 +293,13 @@ def _GenerateVideosOperation_from_vertex(
285293
setv(to_object, ['error'], getv(from_object, ['error']))
286294

287295
if getv(from_object, ['response']) is not None:
288-
setv(to_object, ['response'], getv(from_object, ['response']))
296+
setv(
297+
to_object,
298+
['response'],
299+
_GenerateVideosResponse_from_vertex(
300+
api_client, getv(from_object, ['response']), to_object
301+
),
302+
)
289303

290304
if getv(from_object, ['response']) is not None:
291305
setv(

google/genai/tests/models/test_generate_videos.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,9 @@ def test_text_and_image_to_video_poll(client):
154154
def test_create_operation_to_poll(client):
155155
if client.vertexai:
156156
# Fill in project and location for record mode
157-
operation_name = "projects/<project>/locations/<location>/publishers/google/models/veo-2.0-generate-001/operations/ce4324d0-1a9f-4fd0-98de-0c54e2ca5798"
157+
operation_name = "projects/<project>/locations/<location>/publishers/google/models/veo-2.0-generate-001/operations/4a040b94-2343-4748-9322-c284371bdbd5"
158158
else:
159-
operation_name = "models/veo-2.0-generate-001/operations/s421ckxsogje"
159+
operation_name = "models/veo-2.0-generate-001/operations/xtc75gxjir7d"
160160

161161
operation = types.GenerateVideosOperation(
162162
name=operation_name,
@@ -185,6 +185,8 @@ async def test_text_to_video_poll_async(client):
185185
# Skip the sleep when in replay mode.
186186
if not isinstance(client._api_client, _replay_api_client.ReplayApiClient):
187187
time.sleep(20)
188-
operation = await client.aio.operations.get(operation=operation)
188+
operation = await client.aio.operations.get(
189+
operation=operation
190+
)
189191

190192
assert operation.result.generated_videos[0].video.uri

google/genai/tunings.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -545,9 +545,6 @@ def _Operation_from_mldev(
545545
if getv(from_object, ['error']) is not None:
546546
setv(to_object, ['error'], getv(from_object, ['error']))
547547

548-
if getv(from_object, ['response']) is not None:
549-
setv(to_object, ['response'], getv(from_object, ['response']))
550-
551548
return to_object
552549

553550

google/genai/types.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5469,9 +5469,8 @@ class GenerateVideosOperation(_common.BaseModel):
54695469
default=None,
54705470
description="""The error result of the operation in case of failure or cancellation.""",
54715471
)
5472-
response: Optional[dict[str, Any]] = Field(
5473-
default=None,
5474-
description="""The normal response of the operation in case of success.""",
5472+
response: Optional[GenerateVideosResponse] = Field(
5473+
default=None, description="""The generated videos."""
54755474
)
54765475
result: Optional[GenerateVideosResponse] = Field(
54775476
default=None, description="""The generated videos."""
@@ -5493,8 +5492,8 @@ class GenerateVideosOperationDict(TypedDict, total=False):
54935492
error: Optional[dict[str, Any]]
54945493
"""The error result of the operation in case of failure or cancellation."""
54955494

5496-
response: Optional[dict[str, Any]]
5497-
"""The normal response of the operation in case of success."""
5495+
response: Optional[GenerateVideosResponseDict]
5496+
"""The generated videos."""
54985497

54995498
result: Optional[GenerateVideosResponseDict]
55005499
"""The generated videos."""
@@ -6691,10 +6690,6 @@ class Operation(_common.BaseModel):
66916690
default=None,
66926691
description="""The error result of the operation in case of failure or cancellation.""",
66936692
)
6694-
response: Optional[dict[str, Any]] = Field(
6695-
default=None,
6696-
description="""The normal response of the operation in case of success.""",
6697-
)
66986693

66996694

67006695
class OperationDict(TypedDict, total=False):
@@ -6712,9 +6707,6 @@ class OperationDict(TypedDict, total=False):
67126707
error: Optional[dict[str, Any]]
67136708
"""The error result of the operation in case of failure or cancellation."""
67146709

6715-
response: Optional[dict[str, Any]]
6716-
"""The normal response of the operation in case of success."""
6717-
67186710

67196711
OperationOrDict = Union[Operation, OperationDict]
67206712

0 commit comments

Comments
 (0)