feat: adding resume / event management primitives #813
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
feat: adding resume / event management primitives
This is a step towards implementing pause/resume/rewind. This change introduce several features related to resumability and event management within the Google ADK core.
Here's a summary of the changes:
InvocationContext.java:resumabilityConfig()is added to provide access to the invocation'sResumabilityConfig.populateAgentStates(ImmutableList<Event> events)is introduced to initialize or update theagentStatesandendOfAgentsmaps within theInvocationContextby processing events associated with the current invocation ID.EventActions.java:EventActionsclass now extendsJsonBaseModel.deletedArtifactIds(aSet<String>) is added to track artifacts that should be deleted. This field is included in JSON serialization/deserialization, equality checks, and theEventActions.Builder's merge logic.Event.java:finalResponse()logic is updated. Previously, an event withlongRunningToolIdswas always considered a final response. This check has been removed, meaning the presence oflongRunningToolIdsalone no longer makes an event afinalResponse.