UNPKG

@codesandbox/sdk

Version:
1,097 lines (1,096 loc) 44.1 kB
import { PitcherResponseStatus } from "../pitcher-protocol"; import type { PitcherNotification, PitcherRequest, PitcherResponse } from "../pitcher-protocol"; import { WebSocketClient } from "./WebSocketClient"; import { IAgentClientState } from "../agent-client-interface"; export interface IRequestOptions { /** * The timeout for when to dispose the message when no response received */ timeoutMs?: number; } /** * This class is completely decoupled from the connection itself. Pitcher class is responsible for funneling the messages * through the current connection. The connection can change when seamless branching or reconnecting. */ export declare class AgentConnection { connection: WebSocketClient; private url; static create(url: string): Promise<AgentConnection>; private _state; private _isDisposed; get state(): IAgentClientState; set state(state: IAgentClientState); private onStateChangeEmitter; onStateChange: import("../utils/event").Event<IAgentClientState>; private nextMessageId; private pendingMessages; private messageQueue; private notificationListeners; private messageEmitter; onMessage: import("../utils/event").Event<PitcherResponse | PitcherNotification>; private errorEmitter; onError: import("../utils/event").Event<{ message: string; extras: { source: string; type: string; request: PitcherRequest; }; }>; constructor(connection: WebSocketClient, url: string); private subscribeConnection; onNotification<T extends PitcherNotification["method"]>(method: T, cb: (params: (PitcherNotification & { method: T; })["params"]) => void): () => void; private receiveMessage; request<T extends PitcherRequest>(pitcherRequest: T, options?: IRequestOptions): ({ method: "fs/search"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").SearchResult[]; } extends infer T_1 ? T_1 extends { method: "fs/search"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").SearchResult[]; } ? T_1 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_1["result"]> : never : never : never) | ({ method: "fs/streamingSearch"; status: PitcherResponseStatus.RESOLVED; result: { searchId: string; }; } extends infer T_2 ? T_2 extends { method: "fs/streamingSearch"; status: PitcherResponseStatus.RESOLVED; result: { searchId: string; }; } ? T_2 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_2["result"]> : never : never : never) | ({ method: "fs/cancelStreamingSearch"; status: PitcherResponseStatus.RESOLVED; result: { searchId: string; }; } extends infer T_3 ? T_3 extends { method: "fs/cancelStreamingSearch"; status: PitcherResponseStatus.RESOLVED; result: { searchId: string; }; } ? T_3 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_3["result"]> : never : never : never) | ({ method: "fs/pathSearch"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").PathSearchResult; } extends infer T_4 ? T_4 extends { method: "fs/pathSearch"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").PathSearchResult; } ? T_4 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_4["result"]> : never : never : never) | ({ method: "fs/upload"; status: PitcherResponseStatus.RESOLVED; result: { fileId: string; }; } extends infer T_5 ? T_5 extends { method: "fs/upload"; status: PitcherResponseStatus.RESOLVED; result: { fileId: string; }; } ? T_5 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_5["result"]> : never : never : never) | ({ method: "fs/download"; status: PitcherResponseStatus.RESOLVED; result: { downloadUrl: string; }; } extends infer T_6 ? T_6 extends { method: "fs/download"; status: PitcherResponseStatus.RESOLVED; result: { downloadUrl: string; }; } ? T_6 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_6["result"]> : never : never : never) | ({ method: "fs/readFile"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSReadFileResult; } extends infer T_7 ? T_7 extends { method: "fs/readFile"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSReadFileResult; } ? T_7 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_7["result"]> : never : never : never) | ({ method: "fs/readdir"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSReadDirResult; } extends infer T_8 ? T_8 extends { method: "fs/readdir"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSReadDirResult; } ? T_8 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_8["result"]> : never : never : never) | ({ method: "fs/writeFile"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSWRiteFileResult; } extends infer T_9 ? T_9 extends { method: "fs/writeFile"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSWRiteFileResult; } ? T_9 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_9["result"]> : never : never : never) | ({ method: "fs/stat"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSStatResult; } extends infer T_10 ? T_10 extends { method: "fs/stat"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSStatResult; } ? T_10 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_10["result"]> : never : never : never) | ({ method: "fs/copy"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSCopyResult; } extends infer T_11 ? T_11 extends { method: "fs/copy"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSCopyResult; } ? T_11 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_11["result"]> : never : never : never) | ({ method: "fs/rename"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSRenameResult; } extends infer T_12 ? T_12 extends { method: "fs/rename"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSRenameResult; } ? T_12 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_12["result"]> : never : never : never) | ({ method: "fs/remove"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSRemoveResult; } extends infer T_13 ? T_13 extends { method: "fs/remove"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSRemoveResult; } ? T_13 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_13["result"]> : never : never : never) | ({ method: "fs/mkdir"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSMkdirResult; } extends infer T_14 ? T_14 extends { method: "fs/mkdir"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSMkdirResult; } ? T_14 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_14["result"]> : never : never : never) | ({ method: "fs/watch"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSWatchResult; } extends infer T_15 ? T_15 extends { method: "fs/watch"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSWatchResult; } ? T_15 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_15["result"]> : never : never : never) | ({ method: "fs/unwatch"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSUnwatchResult; } extends infer T_16 ? T_16 extends { method: "fs/unwatch"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/fs").FSUnwatchResult; } ? T_16 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_16["result"]> : never : never : never) | ({ method: "notification/notifyResponse"; status: PitcherResponseStatus.RESOLVED; result: void; } extends infer T_17 ? T_17 extends { method: "notification/notifyResponse"; status: PitcherResponseStatus.RESOLVED; result: void; } ? T_17 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_17["result"]> : never : never : never) | ({ method: "task/list"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskListDTO; } extends infer T_18 ? T_18 extends { method: "task/list"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskListDTO; } ? T_18 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_18["result"]> : never : never : never) | ({ method: "task/run"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } extends infer T_19 ? T_19 extends { method: "task/run"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } ? T_19 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_19["result"]> : never : never : never) | ({ method: "task/runCommand"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } extends infer T_20 ? T_20 extends { method: "task/runCommand"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } ? T_20 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_20["result"]> : never : never : never) | ({ method: "task/stop"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO | null; } extends infer T_21 ? T_21 extends { method: "task/stop"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO | null; } ? T_21 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_21["result"]> : never : never : never) | ({ method: "task/create"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskListDTO; } extends infer T_22 ? T_22 extends { method: "task/create"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskListDTO; } ? T_22 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_22["result"]> : never : never : never) | ({ method: "task/update"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } extends infer T_23 ? T_23 extends { method: "task/update"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } ? T_23 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_23["result"]> : never : never : never) | ({ method: "task/saveToConfig"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } extends infer T_24 ? T_24 extends { method: "task/saveToConfig"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } ? T_24 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_24["result"]> : never : never : never) | ({ method: "task/generateConfig"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_25 ? T_25 extends { method: "task/generateConfig"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_25 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_25["result"]> : never : never : never) | ({ method: "task/createSetupTasks"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_26 ? T_26 extends { method: "task/createSetupTasks"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_26 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_26["result"]> : never : never : never) | ({ method: "container/setup"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } extends infer T_27 ? T_27 extends { method: "container/setup"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/task").TaskDTO; } ? T_27 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_27["result"]> : never : never : never) | ({ method: "language/list"; status: PitcherResponseStatus.RESOLVED; result: { languages: import("../pitcher-protocol/messages/language").ILanguageConfig[]; }; } extends infer T_28 ? T_28 extends { method: "language/list"; status: PitcherResponseStatus.RESOLVED; result: { languages: import("../pitcher-protocol/messages/language").ILanguageConfig[]; }; } ? T_28 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_28["result"]> : never : never : never) | ({ method: "language/lspRequest"; status: PitcherResponseStatus.RESOLVED; result: unknown; } extends infer T_29 ? T_29 extends { method: "language/lspRequest"; status: PitcherResponseStatus.RESOLVED; result: unknown; } ? T_29 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_29["result"]> : never : never : never) | ({ method: "language/lspServerResponse"; status: PitcherResponseStatus.RESOLVED; result: unknown; } extends infer T_30 ? T_30 extends { method: "language/lspServerResponse"; status: PitcherResponseStatus.RESOLVED; result: unknown; } ? T_30 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_30["result"]> : never : never : never) | ({ method: "channel/subscribe"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/channel").ChannelSubscribeResult; } extends infer T_31 ? T_31 extends { method: "channel/subscribe"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/channel").ChannelSubscribeResult; } ? T_31 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_31["result"]> : never : never : never) | ({ method: "channel/unsubscribe"; status: PitcherResponseStatus.RESOLVED; result: Record<never, never>; } extends infer T_32 ? T_32 extends { method: "channel/unsubscribe"; status: PitcherResponseStatus.RESOLVED; result: Record<never, never>; } ? T_32 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_32["result"]> : never : never : never) | ({ method: "channel/message"; status: PitcherResponseStatus.RESOLVED; result: { clients: string[]; }; } extends infer T_33 ? T_33 extends { method: "channel/message"; status: PitcherResponseStatus.RESOLVED; result: { clients: string[]; }; } ? T_33 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_33["result"]> : never : never : never) | ({ method: "command/list"; status: PitcherResponseStatus.RESOLVED; result: { commands: import("../pitcher-protocol/messages/command").ICommand[]; }; } extends infer T_34 ? T_34 extends { method: "command/list"; status: PitcherResponseStatus.RESOLVED; result: { commands: import("../pitcher-protocol/messages/command").ICommand[]; }; } ? T_34 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_34["result"]> : never : never : never) | ({ method: "command/execute"; status: PitcherResponseStatus.RESOLVED; result: Record<string, never>; } extends infer T_35 ? T_35 extends { method: "command/execute"; status: PitcherResponseStatus.RESOLVED; result: Record<string, never>; } ? T_35 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_35["result"]> : never : never : never) | ({ method: "client/join"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/client").ClientJoinResult; } extends infer T_36 ? T_36 extends { method: "client/join"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/client").ClientJoinResult; } ? T_36 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_36["result"]> : never : never : never) | ({ method: "client/list"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/client").ClientJSON[]; } extends infer T_37 ? T_37 extends { method: "client/list"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/client").ClientJSON[]; } ? T_37 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_37["result"]> : never : never : never) | ({ method: "system/update"; status: PitcherResponseStatus.RESOLVED; result: Record<string, undefined>; } extends infer T_38 ? T_38 extends { method: "system/update"; status: PitcherResponseStatus.RESOLVED; result: Record<string, undefined>; } ? T_38 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_38["result"]> : never : never : never) | ({ method: "system/hibernate"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_39 ? T_39 extends { method: "system/hibernate"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_39 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_39["result"]> : never : never : never) | ({ method: "system/metrics"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/system").SystemMetricsStatus; } extends infer T_40 ? T_40 extends { method: "system/metrics"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/system").SystemMetricsStatus; } ? T_40 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_40["result"]> : never : never : never) | ({ method: "setup/get"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } extends infer T_41 ? T_41 extends { method: "setup/get"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } ? T_41 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_41["result"]> : never : never : never) | ({ method: "setup/skip"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } extends infer T_42 ? T_42 extends { method: "setup/skip"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } ? T_42 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_42["result"]> : never : never : never) | ({ method: "setup/skipAll"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } extends infer T_43 ? T_43 extends { method: "setup/skipAll"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } ? T_43 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_43["result"]> : never : never : never) | ({ method: "setup/disable"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } extends infer T_44 ? T_44 extends { method: "setup/disable"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } ? T_44 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_44["result"]> : never : never : never) | ({ method: "setup/enable"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } extends infer T_45 ? T_45 extends { method: "setup/enable"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } ? T_45 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_45["result"]> : never : never : never) | ({ method: "setup/init"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } extends infer T_46 ? T_46 extends { method: "setup/init"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } ? T_46 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_46["result"]> : never : never : never) | ({ method: "setup/setStep"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } extends infer T_47 ? T_47 extends { method: "setup/setStep"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/setup").SetupProgress; } ? T_47 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_47["result"]> : never : never : never) | ({ method: "shell/create"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/shell").OpenShellDTO; } extends infer T_48 ? T_48 extends { method: "shell/create"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/shell").OpenShellDTO; } ? T_48 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_48["result"]> : never : never : never) | ({ method: "shell/in"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_49 ? T_49 extends { method: "shell/in"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_49 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_49["result"]> : never : never : never) | ({ method: "shell/list"; status: PitcherResponseStatus.RESOLVED; result: { shells: import("../pitcher-protocol/messages/shell").ShellDTO[]; }; } extends infer T_50 ? T_50 extends { method: "shell/list"; status: PitcherResponseStatus.RESOLVED; result: { shells: import("../pitcher-protocol/messages/shell").ShellDTO[]; }; } ? T_50 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_50["result"]> : never : never : never) | ({ method: "shell/open"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/shell").OpenShellDTO; } extends infer T_51 ? T_51 extends { method: "shell/open"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/shell").OpenShellDTO; } ? T_51 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_51["result"]> : never : never : never) | ({ method: "shell/close"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_52 ? T_52 extends { method: "shell/close"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_52 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_52["result"]> : never : never : never) | ({ method: "shell/restart"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_53 ? T_53 extends { method: "shell/restart"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_53 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_53["result"]> : never : never : never) | ({ method: "shell/terminate"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/shell").ShellDTO; } extends infer T_54 ? T_54 extends { method: "shell/terminate"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/shell").ShellDTO; } ? T_54 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_54["result"]> : never : never : never) | ({ method: "shell/resize"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_55 ? T_55 extends { method: "shell/resize"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_55 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_55["result"]> : never : never : never) | ({ method: "shell/rename"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_56 ? T_56 extends { method: "shell/rename"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_56 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_56["result"]> : never : never : never) | ({ method: "port/list"; status: PitcherResponseStatus.RESOLVED; result: { list: import("../pitcher-protocol/messages/port").Port[]; }; } extends infer T_57 ? T_57 extends { method: "port/list"; status: PitcherResponseStatus.RESOLVED; result: { list: import("../pitcher-protocol/messages/port").Port[]; }; } ? T_57 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_57["result"]> : never : never : never) | ({ method: "file/open"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/file").IFileObject; } extends infer T_58 ? T_58 extends { method: "file/open"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/file").IFileObject; } ? T_58 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_58["result"]> : never : never : never) | ({ method: "file/openByPath"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/file").IFileObject; } extends infer T_59 ? T_59 extends { method: "file/openByPath"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/file").IFileObject; } ? T_59 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_59["result"]> : never : never : never) | ({ method: "file/close"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_60 ? T_60 extends { method: "file/close"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_60 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_60["result"]> : never : never : never) | ({ method: "file/save"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_61 ? T_61 extends { method: "file/save"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_61 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_61["result"]> : never : never : never) | ({ method: "git/status"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/git").GitStatus; } extends infer T_62 ? T_62 extends { method: "git/status"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/git").GitStatus; } ? T_62 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_62["result"]> : never : never : never) | ({ method: "git/remotes"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/git").GitRemotes; } extends infer T_63 ? T_63 extends { method: "git/remotes"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/git").GitRemotes; } ? T_63 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_63["result"]> : never : never : never) | ({ method: "git/targetDiff"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/git").GitTargetDiff; } extends infer T_64 ? T_64 extends { method: "git/targetDiff"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/git").GitTargetDiff; } ? T_64 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_64["result"]> : never : never : never) | ({ method: "git/pull"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_65 ? T_65 extends { method: "git/pull"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_65 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_65["result"]> : never : never : never) | ({ method: "git/discard"; status: PitcherResponseStatus.RESOLVED; result: { paths?: string[]; }; } extends infer T_66 ? T_66 extends { method: "git/discard"; status: PitcherResponseStatus.RESOLVED; result: { paths?: string[]; }; } ? T_66 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_66["result"]> : never : never : never) | ({ method: "git/commit"; status: PitcherResponseStatus.RESOLVED; result: { shellId: string; }; } extends infer T_67 ? T_67 extends { method: "git/commit"; status: PitcherResponseStatus.RESOLVED; result: { shellId: string; }; } ? T_67 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_67["result"]> : never : never : never) | ({ method: "git/push"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_68 ? T_68 extends { method: "git/push"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_68 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_68["result"]> : never : never : never) | ({ method: "git/pushToRemote"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_69 ? T_69 extends { method: "git/pushToRemote"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_69 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_69["result"]> : never : never : never) | ({ method: "git/renameBranch"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_70 ? T_70 extends { method: "git/renameBranch"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_70 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_70["result"]> : never : never : never) | ({ method: "git/remoteContent"; status: PitcherResponseStatus.RESOLVED; result: { content: string; }; } extends infer T_71 ? T_71 extends { method: "git/remoteContent"; status: PitcherResponseStatus.RESOLVED; result: { content: string; }; } ? T_71 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_71["result"]> : never : never : never) | ({ method: "git/diffStatus"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/git").GitDiffStatusResult; } extends infer T_72 ? T_72 extends { method: "git/diffStatus"; status: PitcherResponseStatus.RESOLVED; result: import("../pitcher-protocol/messages/git").GitDiffStatusResult; } ? T_72 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_72["result"]> : never : never : never) | ({ method: "git/resetLocalWithRemote"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_73 ? T_73 extends { method: "git/resetLocalWithRemote"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_73 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_73["result"]> : never : never : never) | ({ method: "git/checkoutInitialBranch"; status: PitcherResponseStatus.RESOLVED; result: null; } extends infer T_74 ? T_74 extends { method: "git/checkoutInitialBranch"; status: PitcherResponseStatus.RESOLVED; result: null; } ? T_74 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_74["result"]> : never : never : never) | ({ method: "git/transposeLines"; status: PitcherResponseStatus.RESOLVED; result: ({ path: string; line: number; } | null)[]; } extends infer T_75 ? T_75 extends { method: "git/transposeLines"; status: PitcherResponseStatus.RESOLVED; result: ({ path: string; line: number; } | null)[]; } ? T_75 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_75["result"]> : never : never : never) | ({ method: "ai/suggestCommit"; status: PitcherResponseStatus.RESOLVED; result: { commit: string; }; } extends infer T_76 ? T_76 extends { method: "ai/suggestCommit"; status: PitcherResponseStatus.RESOLVED; result: { commit: string; }; } ? T_76 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_76["result"]> : never : never : never) | ({ method: "ai/raw"; status: PitcherResponseStatus.RESOLVED; result: { reply: string; }; } extends infer T_77 ? T_77 extends { method: "ai/raw"; status: PitcherResponseStatus.RESOLVED; result: { reply: string; }; } ? T_77 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_77["result"]> : never : never : never) | ({ method: "ai/stream"; status: PitcherResponseStatus.RESOLVED; result: { messageId: string; }; } extends infer T_78 ? T_78 extends { method: "ai/stream"; status: PitcherResponseStatus.RESOLVED; result: { messageId: string; }; } ? T_78 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_78["result"]> : never : never : never) | ({ method: "ai/chatMessage"; status: PitcherResponseStatus.RESOLVED; result: { chatId: string; title: string; }; } extends infer T_79 ? T_79 extends { method: "ai/chatMessage"; status: PitcherResponseStatus.RESOLVED; result: { chatId: string; title: string; }; } ? T_79 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_79["result"]> : never : never : never) | ({ method: "ai/chats"; status: PitcherResponseStatus.RESOLVED; result: { chats: Array<{ chatId: string; title: string; }>; }; } extends infer T_80 ? T_80 extends { method: "ai/chats"; status: PitcherResponseStatus.RESOLVED; result: { chats: Array<{ chatId: string; title: string; }>; }; } ? T_80 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_80["result"]> : never : never : never) | ({ method: "ai/chatHistory"; status: PitcherResponseStatus.RESOLVED; result: { entries: import("../pitcher-protocol/messages/ai").IChatHistoryEntry[]; }; } extends infer T_81 ? T_81 extends { method: "ai/chatHistory"; status: PitcherResponseStatus.RESOLVED; result: { entries: import("../pitcher-protocol/messages/ai").IChatHistoryEntry[]; }; } ? T_81 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_81["result"]> : never : never : never) | ({ method: "ai/messageState"; status: PitcherResponseStatus.RESOLVED; result: { content: string; isFinished: boolean; }; } extends infer T_82 ? T_82 extends { method: "ai/messageState"; status: PitcherResponseStatus.RESOLVED; result: { content: string; isFinished: boolean; }; } ? T_82 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_82["result"]> : never : never : never) | ({ method: "ai/embeddings"; status: PitcherResponseStatus.RESOLVED; result: { matches: import("../pitcher-protocol/messages/ai").IEmbeddingRecord[]; }; } extends infer T_83 ? T_83 extends { method: "ai/embeddings"; status: PitcherResponseStatus.RESOLVED; result: { matches: import("../pitcher-protocol/messages/ai").IEmbeddingRecord[]; }; } ? T_83 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_83["result"]> : never : never : never) | ({ method: "box/installDependencies"; status: PitcherResponseStatus.RESOLVED; result: { success: boolean; }; } extends infer T_84 ? T_84 extends { method: "box/installDependencies"; status: PitcherResponseStatus.RESOLVED; result: { success: boolean; }; } ? T_84 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_84["result"]> : never : never : never) | ({ method: "box/installedDependencies"; status: PitcherResponseStatus.RESOLVED; result: { dependencies: import("../pitcher-protocol/messages/box").IDependency[]; }; } extends infer T_85 ? T_85 extends { method: "box/installedDependencies"; status: PitcherResponseStatus.RESOLVED; result: { dependencies: import("../pitcher-protocol/messages/box").IDependency[]; }; } ? T_85 extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise<T_85["result"]> : never : never : never); private createRequest; private disposePendingMessages; disconnect(): Promise<void>; reconnect(reconnectToken: string, startVm: () => Promise<{ url: string; token: string; }>): Promise<string | undefined>; private flushMessageQueue; dispose(): void; private disposeQueuedMessages; }