Add optional names to untrusted additional context (#57181)

## What changed

- Add an optional `name` to `AdditionalContextEntry` across the protocol, app-server schemas, and generated clients.
- Accept names matching `[a-z][a-z0-9_]{0,63}` only for `untrusted` context. Reject invalid names and names on `application` context before admitting turn input, returning invalid-request errors from `turn/start` and `turn/steer`.
- Preserve existing model-input rendering and deduplicate context when only its name changes.

## Testing

Add coverage for valid name boundaries, callers that omit `name`, invalid-name rejection without admitting input, and deduplication across name changes.

GitOrigin-RevId: 2caffa6fddd40ddb178733b335f520f317239edd
This commit is contained in:
Alex Kira
2026-10-26 18:23:07 +00:00
committed by copyberry
parent 457441bca9
commit 8ebd272491
21 changed files with 371 additions and 102 deletions
@@ -6901,6 +6901,10 @@ class AdditionalContextEntry(BaseModel):
populate_by_name=True,
)
kind: AdditionalContextKind
name: Annotated[
str | None,
Field(description="Optional name for untrusted context, used to label its tool output."),
] = None
value: str