Skip to content

Add EventCompaction support to EventActions and compaction filtering in contents_processor.go #1001

@yashrajshuklaaa

Description

@yashrajshuklaaa

Is your feature request related to a specific problem?

Yes. I'm working on adding compaction support to kagent's Go ADK runtime to match the existing Python ADK behavior. The Go ADK has no compaction primitives at all
I checked every released version from v0.1.0 to v1.4.0.
EventActions has no Compaction field and contents_processor.go has no filtering step for compaction markers.
Without these primitives , after a compaction runs the raw events stay in the backing store and get re-sent to the LLM on every subsequent request, which defeats the purpose of compaction entirely.

Proposed Solution

Three things need to be added to mirror what Python ADK already does in events/event_actions.py, apps/compaction.py and flows/llm_flows/contents.py -

  • An EventCompaction struct in session/session.go carrying the compacted time range and compacted content

  • A Compaction field on EventActions to hold the marker

  • Compaction filtering in internal/llminternal/contents_processor.go when building LLM contents raw events whose timestamps fall within a compaction marker's range should be replaced by the marker's compacted content

Impact on your work

This is blocking a PR I have open at kagent (#1971) to add Go-runtime compaction. The kagent maintainer specifically pointed out that without these primitives the implementation cannot match Python ADK semantics. Compaction is important for long-running agents so the sooner the better though no hard deadline.

Willingness to contribute

Yes happy to submit a PR
Just wanted to check with maintainers first before touching core session and flow internals.

Additional Context

Related downstream PR: kagent #1971
this is what is blocked on this feature.

Metadata

Metadata

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions