Browse Source

release: v0.15.23

opencode 5 months ago
parent
commit
4b1c6300a0

+ 11 - 11
bun.lock

@@ -37,7 +37,7 @@
     },
     },
     "packages/console/core": {
     "packages/console/core": {
       "name": "@opencode-ai/console-core",
       "name": "@opencode-ai/console-core",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "dependencies": {
       "dependencies": {
         "@aws-sdk/client-sts": "3.782.0",
         "@aws-sdk/client-sts": "3.782.0",
         "@jsx-email/render": "1.1.1",
         "@jsx-email/render": "1.1.1",
@@ -64,7 +64,7 @@
     },
     },
     "packages/console/function": {
     "packages/console/function": {
       "name": "@opencode-ai/console-function",
       "name": "@opencode-ai/console-function",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "dependencies": {
       "dependencies": {
         "@ai-sdk/anthropic": "2.0.0",
         "@ai-sdk/anthropic": "2.0.0",
         "@ai-sdk/openai": "2.0.2",
         "@ai-sdk/openai": "2.0.2",
@@ -88,7 +88,7 @@
     },
     },
     "packages/console/mail": {
     "packages/console/mail": {
       "name": "@opencode-ai/console-mail",
       "name": "@opencode-ai/console-mail",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "dependencies": {
       "dependencies": {
         "@jsx-email/all": "2.2.3",
         "@jsx-email/all": "2.2.3",
         "@jsx-email/cli": "1.4.3",
         "@jsx-email/cli": "1.4.3",
@@ -109,7 +109,7 @@
     },
     },
     "packages/desktop": {
     "packages/desktop": {
       "name": "@opencode-ai/desktop",
       "name": "@opencode-ai/desktop",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "dependencies": {
       "dependencies": {
         "@kobalte/core": "catalog:",
         "@kobalte/core": "catalog:",
         "@opencode-ai/sdk": "workspace:*",
         "@opencode-ai/sdk": "workspace:*",
@@ -150,7 +150,7 @@
     },
     },
     "packages/function": {
     "packages/function": {
       "name": "@opencode-ai/function",
       "name": "@opencode-ai/function",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "dependencies": {
       "dependencies": {
         "@octokit/auth-app": "8.0.1",
         "@octokit/auth-app": "8.0.1",
         "@octokit/rest": "22.0.0",
         "@octokit/rest": "22.0.0",
@@ -166,7 +166,7 @@
     },
     },
     "packages/opencode": {
     "packages/opencode": {
       "name": "opencode",
       "name": "opencode",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "bin": {
       "bin": {
         "opencode": "./bin/opencode",
         "opencode": "./bin/opencode",
       },
       },
@@ -230,7 +230,7 @@
     },
     },
     "packages/plugin": {
     "packages/plugin": {
       "name": "@opencode-ai/plugin",
       "name": "@opencode-ai/plugin",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "dependencies": {
       "dependencies": {
         "@opencode-ai/sdk": "workspace:*",
         "@opencode-ai/sdk": "workspace:*",
         "zod": "catalog:",
         "zod": "catalog:",
@@ -250,7 +250,7 @@
     },
     },
     "packages/sdk/js": {
     "packages/sdk/js": {
       "name": "@opencode-ai/sdk",
       "name": "@opencode-ai/sdk",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "devDependencies": {
       "devDependencies": {
         "@hey-api/openapi-ts": "0.81.0",
         "@hey-api/openapi-ts": "0.81.0",
         "@tsconfig/node22": "catalog:",
         "@tsconfig/node22": "catalog:",
@@ -261,7 +261,7 @@
     },
     },
     "packages/slack": {
     "packages/slack": {
       "name": "@opencode-ai/slack",
       "name": "@opencode-ai/slack",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "dependencies": {
       "dependencies": {
         "@opencode-ai/sdk": "workspace:*",
         "@opencode-ai/sdk": "workspace:*",
         "@slack/bolt": "^3.17.1",
         "@slack/bolt": "^3.17.1",
@@ -274,7 +274,7 @@
     },
     },
     "packages/ui": {
     "packages/ui": {
       "name": "@opencode-ai/ui",
       "name": "@opencode-ai/ui",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "dependencies": {
       "dependencies": {
         "@kobalte/core": "catalog:",
         "@kobalte/core": "catalog:",
         "@pierre/precision-diffs": "catalog:",
         "@pierre/precision-diffs": "catalog:",
@@ -297,7 +297,7 @@
     },
     },
     "packages/web": {
     "packages/web": {
       "name": "@opencode-ai/web",
       "name": "@opencode-ai/web",
-      "version": "0.15.20",
+      "version": "0.15.23",
       "dependencies": {
       "dependencies": {
         "@astrojs/cloudflare": "12.6.3",
         "@astrojs/cloudflare": "12.6.3",
         "@astrojs/markdown-remark": "6.3.1",
         "@astrojs/markdown-remark": "6.3.1",

+ 1 - 1
packages/console/app/package.json

@@ -7,7 +7,7 @@
     "dev:remote": "VITE_AUTH_URL=https://auth.dev.opencode.ai bun sst shell --stage=dev bun dev",
     "dev:remote": "VITE_AUTH_URL=https://auth.dev.opencode.ai bun sst shell --stage=dev bun dev",
     "build": "vinxi build && ../../opencode/script/schema.ts ./.output/public/config.json",
     "build": "vinxi build && ../../opencode/script/schema.ts ./.output/public/config.json",
     "start": "vinxi start",
     "start": "vinxi start",
-    "version": "0.15.20"
+    "version": "0.15.23"
   },
   },
   "dependencies": {
   "dependencies": {
     "@ibm/plex": "6.4.1",
     "@ibm/plex": "6.4.1",

+ 1 - 1
packages/console/core/package.json

@@ -1,7 +1,7 @@
 {
 {
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "name": "@opencode-ai/console-core",
   "name": "@opencode-ai/console-core",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "private": true,
   "private": true,
   "type": "module",
   "type": "module",
   "dependencies": {
   "dependencies": {

+ 1 - 1
packages/console/function/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/console-function",
   "name": "@opencode-ai/console-function",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "private": true,
   "private": true,
   "type": "module",
   "type": "module",

+ 1 - 1
packages/console/mail/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/console-mail",
   "name": "@opencode-ai/console-mail",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "dependencies": {
   "dependencies": {
     "@jsx-email/all": "2.2.3",
     "@jsx-email/all": "2.2.3",
     "@jsx-email/cli": "1.4.3",
     "@jsx-email/cli": "1.4.3",

+ 1 - 1
packages/desktop/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/desktop",
   "name": "@opencode-ai/desktop",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "description": "",
   "description": "",
   "type": "module",
   "type": "module",
   "scripts": {
   "scripts": {

+ 1 - 1
packages/function/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/function",
   "name": "@opencode-ai/function",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "private": true,
   "private": true,
   "type": "module",
   "type": "module",

+ 1 - 1
packages/opencode/package.json

@@ -1,6 +1,6 @@
 {
 {
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "name": "opencode",
   "name": "opencode",
   "type": "module",
   "type": "module",
   "private": true,
   "private": true,

+ 2 - 2
packages/plugin/package.json

@@ -1,7 +1,7 @@
 {
 {
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "name": "@opencode-ai/plugin",
   "name": "@opencode-ai/plugin",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "type": "module",
   "type": "module",
   "scripts": {
   "scripts": {
     "typecheck": "tsgo --noEmit",
     "typecheck": "tsgo --noEmit",
@@ -24,4 +24,4 @@
     "typescript": "catalog:",
     "typescript": "catalog:",
     "@typescript/native-preview": "catalog:"
     "@typescript/native-preview": "catalog:"
   }
   }
-}
+}

+ 2 - 2
packages/sdk/js/package.json

@@ -1,7 +1,7 @@
 {
 {
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "name": "@opencode-ai/sdk",
   "name": "@opencode-ai/sdk",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "type": "module",
   "type": "module",
   "scripts": {
   "scripts": {
     "typecheck": "tsgo --noEmit",
     "typecheck": "tsgo --noEmit",
@@ -26,4 +26,4 @@
   "publishConfig": {
   "publishConfig": {
     "directory": "dist"
     "directory": "dist"
   }
   }
-}
+}

+ 6 - 1
packages/sdk/js/src/gen/client.gen.ts

@@ -1,7 +1,12 @@
 // This file is auto-generated by @hey-api/openapi-ts
 // This file is auto-generated by @hey-api/openapi-ts
 
 
 import type { ClientOptions } from "./types.gen.js"
 import type { ClientOptions } from "./types.gen.js"
-import { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from "./client/index.js"
+import {
+  type Config,
+  type ClientOptions as DefaultClientOptions,
+  createClient,
+  createConfig,
+} from "./client/index.js"
 
 
 /**
 /**
  * The `createClientConfig()` function will be called on client initialization
  * The `createClientConfig()` function will be called on client initialization

+ 3 - 1
packages/sdk/js/src/gen/client/client.gen.ts

@@ -107,7 +107,9 @@ export const createClient = (config: Config = {}): Client => {
       }
       }
 
 
       const parseAs =
       const parseAs =
-        (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json"
+        (opts.parseAs === "auto"
+          ? getParseAs(response.headers.get("Content-Type"))
+          : opts.parseAs) ?? "json"
 
 
       let data: any
       let data: any
       switch (parseAs) {
       switch (parseAs) {

+ 15 - 4
packages/sdk/js/src/gen/client/types.gen.ts

@@ -1,7 +1,10 @@
 // This file is auto-generated by @hey-api/openapi-ts
 // This file is auto-generated by @hey-api/openapi-ts
 
 
 import type { Auth } from "../core/auth.gen.js"
 import type { Auth } from "../core/auth.gen.js"
-import type { ServerSentEventsOptions, ServerSentEventsResult } from "../core/serverSentEvents.gen.js"
+import type {
+  ServerSentEventsOptions,
+  ServerSentEventsResult,
+} from "../core/serverSentEvents.gen.js"
 import type { Client as CoreClient, Config as CoreConfig } from "../core/types.gen.js"
 import type { Client as CoreClient, Config as CoreConfig } from "../core/types.gen.js"
 import type { Middleware } from "./utils.gen.js"
 import type { Middleware } from "./utils.gen.js"
 
 
@@ -62,7 +65,11 @@ export interface RequestOptions<
     }>,
     }>,
     Pick<
     Pick<
       ServerSentEventsOptions<TData>,
       ServerSentEventsOptions<TData>,
-      "onSseError" | "onSseEvent" | "sseDefaultRetryDelay" | "sseMaxRetryAttempts" | "sseMaxRetryDelay"
+      | "onSseError"
+      | "onSseEvent"
+      | "sseDefaultRetryDelay"
+      | "sseMaxRetryAttempts"
+      | "sseMaxRetryDelay"
     > {
     > {
   /**
   /**
    * Any body that you want to add to your request.
    * Any body that you want to add to your request.
@@ -202,7 +209,10 @@ export type Options<
   ThrowOnError extends boolean = boolean,
   ThrowOnError extends boolean = boolean,
   TResponse = unknown,
   TResponse = unknown,
   TResponseStyle extends ResponseStyle = "fields",
   TResponseStyle extends ResponseStyle = "fields",
-> = OmitKeys<RequestOptions<TResponse, TResponseStyle, ThrowOnError>, "body" | "path" | "query" | "url"> &
+> = OmitKeys<
+  RequestOptions<TResponse, TResponseStyle, ThrowOnError>,
+  "body" | "path" | "query" | "url"
+> &
   Omit<TData, "url">
   Omit<TData, "url">
 
 
 export type OptionsLegacyParser<
 export type OptionsLegacyParser<
@@ -211,7 +221,8 @@ export type OptionsLegacyParser<
   TResponseStyle extends ResponseStyle = "fields",
   TResponseStyle extends ResponseStyle = "fields",
 > = TData extends { body?: any }
 > = TData extends { body?: any }
   ? TData extends { headers?: any }
   ? TData extends { headers?: any }
-    ? OmitKeys<RequestOptions<unknown, TResponseStyle, ThrowOnError>, "body" | "headers" | "url"> & TData
+    ? OmitKeys<RequestOptions<unknown, TResponseStyle, ThrowOnError>, "body" | "headers" | "url"> &
+        TData
     : OmitKeys<RequestOptions<unknown, TResponseStyle, ThrowOnError>, "body" | "url"> &
     : OmitKeys<RequestOptions<unknown, TResponseStyle, ThrowOnError>, "body" | "url"> &
         TData &
         TData &
         Pick<RequestOptions<unknown, TResponseStyle, ThrowOnError>, "headers">
         Pick<RequestOptions<unknown, TResponseStyle, ThrowOnError>, "headers">

+ 30 - 7
packages/sdk/js/src/gen/client/utils.gen.ts

@@ -3,11 +3,19 @@
 import { getAuthToken } from "../core/auth.gen.js"
 import { getAuthToken } from "../core/auth.gen.js"
 import type { QuerySerializerOptions } from "../core/bodySerializer.gen.js"
 import type { QuerySerializerOptions } from "../core/bodySerializer.gen.js"
 import { jsonBodySerializer } from "../core/bodySerializer.gen.js"
 import { jsonBodySerializer } from "../core/bodySerializer.gen.js"
-import { serializeArrayParam, serializeObjectParam, serializePrimitiveParam } from "../core/pathSerializer.gen.js"
+import {
+  serializeArrayParam,
+  serializeObjectParam,
+  serializePrimitiveParam,
+} from "../core/pathSerializer.gen.js"
 import { getUrl } from "../core/utils.gen.js"
 import { getUrl } from "../core/utils.gen.js"
 import type { Client, ClientOptions, Config, RequestOptions } from "./types.gen.js"
 import type { Client, ClientOptions, Config, RequestOptions } from "./types.gen.js"
 
 
-export const createQuerySerializer = <T = unknown>({ allowReserved, array, object }: QuerySerializerOptions = {}) => {
+export const createQuerySerializer = <T = unknown>({
+  allowReserved,
+  array,
+  object,
+}: QuerySerializerOptions = {}) => {
   const querySerializer = (queryParams: T) => {
   const querySerializer = (queryParams: T) => {
     const search: string[] = []
     const search: string[] = []
     if (queryParams && typeof queryParams === "object") {
     if (queryParams && typeof queryParams === "object") {
@@ -77,7 +85,9 @@ export const getParseAs = (contentType: string | null): Exclude<Config["parseAs"
     return "formData"
     return "formData"
   }
   }
 
 
-  if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) {
+  if (
+    ["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))
+  ) {
     return "blob"
     return "blob"
   }
   }
 
 
@@ -97,7 +107,11 @@ const checkForExistence = (
   if (!name) {
   if (!name) {
     return false
     return false
   }
   }
-  if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) {
+  if (
+    options.headers.has(name) ||
+    options.query?.[name] ||
+    options.headers.get("Cookie")?.includes(`${name}=`)
+  ) {
     return true
     return true
   }
   }
   return false
   return false
@@ -162,7 +176,9 @@ export const mergeConfigs = (a: Config, b: Config): Config => {
   return config
   return config
 }
 }
 
 
-export const mergeHeaders = (...headers: Array<Required<Config>["headers"] | undefined>): Headers => {
+export const mergeHeaders = (
+  ...headers: Array<Required<Config>["headers"] | undefined>
+): Headers => {
   const mergedHeaders = new Headers()
   const mergedHeaders = new Headers()
   for (const header of headers) {
   for (const header of headers) {
     if (!header || typeof header !== "object") {
     if (!header || typeof header !== "object") {
@@ -181,7 +197,10 @@ export const mergeHeaders = (...headers: Array<Required<Config>["headers"] | und
       } else if (value !== undefined) {
       } else if (value !== undefined) {
         // assume object headers are meant to be JSON stringified, i.e. their
         // assume object headers are meant to be JSON stringified, i.e. their
         // content value in OpenAPI specification is 'application/json'
         // content value in OpenAPI specification is 'application/json'
-        mergedHeaders.set(key, typeof value === "object" ? JSON.stringify(value) : (value as string))
+        mergedHeaders.set(
+          key,
+          typeof value === "object" ? JSON.stringify(value) : (value as string),
+        )
       }
       }
     }
     }
   }
   }
@@ -197,7 +216,11 @@ type ErrInterceptor<Err, Res, Req, Options> = (
 
 
 type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>
 type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>
 
 
-type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>
+type ResInterceptor<Res, Req, Options> = (
+  response: Res,
+  request: Req,
+  options: Options,
+) => Res | Promise<Res>
 
 
 class Interceptors<Interceptor> {
 class Interceptors<Interceptor> {
   _fns: (Interceptor | null)[]
   _fns: (Interceptor | null)[]

+ 3 - 1
packages/sdk/js/src/gen/core/bodySerializer.gen.ts

@@ -31,7 +31,9 @@ const serializeUrlSearchParamsPair = (data: URLSearchParams, key: string, value:
 }
 }
 
 
 export const formDataBodySerializer = {
 export const formDataBodySerializer = {
-  bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T): FormData => {
+  bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(
+    body: T,
+  ): FormData => {
     const data = new FormData()
     const data = new FormData()
 
 
     Object.entries(body).forEach(([key, value]) => {
     Object.entries(body).forEach(([key, value]) => {

+ 8 - 4
packages/sdk/js/src/gen/core/pathSerializer.gen.ts

@@ -74,9 +74,9 @@ export const serializeArrayParam = ({
   value: unknown[]
   value: unknown[]
 }) => {
 }) => {
   if (!explode) {
   if (!explode) {
-    const joinedValues = (allowReserved ? value : value.map((v) => encodeURIComponent(v as string))).join(
-      separatorArrayNoExplode(style),
-    )
+    const joinedValues = (
+      allowReserved ? value : value.map((v) => encodeURIComponent(v as string))
+    ).join(separatorArrayNoExplode(style))
     switch (style) {
     switch (style) {
       case "label":
       case "label":
         return `.${joinedValues}`
         return `.${joinedValues}`
@@ -106,7 +106,11 @@ export const serializeArrayParam = ({
   return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues
   return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues
 }
 }
 
 
-export const serializePrimitiveParam = ({ allowReserved, name, value }: SerializePrimitiveParam) => {
+export const serializePrimitiveParam = ({
+  allowReserved,
+  name,
+  value,
+}: SerializePrimitiveParam) => {
   if (value === undefined || value === null) {
   if (value === undefined || value === null) {
     return ""
     return ""
   }
   }

+ 5 - 1
packages/sdk/js/src/gen/core/serverSentEvents.gen.ts

@@ -60,7 +60,11 @@ export interface StreamEvent<TData = unknown> {
 }
 }
 
 
 export type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {
 export type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {
-  stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>
+  stream: AsyncGenerator<
+    TData extends Record<string, unknown> ? TData[keyof TData] : TData,
+    TReturn,
+    TNext
+  >
 }
 }
 
 
 export const createSseClient = <TData = unknown>({
 export const createSseClient = <TData = unknown>({

+ 9 - 2
packages/sdk/js/src/gen/core/types.gen.ts

@@ -1,7 +1,11 @@
 // This file is auto-generated by @hey-api/openapi-ts
 // This file is auto-generated by @hey-api/openapi-ts
 
 
 import type { Auth, AuthToken } from "./auth.gen.js"
 import type { Auth, AuthToken } from "./auth.gen.js"
-import type { BodySerializer, QuerySerializer, QuerySerializerOptions } from "./bodySerializer.gen.js"
+import type {
+  BodySerializer,
+  QuerySerializer,
+  QuerySerializerOptions,
+} from "./bodySerializer.gen.js"
 
 
 export interface Client<RequestFn = never, Config = unknown, MethodFn = never, BuildUrlFn = never> {
 export interface Client<RequestFn = never, Config = unknown, MethodFn = never, BuildUrlFn = never> {
   /**
   /**
@@ -41,7 +45,10 @@ export interface Config {
    */
    */
   headers?:
   headers?:
     | RequestInit["headers"]
     | RequestInit["headers"]
-    | Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>
+    | Record<
+        string,
+        string | number | boolean | (string | number | boolean)[] | null | undefined | unknown
+      >
   /**
   /**
    * The request method.
    * The request method.
    *
    *

+ 3 - 1
packages/sdk/js/src/gen/core/utils.gen.ts

@@ -73,7 +73,9 @@ export const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {
         continue
         continue
       }
       }
 
 
-      const replaceValue = encodeURIComponent(style === "label" ? `.${value as string}` : (value as string))
+      const replaceValue = encodeURIComponent(
+        style === "label" ? `.${value as string}` : (value as string),
+      )
       url = url.replace(match, replaceValue)
       url = url.replace(match, replaceValue)
     }
     }
   }
   }

+ 234 - 66
packages/sdk/js/src/gen/sdk.gen.ts

@@ -133,10 +133,10 @@ import type {
 } from "./types.gen.js"
 } from "./types.gen.js"
 import { client as _heyApiClient } from "./client.gen.js"
 import { client as _heyApiClient } from "./client.gen.js"
 
 
-export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<
-  TData,
-  ThrowOnError
-> & {
+export type Options<
+  TData extends TDataShape = TDataShape,
+  ThrowOnError extends boolean = boolean,
+> = ClientOptions<TData, ThrowOnError> & {
   /**
   /**
    * You can provide a client instance returned by `createClient()` instead of
    * You can provide a client instance returned by `createClient()` instead of
    * individual options. This might be also useful if you want to implement a
    * individual options. This might be also useful if you want to implement a
@@ -164,7 +164,9 @@ class Project extends _HeyApiClient {
   /**
   /**
    * List all projects
    * List all projects
    */
    */
-  public list<ThrowOnError extends boolean = false>(options?: Options<ProjectListData, ThrowOnError>) {
+  public list<ThrowOnError extends boolean = false>(
+    options?: Options<ProjectListData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).get<ProjectListResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).get<ProjectListResponses, unknown, ThrowOnError>({
       url: "/project",
       url: "/project",
       ...options,
       ...options,
@@ -174,7 +176,9 @@ class Project extends _HeyApiClient {
   /**
   /**
    * Get the current project
    * Get the current project
    */
    */
-  public current<ThrowOnError extends boolean = false>(options?: Options<ProjectCurrentData, ThrowOnError>) {
+  public current<ThrowOnError extends boolean = false>(
+    options?: Options<ProjectCurrentData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).get<ProjectCurrentResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).get<ProjectCurrentResponses, unknown, ThrowOnError>({
       url: "/project/current",
       url: "/project/current",
       ...options,
       ...options,
@@ -196,8 +200,14 @@ class Config extends _HeyApiClient {
   /**
   /**
    * Update config
    * Update config
    */
    */
-  public update<ThrowOnError extends boolean = false>(options?: Options<ConfigUpdateData, ThrowOnError>) {
-    return (options?.client ?? this._client).patch<ConfigUpdateResponses, ConfigUpdateErrors, ThrowOnError>({
+  public update<ThrowOnError extends boolean = false>(
+    options?: Options<ConfigUpdateData, ThrowOnError>,
+  ) {
+    return (options?.client ?? this._client).patch<
+      ConfigUpdateResponses,
+      ConfigUpdateErrors,
+      ThrowOnError
+    >({
       url: "/config",
       url: "/config",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -210,7 +220,9 @@ class Config extends _HeyApiClient {
   /**
   /**
    * List all providers
    * List all providers
    */
    */
-  public providers<ThrowOnError extends boolean = false>(options?: Options<ConfigProvidersData, ThrowOnError>) {
+  public providers<ThrowOnError extends boolean = false>(
+    options?: Options<ConfigProvidersData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).get<ConfigProvidersResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).get<ConfigProvidersResponses, unknown, ThrowOnError>({
       url: "/config/providers",
       url: "/config/providers",
       ...options,
       ...options,
@@ -256,7 +268,9 @@ class Session extends _HeyApiClient {
   /**
   /**
    * List all sessions
    * List all sessions
    */
    */
-  public list<ThrowOnError extends boolean = false>(options?: Options<SessionListData, ThrowOnError>) {
+  public list<ThrowOnError extends boolean = false>(
+    options?: Options<SessionListData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).get<SessionListResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).get<SessionListResponses, unknown, ThrowOnError>({
       url: "/session",
       url: "/session",
       ...options,
       ...options,
@@ -266,8 +280,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Create a new session
    * Create a new session
    */
    */
-  public create<ThrowOnError extends boolean = false>(options?: Options<SessionCreateData, ThrowOnError>) {
-    return (options?.client ?? this._client).post<SessionCreateResponses, SessionCreateErrors, ThrowOnError>({
+  public create<ThrowOnError extends boolean = false>(
+    options?: Options<SessionCreateData, ThrowOnError>,
+  ) {
+    return (options?.client ?? this._client).post<
+      SessionCreateResponses,
+      SessionCreateErrors,
+      ThrowOnError
+    >({
       url: "/session",
       url: "/session",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -280,8 +300,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Delete a session and all its data
    * Delete a session and all its data
    */
    */
-  public delete<ThrowOnError extends boolean = false>(options: Options<SessionDeleteData, ThrowOnError>) {
-    return (options.client ?? this._client).delete<SessionDeleteResponses, SessionDeleteErrors, ThrowOnError>({
+  public delete<ThrowOnError extends boolean = false>(
+    options: Options<SessionDeleteData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).delete<
+      SessionDeleteResponses,
+      SessionDeleteErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}",
       url: "/session/{id}",
       ...options,
       ...options,
     })
     })
@@ -291,7 +317,11 @@ class Session extends _HeyApiClient {
    * Get session
    * Get session
    */
    */
   public get<ThrowOnError extends boolean = false>(options: Options<SessionGetData, ThrowOnError>) {
   public get<ThrowOnError extends boolean = false>(options: Options<SessionGetData, ThrowOnError>) {
-    return (options.client ?? this._client).get<SessionGetResponses, SessionGetErrors, ThrowOnError>({
+    return (options.client ?? this._client).get<
+      SessionGetResponses,
+      SessionGetErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}",
       url: "/session/{id}",
       ...options,
       ...options,
     })
     })
@@ -300,8 +330,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Update session properties
    * Update session properties
    */
    */
-  public update<ThrowOnError extends boolean = false>(options: Options<SessionUpdateData, ThrowOnError>) {
-    return (options.client ?? this._client).patch<SessionUpdateResponses, SessionUpdateErrors, ThrowOnError>({
+  public update<ThrowOnError extends boolean = false>(
+    options: Options<SessionUpdateData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).patch<
+      SessionUpdateResponses,
+      SessionUpdateErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}",
       url: "/session/{id}",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -314,8 +350,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Get a session's children
    * Get a session's children
    */
    */
-  public children<ThrowOnError extends boolean = false>(options: Options<SessionChildrenData, ThrowOnError>) {
-    return (options.client ?? this._client).get<SessionChildrenResponses, SessionChildrenErrors, ThrowOnError>({
+  public children<ThrowOnError extends boolean = false>(
+    options: Options<SessionChildrenData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).get<
+      SessionChildrenResponses,
+      SessionChildrenErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/children",
       url: "/session/{id}/children",
       ...options,
       ...options,
     })
     })
@@ -324,8 +366,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Get the todo list for a session
    * Get the todo list for a session
    */
    */
-  public todo<ThrowOnError extends boolean = false>(options: Options<SessionTodoData, ThrowOnError>) {
-    return (options.client ?? this._client).get<SessionTodoResponses, SessionTodoErrors, ThrowOnError>({
+  public todo<ThrowOnError extends boolean = false>(
+    options: Options<SessionTodoData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).get<
+      SessionTodoResponses,
+      SessionTodoErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/todo",
       url: "/session/{id}/todo",
       ...options,
       ...options,
     })
     })
@@ -334,8 +382,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Analyze the app and create an AGENTS.md file
    * Analyze the app and create an AGENTS.md file
    */
    */
-  public init<ThrowOnError extends boolean = false>(options: Options<SessionInitData, ThrowOnError>) {
-    return (options.client ?? this._client).post<SessionInitResponses, SessionInitErrors, ThrowOnError>({
+  public init<ThrowOnError extends boolean = false>(
+    options: Options<SessionInitData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).post<
+      SessionInitResponses,
+      SessionInitErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/init",
       url: "/session/{id}/init",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -348,7 +402,9 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Fork an existing session at a specific message
    * Fork an existing session at a specific message
    */
    */
-  public fork<ThrowOnError extends boolean = false>(options: Options<SessionForkData, ThrowOnError>) {
+  public fork<ThrowOnError extends boolean = false>(
+    options: Options<SessionForkData, ThrowOnError>,
+  ) {
     return (options.client ?? this._client).post<SessionForkResponses, unknown, ThrowOnError>({
     return (options.client ?? this._client).post<SessionForkResponses, unknown, ThrowOnError>({
       url: "/session/{id}/fork",
       url: "/session/{id}/fork",
       ...options,
       ...options,
@@ -362,8 +418,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Abort a session
    * Abort a session
    */
    */
-  public abort<ThrowOnError extends boolean = false>(options: Options<SessionAbortData, ThrowOnError>) {
-    return (options.client ?? this._client).post<SessionAbortResponses, SessionAbortErrors, ThrowOnError>({
+  public abort<ThrowOnError extends boolean = false>(
+    options: Options<SessionAbortData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).post<
+      SessionAbortResponses,
+      SessionAbortErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/abort",
       url: "/session/{id}/abort",
       ...options,
       ...options,
     })
     })
@@ -372,8 +434,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Unshare the session
    * Unshare the session
    */
    */
-  public unshare<ThrowOnError extends boolean = false>(options: Options<SessionUnshareData, ThrowOnError>) {
-    return (options.client ?? this._client).delete<SessionUnshareResponses, SessionUnshareErrors, ThrowOnError>({
+  public unshare<ThrowOnError extends boolean = false>(
+    options: Options<SessionUnshareData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).delete<
+      SessionUnshareResponses,
+      SessionUnshareErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/share",
       url: "/session/{id}/share",
       ...options,
       ...options,
     })
     })
@@ -382,8 +450,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Share a session
    * Share a session
    */
    */
-  public share<ThrowOnError extends boolean = false>(options: Options<SessionShareData, ThrowOnError>) {
-    return (options.client ?? this._client).post<SessionShareResponses, SessionShareErrors, ThrowOnError>({
+  public share<ThrowOnError extends boolean = false>(
+    options: Options<SessionShareData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).post<
+      SessionShareResponses,
+      SessionShareErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/share",
       url: "/session/{id}/share",
       ...options,
       ...options,
     })
     })
@@ -392,7 +466,9 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Get the diff that resulted from this user message
    * Get the diff that resulted from this user message
    */
    */
-  public diff<ThrowOnError extends boolean = false>(options: Options<SessionDiffData, ThrowOnError>) {
+  public diff<ThrowOnError extends boolean = false>(
+    options: Options<SessionDiffData, ThrowOnError>,
+  ) {
     return (options.client ?? this._client).get<SessionDiffResponses, unknown, ThrowOnError>({
     return (options.client ?? this._client).get<SessionDiffResponses, unknown, ThrowOnError>({
       url: "/session/{id}/diff",
       url: "/session/{id}/diff",
       ...options,
       ...options,
@@ -402,8 +478,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Summarize the session
    * Summarize the session
    */
    */
-  public summarize<ThrowOnError extends boolean = false>(options: Options<SessionSummarizeData, ThrowOnError>) {
-    return (options.client ?? this._client).post<SessionSummarizeResponses, SessionSummarizeErrors, ThrowOnError>({
+  public summarize<ThrowOnError extends boolean = false>(
+    options: Options<SessionSummarizeData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).post<
+      SessionSummarizeResponses,
+      SessionSummarizeErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/summarize",
       url: "/session/{id}/summarize",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -416,8 +498,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * List messages for a session
    * List messages for a session
    */
    */
-  public messages<ThrowOnError extends boolean = false>(options: Options<SessionMessagesData, ThrowOnError>) {
-    return (options.client ?? this._client).get<SessionMessagesResponses, SessionMessagesErrors, ThrowOnError>({
+  public messages<ThrowOnError extends boolean = false>(
+    options: Options<SessionMessagesData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).get<
+      SessionMessagesResponses,
+      SessionMessagesErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/message",
       url: "/session/{id}/message",
       ...options,
       ...options,
     })
     })
@@ -426,8 +514,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Create and send a new message to a session
    * Create and send a new message to a session
    */
    */
-  public prompt<ThrowOnError extends boolean = false>(options: Options<SessionPromptData, ThrowOnError>) {
-    return (options.client ?? this._client).post<SessionPromptResponses, SessionPromptErrors, ThrowOnError>({
+  public prompt<ThrowOnError extends boolean = false>(
+    options: Options<SessionPromptData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).post<
+      SessionPromptResponses,
+      SessionPromptErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/message",
       url: "/session/{id}/message",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -440,8 +534,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Get a message from a session
    * Get a message from a session
    */
    */
-  public message<ThrowOnError extends boolean = false>(options: Options<SessionMessageData, ThrowOnError>) {
-    return (options.client ?? this._client).get<SessionMessageResponses, SessionMessageErrors, ThrowOnError>({
+  public message<ThrowOnError extends boolean = false>(
+    options: Options<SessionMessageData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).get<
+      SessionMessageResponses,
+      SessionMessageErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/message/{messageID}",
       url: "/session/{id}/message/{messageID}",
       ...options,
       ...options,
     })
     })
@@ -450,8 +550,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Send a new command to a session
    * Send a new command to a session
    */
    */
-  public command<ThrowOnError extends boolean = false>(options: Options<SessionCommandData, ThrowOnError>) {
-    return (options.client ?? this._client).post<SessionCommandResponses, SessionCommandErrors, ThrowOnError>({
+  public command<ThrowOnError extends boolean = false>(
+    options: Options<SessionCommandData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).post<
+      SessionCommandResponses,
+      SessionCommandErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/command",
       url: "/session/{id}/command",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -464,8 +570,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Run a shell command
    * Run a shell command
    */
    */
-  public shell<ThrowOnError extends boolean = false>(options: Options<SessionShellData, ThrowOnError>) {
-    return (options.client ?? this._client).post<SessionShellResponses, SessionShellErrors, ThrowOnError>({
+  public shell<ThrowOnError extends boolean = false>(
+    options: Options<SessionShellData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).post<
+      SessionShellResponses,
+      SessionShellErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/shell",
       url: "/session/{id}/shell",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -478,8 +590,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Revert a message
    * Revert a message
    */
    */
-  public revert<ThrowOnError extends boolean = false>(options: Options<SessionRevertData, ThrowOnError>) {
-    return (options.client ?? this._client).post<SessionRevertResponses, SessionRevertErrors, ThrowOnError>({
+  public revert<ThrowOnError extends boolean = false>(
+    options: Options<SessionRevertData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).post<
+      SessionRevertResponses,
+      SessionRevertErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/revert",
       url: "/session/{id}/revert",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -492,8 +610,14 @@ class Session extends _HeyApiClient {
   /**
   /**
    * Restore all reverted messages
    * Restore all reverted messages
    */
    */
-  public unrevert<ThrowOnError extends boolean = false>(options: Options<SessionUnrevertData, ThrowOnError>) {
-    return (options.client ?? this._client).post<SessionUnrevertResponses, SessionUnrevertErrors, ThrowOnError>({
+  public unrevert<ThrowOnError extends boolean = false>(
+    options: Options<SessionUnrevertData, ThrowOnError>,
+  ) {
+    return (options.client ?? this._client).post<
+      SessionUnrevertResponses,
+      SessionUnrevertErrors,
+      ThrowOnError
+    >({
       url: "/session/{id}/unrevert",
       url: "/session/{id}/unrevert",
       ...options,
       ...options,
     })
     })
@@ -504,7 +628,9 @@ class Command extends _HeyApiClient {
   /**
   /**
    * List all commands
    * List all commands
    */
    */
-  public list<ThrowOnError extends boolean = false>(options?: Options<CommandListData, ThrowOnError>) {
+  public list<ThrowOnError extends boolean = false>(
+    options?: Options<CommandListData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).get<CommandListResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).get<CommandListResponses, unknown, ThrowOnError>({
       url: "/command",
       url: "/command",
       ...options,
       ...options,
@@ -526,7 +652,9 @@ class Find extends _HeyApiClient {
   /**
   /**
    * Find files
    * Find files
    */
    */
-  public files<ThrowOnError extends boolean = false>(options: Options<FindFilesData, ThrowOnError>) {
+  public files<ThrowOnError extends boolean = false>(
+    options: Options<FindFilesData, ThrowOnError>,
+  ) {
     return (options.client ?? this._client).get<FindFilesResponses, unknown, ThrowOnError>({
     return (options.client ?? this._client).get<FindFilesResponses, unknown, ThrowOnError>({
       url: "/find/file",
       url: "/find/file",
       ...options,
       ...options,
@@ -536,7 +664,9 @@ class Find extends _HeyApiClient {
   /**
   /**
    * Find workspace symbols
    * Find workspace symbols
    */
    */
-  public symbols<ThrowOnError extends boolean = false>(options: Options<FindSymbolsData, ThrowOnError>) {
+  public symbols<ThrowOnError extends boolean = false>(
+    options: Options<FindSymbolsData, ThrowOnError>,
+  ) {
     return (options.client ?? this._client).get<FindSymbolsResponses, unknown, ThrowOnError>({
     return (options.client ?? this._client).get<FindSymbolsResponses, unknown, ThrowOnError>({
       url: "/find/symbol",
       url: "/find/symbol",
       ...options,
       ...options,
@@ -568,7 +698,9 @@ class File extends _HeyApiClient {
   /**
   /**
    * Get file status
    * Get file status
    */
    */
-  public status<ThrowOnError extends boolean = false>(options?: Options<FileStatusData, ThrowOnError>) {
+  public status<ThrowOnError extends boolean = false>(
+    options?: Options<FileStatusData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).get<FileStatusResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).get<FileStatusResponses, unknown, ThrowOnError>({
       url: "/file/status",
       url: "/file/status",
       ...options,
       ...options,
@@ -594,7 +726,9 @@ class App extends _HeyApiClient {
   /**
   /**
    * List all agents
    * List all agents
    */
    */
-  public agents<ThrowOnError extends boolean = false>(options?: Options<AppAgentsData, ThrowOnError>) {
+  public agents<ThrowOnError extends boolean = false>(
+    options?: Options<AppAgentsData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).get<AppAgentsResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).get<AppAgentsResponses, unknown, ThrowOnError>({
       url: "/agent",
       url: "/agent",
       ...options,
       ...options,
@@ -606,7 +740,9 @@ class Mcp extends _HeyApiClient {
   /**
   /**
    * Get MCP server status
    * Get MCP server status
    */
    */
-  public status<ThrowOnError extends boolean = false>(options?: Options<McpStatusData, ThrowOnError>) {
+  public status<ThrowOnError extends boolean = false>(
+    options?: Options<McpStatusData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).get<McpStatusResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).get<McpStatusResponses, unknown, ThrowOnError>({
       url: "/mcp",
       url: "/mcp",
       ...options,
       ...options,
@@ -618,8 +754,14 @@ class Tui extends _HeyApiClient {
   /**
   /**
    * Append prompt to the TUI
    * Append prompt to the TUI
    */
    */
-  public appendPrompt<ThrowOnError extends boolean = false>(options?: Options<TuiAppendPromptData, ThrowOnError>) {
-    return (options?.client ?? this._client).post<TuiAppendPromptResponses, TuiAppendPromptErrors, ThrowOnError>({
+  public appendPrompt<ThrowOnError extends boolean = false>(
+    options?: Options<TuiAppendPromptData, ThrowOnError>,
+  ) {
+    return (options?.client ?? this._client).post<
+      TuiAppendPromptResponses,
+      TuiAppendPromptErrors,
+      ThrowOnError
+    >({
       url: "/tui/append-prompt",
       url: "/tui/append-prompt",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -632,7 +774,9 @@ class Tui extends _HeyApiClient {
   /**
   /**
    * Open the help dialog
    * Open the help dialog
    */
    */
-  public openHelp<ThrowOnError extends boolean = false>(options?: Options<TuiOpenHelpData, ThrowOnError>) {
+  public openHelp<ThrowOnError extends boolean = false>(
+    options?: Options<TuiOpenHelpData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).post<TuiOpenHelpResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).post<TuiOpenHelpResponses, unknown, ThrowOnError>({
       url: "/tui/open-help",
       url: "/tui/open-help",
       ...options,
       ...options,
@@ -642,7 +786,9 @@ class Tui extends _HeyApiClient {
   /**
   /**
    * Open the session dialog
    * Open the session dialog
    */
    */
-  public openSessions<ThrowOnError extends boolean = false>(options?: Options<TuiOpenSessionsData, ThrowOnError>) {
+  public openSessions<ThrowOnError extends boolean = false>(
+    options?: Options<TuiOpenSessionsData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).post<TuiOpenSessionsResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).post<TuiOpenSessionsResponses, unknown, ThrowOnError>({
       url: "/tui/open-sessions",
       url: "/tui/open-sessions",
       ...options,
       ...options,
@@ -652,7 +798,9 @@ class Tui extends _HeyApiClient {
   /**
   /**
    * Open the theme dialog
    * Open the theme dialog
    */
    */
-  public openThemes<ThrowOnError extends boolean = false>(options?: Options<TuiOpenThemesData, ThrowOnError>) {
+  public openThemes<ThrowOnError extends boolean = false>(
+    options?: Options<TuiOpenThemesData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).post<TuiOpenThemesResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).post<TuiOpenThemesResponses, unknown, ThrowOnError>({
       url: "/tui/open-themes",
       url: "/tui/open-themes",
       ...options,
       ...options,
@@ -662,7 +810,9 @@ class Tui extends _HeyApiClient {
   /**
   /**
    * Open the model dialog
    * Open the model dialog
    */
    */
-  public openModels<ThrowOnError extends boolean = false>(options?: Options<TuiOpenModelsData, ThrowOnError>) {
+  public openModels<ThrowOnError extends boolean = false>(
+    options?: Options<TuiOpenModelsData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).post<TuiOpenModelsResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).post<TuiOpenModelsResponses, unknown, ThrowOnError>({
       url: "/tui/open-models",
       url: "/tui/open-models",
       ...options,
       ...options,
@@ -672,7 +822,9 @@ class Tui extends _HeyApiClient {
   /**
   /**
    * Submit the prompt
    * Submit the prompt
    */
    */
-  public submitPrompt<ThrowOnError extends boolean = false>(options?: Options<TuiSubmitPromptData, ThrowOnError>) {
+  public submitPrompt<ThrowOnError extends boolean = false>(
+    options?: Options<TuiSubmitPromptData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).post<TuiSubmitPromptResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).post<TuiSubmitPromptResponses, unknown, ThrowOnError>({
       url: "/tui/submit-prompt",
       url: "/tui/submit-prompt",
       ...options,
       ...options,
@@ -682,7 +834,9 @@ class Tui extends _HeyApiClient {
   /**
   /**
    * Clear the prompt
    * Clear the prompt
    */
    */
-  public clearPrompt<ThrowOnError extends boolean = false>(options?: Options<TuiClearPromptData, ThrowOnError>) {
+  public clearPrompt<ThrowOnError extends boolean = false>(
+    options?: Options<TuiClearPromptData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).post<TuiClearPromptResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).post<TuiClearPromptResponses, unknown, ThrowOnError>({
       url: "/tui/clear-prompt",
       url: "/tui/clear-prompt",
       ...options,
       ...options,
@@ -692,8 +846,14 @@ class Tui extends _HeyApiClient {
   /**
   /**
    * Execute a TUI command (e.g. agent_cycle)
    * Execute a TUI command (e.g. agent_cycle)
    */
    */
-  public executeCommand<ThrowOnError extends boolean = false>(options?: Options<TuiExecuteCommandData, ThrowOnError>) {
-    return (options?.client ?? this._client).post<TuiExecuteCommandResponses, TuiExecuteCommandErrors, ThrowOnError>({
+  public executeCommand<ThrowOnError extends boolean = false>(
+    options?: Options<TuiExecuteCommandData, ThrowOnError>,
+  ) {
+    return (options?.client ?? this._client).post<
+      TuiExecuteCommandResponses,
+      TuiExecuteCommandErrors,
+      ThrowOnError
+    >({
       url: "/tui/execute-command",
       url: "/tui/execute-command",
       ...options,
       ...options,
       headers: {
       headers: {
@@ -706,7 +866,9 @@ class Tui extends _HeyApiClient {
   /**
   /**
    * Show a toast notification in the TUI
    * Show a toast notification in the TUI
    */
    */
-  public showToast<ThrowOnError extends boolean = false>(options?: Options<TuiShowToastData, ThrowOnError>) {
+  public showToast<ThrowOnError extends boolean = false>(
+    options?: Options<TuiShowToastData, ThrowOnError>,
+  ) {
     return (options?.client ?? this._client).post<TuiShowToastResponses, unknown, ThrowOnError>({
     return (options?.client ?? this._client).post<TuiShowToastResponses, unknown, ThrowOnError>({
       url: "/tui/show-toast",
       url: "/tui/show-toast",
       ...options,
       ...options,
@@ -738,8 +900,14 @@ class Event extends _HeyApiClient {
   /**
   /**
    * Get events
    * Get events
    */
    */
-  public subscribe<ThrowOnError extends boolean = false>(options?: Options<EventSubscribeData, ThrowOnError>) {
-    return (options?.client ?? this._client).get.sse<EventSubscribeResponses, unknown, ThrowOnError>({
+  public subscribe<ThrowOnError extends boolean = false>(
+    options?: Options<EventSubscribeData, ThrowOnError>,
+  ) {
+    return (options?.client ?? this._client).get.sse<
+      EventSubscribeResponses,
+      unknown,
+      ThrowOnError
+    >({
       url: "/event",
       url: "/event",
       ...options,
       ...options,
     })
     })

+ 16 - 2
packages/sdk/js/src/gen/types.gen.ts

@@ -505,6 +505,10 @@ export type Config = {
         }
         }
       }>
       }>
     }
     }
+    /**
+     * Number of retries for chat completions on failure
+     */
+    chatMaxRetries?: number
     disable_paste_summary?: boolean
     disable_paste_summary?: boolean
   }
   }
 }
 }
@@ -658,7 +662,12 @@ export type AssistantMessage = {
     created: number
     created: number
     completed?: number
     completed?: number
   }
   }
-  error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | ApiError
+  error?:
+    | ProviderAuthError
+    | UnknownError
+    | MessageOutputLengthError
+    | MessageAbortedError
+    | ApiError
   system: Array<string>
   system: Array<string>
   parentID: string
   parentID: string
   modelID: string
   modelID: string
@@ -1222,7 +1231,12 @@ export type EventSessionError = {
   type: "session.error"
   type: "session.error"
   properties: {
   properties: {
     sessionID?: string
     sessionID?: string
-    error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | ApiError
+    error?:
+      | ProviderAuthError
+      | UnknownError
+      | MessageOutputLengthError
+      | MessageAbortedError
+      | ApiError
   }
   }
 }
 }
 
 

+ 1 - 1
packages/slack/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/slack",
   "name": "@opencode-ai/slack",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "type": "module",
   "type": "module",
   "scripts": {
   "scripts": {
     "dev": "bun run src/index.ts",
     "dev": "bun run src/index.ts",

+ 1 - 1
packages/ui/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/ui",
   "name": "@opencode-ai/ui",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "type": "module",
   "type": "module",
   "exports": {
   "exports": {
     ".": "./src/components/index.ts",
     ".": "./src/components/index.ts",

+ 1 - 1
packages/web/package.json

@@ -1,7 +1,7 @@
 {
 {
   "name": "@opencode-ai/web",
   "name": "@opencode-ai/web",
   "type": "module",
   "type": "module",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "scripts": {
   "scripts": {
     "dev": "astro dev",
     "dev": "astro dev",
     "dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev",
     "dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev",

+ 1 - 1
sdks/vscode/package.json

@@ -2,7 +2,7 @@
   "name": "opencode",
   "name": "opencode",
   "displayName": "opencode",
   "displayName": "opencode",
   "description": "opencode for VS Code",
   "description": "opencode for VS Code",
-  "version": "0.15.20",
+  "version": "0.15.23",
   "publisher": "sst-dev",
   "publisher": "sst-dev",
   "repository": {
   "repository": {
     "type": "git",
     "type": "git",