Update google provider types - #415
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 56c27aef2d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
There was a problem hiding this comment.
💡 Codex Review
lingua/crates/lingua/src/providers/google/adapter.rs
Lines 648 to 650 in ce42536
For a non-streaming Google response containing the newly supported BuiltinToolCall, this predicate remains false because it recognizes only ordinary ToolCall parts. A candidate whose provider finish reason is STOP therefore becomes a universal response with finish_reason = Stop, unlike the streaming path added here, which correctly overrides the reason to ToolCalls; consumers using the universal response can consequently treat a pending built-in invocation as a completed turn. Include BuiltinToolCall in this check.
AGENTS.md reference: AGENTS.md:L184-L189
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 197e417813
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c37aea2129
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ba58896b90
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
| google: { | ||
| contents: [ | ||
| { | ||
| role: "model", |
There was a problem hiding this comment.
Replace the failing built-in tool fixture
For this new round-trip case, the checked-in payloads/snapshots/googleProviderExecutedToolRoundtrip/google/error.json contains only a Google HTTP 400 (GenerateContentRequest.contents: contents is not specified), and the snapshot directory contains no response or streaming-response artifact. The real-provider capture therefore never exercises the toolCall/toolResponse behavior this case is intended to validate; make the history acceptable to Google and recapture it rather than treating this failed request as coverage.
AGENTS.md reference: AGENTS.md:L118-L120
Useful? React with 👍 / 👎.
Automated update of Lingua provider types.
Provider:
googlePublication mode:
needs-design draftFeedback: comment
/bt goodor/bt badto log review feedback to the Braintrust trace.Human decisions required
The agent completed every unblocked item. These decisions require human input before the update can be finished:
Part.mediaResolution / V1mainMediaResolution(part-media-resolution-ref-retarget)crates/generate-types/src/main.rscrates/lingua/src/providers/google/generated.rsbindings/typescript/src/generated/google/V1MainMediaResolution.tsbindings/typescript/src/generated/google/Part.tsbindings/typescript/src/generated/google/Level.tscrates/lingua/src/providers/google/convert.rsmake generate-types PROVIDER=googlegit diff --exit-code bindings/typescript/src/generated/cargo test -p generate-types google_post_process_testscargo test -p lingua providers::google::convert::testscargo check -p linguacd bindings/typescript && pnpm run typecheckMediaResolutionEnum -> MediaResolution(media-resolution-enum-name-slot-swap)crates/generate-types/src/main.rscrates/lingua/src/providers/google/generated.rscrates/lingua/src/providers/google/convert.rscargo test -p generate-types google_post_process_testscargo test -p lingua providers::google::convert::testscargo check -p linguamake generate-types PROVIDER=googlegit diff --exit-code crates/lingua/src/providers/google/generated.rsToolCall.toolName(tool-call-tool-name)crates/lingua/src/providers/google/convert.rscrates/lingua/src/providers/google/adapter.rscrates/lingua/src/providers/google/generated.rsbindings/typescript/src/generated/google/ToolCall.tscrates/coverage-report/src/responses_expected_differences.jsonpayloads/cases/advanced.tscargo test -p lingua providers::google::convert::testscargo test -p lingua providers::google::cargo test -p coverage-report --test cross_provider_test cross_provider_transformations_have_no_unexpected_failuresmake test-payloadsmake typed-boundary-checkcd bindings/typescript && pnpm run typecheckGenerationConfig.audioTranscriptionConfig / AudioTranscriptionConfig(generation-config-audio-transcription-config)crates/lingua/src/providers/google/adapter.rscrates/lingua/src/providers/google/params.rscrates/lingua/src/providers/google/generated.rspayloads/cases/params.tscrates/coverage-report/src/requests_expected_differences.jsoncargo test -p lingua providers::google::params::testscargo test -p lingua providers::google::convert::testscargo test -p lingua providers::google::make typed-boundary-checkmake test-payloadscargo test -p coverage-report --test cross_provider_test cross_provider_transformations_have_no_unexpected_failuresValidation
./pipelines/generate-provider-types.sh google: successmake generate-types PROVIDER=google: successmake lingua-wasm: successmake test-payloads: successmake typed-boundary-check: successcargo test -p coverage-report --test cross_provider_test cross_provider_transformations_have_no_unexpected_failures: successReady PRs have no blockers and a passing verification verdict. Draft PRs may contain explicit human design blockers, but every automated safety and deterministic validation still passed. Failed runs retain the exact binary patch in the workflow artifact for manual recovery.