Download packages/core/src/plugin/variant.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.44 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/core/src/plugin/variant.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/core/src/plugin/variant.ts
-
curl -L -o variant.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/core/src/plugin/variant.ts
1.44 kB
| export * as VariantPlugin from "./variant" | |
| import type { ModelV2Info } from "@opencode-ai/sdk/v2/types" | |
| import { Effect } from "effect" | |
| import { define } from "./internal" | |
| export const Plugin = define({ | |
| id: "variant", | |
| effect: Effect.fn(function* (ctx) { | |
| yield* ctx.catalog.transform((catalog) => { | |
| for (const record of catalog.provider.list()) { | |
| for (const model of record.models.values()) { | |
| catalog.model.update(model.providerID, model.id, (draft) => { | |
| const generated = generate(draft) | |
| if (generated.length === 0) return | |
| const explicit = new Map(draft.variants.map((variant) => [variant.id, variant])) | |
| const generatedIDs = new Set(generated.map((variant) => variant.id)) | |
| draft.variants = [ | |
| ...generated.map((variant) => explicit.get(variant.id) ?? variant), | |
| ...draft.variants.filter((variant) => !generatedIDs.has(variant.id)), | |
| ] | |
| }) | |
| } | |
| } | |
| }) | |
| }), | |
| }) | |
| export function generate(model: ModelV2Info): ModelV2Info["variants"] { | |
| if (model.api.type !== "aisdk" || model.api.package !== "@ai-sdk/openai-compatible") return [] | |
| const ids = `${model.id} ${model.api.id}`.toLowerCase() | |
| if (!["glm-5.2", "glm-5-2", "glm-5p2"].some((name) => ids.includes(name))) return [] | |
| return ["high", "max"].map((id) => ({ | |
| id, | |
| headers: {}, | |
| body: { reasoning_effort: id }, | |
| })) | |
| } | |