This page describes how ADK agents stream output to A2A clients through partial events and artifacts.Documentation Index
Fetch the complete documentation index at: https://docs.aion.to/llms.txt
Use this file to discover all available pages before exploring further.
1. Partial Events — Real-time Text Streaming
Yield ADK events withpartial=True to stream text chunks to the client in real time. Each chunk
is forwarded as a transitory STREAM_DELTA artifact update:
STREAM_DELTA artifact is transitory — it is not persisted to the
Task’s durable state. Partial and non-partial ADK event content may populate
the SDK-managed response buffer for the current turn. If that buffer stays
empty, Aion falls back to a2a_outbox and then framework-native fallback
rules. See Message Mapping for outbound precedence rules.
2. Non-partial Events
When a non-partial ADK event is yielded:- The open
STREAM_DELTAstream is closed (if streaming was active). - Content parts are emitted as a
TaskStatusUpdateEvent(working, message=...). - Artifacts declared in
event.actions.artifact_deltaare loaded and forwarded asTaskArtifactUpdateEvent.
3. File and Data Artifacts
Usectx.artifact_service to save file or data artifacts. Saved artifacts are automatically
forwarded to the client as TaskArtifactUpdateEvent:
artifact_delta maps a filename to its saved version. Aion Server automatically
forwards each declared artifact to the client as a TaskArtifactUpdateEvent.
4. Artifact Namespaces
The filename prefix controls artifact scope:| Prefix | Scope |
|---|---|
user:... | User-scoped — shared across all sessions for this user |
| (none) | Session-scoped — private to the current context |