1import {
2 UiSettingsProfile,
3 UiSettingsPatchInput,
4 UiSettingsPatchResult,
5 UiSettingsError,
6} from "./uiSettings.ts";
7import {
8 ScriptProgressSubscribeInput,
9 ScriptProgressEvent,
10 ScriptProgressStreamError,
11} from "./scriptProgress.ts";
12import {
13 ManagedWorkspaceStatus,
14 ManagedWorkspaceCreated,
15 ManagedWorkspaceError,
16 ManagedWorkspaceArchiveInput,
17 ManagedWorkspaceArchived,
18} from "./managedWorkspaces.ts";
19import {
20 MergebotDeployProductionInput,
21 MergebotDeployments,
22 MergebotOpenPullRequestInput,
23 MergebotOpenPullRequestResult,
24 MergebotOperationError,
25 MergebotPullRequestInput,
26 MergebotPullRequestLiveStatus,
27 MergebotQueueInput,
28 MergebotRepoQueue,
29 MergebotSetAutoMergeInput,
30 MergebotUpdatePullRequestInput,
31} from "./mergebot.ts";
32import {
33 JjChangeInput,
34 JjDescribeInput,
35 JjDescriptionConflictError,
36 JjDiffInput,
37 JjDiffResult,
38 JjError,
39 JjPushInput,
40 JjPushResult,
41 JjStack,
42 JjStackInput,
43} from "./jj.ts";
44import { DevServerTarget, DevServerStatus, DevServerError } from "./devServer.ts";
45import {
46 OrchestrationV2SearchThreadError,
47 OrchestrationV2SearchThreadInput,
48 OrchestrationV2SearchThreadResult,
49} from "./orchestrationV2.ts";
50import { OrchestrationDispatchCommandError } from "./orchestrationDispatch.ts";
51import {
52 McpAppCallToolInput,
53 McpAppCallToolResult,
54 McpAppReadResourceInput,
55 McpAppReadResourceResult,
56 McpAppRequestError,
57 McpAppToolInfo,
58 McpAppToolInfoInput,
59 McpAppUpdateModelContextInput,
60} from "./mcpApps.ts";
61import {
62 ChatGptReconnectProfileInput,
63 ChatGptReconnectProfile,
64 ChatGptImportProfileInput,
65 ChatGptHandoffInput,
66 ChatGptHandoffState,
67} from "./providerSetup.ts";
68import * as Schema from "effect/Schema";
69import * as Rpc from "effect/rpc/Rpc";
70import * as RpcGroup from "effect/rpc/RpcGroup";
71import * as RpcMiddleware from "effect/rpc/RpcMiddleware";
72import { NonNegativeInt, TrimmedNonEmptyString } from "./baseSchemas.ts";
73import {
74 CodexAuthCallbackInput,
75 CodexAuthCallbackState,
76 ProviderAuthCancelInput,
77 ProviderAuthCompleteInput,
78 ProviderAuthState,
79 ProviderAuthStartInput,
80 ProviderAuthRespondInput,
81 ProviderInstallCancelInput,
82 ProviderInstallState,
83 ProviderSetupError,
84 ProviderSetupInput,
85} from "./providerSetup.ts";
86
87import {
88 AcpRegistryAcceptUrlAuthInput,
89 AcpRegistryAcceptUrlAuthResult,
90 AcpRegistryDeleteSessionInput,
91 AcpRegistryDeleteSessionResult,
92 AcpRegistryDisableProviderInput,
93 AcpRegistryDisableProviderResult,
94 AcpRegistryImportSessionInput,
95 AcpRegistryImportSessionResult,
96 AcpRegistryListSessionsInput,
97 AcpRegistryListSessionsResult,
98 AcpRegistryListProvidersInput,
99 AcpRegistryListProvidersResult,
100 AcpRegistryLogoutInput,
101 AcpRegistryLogoutResult,
102 AcpRegistryManagedBinaryUninstallInput,
103 AcpRegistryManagedBinaryUninstallResult,
104 AcpRegistryOperationError,
105 AcpRegistryPrepareInput,
106 AcpRegistryPrepareResult,
107 AcpRegistrySearchInput,
108 AcpRegistrySearchResult,
109 AcpRegistrySetProviderInput,
110 AcpRegistrySetProviderResult,
111} from "./acpRegistry.ts";
112import { ExternalLauncherError, LaunchEditorInput } from "./editor.ts";
113import {
114 AuthAccessStreamError,
115 AuthAccessStreamEvent,
116 EnvironmentAuthorizationError,
117} from "./auth.ts";
118import {
119 BackgroundPolicySnapshot,
120 ClientActivityReportInput,
121 HostPowerSnapshot,
122} from "./background.ts";
123import {
124 FilesystemGetMetadataInput,
125 FilesystemGetMetadataResult,
126 FilesystemBrowseInput,
127 FilesystemBrowseResult,
128 FilesystemBrowseError,
129} from "./filesystem.ts";
130import {
131 AgentSessionImportInput,
132 AgentSessionImportProjectChangedError,
133 AgentSessionImportProjectNotFoundError,
134 AgentSessionImportResult,
135 AgentSessionScanInput,
136 AgentSessionScanResult,
137 AgentSessionScanError,
138} from "./agentSessions.ts";
139import {
140 AssetAccessError,
141 AssetCreateUrlInput,
142 AssetCreateUrlResult,
143 AttachmentCreateUploadUrlInput,
144 AttachmentCreateUploadUrlResult,
145 AttachmentDeleteInput,
146 AttachmentUploadSigningKeyError,
147} from "./assets.ts";
148import {
149 PersistChatAttachmentsError,
150 PersistChatAttachmentsInput,
151 PersistChatAttachmentsResult,
152} from "./chatAttachment.ts";
153import {
154 OrchestrationGetFullThreadDiffError,
155 OrchestrationGetTurnDiffError,
156} from "./checkpointDiff.ts";
157import {
158 WorktreeSetupCancelInput,
159 WorktreeSetupCancelResult,
160 WorktreeSetupStreamEvent,
161 WorktreeSetupSubscribeInput,
162} from "./worktreeSetup.ts";
163import {
164 GitActionProgressEvent,
165 VcsSwitchRefInput,
166 VcsSwitchRefResult,
167 GitCommandError,
168 VcsCreateRefInput,
169 VcsCreateRefResult,
170 VcsCreateWorktreeInput,
171 VcsCreateWorktreeResult,
172 VcsInitInput,
173 VcsListRefsInput,
174 VcsListRefsResult,
175 GitManagerServiceError,
176 GitPreparePullRequestThreadInput,
177 GitPreparePullRequestThreadResult,
178 VcsPullInput,
179 GitPullRequestRefInput,
180 VcsPullResult,
181 VcsRemoveWorktreeInput,
182 GitResolvePullRequestResult,
183 GitRunStackedActionInput,
184 VcsStatusInput,
185 VcsStatusSubscriptionInput,
186 VcsStatusResult,
187 VcsStatusStreamEvent,
188} from "./git.ts";
189import {
190 ReviewDiffFileContentsInput,
191 ReviewDiffFileContentsResult,
192 ReviewDiffPreviewError,
193 ReviewDiffPreviewInput,
194 ReviewDiffPreviewResult,
195} from "./review.ts";
196import { KeybindingsConfigError } from "./keybindings.ts";
197import {
198 OrchestrationSearchThreadsError,
199 OrchestrationSearchThreadsInput,
200 OrchestrationSearchThreadsResult,
201} from "./threadSearch.ts";
202import {
203 ProviderUploadFeedbackError,
204 ProviderUploadFeedbackInput,
205 ProviderUploadFeedbackResult,
206} from "./provider.ts";
207import { ProviderInstanceId, ProviderInstanceMutation } from "./providerInstance.ts";
208import { PullRequestReviewGuideResult } from "./pullRequestReviewGuide.ts";
209import {
210 PullRequestActionInput,
211 PullRequestActivity,
212 PullRequestCommentInput,
213 PullRequestCommentUpdateInput,
214 PullRequestDetail,
215 PullRequestPreview,
216 PullRequestChecks,
217 PullRequestDiffFileContentsInput,
218 PullRequestDiffFileContentsResult,
219 PullRequestFilesViewedResult,
220 PullRequestInvalidateInput,
221 PullRequestReportStateInput,
222 PullRequestListInput,
223 PullRequestListResult,
224 PullRequestListStatsInput,
225 PullRequestListStatsResult,
226 PullRequestOperationError,
227 PullRequestReactionInput,
228 PullRequestRef,
229 PullRequestRoutingResult,
230 PullRequestRoutingIdentityInput,
231 PullRequestRoutingIdentityResult,
232 PullRequestStack,
233 PullRequestLinkedThreadsResult,
234 PullRequestSummary,
235 PullRequestReviewerCandidateList,
236 PullRequestReviewerRequestInput,
237 PullRequestLabelCandidateList,
238 PullRequestLabelChangeInput,
239 PullRequestSetFilesViewedInput,
240 PullRequestSubmitReviewInput,
241 PullRequestThreadCommentsInput,
242 PullRequestThreadCommentsResult,
243 PullRequestThreadReplyInput,
244 PullRequestThreadResolutionInput,
245 PullRequestUnavailableError,
246 PullRequestUpdateInput,
247} from "./pullRequest.ts";
248import {
249 RelayClientInstallFailedError,
250 RelayClientInstallProgressEventSchema,
251 RelayClientStatusSchema,
252} from "./relayClient.ts";
253import {
254 ORCHESTRATION_V2_WS_METHODS,
255 OrchestrationGetWorkflowScriptError,
256 OrchestrationV2StopWorkflowError,
257 OrchestrationV2DispatchCommandError,
258 OrchestrationV2GetShellSnapshotError,
259 OrchestrationV2GetThreadProjectionError,
260 OrchestrationV2RpcSchemas,
261 OrchestrationV2ThreadLaunchError,
262} from "./orchestrationV2.ts";
263import {
264 ProjectCreateNewInput,
265 ProjectCreateNewResult,
266 ProjectEnsureScratchResult,
267 ProjectListEntriesError,
268 ProjectListEntriesInput,
269 ProjectListEntriesResult,
270 ProjectReadFileError,
271 ProjectReadFileInput,
272 ProjectWatchInput,
273 ProjectReadFileResult,
274 ProjectSearchContentsError,
275 ProjectSearchContentsInput,
276 ProjectSearchContentsResult,
277 ProjectSearchEntriesError,
278 ProjectSearchEntriesInput,
279 ProjectSearchEntriesResult,
280 ProjectWriteFileError,
281 ProjectWriteFileInput,
282 ProjectWriteFileResult,
283} from "./project.ts";
284import {
285 TerminalAttachInput,
286 TerminalObserveInput,
287 TerminalAttachStreamEvent,
288 TerminalClearInput,
289 TerminalCloseInput,
290 TerminalError,
291 TerminalEvent,
292 TerminalMetadataStreamEvent,
293 TerminalOpenInput,
294 TerminalResizeInput,
295 TerminalRestartInput,
296 TerminalSessionSnapshot,
297 TerminalWriteInput,
298} from "./terminal.ts";
299import {
300 DiscoveredLocalServerList,
301 ConfiguredLocalServerUrls,
302 PreviewCloseInput,
303 PreviewError,
304 PreviewEvent,
305 PreviewListInput,
306 PreviewListResult,
307 PreviewClearProfileError,
308 PreviewClearProfileInput,
309 PreviewReportProfilesInput,
310 PreviewNavigateInput,
311 PreviewOpenInput,
312 PreviewRefreshInput,
313 PreviewReportStatusInput,
314 PreviewResizeInput,
315 PreviewAdjustInput,
316 PreviewSessionSnapshot,
317} from "./preview.ts";
318import {
319 DeviceActionInput,
320 DeviceCloseInput,
321 DeviceConfigureInput,
322 DeviceDetail,
323 DeviceDetailInput,
324 DeviceError,
325 DeviceListInput,
326 SshDeviceHostConfig,
327 DeviceHostSummary,
328 DeviceOpenInput,
329 DeviceServiceState,
330 DeviceSession,
331 DeviceShutdownInput,
332} from "./device.ts";
333import {
334 ServerConfigStreamEvent,
335 DesktopUpdateCommitInput,
336 OtlpEndpointCheckInput,
337 OtlpEndpointCheckResult,
338 ServerConfig,
339 ServerProviderUpdateError,
340 ServerProviderUpdateInput,
341 ServerLifecycleStreamEvent,
342 ServerRemoveKeybindingInput,
343 ServerRemoveKeybindingResult,
344 ServerProviderUpdatedPayload,
345 ServerSelfUpdateError,
346 ServerSelfUpdateInput,
347 ServerSelfUpdateProgressEvent,
348 ServerSelfUpdateResult,
349 ServerTraceDiagnosticsResult,
350 ServerProcessDiagnosticsResult,
351 ServerProcessResourceHistoryInput,
352 ServerProcessResourceHistoryResult,
353 ServerSignalProcessInput,
354 ServerSignalProcessResult,
355 ServerUpsertKeybindingInput,
356 ServerUpsertKeybindingResult,
357} from "./server.ts";
358import {
359 HostResourcesSnapshot,
360 ResourceTelemetryHistory,
361 ResourceTelemetryHistoryInput,
362 ResourceTelemetryRetryResult,
363 ResourceTelemetrySnapshot,
364} from "./resourceTelemetry.ts";
365import {
366 UsageLimitSourceError,
367 ProviderConsumeResetCreditInput,
368 ProviderConsumeResetCreditResult,
369} from "./providerUsageLimits.ts";
370import { UsagePricing, UsageReadError, UsageSummary, UsageSummaryInput } from "./usage.ts";
371import {
372 StorageCleanupReport,
373 ServerSettings,
374 ServerSettingsError,
375 ServerSettingsPatch,
376} from "./settings.ts";
377import {
378 ScheduledTaskDeleteInput,
379 ScheduledTaskDeleteResult,
380 ScheduledTaskError,
381 ScheduledTaskListInput,
382 ScheduledTaskListResult,
383 ScheduledTaskRunNowInput,
384 ScheduledTaskRotateWebhookTokenInput,
385 ScheduledTaskListWebhookDeliveriesInput,
386 ScheduledTaskListWebhookDeliveriesResult,
387 ScheduledTaskGetWebhookDeliveryInput,
388 ScheduledTaskGetWebhookDeliveryResult,
389 ScheduledTaskRunNowResult,
390 ScheduledTaskSetEnabledInput,
391 ScheduledTaskUpsertInput,
392 ScheduledTaskMutationResult,
393} from "./scheduledTask.ts";
394import { SecretRequestAnswerInput, SecretRequestError } from "./secretRequest.ts";
395import {
396 ProjectCloneActionInput,
397 ProjectCloneActionResult,
398 ProjectCloneListEvent,
399 ProjectCloneStartInput,
400 ProjectCloneStartResult,
401 ProjectCloneSubscribeInput,
402} from "./projectClone.ts";
403import {
404 SourceControlCloneRepositoryInput,
405 SourceControlCloneRepositoryResult,
406 SourceControlDiscoveryResult,
407 SourceControlPublishRepositoryInput,
408 SourceControlPublishRepositoryResult,
409 SourceControlRepositoryError,
410 SourceControlRepositoryInfo,
411 SourceControlRepositoryLookupInput,
412} from "./sourceControl.ts";
413import { VcsError } from "./vcs.ts";
414import { Project, ProjectMutation, ProjectMutationError } from "./project.ts";
415
416export const WS_METHODS = {
417 // Project registry methods
418 projectsList: "projects.list",
419 projectsAdd: "projects.add",
420 projectsRemove: "projects.remove",
421 projectsListEntries: "projects.listEntries",
422 projectsReadFile: "projects.readFile",
423 projectsWatch: "projects.watch",
424 projectsSearchContents: "projects.searchContents",
425 projectsSearchEntries: "projects.searchEntries",
426 projectsWriteFile: "projects.writeFile",
427 projectsMutate: "projects.mutate",
428 projectsEnsureScratch: "projects.ensureScratch",
429 projectsCreateNew: "projects.createNew",
430
431 devServerStatus: "devServer.status",
432 devServerStart: "devServer.start",
433 managedWorkspacesStatus: "managedWorkspaces.status",
434 managedWorkspacesCreate: "managedWorkspaces.create",
435 managedWorkspacesArchiveCompleted: "managedWorkspaces.archiveCompleted",
436
437 // Shell methods
438 shellOpenInEditor: "shell.openInEditor",
439
440 // Filesystem methods
441 filesystemBrowse: "filesystem.browse",
442 filesystemGetMetadata: "filesystem.getMetadata",
443 agentSessionsScan: "agentSessions.scan",
444 agentSessionsImport: "agentSessions.import",
445 assetsCreateUrl: "assets.createUrl",
446 assetsPersistChatAttachments: "assets.persistChatAttachments",
447 attachmentsCreateUploadUrl: "attachments.createUploadUrl",
448 attachmentsDelete: "attachments.delete",
449
450 // MCP Apps methods
451 mcpAppsCallTool: "mcpApps.callTool",
452 mcpAppsToolInfo: "mcpApps.toolInfo",
453 mcpAppsReadResource: "mcpApps.readResource",
454 mcpAppsUpdateModelContext: "mcpApps.updateModelContext",
455
456 // Provider methods
457 providerUploadFeedback: "provider.uploadFeedback",
458 providerAuthStart: "provider.auth.start",
459 providerConsumeResetCredit: "provider.consumeResetCredit",
460 providerAuthComplete: "provider.auth.complete",
461 chatGptReconnectProfile: "provider.chatgpt.reconnect-profile",
462 chatGptImportProfile: "provider.chatgpt.import-profile",
463 chatGptHandoffSubscribe: "provider.chatgpt.handoff.subscribe",
464 codexAuthCallbackSubscribe: "provider.codex.auth-callback.subscribe",
465 providerAuthRespond: "provider.auth.respond",
466 providerAuthCancel: "provider.auth.cancel",
467 providerAuthLogout: "provider.auth.logout",
468 providerAuthSubscribe: "provider.auth.subscribe",
469 providerInstallStart: "provider.install.start",
470 providerInstallCancel: "provider.install.cancel",
471 providerInstallSubscribe: "provider.install.subscribe",
472 providerInstallRemove: "provider.install.remove",
473
474 // VCS methods
475 vcsPull: "vcs.pull",
476 vcsRefreshStatus: "vcs.refreshStatus",
477 vcsListRefs: "vcs.listRefs",
478 vcsCreateWorktree: "vcs.createWorktree",
479 vcsRemoveWorktree: "vcs.removeWorktree",
480 vcsCreateRef: "vcs.createRef",
481 vcsSwitchRef: "vcs.switchRef",
482 vcsInit: "vcs.init",
483
484 // Git workflow methods
485 gitRunStackedAction: "git.runStackedAction",
486 gitResolvePullRequest: "git.resolvePullRequest",
487 gitPreparePullRequestThread: "git.preparePullRequestThread",
488
489 // Review methods
490 reviewGetDiffPreview: "review.getDiffPreview",
491 reviewGetDiffFileContents: "review.getDiffFileContents",
492
493 // Terminal methods
494 terminalOpen: "terminal.open",
495 terminalAttach: "terminal.attach",
496 terminalObserve: "terminal.observe",
497 terminalWrite: "terminal.write",
498 terminalResize: "terminal.resize",
499 terminalClear: "terminal.clear",
500 terminalRestart: "terminal.restart",
501 terminalClose: "terminal.close",
502
503 // Preview methods
504 previewOpen: "preview.open",
505 previewNavigate: "preview.navigate",
506 previewResize: "preview.resize",
507 previewAdjust: "preview.adjust",
508 previewRefresh: "preview.refresh",
509 previewClose: "preview.close",
510 previewList: "preview.list",
511 previewClearProfile: "preview.clearProfile",
512 previewReportProfiles: "preview.reportProfiles",
513 previewReportStatus: "preview.reportStatus",
514
515 // Device methods
516 deviceConfigure: "device.configure",
517 deviceList: "device.list",
518 deviceTestHost: "device.testHost",
519 deviceOpen: "device.open",
520 deviceClose: "device.close",
521 deviceShutdown: "device.shutdown",
522 deviceDetail: "device.detail",
523 deviceAction: "device.action",
524
525 // Server meta
526 serverProbe: "server.probe",
527 serverGetConfig: "server.getConfig",
528 serverRefreshProviders: "server.refreshProviders",
529 serverUpdateProvider: "server.updateProvider",
530 serverUpdateServer: "server.updateServer",
531 serverUpdateServerWithProgress: "server.updateServerWithProgress",
532 serverCommitDesktopUpdate: "server.commitDesktopUpdate",
533 serverUpsertKeybinding: "server.upsertKeybinding",
534 serverRemoveKeybinding: "server.removeKeybinding",
535 serverRunStorageCleanup: "server.runStorageCleanup",
536 serverGetStorageCleanupReport: "server.getStorageCleanupReport",
537 uiSettingsGet: "uiSettings.get",
538 uiSettingsPatch: "uiSettings.patch",
539 uiSettingsSubscribe: "uiSettings.subscribe",
540 serverGetSettings: "server.getSettings",
541 serverUpdateSettings: "server.updateSettings",
542 serverDiscoverSourceControl: "server.discoverSourceControl",
543 serverSearchAcpRegistry: "server.searchAcpRegistry",
544 serverPrepareAcpRegistryAgent: "server.prepareAcpRegistryAgent",
545 serverUninstallAcpRegistryManagedBinary: "server.uninstallAcpRegistryManagedBinary",
546 serverAcceptAcpRegistryUrlAuth: "server.acceptAcpRegistryUrlAuth",
547 serverListAcpRegistrySessions: "server.listAcpRegistrySessions",
548 serverImportAcpRegistrySession: "server.importAcpRegistrySession",
549 serverDeleteAcpRegistrySession: "server.deleteAcpRegistrySession",
550 serverListAcpRegistryProviders: "server.listAcpRegistryProviders",
551 serverSetAcpRegistryProvider: "server.setAcpRegistryProvider",
552 serverDisableAcpRegistryProvider: "server.disableAcpRegistryProvider",
553 serverLogoutAcpRegistry: "server.logoutAcpRegistry",
554 serverGetTraceDiagnostics: "server.getTraceDiagnostics",
555 serverGetProcessDiagnostics: "server.getProcessDiagnostics",
556 serverGetHostResources: "server.getHostResources",
557 serverGetProcessResourceHistory: "server.getProcessResourceHistory",
558 serverGetResourceTelemetryHistory: "server.getResourceTelemetryHistory",
559 serverRetryResourceTelemetry: "server.retryResourceTelemetry",
560 serverCheckOtlpEndpoint: "server.checkOtlpEndpoint",
561 serverSignalProcess: "server.signalProcess",
562 serverReportClientActivity: "server.reportClientActivity",
563 serverReportHostPowerState: "server.reportHostPowerState",
564 serverGetBackgroundPolicy: "server.getBackgroundPolicy",
565 serverGetUsageSummary: "server.getUsageSummary",
566 serverRefreshUsageRates: "server.refreshUsageRates",
567
568 // Scheduled tasks
569 scheduledTasksList: "scheduledTasks.list",
570 scheduledTasksSubscribe: "scheduledTasks.subscribe",
571 scheduledTasksUpsert: "scheduledTasks.upsert",
572 scheduledTasksSetEnabled: "scheduledTasks.setEnabled",
573 scheduledTasksDelete: "scheduledTasks.delete",
574 scheduledTasksRunNow: "scheduledTasks.runNow",
575 scheduledTasksRotateWebhookToken: "scheduledTasks.rotateWebhookToken",
576 secretsAnswerRequest: "secrets.answerRequest",
577 scheduledTasksListWebhookDeliveries: "scheduledTasks.listWebhookDeliveries",
578 scheduledTasksGetWebhookDelivery: "scheduledTasks.getWebhookDelivery",
579
580 // Cloud environment methods
581 cloudGetRelayClientStatus: "cloud.getRelayClientStatus",
582 cloudInstallRelayClient: "cloud.installRelayClient",
583
584 // Pull request methods
585 mergebotQueue: "mergebot.queue",
586 mergebotSubscribe: "mergebot.subscribe",
587 mergebotOpenPullRequest: "mergebot.openPullRequest",
588 mergebotSetAutoMerge: "mergebot.setAutoMerge",
589 mergebotUpdatePullRequest: "mergebot.updatePullRequest",
590 mergebotSubscribePullRequestStatus: "mergebot.subscribePullRequestStatus",
591 mergebotSubscribeDeployments: "mergebot.subscribeDeployments",
592 mergebotDeployProduction: "mergebot.deployProduction",
593 jjSubscribeStack: "jj.subscribeStack",
594 jjSnapshot: "jj.snapshot",
595 jjDiff: "jj.diff",
596 jjDescribe: "jj.describe",
597 jjSquash: "jj.squash",
598 jjPush: "jj.push",
599 pullRequestsList: "pullRequests.list",
600 pullRequestsListStats: "pullRequests.listStats",
601 pullRequestsSummary: "pullRequests.summary",
602 pullRequestsRouting: "pullRequests.routing",
603 pullRequestsRoutingIdentity: "pullRequests.routingIdentity",
604 pullRequestsStack: "pullRequests.stack",
605 pullRequestsLinkedThreads: "pullRequests.linkedThreads",
606 pullRequestsDetail: "pullRequests.detail",
607 pullRequestsPreview: "pullRequests.preview",
608 pullRequestsChecks: "pullRequests.checks",
609 pullRequestsActivity: "pullRequests.activity",
610 pullRequestsReviewGuide: "pullRequests.reviewGuide",
611 pullRequestsGenerateReviewGuide: "pullRequests.generateReviewGuide",
612 pullRequestsThreadComments: "pullRequests.threadComments",
613 pullRequestsDiffFileContents: "pullRequests.diffFileContents",
614 pullRequestsFilesViewed: "pullRequests.filesViewed",
615 pullRequestsSetFilesViewed: "pullRequests.setFilesViewed",
616 pullRequestsRunAction: "pullRequests.runAction",
617 pullRequestsUpdate: "pullRequests.update",
618 pullRequestsComment: "pullRequests.comment",
619 pullRequestsUpdateComment: "pullRequests.updateComment",
620 pullRequestsSubmitReview: "pullRequests.submitReview",
621 pullRequestsReplyToThread: "pullRequests.replyToThread",
622 pullRequestsSetThreadResolution: "pullRequests.setThreadResolution",
623 pullRequestsSetReaction: "pullRequests.setReaction",
624 pullRequestsInvalidate: "pullRequests.invalidate",
625 pullRequestsReportState: "pullRequests.reportState",
626 pullRequestsSubscribeRefreshes: "pullRequests.subscribeRefreshes",
627 pullRequestsReviewerCandidates: "pullRequests.reviewerCandidates",
628 pullRequestsRequestReviewers: "pullRequests.requestReviewers",
629 pullRequestsLabelCandidates: "pullRequests.labelCandidates",
630 pullRequestsSetLabels: "pullRequests.setLabels",
631
632 // Source control methods
633 sourceControlLookupRepository: "sourceControl.lookupRepository",
634 sourceControlCloneRepository: "sourceControl.cloneRepository",
635 sourceControlPublishRepository: "sourceControl.publishRepository",
636 projectCloneStart: "projectClone.start",
637 projectCloneCancel: "projectClone.cancel",
638 projectCloneRetry: "projectClone.retry",
639 subscribeProjectClones: "subscribeProjectClones",
640
641 // Streaming subscriptions
642 subscribeVcsStatus: "subscribeVcsStatus",
643 subscribeWorktreeSetup: "subscribeWorktreeSetup",
644 worktreeSetupCancel: "worktreeSetup.cancel",
645 subscribeTerminalEvents: "subscribeTerminalEvents",
646 subscribeTerminalMetadata: "subscribeTerminalMetadata",
647 subscribeScriptProgress: "subscribeScriptProgress",
648 subscribePreviewEvents: "subscribePreviewEvents",
649 subscribeDiscoveredLocalServers: "subscribeDiscoveredLocalServers",
650 subscribeDeviceState: "subscribeDeviceState",
651 subscribeServerConfig: "subscribeServerConfig",
652 subscribeServerLifecycle: "subscribeServerLifecycle",
653 subscribeAuthAccess: "subscribeAuthAccess",
654 subscribeBackgroundPolicy: "subscribeBackgroundPolicy",
655 subscribeResourceTelemetry: "subscribeResourceTelemetry",
656} as const;
657
658const WsServerUpsertKeybindingRpc = Rpc.make(WS_METHODS.serverUpsertKeybinding, {
659 payload: ServerUpsertKeybindingInput,
660 success: ServerUpsertKeybindingResult,
661 error: Schema.Union([KeybindingsConfigError, EnvironmentAuthorizationError]),
662});
663
664const WsServerRemoveKeybindingRpc = Rpc.make(WS_METHODS.serverRemoveKeybinding, {
665 payload: ServerRemoveKeybindingInput,
666 success: ServerRemoveKeybindingResult,
667 error: Schema.Union([KeybindingsConfigError, EnvironmentAuthorizationError]),
668});
669
670const WsServerProbeRpc = Rpc.make(WS_METHODS.serverProbe, {
671 payload: Schema.Struct({}),
672 success: Schema.Struct({}),
673 error: EnvironmentAuthorizationError,
674});
675
676const WsServerGetConfigRpc = Rpc.make(WS_METHODS.serverGetConfig, {
677 payload: Schema.Struct({}),
678 success: ServerConfig,
679 error: Schema.Union([KeybindingsConfigError, ServerSettingsError, EnvironmentAuthorizationError]),
680});
681
682const WsServerRefreshProvidersRpc = Rpc.make(WS_METHODS.serverRefreshProviders, {
683 payload: Schema.Struct({
684 /**
685 * When supplied, only refresh this specific provider instance. When
686 * omitted, refresh all configured instances — the legacy `refresh()`
687 * behaviour retained for transports that still dispatch untargeted
688 * refreshes.
689 */
690 instanceId: Schema.optional(ProviderInstanceId),
691 cwd: Schema.optional(TrimmedNonEmptyString),
692 /** With `instanceId` and `cwd`: rescan the workspace's skills and slash
693 * commands even when a snapshot for that cwd already exists. */
694 fresh: Schema.optional(Schema.Boolean),
695 /** Explicit user request: bypass T3-owned caches and rediscover models.
696 * Background status refreshes must not open agent sessions. */
697 refreshModels: Schema.optional(Schema.Boolean),
698 }),
699 success: ServerProviderUpdatedPayload,
700 error: Schema.Union([EnvironmentAuthorizationError, ProviderSetupError]),
701});
702
703const WsServerUpdateProviderRpc = Rpc.make(WS_METHODS.serverUpdateProvider, {
704 payload: ServerProviderUpdateInput,
705 success: ServerProviderUpdatedPayload,
706 error: Schema.Union([ServerProviderUpdateError, EnvironmentAuthorizationError]),
707});
708
709const ProviderSetupRpcError = Schema.Union([ProviderSetupError, EnvironmentAuthorizationError]);
710
711const WsProviderConsumeResetCreditRpc = Rpc.make(WS_METHODS.providerConsumeResetCredit, {
712 payload: ProviderConsumeResetCreditInput,
713 success: ProviderConsumeResetCreditResult,
714 error: Schema.Union([ProviderSetupError, UsageLimitSourceError, EnvironmentAuthorizationError]),
715});
716
717const WsProviderAuthStartRpc = Rpc.make(WS_METHODS.providerAuthStart, {
718 payload: ProviderAuthStartInput,
719 success: ProviderAuthState,
720 error: ProviderSetupRpcError,
721});
722
723const WsProviderAuthRespondRpc = Rpc.make(WS_METHODS.providerAuthRespond, {
724 payload: ProviderAuthRespondInput,
725 success: ProviderAuthState,
726 error: ProviderSetupRpcError,
727});
728
729const WsProviderAuthCompleteRpc = Rpc.make(WS_METHODS.providerAuthComplete, {
730 payload: ProviderAuthCompleteInput,
731 success: ProviderAuthState,
732 error: ProviderSetupRpcError,
733});
734
735const WsChatGptReconnectProfileRpc = Rpc.make(WS_METHODS.chatGptReconnectProfile, {
736 payload: ChatGptReconnectProfileInput,
737 success: Schema.NullOr(ChatGptReconnectProfile),
738 error: ProviderSetupRpcError,
739});
740const WsChatGptImportProfileRpc = Rpc.make(WS_METHODS.chatGptImportProfile, {
741 payload: ChatGptImportProfileInput,
742 success: ProviderAuthState,
743 error: ProviderSetupRpcError,
744});
745const WsChatGptHandoffSubscribeRpc = Rpc.make(WS_METHODS.chatGptHandoffSubscribe, {
746 payload: ChatGptHandoffInput,
747 success: ChatGptHandoffState,
748 error: ProviderSetupRpcError,
749 stream: true,
750});
751const WsCodexAuthCallbackSubscribeRpc = Rpc.make(WS_METHODS.codexAuthCallbackSubscribe, {
752 payload: CodexAuthCallbackInput,
753 success: CodexAuthCallbackState,
754 error: ProviderSetupRpcError,
755 stream: true,
756});
757
758const WsProviderAuthCancelRpc = Rpc.make(WS_METHODS.providerAuthCancel, {
759 payload: ProviderAuthCancelInput,
760 success: ProviderAuthState,
761 error: ProviderSetupRpcError,
762});
763
764const WsProviderAuthLogoutRpc = Rpc.make(WS_METHODS.providerAuthLogout, {
765 payload: ProviderSetupInput,
766 success: ProviderAuthState,
767 error: ProviderSetupRpcError,
768});
769
770const WsProviderAuthSubscribeRpc = Rpc.make(WS_METHODS.providerAuthSubscribe, {
771 payload: ProviderSetupInput,
772 success: ProviderAuthState,
773 error: ProviderSetupRpcError,
774 stream: true,
775});
776
777const WsProviderInstallStartRpc = Rpc.make(WS_METHODS.providerInstallStart, {
778 payload: ProviderSetupInput,
779 success: ProviderInstallState,
780 error: ProviderSetupRpcError,
781});
782
783const WsProviderInstallCancelRpc = Rpc.make(WS_METHODS.providerInstallCancel, {
784 payload: ProviderInstallCancelInput,
785 success: ProviderInstallState,
786 error: ProviderSetupRpcError,
787});
788
789const WsProviderInstallSubscribeRpc = Rpc.make(WS_METHODS.providerInstallSubscribe, {
790 payload: ProviderSetupInput,
791 success: ProviderInstallState,
792 error: ProviderSetupRpcError,
793 stream: true,
794});
795
796const WsProviderInstallRemoveRpc = Rpc.make(WS_METHODS.providerInstallRemove, {
797 payload: ProviderSetupInput,
798 success: ProviderInstallState,
799 error: ProviderSetupRpcError,
800});
801
802const WsServerUpdateServerRpc = Rpc.make(WS_METHODS.serverUpdateServer, {
803 payload: ServerSelfUpdateInput,
804 success: ServerSelfUpdateResult,
805 error: Schema.Union([ServerSelfUpdateError, EnvironmentAuthorizationError]),
806});
807
808const WsServerUpdateServerWithProgressRpc = Rpc.make(WS_METHODS.serverUpdateServerWithProgress, {
809 payload: ServerSelfUpdateInput,
810 success: ServerSelfUpdateProgressEvent,
811 error: Schema.Union([ServerSelfUpdateError, EnvironmentAuthorizationError]),
812 stream: true,
813});
814
815const WsServerCommitDesktopUpdateRpc = Rpc.make(WS_METHODS.serverCommitDesktopUpdate, {
816 payload: DesktopUpdateCommitInput,
817 success: ServerSelfUpdateResult,
818 error: Schema.Union([ServerSelfUpdateError, EnvironmentAuthorizationError]),
819});
820
821const WsServerRunStorageCleanupRpc = Rpc.make(WS_METHODS.serverRunStorageCleanup, {
822 payload: Schema.Struct({}),
823 success: StorageCleanupReport,
824 error: Schema.Union([ServerSettingsError, EnvironmentAuthorizationError]),
825});
826const WsServerGetStorageCleanupReportRpc = Rpc.make(WS_METHODS.serverGetStorageCleanupReport, {
827 payload: Schema.Struct({}),
828 success: Schema.NullOr(StorageCleanupReport),
829 stream: true,
830 error: EnvironmentAuthorizationError,
831});
832
833const WsUiSettingsGetRpc = Rpc.make(WS_METHODS.uiSettingsGet, {
834 payload: Schema.Struct({}),
835 success: UiSettingsProfile,
836 error: Schema.Union([UiSettingsError, EnvironmentAuthorizationError]),
837});
838const WsUiSettingsPatchRpc = Rpc.make(WS_METHODS.uiSettingsPatch, {
839 payload: UiSettingsPatchInput,
840 success: UiSettingsPatchResult,
841 error: Schema.Union([UiSettingsError, EnvironmentAuthorizationError]),
842});
843const WsUiSettingsSubscribeRpc = Rpc.make(WS_METHODS.uiSettingsSubscribe, {
844 payload: Schema.Struct({}),
845 success: UiSettingsProfile,
846 stream: true,
847 error: Schema.Union([UiSettingsError, EnvironmentAuthorizationError]),
848});
849
850const WsServerGetSettingsRpc = Rpc.make(WS_METHODS.serverGetSettings, {
851 payload: Schema.Struct({}),
852 success: ServerSettings,
853 error: Schema.Union([ServerSettingsError, EnvironmentAuthorizationError]),
854});
855
856const WsServerUpdateSettingsRpc = Rpc.make(WS_METHODS.serverUpdateSettings, {
857 payload: Schema.Struct({
858 patch: ServerSettingsPatch,
859 providerInstanceMutation: Schema.optionalKey(ProviderInstanceMutation),
860 }),
861 success: ServerSettings,
862 error: Schema.Union([ServerSettingsError, EnvironmentAuthorizationError]),
863});
864
865const WsServerDiscoverSourceControlRpc = Rpc.make(WS_METHODS.serverDiscoverSourceControl, {
866 payload: Schema.Struct({}),
867 success: SourceControlDiscoveryResult,
868 error: EnvironmentAuthorizationError,
869});
870
871const WsServerSearchAcpRegistryRpc = Rpc.make(WS_METHODS.serverSearchAcpRegistry, {
872 payload: AcpRegistrySearchInput,
873 success: AcpRegistrySearchResult,
874 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
875});
876
877const WsServerPrepareAcpRegistryAgentRpc = Rpc.make(WS_METHODS.serverPrepareAcpRegistryAgent, {
878 payload: AcpRegistryPrepareInput,
879 success: AcpRegistryPrepareResult,
880 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
881});
882
883const WsServerUninstallAcpRegistryManagedBinaryRpc = Rpc.make(
884 WS_METHODS.serverUninstallAcpRegistryManagedBinary,
885 {
886 payload: AcpRegistryManagedBinaryUninstallInput,
887 success: AcpRegistryManagedBinaryUninstallResult,
888 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
889 },
890);
891
892const WsServerAcceptAcpRegistryUrlAuthRpc = Rpc.make(WS_METHODS.serverAcceptAcpRegistryUrlAuth, {
893 payload: AcpRegistryAcceptUrlAuthInput,
894 success: AcpRegistryAcceptUrlAuthResult,
895 error: EnvironmentAuthorizationError,
896});
897
898const WsServerListAcpRegistrySessionsRpc = Rpc.make(WS_METHODS.serverListAcpRegistrySessions, {
899 payload: AcpRegistryListSessionsInput,
900 success: AcpRegistryListSessionsResult,
901 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
902});
903
904const WsServerImportAcpRegistrySessionRpc = Rpc.make(WS_METHODS.serverImportAcpRegistrySession, {
905 payload: AcpRegistryImportSessionInput,
906 success: AcpRegistryImportSessionResult,
907 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
908});
909
910const WsServerDeleteAcpRegistrySessionRpc = Rpc.make(WS_METHODS.serverDeleteAcpRegistrySession, {
911 payload: AcpRegistryDeleteSessionInput,
912 success: AcpRegistryDeleteSessionResult,
913 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
914});
915
916const WsServerListAcpRegistryProvidersRpc = Rpc.make(WS_METHODS.serverListAcpRegistryProviders, {
917 payload: AcpRegistryListProvidersInput,
918 success: AcpRegistryListProvidersResult,
919 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
920});
921
922const WsServerSetAcpRegistryProviderRpc = Rpc.make(WS_METHODS.serverSetAcpRegistryProvider, {
923 payload: AcpRegistrySetProviderInput,
924 success: AcpRegistrySetProviderResult,
925 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
926});
927
928const WsServerDisableAcpRegistryProviderRpc = Rpc.make(
929 WS_METHODS.serverDisableAcpRegistryProvider,
930 {
931 payload: AcpRegistryDisableProviderInput,
932 success: AcpRegistryDisableProviderResult,
933 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
934 },
935);
936
937const WsServerLogoutAcpRegistryRpc = Rpc.make(WS_METHODS.serverLogoutAcpRegistry, {
938 payload: AcpRegistryLogoutInput,
939 success: AcpRegistryLogoutResult,
940 error: Schema.Union([AcpRegistryOperationError, EnvironmentAuthorizationError]),
941});
942
943const WsServerGetTraceDiagnosticsRpc = Rpc.make(WS_METHODS.serverGetTraceDiagnostics, {
944 payload: Schema.Struct({}),
945 success: ServerTraceDiagnosticsResult,
946 error: EnvironmentAuthorizationError,
947});
948
949const WsServerGetProcessDiagnosticsRpc = Rpc.make(WS_METHODS.serverGetProcessDiagnostics, {
950 payload: Schema.Struct({}),
951 success: ServerProcessDiagnosticsResult,
952 error: EnvironmentAuthorizationError,
953});
954
955const WsServerGetHostResourcesRpc = Rpc.make(WS_METHODS.serverGetHostResources, {
956 payload: Schema.Struct({}),
957 success: HostResourcesSnapshot,
958 error: EnvironmentAuthorizationError,
959});
960
961const WsServerGetProcessResourceHistoryRpc = Rpc.make(WS_METHODS.serverGetProcessResourceHistory, {
962 payload: ServerProcessResourceHistoryInput,
963 success: ServerProcessResourceHistoryResult,
964 error: EnvironmentAuthorizationError,
965});
966
967const WsServerGetResourceTelemetryHistoryRpc = Rpc.make(
968 WS_METHODS.serverGetResourceTelemetryHistory,
969 {
970 payload: ResourceTelemetryHistoryInput,
971 success: ResourceTelemetryHistory,
972 error: EnvironmentAuthorizationError,
973 },
974);
975
976const WsServerRetryResourceTelemetryRpc = Rpc.make(WS_METHODS.serverRetryResourceTelemetry, {
977 payload: Schema.Struct({}),
978 success: ResourceTelemetryRetryResult,
979 error: EnvironmentAuthorizationError,
980});
981
982const WsServerCheckOtlpEndpointRpc = Rpc.make(WS_METHODS.serverCheckOtlpEndpoint, {
983 payload: OtlpEndpointCheckInput,
984 success: OtlpEndpointCheckResult,
985 error: EnvironmentAuthorizationError,
986});
987
988const WsServerGetUsageSummaryRpc = Rpc.make(WS_METHODS.serverGetUsageSummary, {
989 payload: UsageSummaryInput,
990 success: UsageSummary,
991 error: Schema.Union([EnvironmentAuthorizationError, UsageReadError]),
992});
993
994/**
995 * Refetches the model rate table ahead of its daily TTL, so a model released
996 * since the last fetch gets priced. The next usage summary uses the new table.
997 */
998const WsServerRefreshUsageRatesRpc = Rpc.make(WS_METHODS.serverRefreshUsageRates, {
999 payload: Schema.Struct({}),
1000 success: UsagePricing,
1001 error: EnvironmentAuthorizationError,
1002});
1003
1004const WsServerSignalProcessRpc = Rpc.make(WS_METHODS.serverSignalProcess, {
1005 payload: ServerSignalProcessInput,
1006 success: ServerSignalProcessResult,
1007 error: EnvironmentAuthorizationError,
1008});
1009
1010const WsCloudGetRelayClientStatusRpc = Rpc.make(WS_METHODS.cloudGetRelayClientStatus, {
1011 payload: Schema.Struct({}),
1012 success: RelayClientStatusSchema,
1013 error: EnvironmentAuthorizationError,
1014});
1015
1016const WsCloudInstallRelayClientRpc = Rpc.make(WS_METHODS.cloudInstallRelayClient, {
1017 payload: Schema.Struct({}),
1018 success: RelayClientInstallProgressEventSchema,
1019 error: Schema.Union([RelayClientInstallFailedError, EnvironmentAuthorizationError]),
1020 stream: true,
1021});
1022
1023const WsServerReportClientActivityRpc = Rpc.make(WS_METHODS.serverReportClientActivity, {
1024 payload: ClientActivityReportInput,
1025 error: EnvironmentAuthorizationError,
1026});
1027
1028const WsServerReportHostPowerStateRpc = Rpc.make(WS_METHODS.serverReportHostPowerState, {
1029 payload: HostPowerSnapshot,
1030 error: EnvironmentAuthorizationError,
1031});
1032
1033const WsServerGetBackgroundPolicyRpc = Rpc.make(WS_METHODS.serverGetBackgroundPolicy, {
1034 payload: Schema.Struct({}),
1035 success: BackgroundPolicySnapshot,
1036 error: EnvironmentAuthorizationError,
1037});
1038
1039const PullRequestRpcError = Schema.Union([
1040 PullRequestUnavailableError,
1041 PullRequestOperationError,
1042 EnvironmentAuthorizationError,
1043]);
1044
1045const WsMergebotQueueRpc = Rpc.make(WS_METHODS.mergebotQueue, {
1046 payload: MergebotQueueInput,
1047 success: Schema.NullOr(MergebotRepoQueue),
1048 error: EnvironmentAuthorizationError,
1049});
1050
1051const WsMergebotSubscribeRpc = Rpc.make(WS_METHODS.mergebotSubscribe, {
1052 payload: MergebotQueueInput,
1053 success: Schema.NullOr(MergebotRepoQueue),
1054 error: EnvironmentAuthorizationError,
1055 stream: true,
1056});
1057
1058const MergebotRpcError = Schema.Union([MergebotOperationError, EnvironmentAuthorizationError]);
1059
1060const WsMergebotOpenPullRequestRpc = Rpc.make(WS_METHODS.mergebotOpenPullRequest, {
1061 payload: MergebotOpenPullRequestInput,
1062 success: MergebotOpenPullRequestResult,
1063 error: MergebotRpcError,
1064});
1065
1066const WsMergebotSetAutoMergeRpc = Rpc.make(WS_METHODS.mergebotSetAutoMerge, {
1067 payload: MergebotSetAutoMergeInput,
1068 success: Schema.Void,
1069 error: MergebotRpcError,
1070});
1071
1072const WsMergebotUpdatePullRequestRpc = Rpc.make(WS_METHODS.mergebotUpdatePullRequest, {
1073 payload: MergebotUpdatePullRequestInput,
1074 success: Schema.Void,
1075 error: MergebotRpcError,
1076});
1077
1078const WsMergebotSubscribePullRequestStatusRpc = Rpc.make(
1079 WS_METHODS.mergebotSubscribePullRequestStatus,
1080 {
1081 payload: MergebotPullRequestInput,
1082 success: Schema.NullOr(MergebotPullRequestLiveStatus),
1083 error: EnvironmentAuthorizationError,
1084 stream: true,
1085 },
1086);
1087
1088const WsMergebotSubscribeDeploymentsRpc = Rpc.make(WS_METHODS.mergebotSubscribeDeployments, {
1089 payload: MergebotQueueInput,
1090 success: Schema.NullOr(MergebotDeployments),
1091 error: EnvironmentAuthorizationError,
1092 stream: true,
1093});
1094
1095const WsMergebotDeployProductionRpc = Rpc.make(WS_METHODS.mergebotDeployProduction, {
1096 payload: MergebotDeployProductionInput,
1097 success: Schema.Void,
1098 error: MergebotRpcError,
1099});
1100
1101const JjRpcError = Schema.Union([JjError, EnvironmentAuthorizationError]);
1102
1103const WsJjSubscribeStackRpc = Rpc.make(WS_METHODS.jjSubscribeStack, {
1104 payload: JjStackInput,
1105 success: Schema.NullOr(JjStack),
1106 error: JjRpcError,
1107 stream: true,
1108});
1109
1110const WsJjSnapshotRpc = Rpc.make(WS_METHODS.jjSnapshot, {
1111 payload: JjStackInput,
1112 success: Schema.Void,
1113 error: JjRpcError,
1114});
1115
1116const WsJjDiffRpc = Rpc.make(WS_METHODS.jjDiff, {
1117 payload: JjDiffInput,
1118 success: JjDiffResult,
1119 error: JjRpcError,
1120});
1121
1122const WsJjDescribeRpc = Rpc.make(WS_METHODS.jjDescribe, {
1123 payload: JjDescribeInput,
1124 success: Schema.Struct({ commitId: Schema.String }),
1125 error: Schema.Union([JjError, JjDescriptionConflictError, EnvironmentAuthorizationError]),
1126});
1127
1128const WsJjSquashRpc = Rpc.make(WS_METHODS.jjSquash, {
1129 payload: JjChangeInput,
1130 success: Schema.Void,
1131 error: JjRpcError,
1132});
1133
1134const WsJjPushRpc = Rpc.make(WS_METHODS.jjPush, {
1135 payload: JjPushInput,
1136 success: JjPushResult,
1137 error: JjRpcError,
1138});
1139
1140const WsPullRequestsListRpc = Rpc.make(WS_METHODS.pullRequestsList, {
1141 payload: PullRequestListInput,
1142 success: PullRequestListResult,
1143 error: PullRequestRpcError,
1144});
1145
1146/**
1147 * The line counts for rows already on the page. Its own call because on GitHub the pair costs
1148 * 40-60% of the listing read that answers everything else on the row, so the rows arrive first
1149 * and their stats a moment later.
1150 */
1151const WsPullRequestsListStatsRpc = Rpc.make(WS_METHODS.pullRequestsListStats, {
1152 payload: PullRequestListStatsInput,
1153 success: PullRequestListStatsResult,
1154 error: PullRequestRpcError,
1155});
1156
1157const WsPullRequestsRoutingRpc = Rpc.make(WS_METHODS.pullRequestsRouting, {
1158 payload: PullRequestRef,
1159 success: PullRequestRoutingResult,
1160 error: PullRequestRpcError,
1161});
1162
1163const WsPullRequestsRoutingIdentityRpc = Rpc.make(WS_METHODS.pullRequestsRoutingIdentity, {
1164 payload: PullRequestRoutingIdentityInput,
1165 success: PullRequestRoutingIdentityResult,
1166 error: PullRequestRpcError,
1167});
1168
1169const WsPullRequestsSummaryRpc = Rpc.make(WS_METHODS.pullRequestsSummary, {
1170 payload: PullRequestRef,
1171 success: PullRequestSummary,
1172 error: PullRequestRpcError,
1173});
1174
1175const WsPullRequestsStackRpc = Rpc.make(WS_METHODS.pullRequestsStack, {
1176 payload: PullRequestRef,
1177 success: Schema.NullOr(PullRequestStack),
1178 error: PullRequestRpcError,
1179});
1180
1181const WsPullRequestsLinkedThreadsRpc = Rpc.make(WS_METHODS.pullRequestsLinkedThreads, {
1182 payload: PullRequestRef,
1183 success: PullRequestLinkedThreadsResult,
1184 error: PullRequestRpcError,
1185});
1186
1187const WsPullRequestsDetailRpc = Rpc.make(WS_METHODS.pullRequestsDetail, {
1188 payload: PullRequestRef,
1189 success: PullRequestDetail,
1190 error: PullRequestRpcError,
1191});
1192
1193const WsPullRequestsPreviewRpc = Rpc.make(WS_METHODS.pullRequestsPreview, {
1194 payload: PullRequestRef,
1195 success: PullRequestPreview,
1196 error: PullRequestRpcError,
1197});
1198
1199const WsPullRequestsChecksRpc = Rpc.make(WS_METHODS.pullRequestsChecks, {
1200 payload: PullRequestRef,
1201 success: Schema.NullOr(PullRequestChecks),
1202 error: PullRequestRpcError,
1203});
1204
1205const WsPullRequestsActivityRpc = Rpc.make(WS_METHODS.pullRequestsActivity, {
1206 payload: PullRequestRef,
1207 success: PullRequestActivity,
1208 error: PullRequestRpcError,
1209});
1210
1211const WsPullRequestsReviewGuideRpc = Rpc.make(WS_METHODS.pullRequestsReviewGuide, {
1212 payload: PullRequestRef,
1213 success: PullRequestReviewGuideResult,
1214 error: PullRequestRpcError,
1215});
1216
1217const WsPullRequestsGenerateReviewGuideRpc = Rpc.make(WS_METHODS.pullRequestsGenerateReviewGuide, {
1218 payload: PullRequestRef,
1219 success: PullRequestReviewGuideResult,
1220 error: PullRequestRpcError,
1221});
1222
1223const WsPullRequestsThreadCommentsRpc = Rpc.make(WS_METHODS.pullRequestsThreadComments, {
1224 payload: PullRequestThreadCommentsInput,
1225 success: PullRequestThreadCommentsResult,
1226 error: PullRequestRpcError,
1227});
1228
1229const WsPullRequestsDiffFileContentsRpc = Rpc.make(WS_METHODS.pullRequestsDiffFileContents, {
1230 payload: PullRequestDiffFileContentsInput,
1231 success: PullRequestDiffFileContentsResult,
1232 error: PullRequestRpcError,
1233});
1234
1235const WsPullRequestsFilesViewedRpc = Rpc.make(WS_METHODS.pullRequestsFilesViewed, {
1236 payload: PullRequestRef,
1237 success: PullRequestFilesViewedResult,
1238 error: PullRequestRpcError,
1239});
1240
1241const WsPullRequestsSetFilesViewedRpc = Rpc.make(WS_METHODS.pullRequestsSetFilesViewed, {
1242 payload: PullRequestSetFilesViewedInput,
1243 success: Schema.Void,
1244 error: PullRequestRpcError,
1245});
1246
1247const WsPullRequestsRunActionRpc = Rpc.make(WS_METHODS.pullRequestsRunAction, {
1248 payload: PullRequestActionInput,
1249 success: Schema.Void,
1250 error: PullRequestRpcError,
1251});
1252
1253const WsPullRequestsUpdateRpc = Rpc.make(WS_METHODS.pullRequestsUpdate, {
1254 payload: PullRequestUpdateInput,
1255 success: Schema.Void,
1256 error: PullRequestRpcError,
1257});
1258
1259const WsPullRequestsCommentRpc = Rpc.make(WS_METHODS.pullRequestsComment, {
1260 payload: PullRequestCommentInput,
1261 success: Schema.Void,
1262 error: PullRequestRpcError,
1263});
1264
1265const WsPullRequestsUpdateCommentRpc = Rpc.make(WS_METHODS.pullRequestsUpdateComment, {
1266 payload: PullRequestCommentUpdateInput,
1267 success: Schema.Void,
1268 error: PullRequestRpcError,
1269});
1270
1271const WsPullRequestsSubmitReviewRpc = Rpc.make(WS_METHODS.pullRequestsSubmitReview, {
1272 payload: PullRequestSubmitReviewInput,
1273 success: Schema.Void,
1274 error: PullRequestRpcError,
1275});
1276
1277const WsPullRequestsReplyToThreadRpc = Rpc.make(WS_METHODS.pullRequestsReplyToThread, {
1278 payload: PullRequestThreadReplyInput,
1279 success: Schema.Void,
1280 error: PullRequestRpcError,
1281});
1282
1283const WsPullRequestsSetThreadResolutionRpc = Rpc.make(WS_METHODS.pullRequestsSetThreadResolution, {
1284 payload: PullRequestThreadResolutionInput,
1285 success: Schema.Void,
1286 error: PullRequestRpcError,
1287});
1288
1289const WsPullRequestsSetReactionRpc = Rpc.make(WS_METHODS.pullRequestsSetReaction, {
1290 payload: PullRequestReactionInput,
1291 success: Schema.Void,
1292 error: PullRequestRpcError,
1293});
1294
1295const WsPullRequestsInvalidateRpc = Rpc.make(WS_METHODS.pullRequestsInvalidate, {
1296 payload: PullRequestInvalidateInput,
1297 success: Schema.Void,
1298 error: PullRequestRpcError,
1299});
1300
1301const WsPullRequestsReportStateRpc = Rpc.make(WS_METHODS.pullRequestsReportState, {
1302 payload: PullRequestReportStateInput,
1303 success: Schema.Void,
1304 error: PullRequestRpcError,
1305});
1306
1307const WsPullRequestsSubscribeRefreshesRpc = Rpc.make(WS_METHODS.pullRequestsSubscribeRefreshes, {
1308 payload: Schema.Struct({}),
1309 success: NonNegativeInt,
1310 error: EnvironmentAuthorizationError,
1311 stream: true,
1312});
1313
1314/**
1315 * Read on its own rather than as part of the detail: the people who may be asked are only wanted
1316 * once somebody opens the menu, and reading them with every change request would spend a request
1317 * per host on a list nobody looked at.
1318 */
1319const WsPullRequestsReviewerCandidatesRpc = Rpc.make(WS_METHODS.pullRequestsReviewerCandidates, {
1320 payload: PullRequestRef,
1321 success: PullRequestReviewerCandidateList,
1322 error: PullRequestRpcError,
1323});
1324
1325const WsPullRequestsRequestReviewersRpc = Rpc.make(WS_METHODS.pullRequestsRequestReviewers, {
1326 payload: PullRequestReviewerRequestInput,
1327 success: Schema.Void,
1328 error: PullRequestRpcError,
1329});
1330
1331/** Read when the label menu opens, for the same reason the reviewer candidates are. */
1332const WsPullRequestsLabelCandidatesRpc = Rpc.make(WS_METHODS.pullRequestsLabelCandidates, {
1333 payload: PullRequestRef,
1334 success: PullRequestLabelCandidateList,
1335 error: PullRequestRpcError,
1336});
1337
1338const WsPullRequestsSetLabelsRpc = Rpc.make(WS_METHODS.pullRequestsSetLabels, {
1339 payload: PullRequestLabelChangeInput,
1340 success: Schema.Void,
1341 error: PullRequestRpcError,
1342});
1343
1344const WsSourceControlLookupRepositoryRpc = Rpc.make(WS_METHODS.sourceControlLookupRepository, {
1345 payload: SourceControlRepositoryLookupInput,
1346 success: SourceControlRepositoryInfo,
1347 error: Schema.Union([SourceControlRepositoryError, EnvironmentAuthorizationError]),
1348});
1349
1350const WsSourceControlCloneRepositoryRpc = Rpc.make(WS_METHODS.sourceControlCloneRepository, {
1351 payload: SourceControlCloneRepositoryInput,
1352 success: SourceControlCloneRepositoryResult,
1353 error: Schema.Union([SourceControlRepositoryError, EnvironmentAuthorizationError]),
1354});
1355
1356// Clone-backed project creation. `start` returns once the project exists and
1357// the clone is running; progress arrives on the subscription.
1358const WsProjectCloneStartRpc = Rpc.make(WS_METHODS.projectCloneStart, {
1359 payload: ProjectCloneStartInput,
1360 success: ProjectCloneStartResult,
1361 error: Schema.Union([
1362 SourceControlRepositoryError,
1363 OrchestrationDispatchCommandError,
1364 EnvironmentAuthorizationError,
1365 ]),
1366});
1367
1368const WsProjectCloneCancelRpc = Rpc.make(WS_METHODS.projectCloneCancel, {
1369 payload: ProjectCloneActionInput,
1370 success: ProjectCloneActionResult,
1371 error: EnvironmentAuthorizationError,
1372});
1373
1374const WsProjectCloneRetryRpc = Rpc.make(WS_METHODS.projectCloneRetry, {
1375 payload: ProjectCloneActionInput,
1376 success: ProjectCloneActionResult,
1377 error: Schema.Union([SourceControlRepositoryError, EnvironmentAuthorizationError]),
1378});
1379
1380const WsSubscribeProjectClonesRpc = Rpc.make(WS_METHODS.subscribeProjectClones, {
1381 payload: ProjectCloneSubscribeInput,
1382 success: ProjectCloneListEvent,
1383 error: EnvironmentAuthorizationError,
1384 stream: true,
1385});
1386
1387const WsSourceControlPublishRepositoryRpc = Rpc.make(WS_METHODS.sourceControlPublishRepository, {
1388 payload: SourceControlPublishRepositoryInput,
1389 success: SourceControlPublishRepositoryResult,
1390 error: Schema.Union([SourceControlRepositoryError, EnvironmentAuthorizationError]),
1391});
1392
1393const WsProjectsSearchEntriesRpc = Rpc.make(WS_METHODS.projectsSearchEntries, {
1394 payload: ProjectSearchEntriesInput,
1395 success: ProjectSearchEntriesResult,
1396 error: Schema.Union([ProjectSearchEntriesError, EnvironmentAuthorizationError]),
1397});
1398
1399const WsProjectsSearchContentsRpc = Rpc.make(WS_METHODS.projectsSearchContents, {
1400 payload: ProjectSearchContentsInput,
1401 success: ProjectSearchContentsResult,
1402 error: Schema.Union([ProjectSearchContentsError, EnvironmentAuthorizationError]),
1403});
1404
1405const WsProjectsListEntriesRpc = Rpc.make(WS_METHODS.projectsListEntries, {
1406 payload: ProjectListEntriesInput,
1407 success: ProjectListEntriesResult,
1408 error: Schema.Union([ProjectListEntriesError, EnvironmentAuthorizationError]),
1409});
1410
1411const WsManagedWorkspacesArchiveCompletedRpc = Rpc.make(
1412 WS_METHODS.managedWorkspacesArchiveCompleted,
1413 {
1414 payload: ManagedWorkspaceArchiveInput,
1415 success: ManagedWorkspaceArchived,
1416 error: Schema.Union([ManagedWorkspaceError, EnvironmentAuthorizationError]),
1417 },
1418);
1419
1420const WsManagedWorkspacesStatusRpc = Rpc.make(WS_METHODS.managedWorkspacesStatus, {
1421 payload: Schema.Struct({}),
1422 success: ManagedWorkspaceStatus,
1423 error: EnvironmentAuthorizationError,
1424});
1425const WsManagedWorkspacesCreateRpc = Rpc.make(WS_METHODS.managedWorkspacesCreate, {
1426 payload: Schema.Struct({}),
1427 success: ManagedWorkspaceCreated,
1428 error: Schema.Union([ManagedWorkspaceError, EnvironmentAuthorizationError]),
1429});
1430
1431const WsDevServerStatusRpc = Rpc.make(WS_METHODS.devServerStatus, {
1432 payload: DevServerTarget,
1433 success: DevServerStatus,
1434 error: Schema.Union([DevServerError, EnvironmentAuthorizationError]),
1435});
1436const WsDevServerStartRpc = Rpc.make(WS_METHODS.devServerStart, {
1437 payload: DevServerTarget,
1438 success: DevServerStatus,
1439 error: Schema.Union([DevServerError, EnvironmentAuthorizationError]),
1440});
1441
1442const WsProjectsReadFileRpc = Rpc.make(WS_METHODS.projectsReadFile, {
1443 payload: ProjectReadFileInput,
1444 success: ProjectReadFileResult,
1445 error: Schema.Union([ProjectReadFileError, EnvironmentAuthorizationError]),
1446});
1447
1448const WsProjectsWatchRpc = Rpc.make(WS_METHODS.projectsWatch, {
1449 payload: ProjectWatchInput,
1450 success: Schema.Number,
1451 error: Schema.Union([ProjectReadFileError, EnvironmentAuthorizationError]),
1452 stream: true,
1453});
1454
1455const WsProjectsWriteFileRpc = Rpc.make(WS_METHODS.projectsWriteFile, {
1456 payload: ProjectWriteFileInput,
1457 success: ProjectWriteFileResult,
1458 error: Schema.Union([ProjectWriteFileError, EnvironmentAuthorizationError]),
1459});
1460
1461const WsProjectsMutateRpc = Rpc.make(WS_METHODS.projectsMutate, {
1462 payload: ProjectMutation,
1463 success: Project,
1464 error: Schema.Union([ProjectMutationError, EnvironmentAuthorizationError]),
1465});
1466
1467// Finds or creates the Scratch project rooted at ServerConfig.scratchWorkspaceRoot.
1468const WsProjectsEnsureScratchRpc = Rpc.make(WS_METHODS.projectsEnsureScratch, {
1469 payload: Schema.Struct({}),
1470 success: ProjectEnsureScratchResult,
1471 error: Schema.Union([OrchestrationDispatchCommandError, EnvironmentAuthorizationError]),
1472});
1473
1474// Makes a folder under ServerConfig.newProjectsRoot with a first commit, then the project.
1475const WsProjectsCreateNewRpc = Rpc.make(WS_METHODS.projectsCreateNew, {
1476 payload: ProjectCreateNewInput,
1477 success: ProjectCreateNewResult,
1478 error: Schema.Union([OrchestrationDispatchCommandError, EnvironmentAuthorizationError]),
1479});
1480
1481const WsShellOpenInEditorRpc = Rpc.make(WS_METHODS.shellOpenInEditor, {
1482 payload: LaunchEditorInput,
1483 error: Schema.Union([ExternalLauncherError, EnvironmentAuthorizationError]),
1484});
1485
1486const WsFilesystemGetMetadataRpc = Rpc.make(WS_METHODS.filesystemGetMetadata, {
1487 payload: FilesystemGetMetadataInput,
1488 success: FilesystemGetMetadataResult,
1489 error: EnvironmentAuthorizationError,
1490});
1491
1492const WsFilesystemBrowseRpc = Rpc.make(WS_METHODS.filesystemBrowse, {
1493 payload: FilesystemBrowseInput,
1494 success: FilesystemBrowseResult,
1495 error: Schema.Union([FilesystemBrowseError, EnvironmentAuthorizationError]),
1496});
1497
1498const WsAgentSessionsScanRpc = Rpc.make(WS_METHODS.agentSessionsScan, {
1499 payload: AgentSessionScanInput,
1500 success: AgentSessionScanResult,
1501 error: Schema.Union([AgentSessionScanError, EnvironmentAuthorizationError]),
1502});
1503
1504const WsAgentSessionsImportRpc = Rpc.make(WS_METHODS.agentSessionsImport, {
1505 payload: AgentSessionImportInput,
1506 success: AgentSessionImportResult,
1507 error: Schema.Union([
1508 AgentSessionImportProjectChangedError,
1509 AgentSessionImportProjectNotFoundError,
1510 AgentSessionScanError,
1511 EnvironmentAuthorizationError,
1512 ]),
1513});
1514
1515const WsAssetsCreateUrlRpc = Rpc.make(WS_METHODS.assetsCreateUrl, {
1516 payload: AssetCreateUrlInput,
1517 success: AssetCreateUrlResult,
1518 error: Schema.Union([AssetAccessError, EnvironmentAuthorizationError]),
1519});
1520
1521const WsAssetsPersistChatAttachmentsRpc = Rpc.make(WS_METHODS.assetsPersistChatAttachments, {
1522 payload: PersistChatAttachmentsInput,
1523 success: PersistChatAttachmentsResult,
1524 error: Schema.Union([PersistChatAttachmentsError, EnvironmentAuthorizationError]),
1525});
1526
1527const WsAttachmentsCreateUploadUrlRpc = Rpc.make(WS_METHODS.attachmentsCreateUploadUrl, {
1528 payload: AttachmentCreateUploadUrlInput,
1529 success: AttachmentCreateUploadUrlResult,
1530 error: Schema.Union([AttachmentUploadSigningKeyError, EnvironmentAuthorizationError]),
1531});
1532
1533const WsAttachmentsDeleteRpc = Rpc.make(WS_METHODS.attachmentsDelete, {
1534 payload: AttachmentDeleteInput,
1535 error: EnvironmentAuthorizationError,
1536});
1537
1538const WsMcpAppsCallToolRpc = Rpc.make(WS_METHODS.mcpAppsCallTool, {
1539 payload: McpAppCallToolInput,
1540 success: McpAppCallToolResult,
1541 error: Schema.Union([McpAppRequestError, EnvironmentAuthorizationError]),
1542});
1543
1544const WsMcpAppsToolInfoRpc = Rpc.make(WS_METHODS.mcpAppsToolInfo, {
1545 payload: McpAppToolInfoInput,
1546 success: McpAppToolInfo,
1547 error: Schema.Union([McpAppRequestError, EnvironmentAuthorizationError]),
1548});
1549
1550const WsMcpAppsUpdateModelContextRpc = Rpc.make(WS_METHODS.mcpAppsUpdateModelContext, {
1551 payload: McpAppUpdateModelContextInput,
1552 error: Schema.Union([McpAppRequestError, EnvironmentAuthorizationError]),
1553});
1554
1555const WsMcpAppsReadResourceRpc = Rpc.make(WS_METHODS.mcpAppsReadResource, {
1556 payload: McpAppReadResourceInput,
1557 success: McpAppReadResourceResult,
1558 error: Schema.Union([McpAppRequestError, EnvironmentAuthorizationError]),
1559});
1560
1561const WsProviderUploadFeedbackRpc = Rpc.make(WS_METHODS.providerUploadFeedback, {
1562 payload: ProviderUploadFeedbackInput,
1563 success: ProviderUploadFeedbackResult,
1564 error: Schema.Union([ProviderUploadFeedbackError, EnvironmentAuthorizationError]),
1565});
1566
1567const WsSubscribeVcsStatusRpc = Rpc.make(WS_METHODS.subscribeVcsStatus, {
1568 payload: VcsStatusSubscriptionInput,
1569 success: VcsStatusStreamEvent,
1570 error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),
1571 stream: true,
1572});
1573
1574const WsVcsPullRpc = Rpc.make(WS_METHODS.vcsPull, {
1575 payload: VcsPullInput,
1576 success: VcsPullResult,
1577 error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),
1578});
1579
1580const WsVcsRefreshStatusRpc = Rpc.make(WS_METHODS.vcsRefreshStatus, {
1581 payload: VcsStatusInput,
1582 success: VcsStatusResult,
1583 error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),
1584});
1585
1586const WsSubscribeWorktreeSetupRpc = Rpc.make(WS_METHODS.subscribeWorktreeSetup, {
1587 payload: WorktreeSetupSubscribeInput,
1588 success: WorktreeSetupStreamEvent,
1589 error: EnvironmentAuthorizationError,
1590 stream: true,
1591});
1592
1593const WsWorktreeSetupCancelRpc = Rpc.make(WS_METHODS.worktreeSetupCancel, {
1594 payload: WorktreeSetupCancelInput,
1595 success: WorktreeSetupCancelResult,
1596 error: EnvironmentAuthorizationError,
1597});
1598
1599const WsGitRunStackedActionRpc = Rpc.make(WS_METHODS.gitRunStackedAction, {
1600 payload: GitRunStackedActionInput,
1601 success: GitActionProgressEvent,
1602 error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),
1603 stream: true,
1604});
1605
1606const WsGitResolvePullRequestRpc = Rpc.make(WS_METHODS.gitResolvePullRequest, {
1607 payload: GitPullRequestRefInput,
1608 success: GitResolvePullRequestResult,
1609 error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),
1610});
1611
1612const WsGitPreparePullRequestThreadRpc = Rpc.make(WS_METHODS.gitPreparePullRequestThread, {
1613 payload: GitPreparePullRequestThreadInput,
1614 success: GitPreparePullRequestThreadResult,
1615 error: Schema.Union([GitManagerServiceError, EnvironmentAuthorizationError]),
1616});
1617
1618const WsVcsListRefsRpc = Rpc.make(WS_METHODS.vcsListRefs, {
1619 payload: VcsListRefsInput,
1620 success: VcsListRefsResult,
1621 error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),
1622});
1623
1624const WsVcsCreateWorktreeRpc = Rpc.make(WS_METHODS.vcsCreateWorktree, {
1625 payload: VcsCreateWorktreeInput,
1626 success: VcsCreateWorktreeResult,
1627 error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),
1628});
1629
1630const WsVcsRemoveWorktreeRpc = Rpc.make(WS_METHODS.vcsRemoveWorktree, {
1631 payload: VcsRemoveWorktreeInput,
1632 error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),
1633});
1634
1635const WsVcsCreateRefRpc = Rpc.make(WS_METHODS.vcsCreateRef, {
1636 payload: VcsCreateRefInput,
1637 success: VcsCreateRefResult,
1638 error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),
1639});
1640
1641const WsVcsSwitchRefRpc = Rpc.make(WS_METHODS.vcsSwitchRef, {
1642 payload: VcsSwitchRefInput,
1643 success: VcsSwitchRefResult,
1644 error: Schema.Union([GitCommandError, EnvironmentAuthorizationError]),
1645});
1646
1647const WsVcsInitRpc = Rpc.make(WS_METHODS.vcsInit, {
1648 payload: VcsInitInput,
1649 error: Schema.Union([VcsError, EnvironmentAuthorizationError]),
1650});
1651
1652/**
1653 * Ephemeral live diff preview for compact/mobile surfaces.
1654 * Not the persisted T3 Review model. Future review sessions should use
1655 * review.open* + review.getSnapshot.
1656 */
1657const WsReviewGetDiffPreviewRpc = Rpc.make(WS_METHODS.reviewGetDiffPreview, {
1658 payload: ReviewDiffPreviewInput,
1659 success: ReviewDiffPreviewResult,
1660 error: Schema.Union([ReviewDiffPreviewError, EnvironmentAuthorizationError]),
1661});
1662
1663const WsReviewGetDiffFileContentsRpc = Rpc.make(WS_METHODS.reviewGetDiffFileContents, {
1664 payload: ReviewDiffFileContentsInput,
1665 success: ReviewDiffFileContentsResult,
1666 error: Schema.Union([ReviewDiffPreviewError, EnvironmentAuthorizationError]),
1667});
1668
1669const WsTerminalOpenRpc = Rpc.make(WS_METHODS.terminalOpen, {
1670 payload: TerminalOpenInput,
1671 success: TerminalSessionSnapshot,
1672 error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),
1673});
1674
1675const WsTerminalAttachRpc = Rpc.make(WS_METHODS.terminalAttach, {
1676 payload: TerminalAttachInput,
1677 success: TerminalAttachStreamEvent,
1678 error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),
1679 stream: true,
1680});
1681
1682const WsTerminalObserveRpc = Rpc.make(WS_METHODS.terminalObserve, {
1683 payload: TerminalObserveInput,
1684 success: TerminalAttachStreamEvent,
1685 error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),
1686 stream: true,
1687});
1688
1689const WsTerminalWriteRpc = Rpc.make(WS_METHODS.terminalWrite, {
1690 payload: TerminalWriteInput,
1691 error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),
1692});
1693
1694const WsTerminalResizeRpc = Rpc.make(WS_METHODS.terminalResize, {
1695 payload: TerminalResizeInput,
1696 error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),
1697});
1698
1699const WsTerminalClearRpc = Rpc.make(WS_METHODS.terminalClear, {
1700 payload: TerminalClearInput,
1701 error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),
1702});
1703
1704const WsTerminalRestartRpc = Rpc.make(WS_METHODS.terminalRestart, {
1705 payload: TerminalRestartInput,
1706 success: TerminalSessionSnapshot,
1707 error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),
1708});
1709
1710const WsTerminalCloseRpc = Rpc.make(WS_METHODS.terminalClose, {
1711 payload: TerminalCloseInput,
1712 error: Schema.Union([TerminalError, EnvironmentAuthorizationError]),
1713});
1714
1715const WsPreviewOpenRpc = Rpc.make(WS_METHODS.previewOpen, {
1716 payload: PreviewOpenInput,
1717 success: PreviewSessionSnapshot,
1718 error: Schema.Union([PreviewError, EnvironmentAuthorizationError]),
1719});
1720
1721const WsPreviewNavigateRpc = Rpc.make(WS_METHODS.previewNavigate, {
1722 payload: PreviewNavigateInput,
1723 success: PreviewSessionSnapshot,
1724 error: Schema.Union([PreviewError, EnvironmentAuthorizationError]),
1725});
1726
1727const WsPreviewResizeRpc = Rpc.make(WS_METHODS.previewResize, {
1728 payload: PreviewResizeInput,
1729 success: PreviewSessionSnapshot,
1730 error: Schema.Union([PreviewError, EnvironmentAuthorizationError]),
1731});
1732
1733const WsPreviewAdjustRpc = Rpc.make(WS_METHODS.previewAdjust, {
1734 payload: PreviewAdjustInput,
1735 success: PreviewSessionSnapshot,
1736 error: Schema.Union([PreviewError, EnvironmentAuthorizationError]),
1737});
1738
1739const WsPreviewRefreshRpc = Rpc.make(WS_METHODS.previewRefresh, {
1740 payload: PreviewRefreshInput,
1741 error: Schema.Union([PreviewError, EnvironmentAuthorizationError]),
1742});
1743
1744const WsPreviewCloseRpc = Rpc.make(WS_METHODS.previewClose, {
1745 payload: PreviewCloseInput,
1746 error: Schema.Union([PreviewError, EnvironmentAuthorizationError]),
1747});
1748
1749const WsPreviewListRpc = Rpc.make(WS_METHODS.previewList, {
1750 payload: PreviewListInput,
1751 success: PreviewListResult,
1752 error: EnvironmentAuthorizationError,
1753});
1754
1755const WsPreviewClearProfileRpc = Rpc.make(WS_METHODS.previewClearProfile, {
1756 payload: PreviewClearProfileInput,
1757 error: Schema.Union([PreviewClearProfileError, EnvironmentAuthorizationError]),
1758});
1759
1760const WsPreviewReportProfilesRpc = Rpc.make(WS_METHODS.previewReportProfiles, {
1761 payload: PreviewReportProfilesInput,
1762 error: EnvironmentAuthorizationError,
1763});
1764
1765const WsPreviewReportStatusRpc = Rpc.make(WS_METHODS.previewReportStatus, {
1766 payload: PreviewReportStatusInput,
1767 error: Schema.Union([PreviewError, EnvironmentAuthorizationError]),
1768});
1769
1770const WsSubscribePreviewEventsRpc = Rpc.make(WS_METHODS.subscribePreviewEvents, {
1771 payload: Schema.Struct({}),
1772 success: PreviewEvent,
1773 error: EnvironmentAuthorizationError,
1774 stream: true,
1775});
1776
1777const WsSubscribeDiscoveredLocalServersRpc = Rpc.make(WS_METHODS.subscribeDiscoveredLocalServers, {
1778 payload: Schema.Struct({
1779 configuredUrls: Schema.optional(ConfiguredLocalServerUrls),
1780 }),
1781 success: DiscoveredLocalServerList,
1782 error: EnvironmentAuthorizationError,
1783 stream: true,
1784});
1785
1786const WsDeviceTestHostRpc = Rpc.make(WS_METHODS.deviceTestHost, {
1787 payload: SshDeviceHostConfig,
1788 success: DeviceHostSummary,
1789 error: Schema.Union([DeviceError, EnvironmentAuthorizationError]),
1790});
1791
1792const WsDeviceListRpc = Rpc.make(WS_METHODS.deviceList, {
1793 payload: DeviceListInput,
1794 success: DeviceServiceState,
1795 error: Schema.Union([DeviceError, EnvironmentAuthorizationError]),
1796});
1797
1798const WsDeviceConfigureRpc = Rpc.make(WS_METHODS.deviceConfigure, {
1799 payload: DeviceConfigureInput,
1800 success: DeviceServiceState,
1801 error: Schema.Union([DeviceError, EnvironmentAuthorizationError]),
1802});
1803
1804const WsDeviceOpenRpc = Rpc.make(WS_METHODS.deviceOpen, {
1805 payload: DeviceOpenInput,
1806 success: DeviceSession,
1807 error: Schema.Union([DeviceError, EnvironmentAuthorizationError]),
1808});
1809
1810const WsDeviceCloseRpc = Rpc.make(WS_METHODS.deviceClose, {
1811 payload: DeviceCloseInput,
1812 error: Schema.Union([DeviceError, EnvironmentAuthorizationError]),
1813});
1814
1815const WsDeviceShutdownRpc = Rpc.make(WS_METHODS.deviceShutdown, {
1816 payload: DeviceShutdownInput,
1817 error: Schema.Union([DeviceError, EnvironmentAuthorizationError]),
1818});
1819
1820const WsDeviceDetailRpc = Rpc.make(WS_METHODS.deviceDetail, {
1821 payload: DeviceDetailInput,
1822 success: DeviceDetail,
1823 error: Schema.Union([DeviceError, EnvironmentAuthorizationError]),
1824});
1825
1826const WsDeviceActionRpc = Rpc.make(WS_METHODS.deviceAction, {
1827 payload: DeviceActionInput,
1828 success: DeviceDetail,
1829 error: Schema.Union([DeviceError, EnvironmentAuthorizationError]),
1830});
1831
1832const WsSubscribeDeviceStateRpc = Rpc.make(WS_METHODS.subscribeDeviceState, {
1833 payload: Schema.Struct({}),
1834 success: DeviceServiceState,
1835 error: EnvironmentAuthorizationError,
1836 stream: true,
1837});
1838
1839const WsOrchestrationV2DispatchCommandRpc = Rpc.make(ORCHESTRATION_V2_WS_METHODS.dispatchCommand, {
1840 payload: OrchestrationV2RpcSchemas.dispatchCommand.input,
1841 success: OrchestrationV2RpcSchemas.dispatchCommand.output,
1842 error: Schema.Union([OrchestrationV2DispatchCommandError, EnvironmentAuthorizationError]),
1843});
1844
1845const WsOrchestrationV2GetTurnDiffRpc = Rpc.make(ORCHESTRATION_V2_WS_METHODS.getTurnDiff, {
1846 payload: OrchestrationV2RpcSchemas.getTurnDiff.input,
1847 success: OrchestrationV2RpcSchemas.getTurnDiff.output,
1848 error: Schema.Union([OrchestrationGetTurnDiffError, EnvironmentAuthorizationError]),
1849});
1850
1851const WsOrchestrationV2GetFullThreadDiffRpc = Rpc.make(
1852 ORCHESTRATION_V2_WS_METHODS.getFullThreadDiff,
1853 {
1854 payload: OrchestrationV2RpcSchemas.getFullThreadDiff.input,
1855 success: OrchestrationV2RpcSchemas.getFullThreadDiff.output,
1856 error: Schema.Union([OrchestrationGetFullThreadDiffError, EnvironmentAuthorizationError]),
1857 },
1858);
1859
1860const WsOrchestrationV2SearchThreadRpc = Rpc.make(ORCHESTRATION_V2_WS_METHODS.searchThread, {
1861 payload: OrchestrationV2SearchThreadInput,
1862 success: OrchestrationV2SearchThreadResult,
1863 error: Schema.Union([OrchestrationV2SearchThreadError, EnvironmentAuthorizationError]),
1864});
1865
1866const WsOrchestrationV2SearchThreadStreamRpc = Rpc.make(
1867 ORCHESTRATION_V2_WS_METHODS.searchThreadStream,
1868 {
1869 payload: OrchestrationV2SearchThreadInput,
1870 success: OrchestrationV2SearchThreadResult,
1871 error: Schema.Union([OrchestrationV2SearchThreadError, EnvironmentAuthorizationError]),
1872 stream: true,
1873 },
1874);
1875
1876const WsOrchestrationV2SearchThreadsRpc = Rpc.make(ORCHESTRATION_V2_WS_METHODS.searchThreads, {
1877 payload: OrchestrationSearchThreadsInput,
1878 success: OrchestrationSearchThreadsResult,
1879 error: Schema.Union([OrchestrationSearchThreadsError, EnvironmentAuthorizationError]),
1880});
1881
1882const WsOrchestrationV2GetArchivedShellSnapshotRpc = Rpc.make(
1883 ORCHESTRATION_V2_WS_METHODS.getArchivedShellSnapshot,
1884 {
1885 payload: OrchestrationV2RpcSchemas.getArchivedShellSnapshot.input,
1886 success: OrchestrationV2RpcSchemas.getArchivedShellSnapshot.output,
1887 error: Schema.Union([OrchestrationV2GetShellSnapshotError, EnvironmentAuthorizationError]),
1888 },
1889);
1890
1891const WsOrchestrationV2GetThreadProjectionRpc = Rpc.make(
1892 ORCHESTRATION_V2_WS_METHODS.getThreadProjection,
1893 {
1894 payload: OrchestrationV2RpcSchemas.getThreadProjection.input,
1895 success: OrchestrationV2RpcSchemas.getThreadProjection.output,
1896 error: Schema.Union([OrchestrationV2GetThreadProjectionError, EnvironmentAuthorizationError]),
1897 },
1898);
1899
1900const WsOrchestrationV2StopWorkflowRpc = Rpc.make(ORCHESTRATION_V2_WS_METHODS.stopWorkflow, {
1901 payload: OrchestrationV2RpcSchemas.stopWorkflow.input,
1902 success: OrchestrationV2RpcSchemas.stopWorkflow.output,
1903 error: Schema.Union([OrchestrationV2StopWorkflowError, EnvironmentAuthorizationError]),
1904});
1905
1906const WsOrchestrationV2GetWorkflowScriptRpc = Rpc.make(
1907 ORCHESTRATION_V2_WS_METHODS.getWorkflowScript,
1908 {
1909 payload: OrchestrationV2RpcSchemas.getWorkflowScript.input,
1910 success: OrchestrationV2RpcSchemas.getWorkflowScript.output,
1911 error: Schema.Union([OrchestrationGetWorkflowScriptError, EnvironmentAuthorizationError]),
1912 },
1913);
1914
1915const WsOrchestrationV2GetTurnItemRpc = Rpc.make(ORCHESTRATION_V2_WS_METHODS.getTurnItem, {
1916 payload: OrchestrationV2RpcSchemas.getTurnItem.input,
1917 success: OrchestrationV2RpcSchemas.getTurnItem.output,
1918 error: Schema.Union([OrchestrationV2GetThreadProjectionError, EnvironmentAuthorizationError]),
1919});
1920
1921const WsOrchestrationV2LaunchThreadRpc = Rpc.make(ORCHESTRATION_V2_WS_METHODS.launchThread, {
1922 payload: OrchestrationV2RpcSchemas.launchThread.input,
1923 success: OrchestrationV2RpcSchemas.launchThread.output,
1924 error: Schema.Union([OrchestrationV2ThreadLaunchError, EnvironmentAuthorizationError]),
1925});
1926
1927const WsOrchestrationV2SubscribeArchivedShellRpc = Rpc.make(
1928 ORCHESTRATION_V2_WS_METHODS.subscribeArchivedShell,
1929 {
1930 payload: OrchestrationV2RpcSchemas.subscribeArchivedShell.input,
1931 success: OrchestrationV2RpcSchemas.subscribeArchivedShell.output,
1932 error: Schema.Union([OrchestrationV2GetShellSnapshotError, EnvironmentAuthorizationError]),
1933 stream: true,
1934 },
1935);
1936
1937const WsOrchestrationV2SubscribeShellRpc = Rpc.make(ORCHESTRATION_V2_WS_METHODS.subscribeShell, {
1938 payload: OrchestrationV2RpcSchemas.subscribeShell.input,
1939 success: OrchestrationV2RpcSchemas.subscribeShell.output,
1940 error: Schema.Union([OrchestrationV2GetShellSnapshotError, EnvironmentAuthorizationError]),
1941 stream: true,
1942});
1943
1944const WsOrchestrationV2SubscribeThreadRpc = Rpc.make(ORCHESTRATION_V2_WS_METHODS.subscribeThread, {
1945 payload: OrchestrationV2RpcSchemas.subscribeThread.input,
1946 success: OrchestrationV2RpcSchemas.subscribeThread.output,
1947 error: Schema.Union([OrchestrationV2GetThreadProjectionError, EnvironmentAuthorizationError]),
1948 stream: true,
1949});
1950
1951const WsSubscribeTerminalEventsRpc = Rpc.make(WS_METHODS.subscribeTerminalEvents, {
1952 payload: Schema.Struct({}),
1953 success: TerminalEvent,
1954 error: EnvironmentAuthorizationError,
1955 stream: true,
1956});
1957
1958const WsSubscribeScriptProgressRpc = Rpc.make(WS_METHODS.subscribeScriptProgress, {
1959 payload: ScriptProgressSubscribeInput,
1960 success: ScriptProgressEvent,
1961 error: Schema.Union([ScriptProgressStreamError, EnvironmentAuthorizationError]),
1962 stream: true,
1963});
1964
1965const WsSubscribeTerminalMetadataRpc = Rpc.make(WS_METHODS.subscribeTerminalMetadata, {
1966 payload: Schema.Struct({}),
1967 success: TerminalMetadataStreamEvent,
1968 error: EnvironmentAuthorizationError,
1969 stream: true,
1970});
1971
1972export const WsSubscribeServerConfigRpc = Rpc.make(WS_METHODS.subscribeServerConfig, {
1973 payload: Schema.Struct({
1974 /**
1975 * Whether this client understands `environmentThemesUpdated` events.
1976 * Already-shipped clients decode the stream against the old event union
1977 * and would die on an unknown member, so the server emits the theme
1978 * stream only to subscribers that ask for it. Absent on old clients;
1979 * dropped by old servers.
1980 */
1981 environmentThemes: Schema.optional(Schema.Boolean),
1982 /** Whether this client understands `usageLimitSourcesUpdated` events. */
1983 usageLimitSources: Schema.optional(Schema.Boolean),
1984 /**
1985 * Whether this client answers `/usage-limits` itself. The server injects
1986 * that command into provider catalogs only for such clients; an older
1987 * client would send it to the provider as an ordinary prompt.
1988 */
1989 usageLimitsCommand: Schema.optional(Schema.Boolean),
1990 }),
1991 success: ServerConfigStreamEvent,
1992 error: Schema.Union([KeybindingsConfigError, ServerSettingsError, EnvironmentAuthorizationError]),
1993 stream: true,
1994});
1995
1996const WsSubscribeServerLifecycleRpc = Rpc.make(WS_METHODS.subscribeServerLifecycle, {
1997 payload: Schema.Struct({}),
1998 success: ServerLifecycleStreamEvent,
1999 error: EnvironmentAuthorizationError,
2000 stream: true,
2001});
2002
2003const WsScheduledTasksListRpc = Rpc.make(WS_METHODS.scheduledTasksList, {
2004 payload: ScheduledTaskListInput,
2005 success: ScheduledTaskListResult,
2006 error: Schema.Union([ScheduledTaskError, EnvironmentAuthorizationError]),
2007});
2008
2009/** Streams the full scheduled-task list: one snapshot on subscribe, then a fresh list after every change. */
2010const WsScheduledTasksSubscribeRpc = Rpc.make(WS_METHODS.scheduledTasksSubscribe, {
2011 payload: ScheduledTaskListInput,
2012 success: ScheduledTaskListResult,
2013 error: Schema.Union([ScheduledTaskError, EnvironmentAuthorizationError]),
2014 stream: true,
2015});
2016
2017const WsScheduledTasksUpsertRpc = Rpc.make(WS_METHODS.scheduledTasksUpsert, {
2018 payload: ScheduledTaskUpsertInput,
2019 success: ScheduledTaskMutationResult,
2020 error: Schema.Union([ScheduledTaskError, EnvironmentAuthorizationError]),
2021});
2022
2023const WsScheduledTasksSetEnabledRpc = Rpc.make(WS_METHODS.scheduledTasksSetEnabled, {
2024 payload: ScheduledTaskSetEnabledInput,
2025 success: ScheduledTaskMutationResult,
2026 error: Schema.Union([ScheduledTaskError, EnvironmentAuthorizationError]),
2027});
2028
2029const WsScheduledTasksDeleteRpc = Rpc.make(WS_METHODS.scheduledTasksDelete, {
2030 payload: ScheduledTaskDeleteInput,
2031 success: ScheduledTaskDeleteResult,
2032 error: Schema.Union([ScheduledTaskError, EnvironmentAuthorizationError]),
2033});
2034
2035const WsScheduledTasksRunNowRpc = Rpc.make(WS_METHODS.scheduledTasksRunNow, {
2036 payload: ScheduledTaskRunNowInput,
2037 success: ScheduledTaskRunNowResult,
2038 error: Schema.Union([ScheduledTaskError, EnvironmentAuthorizationError]),
2039});
2040
2041const WsScheduledTasksRotateWebhookTokenRpc = Rpc.make(
2042 WS_METHODS.scheduledTasksRotateWebhookToken,
2043 {
2044 payload: ScheduledTaskRotateWebhookTokenInput,
2045 success: ScheduledTaskMutationResult,
2046 error: Schema.Union([ScheduledTaskError, EnvironmentAuthorizationError]),
2047 },
2048);
2049
2050const WsSecretsAnswerRequestRpc = Rpc.make(WS_METHODS.secretsAnswerRequest, {
2051 payload: SecretRequestAnswerInput,
2052 error: Schema.Union([SecretRequestError, EnvironmentAuthorizationError]),
2053});
2054
2055const WsScheduledTasksListWebhookDeliveriesRpc = Rpc.make(
2056 WS_METHODS.scheduledTasksListWebhookDeliveries,
2057 {
2058 payload: ScheduledTaskListWebhookDeliveriesInput,
2059 success: ScheduledTaskListWebhookDeliveriesResult,
2060 error: Schema.Union([ScheduledTaskError, EnvironmentAuthorizationError]),
2061 },
2062);
2063
2064const WsScheduledTasksGetWebhookDeliveryRpc = Rpc.make(
2065 WS_METHODS.scheduledTasksGetWebhookDelivery,
2066 {
2067 payload: ScheduledTaskGetWebhookDeliveryInput,
2068 success: ScheduledTaskGetWebhookDeliveryResult,
2069 error: Schema.Union([ScheduledTaskError, EnvironmentAuthorizationError]),
2070 },
2071);
2072
2073const WsSubscribeAuthAccessRpc = Rpc.make(WS_METHODS.subscribeAuthAccess, {
2074 payload: Schema.Struct({}),
2075 success: AuthAccessStreamEvent,
2076 error: Schema.Union([AuthAccessStreamError, EnvironmentAuthorizationError]),
2077 stream: true,
2078});
2079
2080const WsSubscribeBackgroundPolicyRpc = Rpc.make(WS_METHODS.subscribeBackgroundPolicy, {
2081 payload: Schema.Struct({}),
2082 success: BackgroundPolicySnapshot,
2083 error: EnvironmentAuthorizationError,
2084 stream: true,
2085});
2086
2087const WsSubscribeResourceTelemetryRpc = Rpc.make(WS_METHODS.subscribeResourceTelemetry, {
2088 payload: Schema.Struct({}),
2089 success: ResourceTelemetrySnapshot,
2090 error: EnvironmentAuthorizationError,
2091 stream: true,
2092});
2093
2094/**
2095 * Checks the connection's scopes against the scope each RPC declares, before
2096 * the handler runs. Every RPC in `WsRpcGroup` carries it, so a handler cannot
2097 * be added without authorization.
2098 */
2099export class RpcScopeAuthorization extends RpcMiddleware.Service<RpcScopeAuthorization>()(
2100 "t3/contracts/RpcScopeAuthorization",
2101 { error: EnvironmentAuthorizationError },
2102) {}
2103
2104export const TerminalRpcGroup = RpcGroup.make(
2105 WsTerminalOpenRpc,
2106 WsTerminalAttachRpc,
2107 WsTerminalObserveRpc,
2108 WsTerminalWriteRpc,
2109 WsTerminalResizeRpc,
2110 WsTerminalClearRpc,
2111 WsTerminalRestartRpc,
2112 WsTerminalCloseRpc,
2113 WsSubscribeTerminalEventsRpc,
2114).middleware(RpcScopeAuthorization);
2115
2116export const WsRpcGroup = RpcGroup.make(
2117 WsServerProbeRpc,
2118 WsServerGetConfigRpc,
2119 WsServerRefreshProvidersRpc,
2120 WsServerUpdateProviderRpc,
2121 WsProviderConsumeResetCreditRpc,
2122 WsProviderAuthStartRpc,
2123 WsProviderAuthCompleteRpc,
2124 WsChatGptReconnectProfileRpc,
2125 WsChatGptImportProfileRpc,
2126 WsChatGptHandoffSubscribeRpc,
2127 WsCodexAuthCallbackSubscribeRpc,
2128 WsProviderAuthRespondRpc,
2129 WsProviderAuthCancelRpc,
2130 WsProviderAuthLogoutRpc,
2131 WsProviderAuthSubscribeRpc,
2132 WsProviderInstallStartRpc,
2133 WsProviderInstallCancelRpc,
2134 WsProviderInstallSubscribeRpc,
2135 WsProviderInstallRemoveRpc,
2136 WsServerUpdateServerRpc,
2137 WsServerUpdateServerWithProgressRpc,
2138 WsServerCommitDesktopUpdateRpc,
2139 WsServerUpsertKeybindingRpc,
2140 WsServerRemoveKeybindingRpc,
2141 WsServerRunStorageCleanupRpc,
2142 WsServerGetStorageCleanupReportRpc,
2143 WsUiSettingsGetRpc,
2144 WsUiSettingsPatchRpc,
2145 WsUiSettingsSubscribeRpc,
2146 WsServerGetSettingsRpc,
2147 WsServerUpdateSettingsRpc,
2148 WsServerDiscoverSourceControlRpc,
2149 WsServerSearchAcpRegistryRpc,
2150 WsServerPrepareAcpRegistryAgentRpc,
2151 WsServerUninstallAcpRegistryManagedBinaryRpc,
2152 WsServerAcceptAcpRegistryUrlAuthRpc,
2153 WsServerListAcpRegistrySessionsRpc,
2154 WsServerImportAcpRegistrySessionRpc,
2155 WsServerDeleteAcpRegistrySessionRpc,
2156 WsServerListAcpRegistryProvidersRpc,
2157 WsServerSetAcpRegistryProviderRpc,
2158 WsServerDisableAcpRegistryProviderRpc,
2159 WsServerLogoutAcpRegistryRpc,
2160 WsServerGetTraceDiagnosticsRpc,
2161 WsServerGetProcessDiagnosticsRpc,
2162 WsServerGetHostResourcesRpc,
2163 WsServerGetProcessResourceHistoryRpc,
2164 WsServerGetResourceTelemetryHistoryRpc,
2165 WsServerRetryResourceTelemetryRpc,
2166 WsServerCheckOtlpEndpointRpc,
2167 WsServerGetUsageSummaryRpc,
2168 WsServerRefreshUsageRatesRpc,
2169 WsServerSignalProcessRpc,
2170 WsScheduledTasksListRpc,
2171 WsScheduledTasksSubscribeRpc,
2172 WsScheduledTasksUpsertRpc,
2173 WsScheduledTasksSetEnabledRpc,
2174 WsScheduledTasksDeleteRpc,
2175 WsScheduledTasksRunNowRpc,
2176 WsScheduledTasksRotateWebhookTokenRpc,
2177 WsSecretsAnswerRequestRpc,
2178 WsScheduledTasksListWebhookDeliveriesRpc,
2179 WsScheduledTasksGetWebhookDeliveryRpc,
2180 WsServerReportClientActivityRpc,
2181 WsServerReportHostPowerStateRpc,
2182 WsServerGetBackgroundPolicyRpc,
2183 WsCloudGetRelayClientStatusRpc,
2184 WsCloudInstallRelayClientRpc,
2185 WsMergebotQueueRpc,
2186 WsMergebotSubscribeRpc,
2187 WsMergebotOpenPullRequestRpc,
2188 WsMergebotSetAutoMergeRpc,
2189 WsMergebotUpdatePullRequestRpc,
2190 WsMergebotSubscribePullRequestStatusRpc,
2191 WsMergebotSubscribeDeploymentsRpc,
2192 WsMergebotDeployProductionRpc,
2193 WsJjSubscribeStackRpc,
2194 WsJjSnapshotRpc,
2195 WsJjDiffRpc,
2196 WsJjDescribeRpc,
2197 WsJjSquashRpc,
2198 WsJjPushRpc,
2199 WsPullRequestsListRpc,
2200 WsPullRequestsListStatsRpc,
2201 WsPullRequestsSummaryRpc,
2202 WsPullRequestsRoutingRpc,
2203 WsPullRequestsRoutingIdentityRpc,
2204 WsPullRequestsStackRpc,
2205 WsPullRequestsLinkedThreadsRpc,
2206 WsPullRequestsDetailRpc,
2207 WsPullRequestsPreviewRpc,
2208 WsPullRequestsChecksRpc,
2209 WsPullRequestsActivityRpc,
2210 WsPullRequestsReviewGuideRpc,
2211 WsPullRequestsGenerateReviewGuideRpc,
2212 WsPullRequestsThreadCommentsRpc,
2213 WsPullRequestsDiffFileContentsRpc,
2214 WsPullRequestsFilesViewedRpc,
2215 WsPullRequestsSetFilesViewedRpc,
2216 WsPullRequestsRunActionRpc,
2217 WsPullRequestsUpdateRpc,
2218 WsPullRequestsCommentRpc,
2219 WsPullRequestsUpdateCommentRpc,
2220 WsPullRequestsSubmitReviewRpc,
2221 WsPullRequestsReplyToThreadRpc,
2222 WsPullRequestsSetThreadResolutionRpc,
2223 WsPullRequestsSetReactionRpc,
2224 WsPullRequestsInvalidateRpc,
2225 WsPullRequestsReportStateRpc,
2226 WsPullRequestsSubscribeRefreshesRpc,
2227 WsPullRequestsReviewerCandidatesRpc,
2228 WsPullRequestsRequestReviewersRpc,
2229 WsPullRequestsLabelCandidatesRpc,
2230 WsPullRequestsSetLabelsRpc,
2231 WsSourceControlLookupRepositoryRpc,
2232 WsSourceControlCloneRepositoryRpc,
2233 WsSourceControlPublishRepositoryRpc,
2234 WsProjectCloneStartRpc,
2235 WsProjectCloneCancelRpc,
2236 WsProjectCloneRetryRpc,
2237 WsSubscribeProjectClonesRpc,
2238 WsProjectsListEntriesRpc,
2239 WsProjectsReadFileRpc,
2240 WsProjectsWatchRpc,
2241 WsDevServerStatusRpc,
2242 WsManagedWorkspacesStatusRpc,
2243 WsManagedWorkspacesCreateRpc,
2244 WsManagedWorkspacesArchiveCompletedRpc,
2245 WsDevServerStartRpc,
2246 WsProjectsSearchContentsRpc,
2247 WsProjectsSearchEntriesRpc,
2248 WsProjectsEnsureScratchRpc,
2249 WsProjectsCreateNewRpc,
2250 WsProjectsWriteFileRpc,
2251 WsProjectsMutateRpc,
2252 WsShellOpenInEditorRpc,
2253 WsFilesystemBrowseRpc,
2254 WsFilesystemGetMetadataRpc,
2255 WsAgentSessionsScanRpc,
2256 WsAgentSessionsImportRpc,
2257 WsAssetsCreateUrlRpc,
2258 WsAssetsPersistChatAttachmentsRpc,
2259 WsAttachmentsCreateUploadUrlRpc,
2260 WsAttachmentsDeleteRpc,
2261 WsMcpAppsCallToolRpc,
2262 WsMcpAppsToolInfoRpc,
2263 WsMcpAppsReadResourceRpc,
2264 WsMcpAppsUpdateModelContextRpc,
2265 WsProviderUploadFeedbackRpc,
2266 WsSubscribeVcsStatusRpc,
2267 WsSubscribeWorktreeSetupRpc,
2268 WsWorktreeSetupCancelRpc,
2269 WsVcsPullRpc,
2270 WsVcsRefreshStatusRpc,
2271 WsGitRunStackedActionRpc,
2272 WsGitResolvePullRequestRpc,
2273 WsGitPreparePullRequestThreadRpc,
2274 WsVcsListRefsRpc,
2275 WsVcsCreateWorktreeRpc,
2276 WsVcsRemoveWorktreeRpc,
2277 WsVcsCreateRefRpc,
2278 WsVcsSwitchRefRpc,
2279 WsVcsInitRpc,
2280 WsReviewGetDiffPreviewRpc,
2281 WsReviewGetDiffFileContentsRpc,
2282 WsSubscribeTerminalMetadataRpc,
2283 WsSubscribeScriptProgressRpc,
2284 WsPreviewOpenRpc,
2285 WsPreviewNavigateRpc,
2286 WsPreviewResizeRpc,
2287 WsPreviewAdjustRpc,
2288 WsPreviewRefreshRpc,
2289 WsPreviewCloseRpc,
2290 WsPreviewListRpc,
2291 WsPreviewClearProfileRpc,
2292 WsPreviewReportProfilesRpc,
2293 WsPreviewReportStatusRpc,
2294 WsSubscribePreviewEventsRpc,
2295 WsSubscribeDiscoveredLocalServersRpc,
2296 WsDeviceConfigureRpc,
2297 WsDeviceListRpc,
2298 WsDeviceTestHostRpc,
2299 WsDeviceOpenRpc,
2300 WsDeviceCloseRpc,
2301 WsDeviceShutdownRpc,
2302 WsDeviceDetailRpc,
2303 WsDeviceActionRpc,
2304 WsSubscribeDeviceStateRpc,
2305 WsSubscribeServerConfigRpc,
2306 WsSubscribeServerLifecycleRpc,
2307 WsSubscribeAuthAccessRpc,
2308 WsSubscribeBackgroundPolicyRpc,
2309 WsSubscribeResourceTelemetryRpc,
2310 WsOrchestrationV2DispatchCommandRpc,
2311 WsOrchestrationV2GetWorkflowScriptRpc,
2312 WsOrchestrationV2StopWorkflowRpc,
2313 WsOrchestrationV2GetTurnItemRpc,
2314 WsOrchestrationV2GetTurnDiffRpc,
2315 WsOrchestrationV2GetFullThreadDiffRpc,
2316 WsOrchestrationV2SearchThreadsRpc,
2317 WsOrchestrationV2SearchThreadRpc,
2318 WsOrchestrationV2SearchThreadStreamRpc,
2319 WsOrchestrationV2GetArchivedShellSnapshotRpc,
2320 WsOrchestrationV2GetThreadProjectionRpc,
2321 WsOrchestrationV2LaunchThreadRpc,
2322 WsOrchestrationV2SubscribeArchivedShellRpc,
2323 WsOrchestrationV2SubscribeShellRpc,
2324 WsOrchestrationV2SubscribeThreadRpc,
2325)
2326 .merge(TerminalRpcGroup)
2327 .middleware(RpcScopeAuthorization);