feat(core): add public native API (#30828)

This commit is contained in:
Kit Langton 2026-06-04 20:49:43 -04:00 committed by GitHub
commit 773d33e282
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 220 additions and 55 deletions

View file

@ -0,0 +1,29 @@
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()
}),
)
})