Files
stanp-opencode/tests/fixtures/native-agents-plugin.ts
T
2026-10-10 15:00:15 +02:00

28 lines
1.1 KiB
TypeScript

import { Plugin, Model, Provider } from "@opencode/plugin/effect";
import { fromPromise } from "@opencode/plugin/promise/adapter";
import { Effect } from "effect";
import agents from "../../src/agents/agents.js";
export default Plugin.define({
id: agents.id,
effect: (context) =>
Effect.gen(function* () {
const providerID = Provider.ID.make("fixture");
yield* context.provider.transform((editor) =>
editor.add({
info: {
...Provider.Info.empty(providerID),
name: "Isolated fixture",
activation: "enabled",
package: "@opencode/ai/providers/openai-compatible",
settings: { baseURL: process.env.FIXTURE_MODEL_URL! },
},
models: ["gpt-6-luna", "gpt-6.1-sol", "gpt-6-astra"].map((id) =>
Model.Info.default(providerID, Model.ID.make(id)),
),
}),
);
yield* fromPromise(agents).effect({ ...context, options: { provider: "fixture" } });
}),
});