| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import { expect, test } from "bun:test"
- import { Agent } from "@opencode-ai/schema/agent"
- import { Command } from "@opencode-ai/schema/command"
- import { Connection } from "@opencode-ai/schema/connection"
- import { Credential } from "@opencode-ai/schema/credential"
- import { Integration } from "@opencode-ai/schema/integration"
- import { Model } from "@opencode-ai/schema/model"
- import { Provider } from "@opencode-ai/schema/provider"
- import { Reference } from "@opencode-ai/schema/reference"
- import { Skill } from "@opencode-ai/schema/skill"
- const Plugin = await import("../src/v2/effect/index")
- const PromisePlugin = await import("../src/v2/promise/index")
- const TuiPlugin = await import("../src/v2/tui/index")
- test.each([
- ["effect", Plugin],
- ["promise", PromisePlugin],
- ])("%s entrypoint exposes its canonical Schema contracts", (name, entrypoint) => {
- expect(entrypoint.Agent).toBe(Agent)
- expect(entrypoint.Command).toBe(Command)
- expect(entrypoint.Connection).toBe(Connection)
- expect(entrypoint.Credential).toBe(Credential)
- expect(entrypoint.Integration).toBe(Integration)
- expect(entrypoint.Model).toBe(Model)
- expect(entrypoint.Provider).toBe(Provider)
- expect(entrypoint.Reference).toBe(Reference)
- expect(entrypoint.Skill).toBe(Skill)
- expect(Object.keys(entrypoint).sort()).toEqual([
- "Agent",
- "Command",
- "Connection",
- "Credential",
- "Integration",
- "Model",
- "Plugin",
- "Provider",
- "Reference",
- "Skill",
- ])
- })
- test("tui entrypoint exposes the V2 plugin definition", () => {
- const plugin = TuiPlugin.Plugin.define({ id: "demo", setup() {} })
- expect(plugin.id).toBe("demo")
- })
|