From 25207808464584f3335aa17c0903fc5973d4923c Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Fri, 14 Nov 2025 12:35:44 -0500 Subject: [PATCH] fix sdk types --- packages/opencode/src/bus/index.ts | 36 ++++++++++++++------------ packages/opencode/src/server/server.ts | 17 ++++++------ packages/sdk/js/src/gen/sdk.gen.ts | 20 +++----------- packages/sdk/js/src/gen/types.gen.ts | 13 +++++++--- 4 files changed, 42 insertions(+), 44 deletions(-) diff --git a/packages/opencode/src/bus/index.ts b/packages/opencode/src/bus/index.ts index 22e14519..aace8758 100644 --- a/packages/opencode/src/bus/index.ts +++ b/packages/opencode/src/bus/index.ts @@ -30,22 +30,26 @@ export namespace Bus { } export function payloads() { - return z.discriminatedUnion( - "type", - registry - .entries() - .map(([type, def]) => { - return z - .object({ - type: z.literal(type), - properties: def.properties, - }) - .meta({ - ref: "Event" + "." + def.type, - }) - }) - .toArray() as any, - ) + return z + .discriminatedUnion( + "type", + registry + .entries() + .map(([type, def]) => { + return z + .object({ + type: z.literal(type), + properties: def.properties, + }) + .meta({ + ref: "Event" + "." + def.type, + }) + }) + .toArray() as any, + ) + .meta({ + ref: "Event", + }) } export async function publish( diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts index 034efa84..dd621acb 100644 --- a/packages/opencode/src/server/server.ts +++ b/packages/opencode/src/server/server.ts @@ -129,9 +129,14 @@ export namespace Server { content: { "text/event-stream": { schema: resolver( - Bus.payloads().meta({ - ref: "Event", - }), + z + .object({ + directory: z.string(), + payload: Bus.payloads(), + }) + .meta({ + ref: "GlobalEvent", + }), ), }, }, @@ -1767,11 +1772,7 @@ export namespace Server { description: "Event stream", content: { "text/event-stream": { - schema: resolver( - Bus.payloads().meta({ - ref: "Event", - }), - ), + schema: resolver(Bus.payloads()), }, }, }, diff --git a/packages/sdk/js/src/gen/sdk.gen.ts b/packages/sdk/js/src/gen/sdk.gen.ts index c4181562..5e249f5c 100644 --- a/packages/sdk/js/src/gen/sdk.gen.ts +++ b/packages/sdk/js/src/gen/sdk.gen.ts @@ -2,8 +2,8 @@ import type { Options as ClientOptions, TDataShape, Client } from "./client/index.js" import type { - GlobalEventButtData, - GlobalEventButtResponses, + GlobalEventSubscribeData, + GlobalEventSubscribeResponses, ProjectListData, ProjectListResponses, ProjectCurrentData, @@ -145,8 +145,6 @@ import type { AuthSetData, AuthSetResponses, AuthSetErrors, - EventSubscribeData, - EventSubscribeResponses, } from "./types.gen.js" import { client as _heyApiClient } from "./client.gen.js" @@ -181,22 +179,12 @@ class Event extends _HeyApiClient { /** * Get events */ - public butt(options?: Options) { - return (options?.client ?? this._client).get.sse({ + public subscribe(options?: Options) { + return (options?.client ?? this._client).get.sse({ url: "/global/event", ...options, }) } - - /** - * Get events - */ - public subscribe(options?: Options) { - return (options?.client ?? this._client).get.sse({ - url: "/event", - ...options, - }) - } } class Global extends _HeyApiClient { diff --git a/packages/sdk/js/src/gen/types.gen.ts b/packages/sdk/js/src/gen/types.gen.ts index 8a04af8c..9ea45ada 100644 --- a/packages/sdk/js/src/gen/types.gen.ts +++ b/packages/sdk/js/src/gen/types.gen.ts @@ -616,6 +616,11 @@ export type Event = | EventServerConnected | EventFileWatcherUpdated +export type GlobalEvent = { + directory: string + payload: Event +} + export type Project = { id: string worktree: string @@ -1373,21 +1378,21 @@ export type WellKnownAuth = { export type Auth = OAuth | ApiAuth | WellKnownAuth -export type GlobalEventButtData = { +export type GlobalEventSubscribeData = { body?: never path?: never query?: never url: "/global/event" } -export type GlobalEventButtResponses = { +export type GlobalEventSubscribeResponses = { /** * Event stream */ - 200: Event + 200: GlobalEvent } -export type GlobalEventButtResponse = GlobalEventButtResponses[keyof GlobalEventButtResponses] +export type GlobalEventSubscribeResponse = GlobalEventSubscribeResponses[keyof GlobalEventSubscribeResponses] export type ProjectListData = { body?: never