Interface BaseArtifactService
- All Known Implementing Classes:
GcsArtifactService, InMemoryArtifactService
public interface BaseArtifactService
Base interface for artifact services.
-
Method Summary
Modifier and TypeMethodDescriptionio.reactivex.rxjava3.core.CompletabledeleteArtifact(String appName, String userId, String sessionId, String filename) Deletes an artifact.io.reactivex.rxjava3.core.Single<ListArtifactsResponse> listArtifactKeys(String appName, String userId, String sessionId) Lists all the artifact filenames within a session.io.reactivex.rxjava3.core.Single<com.google.common.collect.ImmutableList<Integer>> listVersions(String appName, String userId, String sessionId, String filename) Lists all the versions (as revision IDs) of an artifact.default io.reactivex.rxjava3.core.Maybe<com.google.genai.types.Part> loadArtifact(String appName, String userId, String sessionId, String filename) Loads the latest version of an artifact from the service.default io.reactivex.rxjava3.core.Maybe<com.google.genai.types.Part> loadArtifact(String appName, String userId, String sessionId, String filename, int version) Loads a specific version of an artifact from the service.io.reactivex.rxjava3.core.Maybe<com.google.genai.types.Part> loadArtifact(String appName, String userId, String sessionId, String filename, Optional<Integer> version) Deprecated.default io.reactivex.rxjava3.core.Single<com.google.genai.types.Part> saveAndReloadArtifact(String appName, String userId, String sessionId, String filename, com.google.genai.types.Part artifact) Saves an artifact and returns it with fileData if available.io.reactivex.rxjava3.core.Single<Integer> saveArtifact(String appName, String userId, String sessionId, String filename, com.google.genai.types.Part artifact) Saves an artifact.
-
Method Details
-
saveArtifact
io.reactivex.rxjava3.core.Single<Integer> saveArtifact(String appName, String userId, String sessionId, String filename, com.google.genai.types.Part artifact) Saves an artifact.- Parameters:
appName- the app nameuserId- the user IDsessionId- the session IDfilename- the filenameartifact- the artifact- Returns:
- the revision ID (version) of the saved artifact.
-
saveAndReloadArtifact
default io.reactivex.rxjava3.core.Single<com.google.genai.types.Part> saveAndReloadArtifact(String appName, String userId, String sessionId, String filename, com.google.genai.types.Part artifact) Saves an artifact and returns it with fileData if available.Implementations should override this default method for efficiency, as the default performs two I/O operations (save then load).
- Parameters:
appName- the app nameuserId- the user IDsessionId- the session IDfilename- the filenameartifact- the artifact to save- Returns:
- the saved artifact with fileData if available.
-
loadArtifact
-
loadArtifact
-
loadArtifact
-
listArtifactKeys
io.reactivex.rxjava3.core.Single<ListArtifactsResponse> listArtifactKeys(String appName, String userId, String sessionId) Lists all the artifact filenames within a session.- Parameters:
appName- the app nameuserId- the user IDsessionId- the session ID- Returns:
- the list artifact response containing filenames
-
deleteArtifact
-
listVersions
io.reactivex.rxjava3.core.Single<com.google.common.collect.ImmutableList<Integer>> listVersions(String appName, String userId, String sessionId, String filename) Lists all the versions (as revision IDs) of an artifact.- Parameters:
appName- the app nameuserId- the user IDsessionId- the session IDfilename- the artifact filename- Returns:
- A list of integer version numbers.
-
loadArtifact(String, String, String, String)orloadArtifact(String, String, String, String, int)instead.