演示事件过滤
(ctx context.Context, service *session.InMemoryService, sessionID string)
| 186 | |
| 187 | // 演示事件过滤 |
| 188 | func 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 | // 演示会话列表 |
| 222 | func demonstrateSessionListing(ctx context.Context, service *session.InMemoryService) { |