| 12345678910111213141516171819202122232425262728 |
- import { describe, expect } from "bun:test"
- import { Effect } from "effect"
- import { OpenCode, Session } from "@opencode-ai/core/public"
- import { testEffect } from "./lib/effect"
- const it = testEffect(OpenCode.layer)
- describe("public native OpenCode API", () => {
- it.effect("exposes only the intentional Session capabilities", () =>
- Effect.gen(function* () {
- const opencode = yield* OpenCode.Service
- expect(Object.keys(opencode.sessions).sort()).toEqual([
- "context",
- "create",
- "events",
- "get",
- "list",
- "message",
- "messages",
- "prompt",
- ])
- expect(Session.ID.create()).toStartWith("ses_")
- expect(Session.MessageID.create()).toStartWith("msg_")
- expect(yield* opencode.sessions.list()).toBeArray()
- }),
- )
- })
|