feat(app): delete workspace

This commit is contained in:
Adam
2026-01-15 12:48:54 -06:00
parent 06d03dec3b
commit f26de6c52f
6 changed files with 345 additions and 60 deletions

View File

@@ -162,6 +162,9 @@ import type {
WorktreeCreateInput,
WorktreeCreateResponses,
WorktreeListResponses,
WorktreeRemoveErrors,
WorktreeRemoveInput,
WorktreeRemoveResponses,
} from "./types.gen.js"
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<
@@ -654,6 +657,41 @@ export class Tool extends HeyApiClient {
}
export class Worktree extends HeyApiClient {
/**
* Remove worktree
*
* Remove a git worktree and delete its branch.
*/
public remove<ThrowOnError extends boolean = false>(
parameters?: {
directory?: string
worktreeRemoveInput?: WorktreeRemoveInput
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "query", key: "directory" },
{ key: "worktreeRemoveInput", map: "body" },
],
},
],
)
return (options?.client ?? this.client).delete<WorktreeRemoveResponses, WorktreeRemoveErrors, ThrowOnError>({
url: "/experimental/worktree",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
})
}
/**
* List worktrees
*

View File

@@ -1908,6 +1908,10 @@ export type WorktreeCreateInput = {
startCommand?: string
}
export type WorktreeRemoveInput = {
directory: string
}
export type McpResource = {
name: string
uri: string
@@ -2554,6 +2558,33 @@ export type ToolListResponses = {
export type ToolListResponse = ToolListResponses[keyof ToolListResponses]
export type WorktreeRemoveData = {
body?: WorktreeRemoveInput
path?: never
query?: {
directory?: string
}
url: "/experimental/worktree"
}
export type WorktreeRemoveErrors = {
/**
* Bad request
*/
400: BadRequestError
}
export type WorktreeRemoveError = WorktreeRemoveErrors[keyof WorktreeRemoveErrors]
export type WorktreeRemoveResponses = {
/**
* Worktree removed
*/
200: boolean
}
export type WorktreeRemoveResponse = WorktreeRemoveResponses[keyof WorktreeRemoveResponses]
export type WorktreeListData = {
body?: never
path?: never