Context
Execution context passed to agent callbacks, model callbacks, tools, and workflow nodes during an invocation.
Provides read access to invocation metadata and session state, along with methods to record state deltas, artifacts, and control-flow signals. Tool-specific operations such as requestConfirmation require a functionCallId, which is only populated during a tool call. The node-only members (such as output and routes) throw IllegalStateException unless this context was created for a workflow node; a callback, model-callback, or tool context is not a node activation and so has none of them.
A context is created in one of two ways: the public constructor is used for callbacks and tools, while the internal constructor is used for workflow node activations. Only the internal constructor populates node execution state (such as node and parent); contexts created with the public constructor leave that state empty, causing node-only members to throw.
CallbackContext and com.google.adk.kt.tools.ToolContext are thin subclasses kept for backward compatibility. Prefer Context in new code.
This class is open only so those two subclasses can exist as distinct JVM types that Java callers can reference. Every member is final so subclasses only forward constructor arguments without changing behavior.
Inheritors
Constructors
Properties
The event actions for the current context, holding state deltas and control-flow signals to be attached to emitted events.
The ArtifactService instance.
1-based attempt number, which a retry increments. 1 off-graph.
Per-invocation scratch data; see ContextFrameworkData.callbackContextData.
The readonly invocation context.
The same EventActions instance as actions, under the property name used by callbacks.
The author stamped on events this node emits.
The unique ID of the function call.
Whether an output has been set, which distinguishes "no output" from "the output was null".
The ids of the input requests this activation raised and is now waiting on, which the graph pauses on until an answer arrives keyed by that id.
The unique ID of this invocation.
The MemoryService instance.
The node this context is an activation of.
This activation's path: name@runId segments joined by /, rooted at the outermost node.
The node's result. Settable once per activation, whether by emitting it or by assigning it.
The context of the node that scheduled this one, or null at the root or off-graph.
Answers to this node's interrupts, keyed by interrupt id. Empty off-graph.
The routes this node selected, read by the scheduler to pick the outgoing edges.
This activation's id within its node, counting from "1". It is a string because it forms the name@runId segment of a node path. "1" off-graph.
The tool confirmation of the current tool call.
The user content that this invocation is processing.
Functions
Triggers memory generation for the current session.
Requests the current LLM agent to stop after the current step completes.
Lists the filenames of the artifacts attached to the current session. Returns an empty list if no artifact service is configured.
Loads an artifact attached to the current session by name. Returns null if no artifact service is configured or the artifact is not found.
Requests confirmation for the current tool call. Only a tool call has a functionCallId, so this can only be called in a tool context.
Records a state change so it shows up in state and, on a callback or tool context, flushes on the next event as a delta.