Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ActorHeadersAsAnthropicOpts ¶
func ActorHeadersAsAnthropicOpts(actor *context.Actor) []ant_option.RequestOption
ActorHeadersAsAnthropicOpts produces a slice of headers using Anthropic's RequestOption type.
func ActorHeadersAsOpenAIOpts ¶
func ActorHeadersAsOpenAIOpts(actor *context.Actor) []oai_option.RequestOption
ActorHeadersAsOpenAIOpts produces a slice of headers using OpenAI's RequestOption type.
func ActorIDHeader ¶
func ActorIDHeader() string
func ActorMetadataHeader ¶
func IsActorHeader ¶
Types ¶
type Interceptor ¶
type Interceptor interface {
// ID returns the unique identifier for this interception.
ID() uuid.UUID
// Setup injects some required dependencies. This MUST be called before using the interceptor
// to process requests.
Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier)
// Model returns the model in use for this [Interceptor].
Model() string
// ProcessRequest handles the HTTP request.
ProcessRequest(w http.ResponseWriter, r *http.Request) error
// Specifies whether an interceptor handles streaming or not.
Streaming() bool
// TraceAttributes returns tracing attributes for this [Interceptor]
TraceAttributes(*http.Request) []attribute.KeyValue
}
Interceptor describes a (potentially) stateful interaction with an AI provider.
Click to show internal directories.
Click to hide internal directories.