Procházet zdrojové kódy

fix(provider): support local file paths for custom providers (#4323)

sredfern před 3 měsíci
rodič
revize
736f8882f5
1 změnil soubory, kde provedl 9 přidání a 1 odebrání
  1. 9 1
      packages/opencode/src/provider/provider.ts

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

@@ -470,7 +470,15 @@ export namespace Provider {
       const key = Bun.hash.xxHash32(JSON.stringify({ pkg, options }))
       const key = Bun.hash.xxHash32(JSON.stringify({ pkg, options }))
       const existing = s.sdk.get(key)
       const existing = s.sdk.get(key)
       if (existing) return existing
       if (existing) return existing
-      const installedPath = await BunProc.install(pkg, "latest")
+      
+      let installedPath: string
+      if (!pkg.startsWith("file://")) {
+        installedPath = await BunProc.install(pkg, "latest")
+      } else {
+        log.info("loading local provider", { pkg })
+        installedPath = pkg
+      }
+      
       // The `google-vertex-anthropic` provider points to the `@ai-sdk/google-vertex` package.
       // The `google-vertex-anthropic` provider points to the `@ai-sdk/google-vertex` package.
       // Ref: https://github.com/sst/models.dev/blob/0a87de42ab177bebad0620a889e2eb2b4a5dd4ab/providers/google-vertex-anthropic/provider.toml
       // Ref: https://github.com/sst/models.dev/blob/0a87de42ab177bebad0620a889e2eb2b4a5dd4ab/providers/google-vertex-anthropic/provider.toml
       // However, the actual export is at the subpath `@ai-sdk/google-vertex/anthropic`.
       // However, the actual export is at the subpath `@ai-sdk/google-vertex/anthropic`.