Pārlūkot izejas kodu

fix: ensure copilot model list filters out disabled models

Aiden Cline 1 dienu atpakaļ
vecāks
revīzija
802534891c

+ 0 - 1
packages/opencode/src/plugin/github-copilot/copilot.ts

@@ -1,6 +1,5 @@
 import type { Hooks, PluginInput } from "@opencode-ai/plugin"
 import type { Model } from "@opencode-ai/sdk/v2"
-import { Installation } from "@/installation"
 import { InstallationVersion } from "@/installation/version"
 import { iife } from "@/util/iife"
 import { Log } from "../../util"

+ 8 - 1
packages/opencode/src/plugin/github-copilot/models.ts

@@ -11,6 +11,11 @@ export namespace CopilotModels {
         // every version looks like: `{model.id}-YYYY-MM-DD`
         version: z.string(),
         supported_endpoints: z.array(z.string()).optional(),
+        policy: z
+          .object({
+            state: z.string().optional(),
+          })
+          .optional(),
         capabilities: z.object({
           family: z.string(),
           limits: z.object({
@@ -123,7 +128,9 @@ export namespace CopilotModels {
     })
 
     const result = { ...existing }
-    const remote = new Map(data.data.filter((m) => m.model_picker_enabled).map((m) => [m.id, m] as const))
+    const remote = new Map(
+      data.data.filter((m) => m.model_picker_enabled && m.policy?.state !== "disabled").map((m) => [m.id, m] as const),
+    )
 
     // prune existing models whose api.id isn't in the endpoint response
     for (const [key, model] of Object.entries(result)) {