diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/config.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/config.ts index 0fd2d19..42a5768 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/config.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/config.ts @@ -16,6 +16,7 @@ export const ConfigApi = HttpApi.make("config") HttpApiEndpoint.get("get", root, { query: WorkspaceRoutingQuery, success: described(ConfigV1.Info, "Get config info"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "config.get", @@ -38,6 +39,7 @@ export const ConfigApi = HttpApi.make("config") HttpApiEndpoint.get("providers", `${root}/providers`, { query: WorkspaceRoutingQuery, success: described(Provider.ConfigProvidersResult, "List of providers"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "config.providers", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/experimental.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/experimental.ts index 5e40fcd..af2cdb2 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/experimental.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/experimental.ts @@ -108,6 +108,7 @@ export const ExperimentalApi = HttpApi.make("experimental") HttpApiEndpoint.get("capabilities", ExperimentalPaths.capabilities, { query: WorkspaceRoutingQuery, success: described(CapabilitiesResponse, "Experimental capabilities"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "experimental.capabilities.get", @@ -224,6 +225,7 @@ export const ExperimentalApi = HttpApi.make("experimental") HttpApiEndpoint.get("session", ExperimentalPaths.session, { query: SessionListQuery, success: described(Schema.Array(Session.GlobalInfo), "List of sessions"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "experimental.session.list", @@ -248,6 +250,7 @@ export const ExperimentalApi = HttpApi.make("experimental") HttpApiEndpoint.get("resource", ExperimentalPaths.resource, { query: WorkspaceRoutingQuery, success: described(Schema.Record(Schema.String, MCP.Resource), "MCP resources"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "experimental.resource.list", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/global.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/global.ts index 97b72dc..0038147 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/global.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/global.ts @@ -75,6 +75,7 @@ export const GlobalApi = HttpApi.make("global").add( .add( HttpApiEndpoint.get("health", GlobalPaths.health, { success: described(GlobalHealth, "Health information"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "global.health", @@ -84,6 +85,7 @@ export const GlobalApi = HttpApi.make("global").add( ), HttpApiEndpoint.get("event", GlobalPaths.event, { success: GlobalEventSchema, + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "global.event", @@ -93,6 +95,7 @@ export const GlobalApi = HttpApi.make("global").add( ), HttpApiEndpoint.get("configGet", GlobalPaths.config, { success: described(ConfigV1.Info, "Get global config info"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "global.config.get", @@ -113,6 +116,7 @@ export const GlobalApi = HttpApi.make("global").add( ), HttpApiEndpoint.post("dispose", GlobalPaths.dispose, { success: described(Schema.Boolean, "Global disposed"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "global.dispose", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/mcp.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/mcp.ts index a6fb064..e45573f 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/mcp.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/mcp.ts @@ -45,6 +45,7 @@ export const McpApi = HttpApi.make("mcp") HttpApiEndpoint.get("status", McpPaths.status, { query: WorkspaceRoutingQuery, success: described(Schema.Record(Schema.String, MCP.Status), "MCP server status"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "mcp.status", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/permission.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/permission.ts index 79959db..9101c33 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/permission.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/permission.ts @@ -21,6 +21,7 @@ export const PermissionApi = HttpApi.make("permission") HttpApiEndpoint.get("list", root, { query: WorkspaceRoutingQuery, success: described(Schema.Array(PermissionV1.Request), "List of pending permissions"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "permission.list", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/project.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/project.ts index fd0c131..90be12c 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/project.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/project.ts @@ -22,6 +22,7 @@ export const ProjectApi = HttpApi.make("project") HttpApiEndpoint.get("list", root, { query: WorkspaceRoutingQuery, success: described(Schema.Array(Project.Info), "List of projects"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "project.list", @@ -32,6 +33,7 @@ export const ProjectApi = HttpApi.make("project") HttpApiEndpoint.get("current", `${root}/current`, { query: WorkspaceRoutingQuery, success: described(Project.Info, "Current project information"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "project.current", @@ -42,6 +44,7 @@ export const ProjectApi = HttpApi.make("project") HttpApiEndpoint.post("initGit", `${root}/git/init`, { query: WorkspaceRoutingQuery, success: described(Project.Info, "Project information after git initialization"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "project.initGit", @@ -66,6 +69,7 @@ export const ProjectApi = HttpApi.make("project") params: { projectID: ProjectV2.ID }, query: WorkspaceRoutingQuery, success: described(ProjectV2.Directories, "Project directories"), + error: [HttpApiError.BadRequest, ProjectNotFoundError], }).annotateMerge( OpenApi.annotations({ identifier: "project.directories", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/pty.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/pty.ts index ead86af..9f4f301 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/pty.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/pty.ts @@ -44,6 +44,7 @@ export const PtyApi = HttpApi.make("pty") HttpApiEndpoint.get("shells", PtyPaths.shells, { query: WorkspaceRoutingQuery, success: described(Schema.Array(ShellItem), "List of shells"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "pty.shells", @@ -54,6 +55,7 @@ export const PtyApi = HttpApi.make("pty") HttpApiEndpoint.get("list", PtyPaths.list, { query: WorkspaceRoutingQuery, success: described(Schema.Array(Pty.Info), "List of sessions"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "pty.list", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/question.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/question.ts index e9e6342..673ff27 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/question.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/question.ts @@ -22,6 +22,7 @@ export const QuestionApi = HttpApi.make("question") HttpApiEndpoint.get("list", root, { query: WorkspaceRoutingQuery, success: described(Schema.Array(Question.Request), "List of pending questions"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "question.list", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/sync.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/sync.ts index ca9b1cd..7e9fd1b 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/sync.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/sync.ts @@ -49,6 +49,7 @@ export const SyncApi = HttpApi.make("sync") HttpApiEndpoint.post("start", SyncPaths.start, { query: WorkspaceRoutingQuery, success: described(Schema.Boolean, "Workspace sync started"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "sync.start", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/tui.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/tui.ts index 849c416..932dbfc 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/tui.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/tui.ts @@ -68,6 +68,7 @@ export const TuiApi = HttpApi.make("tui") HttpApiEndpoint.post("openHelp", TuiPaths.openHelp, { query: WorkspaceRoutingQuery, success: described(Schema.Boolean, "Help dialog opened successfully"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "tui.openHelp", @@ -78,6 +79,7 @@ export const TuiApi = HttpApi.make("tui") HttpApiEndpoint.post("openSessions", TuiPaths.openSessions, { query: WorkspaceRoutingQuery, success: described(Schema.Boolean, "Session dialog opened successfully"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "tui.openSessions", @@ -88,6 +90,7 @@ export const TuiApi = HttpApi.make("tui") HttpApiEndpoint.post("openThemes", TuiPaths.openThemes, { query: WorkspaceRoutingQuery, success: described(Schema.Boolean, "Theme dialog opened successfully"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "tui.openThemes", @@ -98,6 +101,7 @@ export const TuiApi = HttpApi.make("tui") HttpApiEndpoint.post("openModels", TuiPaths.openModels, { query: WorkspaceRoutingQuery, success: described(Schema.Boolean, "Model dialog opened successfully"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "tui.openModels", @@ -108,6 +112,7 @@ export const TuiApi = HttpApi.make("tui") HttpApiEndpoint.post("submitPrompt", TuiPaths.submitPrompt, { query: WorkspaceRoutingQuery, success: described(Schema.Boolean, "Prompt submitted successfully"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "tui.submitPrompt", @@ -118,6 +123,7 @@ export const TuiApi = HttpApi.make("tui") HttpApiEndpoint.post("clearPrompt", TuiPaths.clearPrompt, { query: WorkspaceRoutingQuery, success: described(Schema.Boolean, "Prompt cleared successfully"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "tui.clearPrompt", @@ -141,6 +147,7 @@ export const TuiApi = HttpApi.make("tui") query: WorkspaceRoutingQuery, payload: TuiEvent.ToastShow.data, success: described(Schema.Boolean, "Toast notification shown successfully"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "tui.showToast", @@ -175,6 +182,7 @@ export const TuiApi = HttpApi.make("tui") HttpApiEndpoint.get("controlNext", TuiPaths.controlNext, { query: WorkspaceRoutingQuery, success: described(TuiRequestPayload, "Next TUI request"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "tui.control.next", @@ -186,6 +194,7 @@ export const TuiApi = HttpApi.make("tui") query: WorkspaceRoutingQuery, payload: Schema.Unknown, success: described(Schema.Boolean, "Response submitted successfully"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "tui.control.response", diff --git a/packages/opencode/src/server/routes/instance/httpapi/groups/workspace.ts b/packages/opencode/src/server/routes/instance/httpapi/groups/workspace.ts index 09a6e67..60646d6 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/groups/workspace.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/groups/workspace.ts @@ -53,6 +53,7 @@ export const WorkspaceApi = HttpApi.make("workspace") HttpApiEndpoint.get("adapters", WorkspacePaths.adapters, { query: WorkspaceRoutingQuery, success: described(Schema.Array(WorkspaceAdapterEntry), "Workspace adapters"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "experimental.workspace.adapter.list", @@ -63,6 +64,7 @@ export const WorkspaceApi = HttpApi.make("workspace") HttpApiEndpoint.get("list", WorkspacePaths.list, { query: WorkspaceRoutingQuery, success: described(Schema.Array(Workspace.Info), "Workspaces"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "experimental.workspace.list", @@ -85,6 +87,7 @@ export const WorkspaceApi = HttpApi.make("workspace") HttpApiEndpoint.post("syncList", WorkspacePaths.syncList, { query: WorkspaceRoutingQuery, success: described(HttpApiSchema.NoContent, "Workspace list synced"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "experimental.workspace.syncList", @@ -95,6 +98,7 @@ export const WorkspaceApi = HttpApi.make("workspace") HttpApiEndpoint.get("status", WorkspacePaths.status, { query: WorkspaceRoutingQuery, success: described(Schema.Array(Workspace.ConnectionStatus), "Workspace status"), + error: HttpApiError.BadRequest, }).annotateMerge( OpenApi.annotations({ identifier: "experimental.workspace.status",