Set last-release-sha to the commit immediately prior to v1 cherry-picks (e13ada75) to prevent Release Please from scanning upstream main history and incorrectly generating minor releases rather than patch releases.
Change-Id: Ic78faa3c558b0cab1670246310c734a2e1616cc4
Configure release-please-config-v1.json with default versioning strategy so that bug fixes correctly trigger patch releases (e.g., 1.34.1) rather than minor releases.
Change-Id: I79efe1743968c6228a470a7a84ba11bcc5b82995
Fix last-release-sha in release-please-config-v1.json to track the commit SHA of tag v1.34.0 so that Release Please does not generate massive changelogs including legacy commits.
Change-Id: I2e59566ebb3900975b9f86326bb53ed959a92815
Fix release-please-config-v1.json and .release-please-manifest-v1.json to track stable v1 versioning (1.34.0) and CHANGELOG.md rather than v2 prerelease configurations.
Change-Id: I7a82c4b27cad0f0af8a6736fe6e6e4552153b80a
Add .release-please-manifest-v1.json and release-please-config-v1.json to v1 branch to resolve base release-please config not found error when running release action.
Change-Id: If95237eba75aeac824fed2054dbef99924cbc517
Enable MCP graceful error handling by default and retrieve background session context task exceptions. This prevents unhandled AnyIO TaskGroup transport failures from bubbling through the event loop and abruptly terminating live streaming sessions with 1006 abnormal closure.
Change-Id: Ib4669fb57cddfc6ce61f9a3991b80db3f2b3e9ab
In Gemini 3.1 live, LlmResponse packets sometimes contain only grounding metadata - don't skip these responses
Change-Id: I9e2c1080395588d61aefffd1b6570102930e1fe0
- Claude Opus 4.7 rejects `thinking.type: "enabled"` with a 400 error
and requires `thinking.type: "adaptive"`; adaptive is also the
recommended mode for Opus 4.6 / Sonnet 4.6 where `"enabled"` is
deprecated.
- The genai `ThinkingConfig.thinking_budget = -1` (AUTOMATIC) sentinel
is the natural mapping for adaptive: the model picks the depth
itself. Callers opt in with `-1`; positive values keep the existing
`"enabled"` path so older models are unchanged.
- Bump `anthropic>=0.78` in `pyproject.toml`; 0.78 introduced
`ThinkingConfigAdaptiveParam`. The previous floor (`>=0.43`) let
Kokoro install `anthropic==0.75.0`, which crashes the new tests
with `AttributeError: module 'anthropic.types' has no attribute
'ThinkingConfigAdaptiveParam'`.
PiperOrigin-RevId: 917449729
* Implements live inference in evaluation_generator.py using Runner.run_live().
* Updates base_eval_service.py, local_eval_service.py to support live mode data structures and connection handling.
Testing: Added unit tests:
* test_generates_inferences_with_user_simulator_live
* test_live_session_manually_triggers_callbacks
* test_live_session_manually_triggers_callbacks_with_tools
* test_perform_inference_with_use_live
* test_perform_inference_single_eval_item_live
* test_perform_inference_single_eval_item_non_live
PiperOrigin-RevId: 916231029
Adds @functools.lru_cache to find_context_parameter so the inspect.signature
+ typing.get_type_hints lookup runs once per function, not on every MCP
confirmation callback or declaration build. No public surface change.
Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 916204929
AgentTool.run_async only extracted text parts from the inner agent's
response, silently dropping code_execution_result.output and
executable_code.code. Outer agents using an inner agent with a code
executor saw nothing.
Close#5481
Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 916196604
Previously, an empty `candidates` list without `prompt_feedback` resulted in an `UNKNOWN_ERROR`. This change updates the logic to handle such cases as a successful completion with no generated content, which is valid for certain model interactions like tool-driven turns.
Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 916115022
`part_to_message_block` iterated `content` char-by-char when a tool
returned it as a plain string (e.g. `LoadSkillResourceTool`'s
`{"content": <file text>}`), producing `"H\ne\nl\nl\no"` instead of
`"Hello"`. Guard the list branch with `isinstance(..., list)` and add
a sibling branch that passes a scalar string through directly, matching
Anthropic's `content: str | list[ContentBlockParam]` shape.
Close#5358
Co-authored-by: George Weale <gweale@google.com>
PiperOrigin-RevId: 916109239