mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-10 00:20:49 +00:00
53 lines
1.7 KiB
TypeScript
53 lines
1.7 KiB
TypeScript
import { describe, expect, test } from "bun:test"
|
|
import { LegacyEvent } from "../src/legacy-event"
|
|
import { PermissionV1 } from "../src/permission-v1"
|
|
import { QuestionV1 } from "../src/question-v1"
|
|
import { Project } from "../src/project"
|
|
import { SessionV1 } from "../src/session-v1"
|
|
|
|
describe("legacy public event schemas", () => {
|
|
test("owns all SessionV1 definitions", () => {
|
|
expect(SessionV1.Event.Definitions.map((event) => event.type)).toEqual([
|
|
"session.created",
|
|
"session.updated",
|
|
"session.deleted",
|
|
"message.updated",
|
|
"message.removed",
|
|
"message.part.updated",
|
|
"message.part.removed",
|
|
"message.part.delta",
|
|
"session.diff",
|
|
"session.error",
|
|
])
|
|
const durable = SessionV1.Event.Definitions.filter((event) => event.durable !== undefined)
|
|
expect(durable).toHaveLength(7)
|
|
expect(durable.every((event) => event.durable?.aggregate === "sessionID")).toBe(true)
|
|
expect(durable.every((event) => event.durable?.version === 1)).toBe(true)
|
|
})
|
|
|
|
test("owns the legacy transient public definitions", () => {
|
|
expect([
|
|
SessionV1.PartDelta.type,
|
|
SessionV1.Diff.type,
|
|
SessionV1.Error.type,
|
|
PermissionV1.Event.Asked.type,
|
|
PermissionV1.Event.Replied.type,
|
|
QuestionV1.Event.Asked.type,
|
|
QuestionV1.Event.Replied.type,
|
|
QuestionV1.Event.Rejected.type,
|
|
Project.Event.Updated.type,
|
|
LegacyEvent.CommandExecuted.type,
|
|
]).toEqual([
|
|
"message.part.delta",
|
|
"session.diff",
|
|
"session.error",
|
|
"permission.asked",
|
|
"permission.replied",
|
|
"question.asked",
|
|
"question.replied",
|
|
"question.rejected",
|
|
"project.updated",
|
|
"command.executed",
|
|
])
|
|
})
|
|
})
|