MCPcopy Create free account
hub / github.com/ByteYellow/AgentProvenance / runtimeFileEvents

Function runtimeFileEvents

internal/provenance/explain.go:764–782  ·  view source on GitHub ↗
(db *sql.DB, runID, filePath string)

Source from the content-addressed store, hash-verified

762}
763
764func runtimeFileEvents(db *sql.DB, runID, filePath string) ([]telemetry.EventRecord, error) {
765 events, err := telemetry.ListEventsFiltered(db, telemetry.Filter{RunID: runID})
766 if err != nil {
767 return nil, err
768 }
769 needle1 := fmt.Sprintf(`"path":"%s"`, filePath)
770 needle2 := fmt.Sprintf(`"file":"%s"`, filePath)
771 filtered := []telemetry.EventRecord{}
772 for _, event := range events {
773 if event.EventType != "file_write" && event.EventType != "file_open" {
774 continue
775 }
776 if !strings.Contains(event.Payload, needle1) && !strings.Contains(event.Payload, needle2) {
777 continue
778 }
779 filtered = append(filtered, event)
780 }
781 return filtered, nil
782}
783
784func explainEvents(runID string, events []telemetry.EventRecord) []ExplainEvent {
785 out := make([]ExplainEvent, 0, len(events))

Callers 2

BuildExplainFunction · 0.85
explainFileFunction · 0.85

Calls 1

ListEventsFilteredFunction · 0.92

Tested by

no test coverage detected