578 lines · 19.4 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 {  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 {  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 {  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",  projectsSearchEntries: "projects.searchEntries",  projectsWriteFile: "projects.writeFile",   // Shell methods  shellOpenInEditor: "shell.openInEditor",   // Filesystem methods  filesystemBrowse: "filesystem.browse",   // 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",   // 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",   // Source control methods  sourceControlLookupRepository: "sourceControl.lookupRepository",  sourceControlCloneRepository: "sourceControl.cloneRepository",  sourceControlPublishRepository: "sourceControl.publishRepository",   // Streaming subscriptions  subscribeVcsStatus: "subscribeVcsStatus",  subscribeTerminalEvents: "subscribeTerminalEvents",  subscribeTerminalMetadata: "subscribeTerminalMetadata",  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 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 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 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]),}); export const WsTerminalClearRpc = Rpc.make(WS_METHODS.terminalClear, {  payload: TerminalClearInput,  error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),}); export const WsTerminalRestartRpc = Rpc.make(WS_METHODS.terminalRestart, {  payload: TerminalRestartInput,  success: TerminalSessionSnapshot,  error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),}); export const WsTerminalCloseRpc = Rpc.make(WS_METHODS.terminalClose, {  payload: TerminalCloseInput,  error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),}); export const WsOrchestrationDispatchCommandRpc = Rpc.make(  ORCHESTRATION_WS_METHODS.dispatchCommand,  {    payload: ClientOrchestrationCommand,    success: OrchestrationRpcSchemas.dispatchCommand.output,    error: Schema.Union([OrchestrationDispatchCommandError, EnvironmentAuthorizationError]),  },); export const WsOrchestrationGetTurnDiffRpc = Rpc.make(ORCHESTRATION_WS_METHODS.getTurnDiff, {  payload: OrchestrationGetTurnDiffInput,  success: OrchestrationRpcSchemas.getTurnDiff.output,  error: Schema.Union([OrchestrationGetTurnDiffError, EnvironmentAuthorizationError]),}); export const WsOrchestrationGetFullThreadDiffRpc = Rpc.make(  ORCHESTRATION_WS_METHODS.getFullThreadDiff,  {    payload: OrchestrationGetFullThreadDiffInput,    success: OrchestrationRpcSchemas.getFullThreadDiff.output,    error: Schema.Union([OrchestrationGetFullThreadDiffError, EnvironmentAuthorizationError]),  },); export const WsOrchestrationReplayEventsRpc = Rpc.make(ORCHESTRATION_WS_METHODS.replayEvents, {  payload: OrchestrationReplayEventsInput,  success: OrchestrationRpcSchemas.replayEvents.output,  error: Schema.Union([OrchestrationReplayEventsError, EnvironmentAuthorizationError]),}); export const WsOrchestrationGetArchivedShellSnapshotRpc = Rpc.make(  ORCHESTRATION_WS_METHODS.getArchivedShellSnapshot,  {    payload: OrchestrationRpcSchemas.getArchivedShellSnapshot.input,    success: OrchestrationRpcSchemas.getArchivedShellSnapshot.output,    error: Schema.Union([OrchestrationGetSnapshotError, EnvironmentAuthorizationError]),  },); export const WsOrchestrationSubscribeShellRpc = Rpc.make(ORCHESTRATION_WS_METHODS.subscribeShell, {  payload: OrchestrationRpcSchemas.subscribeShell.input,  success: OrchestrationRpcSchemas.subscribeShell.output,  error: Schema.Union([OrchestrationGetSnapshotError, EnvironmentAuthorizationError]),  stream: true,}); export const WsOrchestrationSubscribeThreadRpc = Rpc.make(  ORCHESTRATION_WS_METHODS.subscribeThread,  {    payload: OrchestrationRpcSchemas.subscribeThread.input,    success: OrchestrationRpcSchemas.subscribeThread.output,    error: Schema.Union([OrchestrationGetSnapshotError, EnvironmentAuthorizationError]),    stream: true,  },); export const WsSubscribeTerminalEventsRpc = Rpc.make(WS_METHODS.subscribeTerminalEvents, {  payload: Schema.Struct({}),  success: TerminalEvent,  error: EnvironmentAuthorizationError,  stream: true,}); export const WsSubscribeTerminalMetadataRpc = Rpc.make(WS_METHODS.subscribeTerminalMetadata, {  payload: Schema.Struct({}),  success: TerminalMetadataStreamEvent,

Lines 1–500 of 578.