| 1234567891011121314151617181920212223242526272829303132 |
- 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"
- 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.pipe(Effect.provideService(SkillV2.Service, skill))
- expect(yield* skill.list()).toContainEqual(
- expect.objectContaining({
- name: "customize-opencode",
- description: expect.stringContaining("opencode's own configuration"),
- }),
- )
- }),
- )
- })
|