| 123456789101112131415161718192021222324252627282930313233 |
- import { describe, expect } from "bun:test"
- import { Effect, Layer } from "effect"
- import { AgentV2 } from "@opencode-ai/core/agent"
- import { FSUtil } from "@opencode-ai/core/fs-util"
- import { SkillPlugin } from "@opencode-ai/core/plugin/skill"
- import { SkillV2 } from "@opencode-ai/core/skill"
- import { SkillDiscovery } from "@opencode-ai/core/skill/discovery"
- import { testEffect } from "../lib/effect"
- import { host } from "./host"
- const it = testEffect(
- SkillV2.layer.pipe(
- Layer.provide(FSUtil.defaultLayer),
- Layer.provide(SkillDiscovery.defaultLayer),
- Layer.provideMerge(AgentV2.locationLayer),
- ),
- )
- describe("SkillPlugin.Plugin", () => {
- it.effect("registers the built-in customize-opencode skill", () =>
- Effect.gen(function* () {
- const skill = yield* SkillV2.Service
- yield* SkillPlugin.Plugin.effect(host({ skill }))
- expect(yield* skill.list()).toContainEqual(
- expect.objectContaining({
- name: "customize-opencode",
- description: expect.stringContaining("opencode's own configuration"),
- }),
- )
- }),
- )
- })
|