test(protocol): verify event group boundary
This commit is contained in:
parent
6ad5ce39be
commit
b4bad02c8b
2 changed files with 15 additions and 12 deletions
|
|
@ -1,6 +1,11 @@
|
|||
import { expect, test } from "bun:test"
|
||||
import { EventManifest } from "@opencode-ai/schema/event-manifest"
|
||||
import { SessionV1 } from "@opencode-ai/schema/session-v1"
|
||||
import { HttpApi, OpenApi } from "effect/unstable/httpapi"
|
||||
import { EventGroup } from "../src/groups/event"
|
||||
|
||||
const currentOpenApi = OpenApi.fromApi(HttpApi.make("test").add(EventGroup))
|
||||
const currentEventOpenApi = JSON.stringify(currentOpenApi.components.schemas?.V2Event)
|
||||
|
||||
test("current Protocol events exclude V1-only session events", () => {
|
||||
const current = new Set<string>(EventManifest.CurrentServerDefinitions.map((definition) => definition.type))
|
||||
|
|
@ -22,6 +27,9 @@ test("current Protocol events exclude V1-only session events", () => {
|
|||
expect(current.has("permission.v2.asked")).toBe(true)
|
||||
expect(current.has("question.v2.asked")).toBe(true)
|
||||
expect(current.has("command.executed")).toBe(false)
|
||||
expect(currentEventOpenApi).toContain("session.next.prompted")
|
||||
expect(currentEventOpenApi).not.toContain("message.updated")
|
||||
expect(currentEventOpenApi).not.toContain("message.part.updated")
|
||||
})
|
||||
|
||||
test("compatibility server inventory retains V1 events", () => {
|
||||
|
|
|
|||
|
|
@ -37,18 +37,10 @@ const sessionV1LiveDefinitions = SessionV1.Event.Definitions.filter((definition)
|
|||
const currentCoreDefinitions = Event.inventory(...SessionEvent.Definitions)
|
||||
const compatibilityCoreDefinitions = Event.inventory(...sessionV1DurableDefinitions, ...currentCoreDefinitions)
|
||||
|
||||
const currentFoundationDefinitions = Event.inventory(
|
||||
const foundationDefinitions = Event.inventory(
|
||||
...ModelsDev.Event.Definitions,
|
||||
...Integration.Event.Definitions,
|
||||
...Catalog.Event.Definitions,
|
||||
...currentCoreDefinitions,
|
||||
)
|
||||
|
||||
const compatibilityFoundationDefinitions = Event.inventory(
|
||||
...ModelsDev.Event.Definitions,
|
||||
...Integration.Event.Definitions,
|
||||
...Catalog.Event.Definitions,
|
||||
...compatibilityCoreDefinitions,
|
||||
)
|
||||
|
||||
const featureDefinitions = Event.inventory(
|
||||
|
|
@ -63,19 +55,22 @@ const featureDefinitions = Event.inventory(
|
|||
)
|
||||
|
||||
export const CurrentServerDefinitions = Event.inventory(
|
||||
...currentFoundationDefinitions,
|
||||
...foundationDefinitions,
|
||||
...currentCoreDefinitions,
|
||||
...featureDefinitions,
|
||||
...SessionTodo.Event.Definitions,
|
||||
)
|
||||
|
||||
export const ServerDefinitions = Event.inventory(
|
||||
...compatibilityFoundationDefinitions,
|
||||
...foundationDefinitions,
|
||||
...compatibilityCoreDefinitions,
|
||||
...featureDefinitions,
|
||||
...SessionTodo.Event.Definitions,
|
||||
)
|
||||
|
||||
export const Definitions = Event.inventory(
|
||||
...compatibilityFoundationDefinitions,
|
||||
...foundationDefinitions,
|
||||
...compatibilityCoreDefinitions,
|
||||
...sessionV1LiveDefinitions,
|
||||
...InstallationEvent.Definitions,
|
||||
...featureDefinitions,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue