Documentation
¶
Overview ¶
Package relay_hook bridges Nexus lifecycle events to webhook notifications. When registered as an extension, it captures lifecycle events and forwards them as typed events to a configurable webhook endpoint.
Index ¶
- type Event
- type EventType
- type Extension
- func (e *Extension) Name() string
- func (e *Extension) OnBudgetExceeded(ctx context.Context, tenantID id.TenantID) error
- func (e *Extension) OnBudgetWarning(ctx context.Context, tenantID id.TenantID, usedPct float64) error
- func (e *Extension) OnCircuitOpened(ctx context.Context, providerName string) error
- func (e *Extension) OnFallbackTriggered(ctx context.Context, from, to string) error
- func (e *Extension) OnGuardrailBlocked(ctx context.Context, guardName string, requestID id.RequestID) error
- func (e *Extension) OnKeyCreated(ctx context.Context, keyID id.KeyID, tenantID id.TenantID) error
- func (e *Extension) OnKeyRevoked(ctx context.Context, keyID id.KeyID) error
- func (e *Extension) OnProviderFailed(ctx context.Context, providerName, model string, err error) error
- func (e *Extension) OnRequestCached(ctx context.Context, requestID id.RequestID, model string) error
- func (e *Extension) OnRequestCompleted(ctx context.Context, requestID id.RequestID, model, providerName string, ...) error
- func (e *Extension) OnRequestFailed(ctx context.Context, requestID id.RequestID, model string, err error) error
- func (e *Extension) OnRequestReceived(ctx context.Context, requestID id.RequestID, model, tenantID string) error
- func (e *Extension) OnStreamCompleted(ctx context.Context, requestID id.RequestID, model, providerName string, ...) error
- func (e *Extension) OnStreamFailed(ctx context.Context, requestID id.RequestID, model string, err error) error
- func (e *Extension) OnStreamStarted(ctx context.Context, requestID id.RequestID, model, providerName string) error
- func (e *Extension) OnTenantCreated(ctx context.Context, tenantID id.TenantID) error
- func (e *Extension) OnTenantDisabled(ctx context.Context, tenantID id.TenantID) error
- type Option
- type Sender
- type SenderFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Event ¶
type Event struct {
Type EventType `json:"type"`
Timestamp time.Time `json:"timestamp"`
Data map[string]any `json:"data"`
}
Event is a relay webhook event payload.
type EventType ¶
type EventType string
EventType identifies the kind of lifecycle event.
const ( // Request events EventRequestReceived EventType = "request.received" EventRequestCompleted EventType = "request.completed" EventRequestFailed EventType = "request.failed" EventRequestCached EventType = "request.cached" // Provider events EventProviderFailed EventType = "provider.failed" EventCircuitOpened EventType = "circuit.opened" EventFallbackTriggered EventType = "fallback.triggered" // Guardrail events EventGuardrailBlocked EventType = "guardrail.blocked" EventGuardrailRedacted EventType = "guardrail.redacted" // Tenant events EventTenantCreated EventType = "tenant.created" EventTenantDisabled EventType = "tenant.disabled" // Key events EventKeyCreated EventType = "key.created" EventKeyRevoked EventType = "key.revoked" // Budget events EventBudgetWarning EventType = "budget.warning" EventBudgetExceeded EventType = "budget.exceeded" // Stream events EventStreamStarted EventType = "stream.started" EventStreamCompleted EventType = "stream.completed" EventStreamFailed EventType = "stream.failed" )
type Extension ¶
type Extension struct {
// contains filtered or unexported fields
}
Extension is the relay webhook extension.
func NewWebhook ¶
NewWebhook creates a relay extension that POSTs events to a URL.
func (*Extension) OnBudgetExceeded ¶
func (*Extension) OnBudgetWarning ¶
func (*Extension) OnCircuitOpened ¶
func (*Extension) OnFallbackTriggered ¶
func (*Extension) OnGuardrailBlocked ¶
func (*Extension) OnKeyCreated ¶
func (*Extension) OnKeyRevoked ¶
func (*Extension) OnProviderFailed ¶
func (*Extension) OnRequestCached ¶
func (*Extension) OnRequestCompleted ¶
func (*Extension) OnRequestFailed ¶
func (*Extension) OnRequestReceived ¶
func (*Extension) OnStreamCompleted ¶
func (*Extension) OnStreamFailed ¶
func (*Extension) OnStreamStarted ¶
func (*Extension) OnTenantCreated ¶
Click to show internal directories.
Click to hide internal directories.