Class Context

Direct Known Subclasses:
CallbackContext

public class Context extends ReadonlyContext
The context passed to callbacks and tools during an invocation.

Agent and model callbacks receive a CallbackContext, and tools and tool callbacks a ToolContext; both extend this class, so a helper that serves both, or a function tool's toolContext parameter, can take a Context. requestConfirmation() needs a function call ID, which only a tool call has.

  • Field Details

    • eventActions

      protected EventActions eventActions
      The event actions that record this context's changes.
  • Method Details

    • state

      public State state()
      Returns the delta-aware state of the current context.
      Overrides:
      state in class ReadonlyContext
    • eventActions

      public EventActions eventActions()
      Returns the EventActions associated with this context.
    • actions

      public EventActions actions()
      Returns the same EventActions as eventActions().
    • eventId

      public String eventId()
      Returns the ID of the event associated with this context, or null if there is none.
    • functionCallId

      public Optional<String> functionCallId()
      Returns the ID of the function call that invoked the current tool, if any.
    • functionCallId

      public void functionCallId(@Nullable String functionCallId)
      Sets the ID of the function call that invoked the current tool, or clears it if null.
    • toolConfirmation

      public Optional<ToolConfirmation> toolConfirmation()
      Returns the confirmation of the current tool call, if any.
    • toolConfirmation

      public void toolConfirmation(@Nullable ToolConfirmation toolConfirmation)
      Sets the confirmation of the current tool call, or clears it if null.
    • listArtifacts

      public io.reactivex.rxjava3.core.Single<List<String>> listArtifacts()
      Lists the filenames of the artifacts attached to the current session.
      Returns:
      the list of artifact filenames
    • loadArtifact

      public io.reactivex.rxjava3.core.Maybe<com.google.genai.types.Part> loadArtifact(String filename)
      Loads the latest version of an artifact from the service.
    • loadArtifact

      public io.reactivex.rxjava3.core.Maybe<com.google.genai.types.Part> loadArtifact(String filename, int version)
      Loads a specific version of an artifact from the service.
    • saveArtifact

      public io.reactivex.rxjava3.core.Completable saveArtifact(String filename, com.google.genai.types.Part artifact)
      Saves an artifact and records it as a delta for the current session.
      Parameters:
      filename - Artifact file name.
      artifact - Artifact content to save.
      Returns:
      a Completable that completes when the artifact is saved.
      Throws:
      IllegalStateException - if the artifact service is not initialized.
    • requestConfirmation

      public void requestConfirmation(@Nullable String hint, @Nullable Object payload)
      Requests confirmation for the current function call.
      Parameters:
      hint - A hint to the user on how to confirm the tool call.
      payload - The payload used to confirm the tool call.
      Throws:
      IllegalStateException - if this context has no function call ID.
    • requestConfirmation

      public void requestConfirmation(@Nullable String hint)
      Requests confirmation for the current function call.
      Parameters:
      hint - A hint to the user on how to confirm the tool call.
      Throws:
      IllegalStateException - if this context has no function call ID.
    • requestConfirmation

      public void requestConfirmation()
      Requests confirmation for the current function call.
      Throws:
      IllegalStateException - if this context has no function call ID.
    • searchMemory

      public io.reactivex.rxjava3.core.Single<SearchMemoryResponse> searchMemory(String query)
      Searches the memory of the current user.