From e21b1a436f05709daf1c6ef490ed4f2f7d58944b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Sep 2026 00:15:22 +0000 Subject: [PATCH 1/5] Bump the all group with 2 updates Bumps the all group with 2 updates: [github.com/anthropics/anthropic-sdk-go](https://github.com/anthropics/anthropic-sdk-go) and [github.com/openai/openai-go/v3](https://github.com/openai/openai-go). Updates `github.com/anthropics/anthropic-sdk-go` from 1.73.0 to 1.74.0 - [Release notes](https://github.com/anthropics/anthropic-sdk-go/releases) - [Changelog](https://github.com/anthropics/anthropic-sdk-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/anthropics/anthropic-sdk-go/compare/v1.73.0...v1.74.0) Updates `github.com/openai/openai-go/v3` from 3.61.0 to 3.63.1 - [Release notes](https://github.com/openai/openai-go/releases) - [Changelog](https://github.com/openai/openai-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/openai/openai-go/compare/v3.61.0...v3.63.1) --- updated-dependencies: - dependency-name: github.com/anthropics/anthropic-sdk-go dependency-version: 1.74.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all - dependency-name: github.com/openai/openai-go/v3 dependency-version: 3.63.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 0a9307b3..9dc64f4b 100644 --- a/go.mod +++ b/go.mod @@ -7,13 +7,13 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.1 github.com/a2aproject/a2a-go/v2 v2.5.0 github.com/ag-ui-protocol/ag-ui/sdks/community/go v0.0.0-20260312103001-8e7ab1df34c8 - github.com/anthropics/anthropic-sdk-go v1.73.0 + github.com/anthropics/anthropic-sdk-go v1.74.0 github.com/github/copilot-sdk/go v1.0.14 github.com/gofrs/flock v0.13.1 github.com/google/jsonschema-go v0.4.3 github.com/google/uuid v1.6.0 github.com/modelcontextprotocol/go-sdk v1.8.0 - github.com/openai/openai-go/v3 v3.61.0 + github.com/openai/openai-go/v3 v3.63.1 go.opentelemetry.io/otel v1.46.0 go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.46.0 go.opentelemetry.io/otel/metric v1.46.0 diff --git a/go.sum b/go.sum index 2cc359b8..1fc3c260 100644 --- a/go.sum +++ b/go.sum @@ -20,8 +20,8 @@ github.com/a2aproject/a2a-go/v2 v2.5.0 h1:ZdcFoxv+nZTUV0i2ue5hES76YCANFPG9vjqd7v github.com/a2aproject/a2a-go/v2 v2.5.0/go.mod h1:NcRp/ZHxgMzDj12/BteIC2gOjljuEBKaGRfEdJ2lNSI= github.com/ag-ui-protocol/ag-ui/sdks/community/go v0.0.0-20260312103001-8e7ab1df34c8 h1:gcgM2iVSJ+5v1Li2O2xBm8jdY9bIo0coZdOlXOd0uLU= github.com/ag-ui-protocol/ag-ui/sdks/community/go v0.0.0-20260312103001-8e7ab1df34c8/go.mod h1:ERAMOexUee4AIuoxksuuGoEcHl3aqLwaazjGwlR9ZCI= -github.com/anthropics/anthropic-sdk-go v1.73.0 h1:brLt0oVV6LH0YcG6O6G3pBnIVDJQ/QPoXul+OJHXEFc= -github.com/anthropics/anthropic-sdk-go v1.73.0/go.mod h1:x+lPk/cCl48uRegeP0hlYYBN1b7bEBTveInIMgLicnY= +github.com/anthropics/anthropic-sdk-go v1.74.0 h1:u6pcrBJHLJZb1Q6uziqQ5VLvAjh82sJrreWmABdOOas= +github.com/anthropics/anthropic-sdk-go v1.74.0/go.mod h1:x+lPk/cCl48uRegeP0hlYYBN1b7bEBTveInIMgLicnY= github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= github.com/buger/jsonparser v1.1.2 h1:frqHqw7otoVbk5M8LlE/L7HTnIq2v9RX6EJ48i9AxJk= @@ -73,8 +73,8 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/modelcontextprotocol/go-sdk v1.8.0 h1:KIvahhYqwtbeniWVPs3TcXEA7b8jEtwfBpOTAI+Urx4= github.com/modelcontextprotocol/go-sdk v1.8.0/go.mod h1:dL7u98E/zjJTGzEq+j30jQ8K2k1mb6LeAH4inEcSGts= -github.com/openai/openai-go/v3 v3.61.0 h1:nMLuGFdKBF0sB3qFVNwE8kpBpenVN1ucYRoKcx7E1u0= -github.com/openai/openai-go/v3 v3.61.0/go.mod h1:ufI1+K+t0ijRB3gk8eztiw1crcDpsBuxRQL4sbLIrts= +github.com/openai/openai-go/v3 v3.63.1 h1:/OiQNzBQAdbu7foAnYcS9iBauG4n53nyiVDHt5CU3KQ= +github.com/openai/openai-go/v3 v3.63.1/go.mod h1:dE39tezpSvL+SHpkZQm7XhSc8BOLDzu8CEh1mHc9MzU= github.com/pb33f/ordered-map/v2 v2.3.1 h1:5319HDO0aw4DA4gzi+zv4FXU9UlSs3xGZ40wcP1nBjY= github.com/pb33f/ordered-map/v2 v2.3.1/go.mod h1:qxFQgd0PkVUtOMCkTapqotNgzRhMPL7VvaHKbd1HnmQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= From a93f2765951385a3716f17b68584d4b56349e0ac Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 22 Sep 2026 04:35:50 +0000 Subject: [PATCH 2/5] Avoid deprecated OpenAI MCP connector field Co-authored-by: qmuntal <3747816+qmuntal@users.noreply.github.com> --- provider/openaiprovider/responses.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/openaiprovider/responses.go b/provider/openaiprovider/responses.go index 0f380ffc..69e8e00d 100644 --- a/provider/openaiprovider/responses.go +++ b/provider/openaiprovider/responses.go @@ -442,7 +442,7 @@ func responsesBuildCompletionParams(config AgentConfig, messages []*message.Mess if u, err := url.Parse(tl.ServerAddress); err == nil && (u.Scheme == "http" || u.Scheme == "https") { variant.ServerURL = openai.String(tl.ServerAddress) } else { - variant.ConnectorID = tl.ServerAddress + variant.SetExtraFields(map[string]any{"connector_id": tl.ServerAddress}) } if tl.ServerDescription != "" { variant.ServerDescription = openai.String(tl.ServerDescription) From c35148af70e956131fa289753cd0c4858668502b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 22 Sep 2026 04:37:55 +0000 Subject: [PATCH 3/5] Document MCP connector field escape hatch Co-authored-by: qmuntal <3747816+qmuntal@users.noreply.github.com> --- provider/openaiprovider/responses.go | 1 + 1 file changed, 1 insertion(+) diff --git a/provider/openaiprovider/responses.go b/provider/openaiprovider/responses.go index 69e8e00d..85dc871e 100644 --- a/provider/openaiprovider/responses.go +++ b/provider/openaiprovider/responses.go @@ -442,6 +442,7 @@ func responsesBuildCompletionParams(config AgentConfig, messages []*message.Mess if u, err := url.Parse(tl.ServerAddress); err == nil && (u.Scheme == "http" || u.Scheme == "https") { variant.ServerURL = openai.String(tl.ServerAddress) } else { + // ConnectorID is deprecated in the SDK, but connector_id is still supported on the wire. variant.SetExtraFields(map[string]any{"connector_id": tl.ServerAddress}) } if tl.ServerDescription != "" { From cfe8201568c3dd2e6e9ffad8a5b07a298113305f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 22 Sep 2026 04:39:37 +0000 Subject: [PATCH 4/5] Preserve OpenAI MCP extra fields when setting connector Co-authored-by: qmuntal <3747816+qmuntal@users.noreply.github.com> --- provider/openaiprovider/responses.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/provider/openaiprovider/responses.go b/provider/openaiprovider/responses.go index 85dc871e..5f0a5435 100644 --- a/provider/openaiprovider/responses.go +++ b/provider/openaiprovider/responses.go @@ -443,7 +443,12 @@ func responsesBuildCompletionParams(config AgentConfig, messages []*message.Mess variant.ServerURL = openai.String(tl.ServerAddress) } else { // ConnectorID is deprecated in the SDK, but connector_id is still supported on the wire. - variant.SetExtraFields(map[string]any{"connector_id": tl.ServerAddress}) + extraFields := variant.ExtraFields() + if extraFields == nil { + extraFields = map[string]any{} + } + extraFields["connector_id"] = tl.ServerAddress + variant.SetExtraFields(extraFields) } if tl.ServerDescription != "" { variant.ServerDescription = openai.String(tl.ServerDescription) From 63fe2a3030aa65cc3e02f8664df4d75d8a6d93d8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 22 Sep 2026 04:54:32 +0000 Subject: [PATCH 5/5] Stop serializing deprecated OpenAI MCP connector IDs Co-authored-by: qmuntal <3747816+qmuntal@users.noreply.github.com> --- provider/openaiprovider/responses.go | 17 ++--------------- provider/openaiprovider/responses_test.go | 4 ++-- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/provider/openaiprovider/responses.go b/provider/openaiprovider/responses.go index 5f0a5435..622b2781 100644 --- a/provider/openaiprovider/responses.go +++ b/provider/openaiprovider/responses.go @@ -432,23 +432,10 @@ func responsesBuildCompletionParams(config AgentConfig, messages []*message.Mess case *hostedtool.MCPServer: var variant responses.ToolMcpParam variant.ServerLabel = tl.ServerName - // The Responses API accepts either a server_url (a full HTTP(S) - // endpoint) or a connector_id (a bare service-connector identifier - // such as "connector_googledrive"); the two are mutually exclusive. - // url.Parse only errors on control-char/malformed input, so it - // cannot distinguish the two. Discriminate on an actual URL scheme - // instead, routing scheme-bearing addresses to server_url and bare - // connector IDs to connector_id. + // url.Parse only errors on control-char/malformed input, so only + // treat scheme-bearing HTTP(S) addresses as server_url values. if u, err := url.Parse(tl.ServerAddress); err == nil && (u.Scheme == "http" || u.Scheme == "https") { variant.ServerURL = openai.String(tl.ServerAddress) - } else { - // ConnectorID is deprecated in the SDK, but connector_id is still supported on the wire. - extraFields := variant.ExtraFields() - if extraFields == nil { - extraFields = map[string]any{} - } - extraFields["connector_id"] = tl.ServerAddress - variant.SetExtraFields(extraFields) } if tl.ServerDescription != "" { variant.ServerDescription = openai.String(tl.ServerDescription) diff --git a/provider/openaiprovider/responses_test.go b/provider/openaiprovider/responses_test.go index b364dbcd..4f92097f 100644 --- a/provider/openaiprovider/responses_test.go +++ b/provider/openaiprovider/responses_test.go @@ -3382,9 +3382,9 @@ func TestResponsesMCPServerToolAddressRouting(t *testing.T) { wantTool string }{ { - name: "bare connector id routes to connector_id", + name: "bare connector id is not serialized", serverAddress: "connector_googledrive", - wantTool: `{"type":"mcp","server_label":"drive","connector_id":"connector_googledrive"}`, + wantTool: `{"type":"mcp","server_label":"drive"}`, }, { name: "https url routes to server_url",