Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions circuitbreaker/circuitbreaker.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func (p *ProviderCircuitBreakers) openErrorResponse() []byte {
func (p *ProviderCircuitBreakers) Get(endpoint, model string) *gobreaker.CircuitBreaker[struct{}] {
key := endpoint + ":" + model
if v, ok := p.breakers.Load(key); ok {
return v.(*gobreaker.CircuitBreaker[struct{}])
return v.(*gobreaker.CircuitBreaker[struct{}]) //nolint:forcetypeassert // sync.Map always stores this type
}

settings := gobreaker.Settings{
Expand All @@ -97,7 +97,7 @@ func (p *ProviderCircuitBreakers) Get(endpoint, model string) *gobreaker.Circuit

cb := gobreaker.NewCircuitBreaker[struct{}](settings)
actual, _ := p.breakers.LoadOrStore(key, cb)
return actual.(*gobreaker.CircuitBreaker[struct{}])
return actual.(*gobreaker.CircuitBreaker[struct{}]) //nolint:forcetypeassert // sync.Map always stores this type
}

// statusCapturingWriter wraps http.ResponseWriter to capture the status code.
Expand Down
4 changes: 2 additions & 2 deletions intercept/apidump/apidump.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ func (d *dumper) dumpRequest(req *http.Request) error {
buf.Write(prettyBody)
buf.WriteByte('\n')

return os.WriteFile(dumpPath, buf.Bytes(), 0o644)
return os.WriteFile(dumpPath, buf.Bytes(), 0o644) //nolint:gosec // https://github.com/coder/aibridge/pull/256#discussion_r3072143983
}

func (d *dumper) dumpResponse(resp *http.Response) error {
Expand All @@ -132,7 +132,7 @@ func (d *dumper) dumpResponse(resp *http.Response) error {

if resp.Body == nil {
// No body, just write headers
return os.WriteFile(dumpPath, headerBuf.Bytes(), 0o644)
return os.WriteFile(dumpPath, headerBuf.Bytes(), 0o644) //nolint:gosec // https://github.com/coder/aibridge/pull/256#discussion_r3072143983
}

// Wrap the response body to capture it as it streams
Expand Down
4 changes: 2 additions & 2 deletions intercept/chatcompletions/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@ func (i *interceptionBase) Credential() intercept.CredentialInfo {
return i.credential
}

func (i *interceptionBase) Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier) {
func (i *interceptionBase) Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.logger = logger
i.recorder = recorder
i.recorder = rec
i.mcpProxy = mcpProxy
}

Expand Down
4 changes: 2 additions & 2 deletions intercept/chatcompletions/blocking.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ func NewBlockingInterceptor(
}}
}

func (i *BlockingInterception) Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.interceptionBase.Setup(logger.Named("blocking"), recorder, mcpProxy)
func (i *BlockingInterception) Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.interceptionBase.Setup(logger.Named("blocking"), rec, mcpProxy)
}

func (*BlockingInterception) Streaming() bool {
Expand Down
4 changes: 2 additions & 2 deletions intercept/chatcompletions/streaming.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ func NewStreamingInterceptor(
}}
}

func (i *StreamingInterception) Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.interceptionBase.Setup(logger.Named("streaming"), recorder, mcpProxy)
func (i *StreamingInterception) Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.interceptionBase.Setup(logger.Named("streaming"), rec, mcpProxy)
}

func (*StreamingInterception) Streaming() bool {
Expand Down
2 changes: 1 addition & 1 deletion intercept/interceptor.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ type Interceptor interface {
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)
Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier)
// Model returns the model in use for this [Interceptor].
Model() string
// ProcessRequest handles the HTTP request.
Expand Down
4 changes: 2 additions & 2 deletions intercept/messages/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ func (i *interceptionBase) Credential() intercept.CredentialInfo {
return i.credential
}

func (i *interceptionBase) Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier) {
func (i *interceptionBase) Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.logger = logger
i.recorder = recorder
i.recorder = rec
i.mcpProxy = mcpProxy
}

Expand Down
4 changes: 2 additions & 2 deletions intercept/messages/blocking.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ func NewBlockingInterceptor(
}}
}

func (i *BlockingInterception) Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.interceptionBase.Setup(logger.Named("blocking"), recorder, mcpProxy)
func (i *BlockingInterception) Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.interceptionBase.Setup(logger.Named("blocking"), rec, mcpProxy)
}

func (i *BlockingInterception) TraceAttributes(r *http.Request) []attribute.KeyValue {
Expand Down
4 changes: 2 additions & 2 deletions intercept/messages/streaming.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ func NewStreamingInterceptor(
}}
}

func (i *StreamingInterception) Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.interceptionBase.Setup(logger.Named("streaming"), recorder, mcpProxy)
func (i *StreamingInterception) Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.interceptionBase.Setup(logger.Named("streaming"), rec, mcpProxy)
}

func (*StreamingInterception) Streaming() bool {
Expand Down
4 changes: 2 additions & 2 deletions intercept/responses/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,9 @@ func (i *responsesInterceptionBase) Credential() intercept.CredentialInfo {
return i.credential
}

func (i *responsesInterceptionBase) Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier) {
func (i *responsesInterceptionBase) Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.logger = logger.With(slog.F("model", i.Model()))
i.recorder = recorder
i.recorder = rec
i.mcpProxy = mcpProxy
}

Expand Down
4 changes: 2 additions & 2 deletions intercept/responses/blocking.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ func NewBlockingInterceptor(
}
}

func (i *BlockingResponsesInterceptor) Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.responsesInterceptionBase.Setup(logger.Named("blocking"), recorder, mcpProxy)
func (i *BlockingResponsesInterceptor) Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.responsesInterceptionBase.Setup(logger.Named("blocking"), rec, mcpProxy)
}

func (*BlockingResponsesInterceptor) Streaming() bool {
Expand Down
4 changes: 2 additions & 2 deletions intercept/responses/streaming.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ func NewStreamingInterceptor(
}
}

func (i *StreamingResponsesInterceptor) Setup(logger slog.Logger, recorder recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.responsesInterceptionBase.Setup(logger.Named("streaming"), recorder, mcpProxy)
func (i *StreamingResponsesInterceptor) Setup(logger slog.Logger, rec recorder.Recorder, mcpProxy mcp.ServerProxier) {
i.responsesInterceptionBase.Setup(logger.Named("streaming"), rec, mcpProxy)
}

func (*StreamingResponsesInterceptor) Streaming() bool {
Expand Down
6 changes: 3 additions & 3 deletions internal/integrationtest/apidump_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,12 +119,12 @@ func TestAPIDump(t *testing.T) {

// Setup mock upstream server.
fix := fixtures.Parse(t, tc.fixture)
srv := newMockUpstream(t, ctx, newFixtureResponse(fix))
srv := newMockUpstream(ctx, t, newFixtureResponse(fix))

// Create temp dir for API dumps.
dumpDir := t.TempDir()

bridgeServer := newBridgeTestServer(t, ctx, srv.URL,
bridgeServer := newBridgeTestServer(ctx, t, srv.URL,
withCustomProvider(tc.providerFunc(srv.URL, dumpDir)),
)

Expand Down Expand Up @@ -252,7 +252,7 @@ func TestAPIDumpPassthrough(t *testing.T) {

dumpDir := t.TempDir()

bridgeServer := newBridgeTestServer(t, ctx, upstream.URL,
bridgeServer := newBridgeTestServer(ctx, t, upstream.URL,
withCustomProvider(tc.providerFunc(upstream.URL, dumpDir)),
)

Expand Down
Loading
Loading