audit

package
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2026 License: AGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuditEvent

type AuditEvent struct {
	ID        string    `gorm:"primaryKey"`
	CreatedAt time.Time `gorm:"autoCreateTime"`
	Agent     string
	Tool      string
	Operation string
	Targets   string // JSON array of entity/relation names
	Count     int
	Outcome   string // "ok" | "error"
	ErrorMsg  string
}

AuditEvent is persisted to the audit_events table.

type AuditFilter

type AuditFilter struct {
	Agent     string
	Tool      string
	Operation string
	Outcome   string
	Since     time.Time
	Limit     int
}

AuditFilter constrains Query results.

type AuditReader

type AuditReader interface {
	Query(ctx context.Context, f AuditFilter) ([]AuditEvent, int64, error)
	Summary(ctx context.Context, window time.Duration) (AuditSummary, error)
}

AuditReader is the read-only view used by MCP tools and HTTP handlers.

type AuditStore

type AuditStore interface {
	AuditWriter
	AuditReader
}

AuditStore is the full port implemented by internal/infra/db.

type AuditSummary

type AuditSummary struct {
	TotalMutations int
	ByAgent        map[string]int
	ByOperation    map[string]int
	ErrorRate      float64
	RiskyEvents    []AuditEvent
}

AuditSummary is returned by AuditReader.Summary.

type AuditWriter

type AuditWriter interface {
	Write(ctx context.Context, e AuditEvent) error
}

AuditWriter is the write-only view used by the audit logger decorator.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL