750 lines · 25.1 KB · TypeScript
RawDownload
import * as Schema from "effect/Schema";import * as Rpc from "effect/unstable/rpc/Rpc";import * as RpcGroup from "effect/unstable/rpc/RpcGroup"; import { ExternalLauncherError, LaunchEditorInput } from "./editor.ts";import {  AuthAccessStreamError,  AuthAccessStreamEvent,  EnvironmentAuthorizationError,} from "./auth.ts";import {  FilesystemBrowseInput,  FilesystemBrowseResult,  FilesystemBrowseError,} from "./filesystem.ts";import { AssetAccessError, AssetCreateUrlInput, AssetCreateUrlResult } from "./assets.ts";import {  GitActionProgressEvent,  VcsSwitchRefInput,  VcsSwitchRefResult,  GitCommandError,  VcsCreateRefInput,  VcsCreateRefResult,  VcsCreateWorktreeInput,  VcsCreateWorktreeResult,  VcsInitInput,  VcsListRefsInput,  VcsListRefsResult,  GitManagerServiceError,  GitPreparePullRequestThreadInput,  GitPreparePullRequestThreadResult,  VcsPullInput,  GitPullRequestRefInput,  VcsPullResult,  VcsRemoveWorktreeInput,  GitResolvePullRequestResult,  GitRunStackedActionInput,  VcsStatusInput,  VcsStatusResult,  VcsStatusStreamEvent,} from "./git.ts";import {  ReviewDiffPreviewError,  ReviewDiffPreviewInput,  ReviewDiffPreviewResult,} from "./review.ts";import { KeybindingsConfigError } from "./keybindings.ts";import {  ClientOrchestrationCommand,  ORCHESTRATION_WS_METHODS,  OrchestrationDispatchCommandError,  OrchestrationGetFullThreadDiffError,  OrchestrationGetFullThreadDiffInput,  OrchestrationGetSnapshotError,  OrchestrationGetTurnDiffError,  OrchestrationGetTurnDiffInput,  OrchestrationReplayEventsError,  OrchestrationReplayEventsInput,  OrchestrationRpcSchemas,} from "./orchestration.ts";import { ProviderInstanceId } from "./providerInstance.ts";import {  RelayClientInstallFailedError,  RelayClientInstallProgressEventSchema,  RelayClientStatusSchema,} from "./relayClient.ts";import {  ProjectListEntriesError,  ProjectListEntriesInput,  ProjectListEntriesResult,  ProjectReadFileError,  ProjectReadFileInput,  ProjectReadFileResult,  ProjectSearchEntriesError,  ProjectSearchEntriesInput,  ProjectSearchEntriesResult,  ProjectWriteFileError,  ProjectWriteFileInput,  ProjectWriteFileResult,} from "./project.ts";import {  TerminalAttachInput,  TerminalAttachStreamEvent,  TerminalClearInput,  TerminalCloseInput,  TerminalError,  TerminalEvent,  TerminalMetadataStreamEvent,  TerminalOpenInput,  TerminalResizeInput,  TerminalRestartInput,  TerminalSessionSnapshot,  TerminalWriteInput,} from "./terminal.ts";import {  DiscoveredLocalServerList,  PreviewCloseInput,  PreviewError,  PreviewEvent,  PreviewListInput,  PreviewListResult,  PreviewNavigateInput,  PreviewOpenInput,  PreviewRefreshInput,  PreviewReportStatusInput,  PreviewSessionSnapshot,} from "./preview.ts";import {  PreviewAutomationError,  PreviewAutomationOwner,  PreviewAutomationRequest,  PreviewAutomationResponse,} from "./previewAutomation.ts";import {  ServerConfigStreamEvent,  ServerConfig,  ServerProviderUpdateError,  ServerProviderUpdateInput,  ServerLifecycleStreamEvent,  ServerRemoveKeybindingInput,  ServerRemoveKeybindingResult,  ServerProviderUpdatedPayload,  ServerTraceDiagnosticsResult,  ServerProcessDiagnosticsResult,  ServerProcessResourceHistoryInput,  ServerProcessResourceHistoryResult,  ServerSignalProcessInput,  ServerSignalProcessResult,  ServerUpsertKeybindingInput,  ServerUpsertKeybindingResult,} from "./server.ts";import { ServerSettings, ServerSettingsError, ServerSettingsPatch } from "./settings.ts";import {  SourceControlCloneRepositoryInput,  SourceControlCloneRepositoryResult,  SourceControlDiscoveryResult,  SourceControlPublishRepositoryInput,  SourceControlPublishRepositoryResult,  SourceControlRepositoryError,  SourceControlRepositoryInfo,  SourceControlRepositoryLookupInput,} from "./sourceControl.ts";import { VcsError } from "./vcs.ts"; export const WS_METHODS = {  // Project registry methods  projectsList: "projects.list",  projectsAdd: "projects.add",  projectsRemove: "projects.remove",  projectsListEntries: "projects.listEntries",  projectsReadFile: "projects.readFile",  projectsSearchEntries: "projects.searchEntries",  projectsWriteFile: "projects.writeFile",   // Shell methods  shellOpenInEditor: "shell.openInEditor",   // Filesystem methods  filesystemBrowse: "filesystem.browse",  assetsCreateUrl: "assets.createUrl",   // VCS methods  vcsPull: "vcs.pull",  vcsRefreshStatus: "vcs.refreshStatus",  vcsListRefs: "vcs.listRefs",  vcsCreateWorktree: "vcs.createWorktree",  vcsRemoveWorktree: "vcs.removeWorktree",  vcsCreateRef: "vcs.createRef",  vcsSwitchRef: "vcs.switchRef",  vcsInit: "vcs.init",   // Git workflow methods  gitRunStackedAction: "git.runStackedAction",  gitResolvePullRequest: "git.resolvePullRequest",  gitPreparePullRequestThread: "git.preparePullRequestThread",   // Review methods  reviewGetDiffPreview: "review.getDiffPreview",   // Terminal methods  terminalOpen: "terminal.open",  terminalAttach: "terminal.attach",  terminalWrite: "terminal.write",  terminalResize: "terminal.resize",  terminalClear: "terminal.clear",  terminalRestart: "terminal.restart",  terminalClose: "terminal.close",   // Preview methods  previewOpen: "preview.open",  previewNavigate: "preview.navigate",  previewRefresh: "preview.refresh",  previewClose: "preview.close",  previewList: "preview.list",  previewReportStatus: "preview.reportStatus",  previewAutomationConnect: "previewAutomation.connect",  previewAutomationRespond: "previewAutomation.respond",  previewAutomationReportOwner: "previewAutomation.reportOwner",  previewAutomationClearOwner: "previewAutomation.clearOwner",   // Server meta  serverGetConfig: "server.getConfig",  serverRefreshProviders: "server.refreshProviders",  serverUpdateProvider: "server.updateProvider",  serverUpsertKeybinding: "server.upsertKeybinding",  serverRemoveKeybinding: "server.removeKeybinding",  serverGetSettings: "server.getSettings",  serverUpdateSettings: "server.updateSettings",  serverDiscoverSourceControl: "server.discoverSourceControl",  serverGetTraceDiagnostics: "server.getTraceDiagnostics",  serverGetProcessDiagnostics: "server.getProcessDiagnostics",  serverGetProcessResourceHistory: "server.getProcessResourceHistory",  serverSignalProcess: "server.signalProcess",   // Cloud environment methods  cloudGetRelayClientStatus: "cloud.getRelayClientStatus",  cloudInstallRelayClient: "cloud.installRelayClient",   // Source control methods  sourceControlLookupRepository: "sourceControl.lookupRepository",  sourceControlCloneRepository: "sourceControl.cloneRepository",  sourceControlPublishRepository: "sourceControl.publishRepository",   // Streaming subscriptions  subscribeVcsStatus: "subscribeVcsStatus",  subscribeTerminalEvents: "subscribeTerminalEvents",  subscribeTerminalMetadata: "subscribeTerminalMetadata",  subscribePreviewEvents: "subscribePreviewEvents",  subscribeDiscoveredLocalServers: "subscribeDiscoveredLocalServers",  subscribeServerConfig: "subscribeServerConfig",  subscribeServerLifecycle: "subscribeServerLifecycle",  subscribeAuthAccess: "subscribeAuthAccess",} as const; export const WsServerUpsertKeybindingRpc = Rpc.make(WS_METHODS.serverUpsertKeybinding, {  payload: ServerUpsertKeybindingInput,  success: ServerUpsertKeybindingResult,  error: Schema.Union([KeybindingsConfigError, EnvironmentAuthorizationError]),}); export const WsServerRemoveKeybindingRpc = Rpc.make(WS_METHODS.serverRemoveKeybinding, {  payload: ServerRemoveKeybindingInput,  success: ServerRemoveKeybindingResult,  error: Schema.Union([KeybindingsConfigError, EnvironmentAuthorizationError]),}); export const WsServerGetConfigRpc = Rpc.make(WS_METHODS.serverGetConfig, {  payload: Schema.Struct({}),  success: ServerConfig,  error: Schema.Union([KeybindingsConfigError, ServerSettingsError, EnvironmentAuthorizationError]),}); export const WsServerRefreshProvidersRpc = Rpc.make(WS_METHODS.serverRefreshProviders, {  payload: Schema.Struct({    /**     * When supplied, only refresh this specific provider instance. When     * omitted, refresh all configured instances — the legacy `refresh()`     * behaviour retained for transports that still dispatch untargeted     * refreshes.     */    instanceId: Schema.optional(ProviderInstanceId),  }),  success: ServerProviderUpdatedPayload,  error: EnvironmentAuthorizationError,}); export const WsServerUpdateProviderRpc = Rpc.make(WS_METHODS.serverUpdateProvider, {  payload: ServerProviderUpdateInput,  success: ServerProviderUpdatedPayload,  error: Schema.Union([ServerProviderUpdateError, EnvironmentAuthorizationError]),}); export const WsServerGetSettingsRpc = Rpc.make(WS_METHODS.serverGetSettings, {  payload: Schema.Struct({}),  success: ServerSettings,  error: Schema.Union([ServerSettingsError, EnvironmentAuthorizationError]),}); export const WsServerUpdateSettingsRpc = Rpc.make(WS_METHODS.serverUpdateSettings, {  payload: Schema.Struct({ patch: ServerSettingsPatch }),  success: ServerSettings,  error: Schema.Union([ServerSettingsError, EnvironmentAuthorizationError]),}); export const WsServerDiscoverSourceControlRpc = Rpc.make(WS_METHODS.serverDiscoverSourceControl, {  payload: Schema.Struct({}),  success: SourceControlDiscoveryResult,  error: EnvironmentAuthorizationError,}); export const WsServerGetTraceDiagnosticsRpc = Rpc.make(WS_METHODS.serverGetTraceDiagnostics, {  payload: Schema.Struct({}),  success: ServerTraceDiagnosticsResult,  error: EnvironmentAuthorizationError,}); export const WsServerGetProcessDiagnosticsRpc = Rpc.make(WS_METHODS.serverGetProcessDiagnostics, {  payload: Schema.Struct({}),  success: ServerProcessDiagnosticsResult,  error: EnvironmentAuthorizationError,}); export const WsServerGetProcessResourceHistoryRpc = Rpc.make(  WS_METHODS.serverGetProcessResourceHistory,  {    payload: ServerProcessResourceHistoryInput,    success: ServerProcessResourceHistoryResult,    error: EnvironmentAuthorizationError,  },); export const WsServerSignalProcessRpc = Rpc.make(WS_METHODS.serverSignalProcess, {  payload: ServerSignalProcessInput,  success: ServerSignalProcessResult,  error: EnvironmentAuthorizationError,}); export const WsCloudGetRelayClientStatusRpc = Rpc.make(WS_METHODS.cloudGetRelayClientStatus, {  payload: Schema.Struct({}),  success: RelayClientStatusSchema,  error: EnvironmentAuthorizationError,}); export const WsCloudInstallRelayClientRpc = Rpc.make(WS_METHODS.cloudInstallRelayClient, {  payload: Schema.Struct({}),  success: RelayClientInstallProgressEventSchema,  error: Schema.Union([RelayClientInstallFailedError, EnvironmentAuthorizationError]),  stream: true,}); export const WsSourceControlLookupRepositoryRpc = Rpc.make(  WS_METHODS.sourceControlLookupRepository,  {    payload: SourceControlRepositoryLookupInput,    success: SourceControlRepositoryInfo,    error: Schema.Union([SourceControlRepositoryError, EnvironmentAuthorizationError]),  },); export const WsSourceControlCloneRepositoryRpc = Rpc.make(WS_METHODS.sourceControlCloneRepository, {  payload: SourceControlCloneRepositoryInput,  success: SourceControlCloneRepositoryResult,  error: Schema.Union([SourceControlRepositoryError, EnvironmentAuthorizationError]),}); export const WsSourceControlPublishRepositoryRpc = Rpc.make(  WS_METHODS.sourceControlPublishRepository,  {    payload: SourceControlPublishRepositoryInput,    success: SourceControlPublishRepositoryResult,    error: Schema.Union([SourceControlRepositoryError, EnvironmentAuthorizationError]),  },); export const WsProjectsSearchEntriesRpc = Rpc.make(WS_METHODS.projectsSearchEntries, {  payload: ProjectSearchEntriesInput,  success: ProjectSearchEntriesResult,  error: Schema.Union([ProjectSearchEntriesError, EnvironmentAuthorizationError]),}); export const WsProjectsListEntriesRpc = Rpc.make(WS_METHODS.projectsListEntries, {  payload: ProjectListEntriesInput,  success: ProjectListEntriesResult,  error: Schema.Union([ProjectListEntriesError, EnvironmentAuthorizationError]),}); export const WsProjectsReadFileRpc = Rpc.make(WS_METHODS.projectsReadFile, {  payload: ProjectReadFileInput,  success: ProjectReadFileResult,  error: Schema.Union([ProjectReadFileError, EnvironmentAuthorizationError]),}); export const WsProjectsWriteFileRpc = Rpc.make(WS_METHODS.projectsWriteFile, {  payload: ProjectWriteFileInput,  success: ProjectWriteFileResult,  error: Schema.Union([ProjectWriteFileError, EnvironmentAuthorizationError]),}); export const WsShellOpenInEditorRpc = Rpc.make(WS_METHODS.shellOpenInEditor, {  payload: LaunchEditorInput,  error: Schema.Union([ExternalLauncherError, EnvironmentAuthorizationError]),}); export const WsFilesystemBrowseRpc = Rpc.make(WS_METHODS.filesystemBrowse, {  payload: FilesystemBrowseInput,  success: FilesystemBrowseResult,  error: Schema.Union([FilesystemBrowseError, EnvironmentAuthorizationError]),}); export const WsAssetsCreateUrlRpc = Rpc.make(WS_METHODS.assetsCreateUrl, {  payload: AssetCreateUrlInput,  success: AssetCreateUrlResult,  error: Schema.Union([AssetAccessError, EnvironmentAuthorizationError]),}); export const WsSubscribeVcsStatusRpc = Rpc.make(WS_METHODS.subscribeVcsStatus, {  payload: VcsStatusInput,  success: VcsStatusStreamEvent,  error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),  stream: true,}); export const WsVcsPullRpc = Rpc.make(WS_METHODS.vcsPull, {  payload: VcsPullInput,  success: VcsPullResult,  error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),}); export const WsVcsRefreshStatusRpc = Rpc.make(WS_METHODS.vcsRefreshStatus, {  payload: VcsStatusInput,  success: VcsStatusResult,  error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),}); export const WsGitRunStackedActionRpc = Rpc.make(WS_METHODS.gitRunStackedAction, {  payload: GitRunStackedActionInput,  success: GitActionProgressEvent,  error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),  stream: true,}); export const WsGitResolvePullRequestRpc = Rpc.make(WS_METHODS.gitResolvePullRequest, {  payload: GitPullRequestRefInput,  success: GitResolvePullRequestResult,  error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),}); export const WsGitPreparePullRequestThreadRpc = Rpc.make(WS_METHODS.gitPreparePullRequestThread, {  payload: GitPreparePullRequestThreadInput,  success: GitPreparePullRequestThreadResult,  error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),}); export const WsVcsListRefsRpc = Rpc.make(WS_METHODS.vcsListRefs, {  payload: VcsListRefsInput,  success: VcsListRefsResult,  error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),}); export const WsVcsCreateWorktreeRpc = Rpc.make(WS_METHODS.vcsCreateWorktree, {  payload: VcsCreateWorktreeInput,  success: VcsCreateWorktreeResult,  error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),}); export const WsVcsRemoveWorktreeRpc = Rpc.make(WS_METHODS.vcsRemoveWorktree, {  payload: VcsRemoveWorktreeInput,  error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),}); export const WsVcsCreateRefRpc = Rpc.make(WS_METHODS.vcsCreateRef, {  payload: VcsCreateRefInput,  success: VcsCreateRefResult,  error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),}); export const WsVcsSwitchRefRpc = Rpc.make(WS_METHODS.vcsSwitchRef, {  payload: VcsSwitchRefInput,  success: VcsSwitchRefResult,  error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),}); export const WsVcsInitRpc = Rpc.make(WS_METHODS.vcsInit, {  payload: VcsInitInput,  error: Schema.Union([VcsError, EnvironmentAuthorizationError]),}); /** * Ephemeral live diff preview for compact/mobile surfaces. * Not the persisted T3 Review model. Future review sessions should use * review.open* + review.getSnapshot. */export const WsReviewGetDiffPreviewRpc = Rpc.make(WS_METHODS.reviewGetDiffPreview, {  payload: ReviewDiffPreviewInput,  success: ReviewDiffPreviewResult,  error: Schema.Union([ReviewDiffPreviewError, EnvironmentAuthorizationError]),}); export const WsTerminalOpenRpc = Rpc.make(WS_METHODS.terminalOpen, {  payload: TerminalOpenInput,  success: TerminalSessionSnapshot,  error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),}); export const WsTerminalAttachRpc = Rpc.make(WS_METHODS.terminalAttach, {  payload: TerminalAttachInput,  success: TerminalAttachStreamEvent,  error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),  stream: true,}); export const WsTerminalWriteRpc = Rpc.make(WS_METHODS.terminalWrite, {  payload: TerminalWriteInput,  error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),}); export const WsTerminalResizeRpc = Rpc.make(WS_METHODS.terminalResize, {  payload: TerminalResizeInput,  error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),});

Lines 1–500 of 750.