This commit is contained in:
Dax Raad
2025-08-31 02:32:34 -04:00
parent 647671dbe6
commit ce1b5ee496
3 changed files with 160 additions and 38 deletions
+1 -1
View File
@@ -21,7 +21,6 @@ import { Instance } from "../project/instance"
import { Agent } from "../agent/agent" import { Agent } from "../agent/agent"
import { Auth } from "../auth" import { Auth } from "../auth"
import { Command } from "../command" import { Command } from "../command"
import { ProjectRoute } from "./project"
import { Project } from "../project/project" import { Project } from "../project/project"
import { Global } from "../global" import { Global } from "../global"
@@ -85,6 +84,7 @@ export namespace Server {
return next() return next()
}) })
}) })
.use(zValidator("query", z.object({ directory: z.string().optional() })))
.get( .get(
"/project", "/project",
describeRoute({ describeRoute({
+15
View File
@@ -8,6 +8,8 @@ import type {
EventSubscribeResponses, EventSubscribeResponses,
ConfigGetData, ConfigGetData,
ConfigGetResponses, ConfigGetResponses,
PathGetData,
PathGetResponses,
SessionListData, SessionListData,
SessionListResponses, SessionListResponses,
SessionCreateData, SessionCreateData,
@@ -164,6 +166,18 @@ class Config extends _HeyApiClient {
} }
} }
class Path extends _HeyApiClient {
/**
* Get the current path
*/
public get<ThrowOnError extends boolean = false>(options?: Options<PathGetData, ThrowOnError>) {
return (options?.client ?? this._client).get<PathGetResponses, unknown, ThrowOnError>({
url: "/path",
...options,
})
}
}
class Session extends _HeyApiClient { class Session extends _HeyApiClient {
/** /**
* List all sessions * List all sessions
@@ -623,6 +637,7 @@ export class OpencodeClient extends _HeyApiClient {
project = new Project({ client: this._client }) project = new Project({ client: this._client })
event = new Event({ client: this._client }) event = new Event({ client: this._client })
config = new Config({ client: this._client }) config = new Config({ client: this._client })
path = new Path({ client: this._client })
session = new Session({ client: this._client }) session = new Session({ client: this._client })
command = new Command({ client: this._client }) command = new Command({ client: this._client })
find = new Find({ client: this._client }) find = new Find({ client: this._client })
+144 -37
View File
@@ -1049,6 +1049,11 @@ export type McpRemoteConfig = {
export type LayoutConfig = "auto" | "stretch" export type LayoutConfig = "auto" | "stretch"
export type Path = {
state: string
config: string
}
export type _Error = { export type _Error = {
data: { data: {
[key: string]: unknown [key: string]: unknown
@@ -1173,10 +1178,17 @@ export type WellKnownAuth = {
token: string token: string
} }
/**
* Working directory path (defaults to current working directory)
*/
export type Directory = string
export type ProjectListData = { export type ProjectListData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/project" url: "/project"
} }
@@ -1192,7 +1204,9 @@ export type ProjectListResponse = ProjectListResponses[keyof ProjectListResponse
export type EventSubscribeData = { export type EventSubscribeData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/event" url: "/event"
} }
@@ -1208,7 +1222,9 @@ export type EventSubscribeResponse = EventSubscribeResponses[keyof EventSubscrib
export type ConfigGetData = { export type ConfigGetData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/config" url: "/config"
} }
@@ -1221,10 +1237,30 @@ export type ConfigGetResponses = {
export type ConfigGetResponse = ConfigGetResponses[keyof ConfigGetResponses] export type ConfigGetResponse = ConfigGetResponses[keyof ConfigGetResponses]
export type PathGetData = {
body?: never
path?: never
query?: {
directory?: string
}
url: "/path"
}
export type PathGetResponses = {
/**
* Path
*/
200: Path
}
export type PathGetResponse = PathGetResponses[keyof PathGetResponses]
export type SessionListData = { export type SessionListData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/session" url: "/session"
} }
@@ -1243,7 +1279,9 @@ export type SessionCreateData = {
title?: string title?: string
} }
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/session" url: "/session"
} }
@@ -1270,7 +1308,9 @@ export type SessionDeleteData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}" url: "/session/{id}"
} }
@@ -1288,7 +1328,9 @@ export type SessionGetData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}" url: "/session/{id}"
} }
@@ -1308,7 +1350,9 @@ export type SessionUpdateData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}" url: "/session/{id}"
} }
@@ -1326,7 +1370,9 @@ export type SessionChildrenData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/children" url: "/session/{id}/children"
} }
@@ -1351,7 +1397,9 @@ export type SessionInitData = {
*/ */
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/init" url: "/session/{id}/init"
} }
@@ -1369,7 +1417,9 @@ export type SessionAbortData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/abort" url: "/session/{id}/abort"
} }
@@ -1387,7 +1437,9 @@ export type SessionUnshareData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/share" url: "/session/{id}/share"
} }
@@ -1405,7 +1457,9 @@ export type SessionShareData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/share" url: "/session/{id}/share"
} }
@@ -1429,7 +1483,9 @@ export type SessionSummarizeData = {
*/ */
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/summarize" url: "/session/{id}/summarize"
} }
@@ -1450,7 +1506,9 @@ export type SessionMessagesData = {
*/ */
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/message" url: "/session/{id}/message"
} }
@@ -1494,7 +1552,9 @@ export type SessionChatData = {
*/ */
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/message" url: "/session/{id}/message"
} }
@@ -1522,7 +1582,9 @@ export type SessionMessageData = {
*/ */
messageID: string messageID: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/message/{messageID}" url: "/session/{id}/message/{messageID}"
} }
@@ -1552,7 +1614,9 @@ export type SessionCommandData = {
*/ */
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/command" url: "/session/{id}/command"
} }
@@ -1579,7 +1643,9 @@ export type SessionShellData = {
*/ */
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/shell" url: "/session/{id}/shell"
} }
@@ -1600,7 +1666,9 @@ export type SessionRevertData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/revert" url: "/session/{id}/revert"
} }
@@ -1618,7 +1686,9 @@ export type SessionUnrevertData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/unrevert" url: "/session/{id}/unrevert"
} }
@@ -1639,7 +1709,9 @@ export type PostSessionByIdPermissionsByPermissionIdData = {
id: string id: string
permissionID: string permissionID: string
} }
query?: never query?: {
directory?: string
}
url: "/session/{id}/permissions/{permissionID}" url: "/session/{id}/permissions/{permissionID}"
} }
@@ -1656,7 +1728,9 @@ export type PostSessionByIdPermissionsByPermissionIdResponse =
export type CommandListData = { export type CommandListData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/command" url: "/command"
} }
@@ -1672,7 +1746,9 @@ export type CommandListResponse = CommandListResponses[keyof CommandListResponse
export type ConfigProvidersData = { export type ConfigProvidersData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/config/providers" url: "/config/providers"
} }
@@ -1694,6 +1770,7 @@ export type FindTextData = {
body?: never body?: never
path?: never path?: never
query: { query: {
directory?: string
pattern: string pattern: string
} }
url: "/find" url: "/find"
@@ -1728,6 +1805,7 @@ export type FindFilesData = {
body?: never body?: never
path?: never path?: never
query: { query: {
directory?: string
query: string query: string
} }
url: "/find/file" url: "/find/file"
@@ -1746,6 +1824,7 @@ export type FindSymbolsData = {
body?: never body?: never
path?: never path?: never
query: { query: {
directory?: string
query: string query: string
} }
url: "/find/symbol" url: "/find/symbol"
@@ -1764,6 +1843,7 @@ export type FileListData = {
body?: never body?: never
path?: never path?: never
query: { query: {
directory?: string
path: string path: string
} }
url: "/file" url: "/file"
@@ -1782,6 +1862,7 @@ export type FileReadData = {
body?: never body?: never
path?: never path?: never
query: { query: {
directory?: string
path: string path: string
} }
url: "/file/content" url: "/file/content"
@@ -1802,7 +1883,9 @@ export type FileReadResponse = FileReadResponses[keyof FileReadResponses]
export type FileStatusData = { export type FileStatusData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/file/status" url: "/file/status"
} }
@@ -1837,7 +1920,9 @@ export type AppLogData = {
} }
} }
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/log" url: "/log"
} }
@@ -1853,7 +1938,9 @@ export type AppLogResponse = AppLogResponses[keyof AppLogResponses]
export type AppAgentsData = { export type AppAgentsData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/agent" url: "/agent"
} }
@@ -1871,7 +1958,9 @@ export type TuiAppendPromptData = {
text: string text: string
} }
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/tui/append-prompt" url: "/tui/append-prompt"
} }
@@ -1887,7 +1976,9 @@ export type TuiAppendPromptResponse = TuiAppendPromptResponses[keyof TuiAppendPr
export type TuiOpenHelpData = { export type TuiOpenHelpData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/tui/open-help" url: "/tui/open-help"
} }
@@ -1903,7 +1994,9 @@ export type TuiOpenHelpResponse = TuiOpenHelpResponses[keyof TuiOpenHelpResponse
export type TuiOpenSessionsData = { export type TuiOpenSessionsData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/tui/open-sessions" url: "/tui/open-sessions"
} }
@@ -1919,7 +2012,9 @@ export type TuiOpenSessionsResponse = TuiOpenSessionsResponses[keyof TuiOpenSess
export type TuiOpenThemesData = { export type TuiOpenThemesData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/tui/open-themes" url: "/tui/open-themes"
} }
@@ -1935,7 +2030,9 @@ export type TuiOpenThemesResponse = TuiOpenThemesResponses[keyof TuiOpenThemesRe
export type TuiOpenModelsData = { export type TuiOpenModelsData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/tui/open-models" url: "/tui/open-models"
} }
@@ -1951,7 +2048,9 @@ export type TuiOpenModelsResponse = TuiOpenModelsResponses[keyof TuiOpenModelsRe
export type TuiSubmitPromptData = { export type TuiSubmitPromptData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/tui/submit-prompt" url: "/tui/submit-prompt"
} }
@@ -1967,7 +2066,9 @@ export type TuiSubmitPromptResponse = TuiSubmitPromptResponses[keyof TuiSubmitPr
export type TuiClearPromptData = { export type TuiClearPromptData = {
body?: never body?: never
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/tui/clear-prompt" url: "/tui/clear-prompt"
} }
@@ -1985,7 +2086,9 @@ export type TuiExecuteCommandData = {
command: string command: string
} }
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/tui/execute-command" url: "/tui/execute-command"
} }
@@ -2005,7 +2108,9 @@ export type TuiShowToastData = {
variant: "info" | "success" | "warning" | "error" variant: "info" | "success" | "warning" | "error"
} }
path?: never path?: never
query?: never query?: {
directory?: string
}
url: "/tui/show-toast" url: "/tui/show-toast"
} }
@@ -2023,7 +2128,9 @@ export type AuthSetData = {
path: { path: {
id: string id: string
} }
query?: never query?: {
directory?: string
}
url: "/auth/{id}" url: "/auth/{id}"
} }