summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorVladimir Glafirov <[email protected]>2026-02-02 17:41:02 +0100
committerGitHub <[email protected]>2026-02-02 10:41:02 -0600
commitcf8b033be1cbe9f20bc0921d9920a66c0d95c704 (patch)
treee4671ce6696b55f42d23309f6d5f84c652f27bef /packages
parent1bd5dc5382cfa8b57dc470970bcdfa6a3dbd8dfb (diff)
downloadopencode-cf8b033be1cbe9f20bc0921d9920a66c0d95c704.tar.gz
opencode-cf8b033be1cbe9f20bc0921d9920a66c0d95c704.zip
feat(provider): add User-Agent header for GitLab AI Gateway requests (#11818)
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/package.json2
-rw-r--r--packages/opencode/src/provider/provider.ts11
2 files changed, 11 insertions, 2 deletions
diff --git a/packages/opencode/package.json b/packages/opencode/package.json
index c86aa734d..cc0e84d9f 100644
--- a/packages/opencode/package.json
+++ b/packages/opencode/package.json
@@ -70,7 +70,7 @@
"@ai-sdk/vercel": "1.0.33",
"@ai-sdk/xai": "2.0.56",
"@clack/prompts": "1.0.0-alpha.1",
- "@gitlab/gitlab-ai-provider": "3.3.1",
+ "@gitlab/gitlab-ai-provider": "3.4.0",
"@hono/standard-validator": "0.1.5",
"@hono/zod-validator": "catalog:",
"@modelcontextprotocol/sdk": "1.25.2",
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index e01c583ff..27a86a2fc 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/packages/opencode/src/provider/provider.ts
@@ -1,4 +1,5 @@
import z from "zod"
+import os from "os"
import fuzzysort from "fuzzysort"
import { Config } from "../config/config"
import { mapValues, mergeDeep, omit, pickBy, sortBy } from "remeda"
@@ -35,8 +36,9 @@ import { createGateway } from "@ai-sdk/gateway"
import { createTogetherAI } from "@ai-sdk/togetherai"
import { createPerplexity } from "@ai-sdk/perplexity"
import { createVercel } from "@ai-sdk/vercel"
-import { createGitLab } from "@gitlab/gitlab-ai-provider"
+import { createGitLab, VERSION as GITLAB_PROVIDER_VERSION } from "@gitlab/gitlab-ai-provider"
import { ProviderTransform } from "./transform"
+import { Installation } from "../installation"
export namespace Provider {
const log = Log.create({ service: "provider" })
@@ -424,11 +426,17 @@ export namespace Provider {
const config = await Config.get()
const providerConfig = config.provider?.["gitlab"]
+ const aiGatewayHeaders = {
+ "User-Agent": `opencode/${Installation.VERSION} gitlab-ai-provider/${GITLAB_PROVIDER_VERSION} (${os.platform()} ${os.release()}; ${os.arch()})`,
+ ...(providerConfig?.options?.aiGatewayHeaders || {}),
+ }
+
return {
autoload: !!apiKey,
options: {
instanceUrl,
apiKey,
+ aiGatewayHeaders,
featureFlags: {
duo_agent_platform_agentic_chat: true,
duo_agent_platform: true,
@@ -437,6 +445,7 @@ export namespace Provider {
},
async getModel(sdk: ReturnType<typeof createGitLab>, modelID: string) {
return sdk.agenticChat(modelID, {
+ aiGatewayHeaders,
featureFlags: {
duo_agent_platform_agentic_chat: true,
duo_agent_platform: true,