Merge pull request #8690 from Kilo-Org/catrielmuller/fix-vscode-build-09022026

fix(vscode): update RemoteStatusService to use correct SDK API signature
This commit is contained in:
Catriel Müller
2026-04-09 17:38:50 -03:00
committed by GitHub
4 changed files with 2817 additions and 1470 deletions
@@ -60,7 +60,8 @@ export class RemoteStatusService implements vscode.Disposable {
/** Toggle remote on/off based on current state. */
async toggle(): Promise<void> {
if (!this.client) return
const { data } = await this.client.remote.status(undefined, { throwOnError: true })
const { data } = await this.client.remote.status({ throwOnError: true })
if (!data) return
await this.setEnabled(!data.enabled)
}
@@ -68,9 +69,9 @@ export class RemoteStatusService implements vscode.Disposable {
async setEnabled(enabled: boolean): Promise<void> {
if (!this.client) return
if (enabled) {
await this.client.remote.enable(undefined, { throwOnError: true })
await this.client.remote.enable({ throwOnError: true })
} else {
await this.client.remote.disable(undefined, { throwOnError: true })
await this.client.remote.disable({ throwOnError: true })
}
this.update({ enabled, connected: false })
}
+144 -198
View File
@@ -364,6 +364,44 @@ export class Global extends HeyApiClient {
}
}
export class Remote extends HeyApiClient {
/**
* Enable remote connection
*
* Enable WebSocket connection to UserConnectionDO for real-time session relay and commands.
*/
public enable<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {
return (options?.client ?? this.client).post<RemoteEnableResponses, unknown, ThrowOnError>({
url: "/remote/enable",
...options,
})
}
/**
* Disable remote connection
*
* Close the remote WebSocket connection to UserConnectionDO.
*/
public disable<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {
return (options?.client ?? this.client).post<RemoteDisableResponses, unknown, ThrowOnError>({
url: "/remote/disable",
...options,
})
}
/**
* Get remote connection status
*
* Get the current state of the remote WebSocket connection.
*/
public status<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {
return (options?.client ?? this.client).get<RemoteStatusResponses, unknown, ThrowOnError>({
url: "/remote/status",
...options,
})
}
}
export class Auth extends HeyApiClient {
/**
* Remove auth credentials
@@ -2812,6 +2850,102 @@ export class Question extends HeyApiClient {
}
}
export class Network extends HeyApiClient {
/**
* List pending network waits
*
* Get all pending network reconnect requests across all sessions.
*/
public list<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<NetworkListResponses, unknown, ThrowOnError>({
url: "/network",
...options,
...params,
})
}
/**
* Resume after network wait
*
* Resume a pending session after reconnecting network-dependent services.
*/
public reply<ThrowOnError extends boolean = false>(
parameters: {
requestID: string
directory?: string
workspace?: string
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "path", key: "requestID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
],
)
return (options?.client ?? this.client).post<NetworkReplyResponses, NetworkReplyErrors, ThrowOnError>({
url: "/network/{requestID}/reply",
...options,
...params,
})
}
/**
* Reject network resume request
*
* Stop a pending session instead of resuming after network reconnect.
*/
public reject<ThrowOnError extends boolean = false>(
parameters: {
requestID: string
directory?: string
workspace?: string
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "path", key: "requestID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
],
)
return (options?.client ?? this.client).post<NetworkRejectResponses, NetworkRejectErrors, ThrowOnError>({
url: "/network/{requestID}/reject",
...options,
...params,
})
}
}
export class Oauth extends HeyApiClient {
/**
* OAuth authorize
@@ -3012,98 +3146,6 @@ export class Telemetry extends HeyApiClient {
}
}
export class Remote extends HeyApiClient {
/**
* Enable remote connection
*
* Enable WebSocket connection to UserConnectionDO for real-time session relay and commands.
*/
public enable<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).post<RemoteEnableResponses, unknown, ThrowOnError>({
url: "/remote/enable",
...options,
...params,
})
}
/**
* Disable remote connection
*
* Close the remote WebSocket connection to UserConnectionDO.
*/
public disable<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).post<RemoteDisableResponses, unknown, ThrowOnError>({
url: "/remote/disable",
...options,
...params,
})
}
/**
* Get remote connection status
*
* Get the current state of the remote WebSocket connection.
*/
public status<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<RemoteStatusResponses, unknown, ThrowOnError>({
url: "/remote/status",
...options,
...params,
})
}
}
export class CommitMessage extends HeyApiClient {
/**
* Generate commit message
@@ -5289,102 +5331,6 @@ export class Event extends HeyApiClient {
}
}
export class Network extends HeyApiClient {
/**
* List pending network waits
*
* Get all pending network reconnect requests across all sessions.
*/
public list<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<NetworkListResponses, unknown, ThrowOnError>({
url: "/network",
...options,
...params,
})
}
/**
* Resume after network wait
*
* Resume a pending session after reconnecting network-dependent services.
*/
public reply<ThrowOnError extends boolean = false>(
parameters: {
requestID: string
directory?: string
workspace?: string
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "path", key: "requestID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
],
)
return (options?.client ?? this.client).post<NetworkReplyResponses, NetworkReplyErrors, ThrowOnError>({
url: "/network/{requestID}/reply",
...options,
...params,
})
}
/**
* Reject network resume request
*
* Stop a pending session instead of resuming after network reconnect.
*/
public reject<ThrowOnError extends boolean = false>(
parameters: {
requestID: string
directory?: string
workspace?: string
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "path", key: "requestID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
],
)
return (options?.client ?? this.client).post<NetworkRejectResponses, NetworkRejectErrors, ThrowOnError>({
url: "/network/{requestID}/reject",
...options,
...params,
})
}
}
export class KiloClient extends HeyApiClient {
public static readonly __registry = new HeyApiRegistry<KiloClient>()
@@ -5398,6 +5344,11 @@ export class KiloClient extends HeyApiClient {
return (this._global ??= new Global({ client: this.client }))
}
private _remote?: Remote
get remote(): Remote {
return (this._remote ??= new Remote({ client: this.client }))
}
private _auth?: Auth
get auth(): Auth {
return (this._auth ??= new Auth({ client: this.client }))
@@ -5453,6 +5404,11 @@ export class KiloClient extends HeyApiClient {
return (this._question ??= new Question({ client: this.client }))
}
private _network?: Network
get network(): Network {
return (this._network ??= new Network({ client: this.client }))
}
private _provider?: Provider
get provider(): Provider {
return (this._provider ??= new Provider({ client: this.client }))
@@ -5463,11 +5419,6 @@ export class KiloClient extends HeyApiClient {
return (this._telemetry ??= new Telemetry({ client: this.client }))
}
private _remote?: Remote
get remote(): Remote {
return (this._remote ??= new Remote({ client: this.client }))
}
private _commitMessage?: CommitMessage
get commitMessage(): CommitMessage {
return (this._commitMessage ??= new CommitMessage({ client: this.client }))
@@ -5547,9 +5498,4 @@ export class KiloClient extends HeyApiClient {
get event(): Event {
return (this._event ??= new Event({ client: this.client }))
}
private _network?: Network
get network(): Network {
return (this._network ??= new Network({ client: this.client }))
}
}
+263 -272
View File
@@ -97,6 +97,114 @@ export type EventFileEdited = {
}
}
export type EventTuiPromptAppend = {
type: "tui.prompt.append"
properties: {
text: string
}
}
export type EventTuiCommandExecute = {
type: "tui.command.execute"
properties: {
command:
| "session.list"
| "session.new"
| "session.share"
| "session.interrupt"
| "session.compact"
| "session.page.up"
| "session.page.down"
| "session.line.up"
| "session.line.down"
| "session.half.page.up"
| "session.half.page.down"
| "session.first"
| "session.last"
| "prompt.clear"
| "prompt.submit"
| "agent.cycle"
| string
}
}
export type EventTuiToastShow = {
type: "tui.toast.show"
properties: {
title?: string
message: string
variant: "info" | "success" | "warning" | "error"
/**
* Duration in milliseconds
*/
duration?: number
}
}
export type EventTuiSessionSelect = {
type: "tui.session.select"
properties: {
/**
* Session ID to navigate to
*/
sessionID: string
}
}
export type EventMcpToolsChanged = {
type: "mcp.tools.changed"
properties: {
server: string
}
}
export type EventMcpBrowserOpenFailed = {
type: "mcp.browser.open.failed"
properties: {
mcpName: string
url: string
}
}
export type SessionNetworkWait = {
id: string
sessionID: string
message: string
restored: boolean
time: {
created: number
}
}
export type EventSessionNetworkAsked = {
type: "session.network.asked"
properties: SessionNetworkWait
}
export type EventSessionNetworkReplied = {
type: "session.network.replied"
properties: {
sessionID: string
requestID: string
}
}
export type EventSessionNetworkRejected = {
type: "session.network.rejected"
properties: {
sessionID: string
requestID: string
}
}
export type EventSessionNetworkRestored = {
type: "session.network.restored"
properties: {
sessionID: string
requestID: string
}
}
export type OutputFormatText = {
type: "text"
}
@@ -738,75 +846,6 @@ export type EventTodoUpdated = {
}
}
export type EventTuiPromptAppend = {
type: "tui.prompt.append"
properties: {
text: string
}
}
export type EventTuiCommandExecute = {
type: "tui.command.execute"
properties: {
command:
| "session.list"
| "session.new"
| "session.share"
| "session.interrupt"
| "session.compact"
| "session.page.up"
| "session.page.down"
| "session.line.up"
| "session.line.down"
| "session.half.page.up"
| "session.half.page.down"
| "session.first"
| "session.last"
| "prompt.clear"
| "prompt.submit"
| "agent.cycle"
| string
}
}
export type EventTuiToastShow = {
type: "tui.toast.show"
properties: {
title?: string
message: string
variant: "info" | "success" | "warning" | "error"
/**
* Duration in milliseconds
*/
duration?: number
}
}
export type EventTuiSessionSelect = {
type: "tui.session.select"
properties: {
/**
* Session ID to navigate to
*/
sessionID: string
}
}
export type EventMcpToolsChanged = {
type: "mcp.tools.changed"
properties: {
server: string
}
}
export type EventMcpBrowserOpenFailed = {
type: "mcp.browser.open.failed"
properties: {
mcpName: string
url: string
}
}
export type EventCommandExecuted = {
type: "command.executed"
properties: {
@@ -1018,6 +1057,16 @@ export type Event =
| EventLspClientDiagnostics
| EventLspUpdated
| EventFileEdited
| EventTuiPromptAppend
| EventTuiCommandExecute
| EventTuiToastShow
| EventTuiSessionSelect
| EventMcpToolsChanged
| EventMcpBrowserOpenFailed
| EventSessionNetworkAsked
| EventSessionNetworkReplied
| EventSessionNetworkRejected
| EventSessionNetworkRestored
| EventMessageUpdated
| EventMessageRemoved
| EventMessagePartUpdated
@@ -1030,19 +1079,9 @@ export type Event =
| EventQuestionAsked
| EventQuestionReplied
| EventQuestionRejected
| EventSessionNetworkAsked
| EventSessionNetworkReplied
| EventSessionNetworkRejected
| EventSessionNetworkRestored
| EventSessionCompacted
| EventFileWatcherUpdated
| EventTodoUpdated
| EventTuiPromptAppend
| EventTuiCommandExecute
| EventTuiToastShow
| EventTuiSessionSelect
| EventMcpToolsChanged
| EventMcpBrowserOpenFailed
| EventCommandExecuted
| EventSessionCreated
| EventSessionUpdated
@@ -1286,7 +1325,7 @@ export type ProviderConfig = {
*/
setCacheKey?: boolean
/**
* Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.
* Timeout in milliseconds for requests to this provider. Default is 120000 (2 minutes). Set to false to disable timeout.
*/
timeout?: number | false
[key: string]: unknown | string | boolean | number | false | undefined
@@ -2003,45 +2042,6 @@ export type FormatterStatus = {
enabled: boolean
}
export type SessionNetworkWait = {
id: string
sessionID: string
message: string
restored: boolean
time: {
created: number
}
}
export type EventSessionNetworkAsked = {
type: "session.network.asked"
properties: SessionNetworkWait
}
export type EventSessionNetworkReplied = {
type: "session.network.replied"
properties: {
sessionID: string
requestID: string
}
}
export type EventSessionNetworkRejected = {
type: "session.network.rejected"
properties: {
sessionID: string
requestID: string
}
}
export type EventSessionNetworkRestored = {
type: "session.network.restored"
properties: {
sessionID: string
requestID: string
}
}
export type GlobalHealthData = {
body?: never
path?: never
@@ -2134,6 +2134,63 @@ export type GlobalDisposeResponses = {
export type GlobalDisposeResponse = GlobalDisposeResponses[keyof GlobalDisposeResponses]
export type RemoteEnableData = {
body?: never
path?: never
query?: never
url: "/remote/enable"
}
export type RemoteEnableResponses = {
/**
* Remote connection enabled
*/
200: {
enabled: boolean
connected: boolean
}
}
export type RemoteEnableResponse = RemoteEnableResponses[keyof RemoteEnableResponses]
export type RemoteDisableData = {
body?: never
path?: never
query?: never
url: "/remote/disable"
}
export type RemoteDisableResponses = {
/**
* Remote connection disabled
*/
200: {
enabled: boolean
connected: boolean
}
}
export type RemoteDisableResponse = RemoteDisableResponses[keyof RemoteDisableResponses]
export type RemoteStatusData = {
body?: never
path?: never
query?: never
url: "/remote/status"
}
export type RemoteStatusResponses = {
/**
* Remote connection status
*/
200: {
enabled: boolean
connected: boolean
}
}
export type RemoteStatusResponse = RemoteStatusResponses[keyof RemoteStatusResponses]
export type AuthRemoveData = {
body?: never
path: {
@@ -4292,6 +4349,93 @@ export type QuestionRejectResponses = {
export type QuestionRejectResponse = QuestionRejectResponses[keyof QuestionRejectResponses]
export type NetworkListData = {
body?: never
path?: never
query?: {
directory?: string
workspace?: string
}
url: "/network"
}
export type NetworkListResponses = {
/**
* List of pending network reconnect requests
*/
200: Array<SessionNetworkWait>
}
export type NetworkListResponse = NetworkListResponses[keyof NetworkListResponses]
export type NetworkReplyData = {
body?: never
path: {
requestID: string
}
query?: {
directory?: string
workspace?: string
}
url: "/network/{requestID}/reply"
}
export type NetworkReplyErrors = {
/**
* Bad request
*/
400: BadRequestError
/**
* Not found
*/
404: NotFoundError
}
export type NetworkReplyError = NetworkReplyErrors[keyof NetworkReplyErrors]
export type NetworkReplyResponses = {
/**
* Network wait resumed successfully
*/
200: boolean
}
export type NetworkReplyResponse = NetworkReplyResponses[keyof NetworkReplyResponses]
export type NetworkRejectData = {
body?: never
path: {
requestID: string
}
query?: {
directory?: string
workspace?: string
}
url: "/network/{requestID}/reject"
}
export type NetworkRejectErrors = {
/**
* Bad request
*/
400: BadRequestError
/**
* Not found
*/
404: NotFoundError
}
export type NetworkRejectError = NetworkRejectErrors[keyof NetworkRejectErrors]
export type NetworkRejectResponses = {
/**
* Network wait rejected successfully
*/
200: boolean
}
export type NetworkRejectResponse = NetworkRejectResponses[keyof NetworkRejectResponses]
export type ProviderListData = {
body?: never
path?: never
@@ -4522,72 +4666,6 @@ export type TelemetryCaptureResponses = {
export type TelemetryCaptureResponse = TelemetryCaptureResponses[keyof TelemetryCaptureResponses]
export type RemoteEnableData = {
body?: never
path?: never
query?: {
directory?: string
workspace?: string
}
url: "/remote/enable"
}
export type RemoteEnableResponses = {
/**
* Remote connection enabled
*/
200: {
enabled: boolean
connected: boolean
}
}
export type RemoteEnableResponse = RemoteEnableResponses[keyof RemoteEnableResponses]
export type RemoteDisableData = {
body?: never
path?: never
query?: {
directory?: string
workspace?: string
}
url: "/remote/disable"
}
export type RemoteDisableResponses = {
/**
* Remote connection disabled
*/
200: {
enabled: boolean
connected: boolean
}
}
export type RemoteDisableResponse = RemoteDisableResponses[keyof RemoteDisableResponses]
export type RemoteStatusData = {
body?: never
path?: never
query?: {
directory?: string
workspace?: string
}
url: "/remote/status"
}
export type RemoteStatusResponses = {
/**
* Remote connection status
*/
200: {
enabled: boolean
connected: boolean
}
}
export type RemoteStatusResponse = RemoteStatusResponses[keyof RemoteStatusResponses]
export type CommitMessageGenerateData = {
body?: {
/**
@@ -6310,90 +6388,3 @@ export type EventSubscribeResponses = {
}
export type EventSubscribeResponse = EventSubscribeResponses[keyof EventSubscribeResponses]
export type NetworkListData = {
body?: never
path?: never
query?: {
directory?: string
workspace?: string
}
url: "/network"
}
export type NetworkListResponses = {
/**
* List of pending network reconnect requests
*/
200: Array<SessionNetworkWait>
}
export type NetworkListResponse = NetworkListResponses[keyof NetworkListResponses]
export type NetworkReplyData = {
body?: never
path: {
requestID: string
}
query?: {
directory?: string
workspace?: string
}
url: "/network/{requestID}/reply"
}
export type NetworkReplyErrors = {
/**
* Bad request
*/
400: BadRequestError
/**
* Not found
*/
404: NotFoundError
}
export type NetworkReplyError = NetworkReplyErrors[keyof NetworkReplyErrors]
export type NetworkReplyResponses = {
/**
* Network wait resumed successfully
*/
200: boolean
}
export type NetworkReplyResponse = NetworkReplyResponses[keyof NetworkReplyResponses]
export type NetworkRejectData = {
body?: never
path: {
requestID: string
}
query?: {
directory?: string
workspace?: string
}
url: "/network/{requestID}/reject"
}
export type NetworkRejectErrors = {
/**
* Bad request
*/
400: BadRequestError
/**
* Not found
*/
404: NotFoundError
}
export type NetworkRejectError = NetworkRejectErrors[keyof NetworkRejectErrors]
export type NetworkRejectResponses = {
/**
* Network wait rejected successfully
*/
200: boolean
}
export type NetworkRejectResponse = NetworkRejectResponses[keyof NetworkRejectResponses]
+2406 -997
View File
File diff suppressed because it is too large Load Diff