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

Method loadFailures

internal/daemon/memory_runtime.go:363–394  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

361}
362
363func (e *daemonMemoryExtractor) loadFailures() ([]extractorFailure, error) {
364 dir := strings.TrimSpace(e.failuresDir)
365 if dir == "" {
366 return []extractorFailure{}, nil
367 }
368 entries, err := os.ReadDir(dir)
369 if err != nil {
370 if errors.Is(err, os.ErrNotExist) {
371 return []extractorFailure{}, nil
372 }
373 return nil, fmt.Errorf("daemon: read memory extractor failures: %w", err)
374 }
375 failures := make([]extractorFailure, 0)
376 for _, entry := range entries {
377 if entry.IsDir() || !strings.HasSuffix(entry.Name(), ".json") {
378 continue
379 }
380 path := filepath.Join(dir, entry.Name())
381 failure, err := readExtractorFailure(path)
382 if err != nil {
383 return nil, err
384 }
385 failures = append(failures, failure)
386 }
387 slices.SortFunc(failures, func(a, b extractorFailure) int {
388 if !a.Payload.CreatedAt.Equal(b.Payload.CreatedAt) {
389 return a.Payload.CreatedAt.Compare(b.Payload.CreatedAt)
390 }
391 return strings.Compare(a.Payload.ID, b.Payload.ID)
392 })
393 return failures, nil
394}
395
396func (e *daemonMemoryExtractor) nowUTC() time.Time {
397 if e != nil && e.now != nil {

Callers 3

ListFailuresMethod · 0.95
RetryMethod · 0.95
failureCountMethod · 0.95

Calls 4

readExtractorFailureFunction · 0.85
appendFunction · 0.85
NameMethod · 0.65
IsMethod · 0.45

Tested by

no test coverage detected