MCPcopy Create free account
hub / github.com/compozy/agh / memoryEventWorkspaces

Method memoryEventWorkspaces

internal/observe/query.go:56–94  ·  view source on GitHub ↗
(ctx context.Context, workspaceID string)

Source from the content-addressed store, hash-verified

54}
55
56func (o *Observer) memoryEventWorkspaces(ctx context.Context, workspaceID string) ([]string, error) {
57 if o.workspaceResolver == nil {
58 return nil, nil
59 }
60 if trimmedWorkspaceID := strings.TrimSpace(workspaceID); trimmedWorkspaceID != "" {
61 resolved, err := o.workspaceResolver.Resolve(ctx, trimmedWorkspaceID)
62 if err != nil {
63 return nil, fmt.Errorf("observe: resolve memory event workspace %q: %w", trimmedWorkspaceID, err)
64 }
65 if root := strings.TrimSpace(resolved.RootDir); root != "" {
66 return []string{root}, nil
67 }
68 return nil, nil
69 }
70 sessions, err := o.registry.ListSessions(ctx, store.SessionListQuery{})
71 if err != nil {
72 return nil, fmt.Errorf("observe: list sessions for memory event workspaces: %w", err)
73 }
74 seen := make(map[string]struct{})
75 workspaces := make([]string, 0, len(sessions))
76 for _, session := range sessions {
77 workspaceID := strings.TrimSpace(session.WorkspaceID)
78 if workspaceID == "" {
79 continue
80 }
81 if _, exists := seen[workspaceID]; exists {
82 continue
83 }
84 seen[workspaceID] = struct{}{}
85 resolved, err := o.workspaceResolver.Resolve(ctx, workspaceID)
86 if err != nil {
87 return nil, fmt.Errorf("observe: resolve memory event workspace %q: %w", workspaceID, err)
88 }
89 if root := strings.TrimSpace(resolved.RootDir); root != "" {
90 workspaces = append(workspaces, root)
91 }
92 }
93 return workspaces, nil
94}
95
96func filterRegistryMemoryEvents(events []store.EventSummary) []store.EventSummary {
97 filtered := events[:0]

Callers 1

QueryEventsMethod · 0.95

Implementers 2

Observerinternal/observe/observer.go
fakeObserverinternal/daemon/daemon_test.go

Calls 3

appendFunction · 0.85
ResolveMethod · 0.65
ListSessionsMethod · 0.65

Tested by

no test coverage detected