Fix warping into local project, add tests
This commit is contained in:
parent
b7b57a0172
commit
71406ae27d
11 changed files with 457 additions and 103 deletions
|
|
@ -32,6 +32,8 @@ import type {
|
|||
ExperimentalWorkspaceAdaptorListResponses,
|
||||
ExperimentalWorkspaceCreateErrors,
|
||||
ExperimentalWorkspaceCreateResponses,
|
||||
ExperimentalWorkspaceDetachErrors,
|
||||
ExperimentalWorkspaceDetachResponses,
|
||||
ExperimentalWorkspaceListResponses,
|
||||
ExperimentalWorkspaceRemoveErrors,
|
||||
ExperimentalWorkspaceRemoveResponses,
|
||||
|
|
@ -654,6 +656,49 @@ export class Workspace extends HeyApiClient {
|
|||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Warp session into workspace
|
||||
*
|
||||
* Move a session's sync history into the target workspace, or detach it to the local project.
|
||||
*/
|
||||
public detach<ThrowOnError extends boolean = false>(
|
||||
parameters?: {
|
||||
directory?: string
|
||||
workspace?: string
|
||||
workspaceID?: string | null
|
||||
sessionID?: string
|
||||
},
|
||||
options?: Options<never, ThrowOnError>,
|
||||
) {
|
||||
const params = buildClientParams(
|
||||
[parameters],
|
||||
[
|
||||
{
|
||||
args: [
|
||||
{ in: "query", key: "directory" },
|
||||
{ in: "query", key: "workspace" },
|
||||
{ in: "body", key: "workspaceID" },
|
||||
{ in: "body", key: "sessionID" },
|
||||
],
|
||||
},
|
||||
],
|
||||
)
|
||||
return (options?.client ?? this.client).post<
|
||||
ExperimentalWorkspaceDetachResponses,
|
||||
ExperimentalWorkspaceDetachErrors,
|
||||
ThrowOnError
|
||||
>({
|
||||
url: "/experimental/workspace/warp",
|
||||
...options,
|
||||
...params,
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
...options?.headers,
|
||||
...params.headers,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove workspace
|
||||
*
|
||||
|
|
|
|||
|
|
@ -2520,6 +2520,39 @@ export type ExperimentalWorkspaceStatusResponses = {
|
|||
export type ExperimentalWorkspaceStatusResponse =
|
||||
ExperimentalWorkspaceStatusResponses[keyof ExperimentalWorkspaceStatusResponses]
|
||||
|
||||
export type ExperimentalWorkspaceDetachData = {
|
||||
body?: {
|
||||
workspaceID: string | null
|
||||
sessionID: string
|
||||
}
|
||||
path?: never
|
||||
query?: {
|
||||
directory?: string
|
||||
workspace?: string
|
||||
}
|
||||
url: "/experimental/workspace/warp"
|
||||
}
|
||||
|
||||
export type ExperimentalWorkspaceDetachErrors = {
|
||||
/**
|
||||
* Bad request
|
||||
*/
|
||||
400: BadRequestError
|
||||
}
|
||||
|
||||
export type ExperimentalWorkspaceDetachError =
|
||||
ExperimentalWorkspaceDetachErrors[keyof ExperimentalWorkspaceDetachErrors]
|
||||
|
||||
export type ExperimentalWorkspaceDetachResponses = {
|
||||
/**
|
||||
* Session warped
|
||||
*/
|
||||
204: void
|
||||
}
|
||||
|
||||
export type ExperimentalWorkspaceDetachResponse =
|
||||
ExperimentalWorkspaceDetachResponses[keyof ExperimentalWorkspaceDetachResponses]
|
||||
|
||||
export type ExperimentalWorkspaceRemoveData = {
|
||||
body?: never
|
||||
path: {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue