MCPcopy Create free account
hub / github.com/astercloud/aster / demonstrateEventFiltering

Function demonstrateEventFiltering

examples/session/main.go:188–219  ·  view source on GitHub ↗

演示事件过滤

(ctx context.Context, service *session.InMemoryService, sessionID string)

Source from the content-addressed store, hash-verified

186
187// 演示事件过滤
188func demonstrateEventFiltering(ctx context.Context, service *session.InMemoryService, sessionID string) {
189 fmt.Println("🔍 Event Filtering Demo")
190 fmt.Println("=======================")
191
192 // 按作者过滤
193 filter := &session.EventFilter{
194 Author: "agent-001",
195 Limit: 10,
196 }
197
198 events, err := service.GetEvents(ctx, sessionID, filter)
199 if err != nil {
200 log.Printf("Error filtering events: %v", err)
201 return
202 }
203
204 fmt.Printf("\n📋 Agent events (filtered): %d\n", len(events))
205 for _, evt := range events {
206 fmt.Printf(" - %s: %s\n", evt.ID, evt.Content.Content)
207 }
208
209 // 按时间范围过滤
210 startTime := time.Now().Add(-1 * time.Hour)
211 endTime := time.Now()
212 timeFilter := &session.EventFilter{
213 StartTime: &startTime,
214 EndTime: &endTime,
215 }
216
217 events, _ = service.GetEvents(ctx, sessionID, timeFilter)
218 fmt.Printf("\n📅 Events in last hour: %d\n\n", len(events))
219}
220
221// 演示会话列表
222func demonstrateSessionListing(ctx context.Context, service *session.InMemoryService) {

Callers 1

mainFunction · 0.85

Calls 3

PrintfMethod · 0.80
GetEventsMethod · 0.65
AddMethod · 0.65

Tested by

no test coverage detected