| import { Effect } from "effect" | |
| import { define } from "../internal" | |
| import { ProviderV2 } from "../../provider" | |
| export const XAIPlugin = define({ | |
| id: "xai", | |
| effect: Effect.fn(function* (ctx) { | |
| yield* ctx.aisdk.sdk( | |
| Effect.fn(function* (evt) { | |
| if (evt.package !== "@ai-sdk/xai") return | |
| const mod = yield* Effect.promise(() => import("@ai-sdk/xai")) | |
| evt.sdk = mod.createXai(evt.options) | |
| }), | |
| ) | |
| yield* ctx.aisdk.language( | |
| Effect.fn(function* (evt) { | |
| if (evt.model.providerID !== ProviderV2.ID.make("xai")) return | |
| evt.language = evt.sdk.responses(evt.model.api.id) | |
| }), | |
| ) | |
| }), | |
| }) | |