ソースを参照

feat(gitlab): send context-1m-2025-08-07 beta header to enable 1M context window (#16153)

Co-authored-by: Aiden Cline <[email protected]>
Armin Pašalić 1 ヶ月 前
コミット
ef9bc4ec9e

+ 1 - 0
packages/opencode/src/provider/provider.ts

@@ -480,6 +480,7 @@ export namespace Provider {
 
       const aiGatewayHeaders = {
         "User-Agent": `opencode/${Installation.VERSION} gitlab-ai-provider/${GITLAB_PROVIDER_VERSION} (${os.platform()} ${os.release()}; ${os.arch()})`,
+        "anthropic-beta": "context-1m-2025-08-07",
         ...(providerConfig?.options?.aiGatewayHeaders || {}),
       }
 

+ 24 - 0
packages/opencode/test/provider/gitlab-duo.test.ts

@@ -198,6 +198,30 @@ test("GitLab Duo: config apiKey takes precedence over environment variable", asy
   })
 })
 
+test("GitLab Duo: includes context-1m beta header in aiGatewayHeaders", async () => {
+  await using tmp = await tmpdir({
+    init: async (dir) => {
+      await Bun.write(
+        path.join(dir, "opencode.json"),
+        JSON.stringify({
+          $schema: "https://opencode.ai/config.json",
+        }),
+      )
+    },
+  })
+  await Instance.provide({
+    directory: tmp.path,
+    init: async () => {
+      Env.set("GITLAB_TOKEN", "test-token")
+    },
+    fn: async () => {
+      const providers = await Provider.list()
+      expect(providers["gitlab"]).toBeDefined()
+      expect(providers["gitlab"].options?.aiGatewayHeaders?.["anthropic-beta"]).toContain("context-1m-2025-08-07")
+    },
+  })
+})
+
 test("GitLab Duo: supports feature flags configuration", async () => {
   await using tmp = await tmpdir({
     init: async (dir) => {