audithook

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SeverityInfo     = "info"
	SeverityWarning  = "warning"
	SeverityCritical = "critical"
)

Severity constants (mirror chronicle/audit).

View Source
const (
	OutcomeSuccess = "success"
	OutcomeFailure = "failure"
)

Outcome constants (mirror chronicle/audit).

View Source
const (
	ActionEvalRunStarted       = "sentinel.eval.run.started"
	ActionEvalRunCompleted     = "sentinel.eval.run.completed"
	ActionEvalRunFailed        = "sentinel.eval.run.failed"
	ActionCaseCompleted        = "sentinel.case.completed"
	ActionCaseFailed           = "sentinel.case.failed"
	ActionRegressionDetected   = "sentinel.regression.detected"
	ActionBaselineSaved        = "sentinel.baseline.saved"
	ActionRedTeamStarted       = "sentinel.redteam.started"
	ActionRedTeamCompleted     = "sentinel.redteam.completed"
	ActionPersonaEvalStarted   = "sentinel.persona.eval.started"
	ActionPersonaEvalCompleted = "sentinel.persona.eval.completed"
	ActionPromptVersionCreated = "sentinel.prompt.version.created"
	ActionComparisonCompleted  = "sentinel.comparison.completed"
)

Action constants.

View Source
const (
	ResourceRun           = "eval_run"
	ResourceCase          = "case"
	ResourceBaseline      = "baseline"
	ResourceRedTeam       = "redteam"
	ResourcePersona       = "persona"
	ResourcePromptVersion = "prompt_version"
	ResourceComparison    = "comparison"
)

Resource constants.

View Source
const (
	CategoryEval       = "eval"
	CategoryCase       = "case"
	CategoryRegression = "regression"
	CategoryBaseline   = "baseline"
	CategoryRedTeam    = "redteam"
	CategoryPersona    = "persona"
	CategoryPrompt     = "prompt"
	CategoryComparison = "comparison"
)

Category constants.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuditEvent

type AuditEvent struct {
	Action     string         `json:"action"`
	Resource   string         `json:"resource"`
	Category   string         `json:"category"`
	ResourceID string         `json:"resource_id,omitempty"`
	Metadata   map[string]any `json:"metadata,omitempty"`
	Outcome    string         `json:"outcome"`
	Severity   string         `json:"severity"`
	Reason     string         `json:"reason,omitempty"`
}

AuditEvent mirrors chronicle/audit.Event without a module dependency.

type Extension

type Extension struct {
	// contains filtered or unexported fields
}

Extension bridges Sentinel lifecycle events to an audit trail backend.

func New

func New(r Recorder, opts ...Option) *Extension

New creates an Extension that emits audit events through the provided Recorder.

func (*Extension) Name

func (e *Extension) Name() string

Name implements plugin.Extension.

func (*Extension) OnBaselineSaved

func (e *Extension) OnBaselineSaved(ctx context.Context, suiteID id.SuiteID, baselineID id.BaselineID) error

func (*Extension) OnCaseCompleted

func (e *Extension) OnCaseCompleted(ctx context.Context, runID id.EvalRunID, caseID id.CaseID, score float64, elapsed time.Duration) error

func (*Extension) OnCaseFailed

func (e *Extension) OnCaseFailed(ctx context.Context, runID id.EvalRunID, caseID id.CaseID, caseErr error) error

func (*Extension) OnComparisonCompleted

func (e *Extension) OnComparisonCompleted(ctx context.Context, suiteID id.SuiteID, models []string, elapsed time.Duration) error

func (*Extension) OnEvalRunCompleted

func (e *Extension) OnEvalRunCompleted(ctx context.Context, suiteID id.SuiteID, runID id.EvalRunID, passRate float64, elapsed time.Duration) error

func (*Extension) OnEvalRunFailed

func (e *Extension) OnEvalRunFailed(ctx context.Context, suiteID id.SuiteID, runID id.EvalRunID, runErr error) error

func (*Extension) OnEvalRunStarted

func (e *Extension) OnEvalRunStarted(ctx context.Context, suiteID id.SuiteID, runID id.EvalRunID, model string) error

func (*Extension) OnPersonaEvalCompleted

func (e *Extension) OnPersonaEvalCompleted(ctx context.Context, runID id.EvalRunID, personaName string, dimensions map[string]float64) error

func (*Extension) OnPersonaEvalStarted

func (e *Extension) OnPersonaEvalStarted(ctx context.Context, runID id.EvalRunID, personaName string) error

func (*Extension) OnPromptVersionCreated

func (e *Extension) OnPromptVersionCreated(ctx context.Context, suiteID id.SuiteID, pvID id.PromptVersionID, version int) error

func (*Extension) OnRedTeamCompleted

func (e *Extension) OnRedTeamCompleted(ctx context.Context, suiteID id.SuiteID, bypassCount int, elapsed time.Duration) error

func (*Extension) OnRedTeamStarted

func (e *Extension) OnRedTeamStarted(ctx context.Context, suiteID id.SuiteID, attackCount int) error

func (*Extension) OnRegressionDetected

func (e *Extension) OnRegressionDetected(ctx context.Context, suiteID id.SuiteID, baselineID id.BaselineID, delta float64) error

type Option

type Option func(*Extension)

Option configures an audit hook Extension.

func WithActions

func WithActions(actions ...string) Option

WithActions limits the extension to recording only the listed actions. By default all actions are recorded.

func WithLogger

func WithLogger(l log.Logger) Option

WithLogger sets the logger used for internal warnings.

type Recorder

type Recorder interface {
	Record(ctx context.Context, event *AuditEvent) error
}

Recorder is the interface that audit backends must implement. Matches chronicle.Emitter but defined locally to avoid the import.

type RecorderFunc

type RecorderFunc func(ctx context.Context, event *AuditEvent) error

RecorderFunc is an adapter to use a plain function as a Recorder.

func (RecorderFunc) Record

func (f RecorderFunc) Record(ctx context.Context, event *AuditEvent) error

Jump to

Keyboard shortcuts

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