fix(tui): gate background shortcut by capability (#32837)
This commit is contained in:
parent
62c746f2e8
commit
2892e97c57
8 changed files with 148 additions and 20 deletions
|
|
@ -29,6 +29,8 @@ import type {
|
|||
EventTuiPromptAppend,
|
||||
EventTuiSessionSelect,
|
||||
EventTuiToastShow,
|
||||
ExperimentalCapabilitiesGetErrors,
|
||||
ExperimentalCapabilitiesGetResponses,
|
||||
ExperimentalConsoleGetErrors,
|
||||
ExperimentalConsoleGetResponses,
|
||||
ExperimentalConsoleListOrgsErrors,
|
||||
|
|
@ -627,6 +629,42 @@ export class ControlPlane extends HeyApiClient {
|
|||
}
|
||||
}
|
||||
|
||||
export class Capabilities extends HeyApiClient {
|
||||
/**
|
||||
* Get experimental capabilities
|
||||
*
|
||||
* Get experimental features enabled on the OpenCode server.
|
||||
*/
|
||||
public get<ThrowOnError extends boolean = false>(
|
||||
parameters?: {
|
||||
directory?: string
|
||||
workspace?: string
|
||||
},
|
||||
options?: Options<never, ThrowOnError>,
|
||||
) {
|
||||
const params = buildClientParams(
|
||||
[parameters],
|
||||
[
|
||||
{
|
||||
args: [
|
||||
{ in: "query", key: "directory" },
|
||||
{ in: "query", key: "workspace" },
|
||||
],
|
||||
},
|
||||
],
|
||||
)
|
||||
return (options?.client ?? this.client).get<
|
||||
ExperimentalCapabilitiesGetResponses,
|
||||
ExperimentalCapabilitiesGetErrors,
|
||||
ThrowOnError
|
||||
>({
|
||||
url: "/experimental/capabilities",
|
||||
...options,
|
||||
...params,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export class Console extends HeyApiClient {
|
||||
/**
|
||||
* Get active Console provider metadata
|
||||
|
|
@ -1180,6 +1218,11 @@ export class Experimental extends HeyApiClient {
|
|||
return (this._controlPlane ??= new ControlPlane({ client: this.client }))
|
||||
}
|
||||
|
||||
private _capabilities?: Capabilities
|
||||
get capabilities(): Capabilities {
|
||||
return (this._capabilities ??= new Capabilities({ client: this.client }))
|
||||
}
|
||||
|
||||
private _console?: Console
|
||||
get console(): Console {
|
||||
return (this._console ??= new Console({ client: this.client }))
|
||||
|
|
|
|||
|
|
@ -2144,6 +2144,10 @@ export type Provider = {
|
|||
}
|
||||
}
|
||||
|
||||
export type ExperimentalCapabilities = {
|
||||
backgroundSubagents: boolean
|
||||
}
|
||||
|
||||
export type ConsoleState = {
|
||||
consoleManagedProviders: Array<string>
|
||||
activeOrgName?: string
|
||||
|
|
@ -5549,6 +5553,36 @@ export type ConfigProvidersResponses = {
|
|||
|
||||
export type ConfigProvidersResponse = ConfigProvidersResponses[keyof ConfigProvidersResponses]
|
||||
|
||||
export type ExperimentalCapabilitiesGetData = {
|
||||
body?: never
|
||||
path?: never
|
||||
query?: {
|
||||
directory?: string
|
||||
workspace?: string
|
||||
}
|
||||
url: "/experimental/capabilities"
|
||||
}
|
||||
|
||||
export type ExperimentalCapabilitiesGetErrors = {
|
||||
/**
|
||||
* Bad request
|
||||
*/
|
||||
400: BadRequestError
|
||||
}
|
||||
|
||||
export type ExperimentalCapabilitiesGetError =
|
||||
ExperimentalCapabilitiesGetErrors[keyof ExperimentalCapabilitiesGetErrors]
|
||||
|
||||
export type ExperimentalCapabilitiesGetResponses = {
|
||||
/**
|
||||
* Experimental capabilities
|
||||
*/
|
||||
200: ExperimentalCapabilities
|
||||
}
|
||||
|
||||
export type ExperimentalCapabilitiesGetResponse =
|
||||
ExperimentalCapabilitiesGetResponses[keyof ExperimentalCapabilitiesGetResponses]
|
||||
|
||||
export type ExperimentalConsoleGetData = {
|
||||
body?: never
|
||||
path?: never
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue