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

Method QueryTaskInbox

internal/observe/tasks.go:564–591  ·  view source on GitHub ↗

QueryTaskInbox returns the observer-backed aggregate task inbox view for one actor.

(
	ctx context.Context,
	query TaskInboxQuery,
	actor taskpkg.ActorIdentity,
)

Source from the content-addressed store, hash-verified

562
563// QueryTaskInbox returns the observer-backed aggregate task inbox view for one actor.
564func (o *Observer) QueryTaskInbox(
565 ctx context.Context,
566 query TaskInboxQuery,
567 actor taskpkg.ActorIdentity,
568) (TaskInboxView, error) {
569 if ctx == nil {
570 return TaskInboxView{}, errors.New("observe: task inbox context is required")
571 }
572 if err := query.Validate(); err != nil {
573 return TaskInboxView{}, err
574 }
575
576 normalizedActor, err := normalizeTaskInboxActor(actor)
577 if err != nil {
578 return TaskInboxView{}, err
579 }
580
581 snapshot, err := o.loadTaskSnapshot(ctx, query.summaryQuery())
582 if err != nil {
583 return TaskInboxView{}, err
584 }
585 triageStates, err := o.registry.ListTaskTriageStates(ctx, normalizedActor)
586 if err != nil {
587 return TaskInboxView{}, fmt.Errorf("observe: list task triage states: %w", err)
588 }
589
590 return taskInboxFromSnapshot(snapshot, triageStates, query, normalizedActor), nil
591}
592
593func (o *Observer) collectTaskHealth(ctx context.Context) (TaskHealth, error) {
594 if ctx == nil {

Callers

nothing calls this directly

Implementers 2

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

Calls 6

loadTaskSnapshotMethod · 0.95
normalizeTaskInboxActorFunction · 0.85
taskInboxFromSnapshotFunction · 0.85
ValidateMethod · 0.65
ListTaskTriageStatesMethod · 0.65
summaryQueryMethod · 0.45

Tested by

no test coverage detected