summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-06-18 10:35:41 -0400
committerDax Raad <[email protected]>2025-06-18 10:35:41 -0400
commitae4d089c0682ef322f91baa5017e49817bfcce33 (patch)
treeb4f16b38c3dd34dacffff972bd5924b403d1c7b6
parent5110fbdaf9c988e2594b583dc1bbbf1047faf43a (diff)
downloadopencode-ae4d089c0682ef322f91baa5017e49817bfcce33.tar.gz
opencode-ae4d089c0682ef322f91baa5017e49817bfcce33.zip
remove call to npm causing noticible delay when starting chat
-rw-r--r--packages/opencode/src/provider/models.ts26
-rw-r--r--packages/opencode/src/provider/provider.ts4
2 files changed, 1 insertions, 29 deletions
diff --git a/packages/opencode/src/provider/models.ts b/packages/opencode/src/provider/models.ts
index e043ab9f9..b53a69830 100644
--- a/packages/opencode/src/provider/models.ts
+++ b/packages/opencode/src/provider/models.ts
@@ -64,30 +64,4 @@ export namespace ModelsDev {
throw new Error(`Failed to fetch models.dev: ${result.statusText}`)
await Bun.write(file, result)
}
-
- const aisdk = lazy(async () => {
- log.info("fetching ai-sdk")
- const response = await fetch(
- "https://registry.npmjs.org/-/v1/search?text=scope:@ai-sdk",
- )
- if (!response.ok)
- throw new Error(
- `Failed to fetch ai-sdk information: ${response.statusText}`,
- )
- const result = await response.json()
- log.info("found ai-sdk", result.objects.length)
- return result.objects
- .filter((obj: any) => obj.package.name.startsWith("@ai-sdk/"))
- .reduce((acc: any, obj: any) => {
- acc[obj.package.name] = obj
- return acc
- }, {})
- })
-
- export async function pkg(providerID: string): Promise<[string, string]> {
- const packages = await aisdk()
- const match = packages[`@ai-sdk/${providerID}`]
- if (match) return [match.package.name, "latest"]
- return [providerID, "latest"]
- }
}
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index c155891e8..8119bc09a 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/packages/opencode/src/provider/provider.ts
@@ -43,9 +43,7 @@ export namespace Provider {
for (const model of Object.values(provider.models)) {
model.cost = {
input: 0,
- inputCached: 0,
output: 0,
- outputCached: 0,
}
}
return {
@@ -234,7 +232,7 @@ export namespace Provider {
const s = await state()
const existing = s.sdk.get(provider.id)
if (existing) return existing
- const [pkg, version] = await ModelsDev.pkg(provider.npm ?? provider.id)
+ const [pkg, version] = provider.npm ?? provider.id
const mod = await import(await BunProc.install(pkg, version))
const fn = mod[Object.keys(mod).find((key) => key.startsWith("create"))!]
const loaded = fn(s.providers[provider.id]?.options)