The Python AG-UI client extracts shared state only when a JSON data URI starts with the exact prefix data:application/json;base64,. Core Content.from_uri recognizes parameterized data URIs such as data:application/json;charset=utf-8;base64,... as JSON data content, but AG-UI state extraction ignores that valid form.
Repro summary:
- data:application/json;base64, -> state is extracted
- data:application/json;charset=utf-8;base64, -> state remains None and the state message is kept
Expected behavior:
AG-UI state extraction should accept JSON data URIs with media type parameters while still requiring application/json and base64 encoding.
The Python AG-UI client extracts shared state only when a JSON data URI starts with the exact prefix data:application/json;base64,. Core Content.from_uri recognizes parameterized data URIs such as data:application/json;charset=utf-8;base64,... as JSON data content, but AG-UI state extraction ignores that valid form.
Repro summary:
Expected behavior:
AG-UI state extraction should accept JSON data URIs with media type parameters while still requiring application/json and base64 encoding.