<!--
Generated by the pyrx RPG docs pipeline from ../../.rpg/rpg_encoder.json.
Do not edit directly — changes will be overwritten by the next refresh.
Graph repo_sha: 784698179a5627072df39bbe0fcadb55bb7dd408
Graph generated_at: 2026-06-10T00:19:36.841Z
-->
# CLI and VS Code Extension

**Feature path:** `CLI and VS Code Extension`

## Implementation summary

- **Files:** 11
- **Symbols:** 78

### Primary files

These are the main implementation files attached to this semantic node.

| File | Summary |
| ---- | ------- |
| [packages/pyright/packages/pyright-internal/src/nodeMain.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeMain.ts#L1-L23) | Entrypoint that starts the Pyright Node server and its background analysis runner |
| [packages/pyright/packages/pyright-internal/src/nodeServer.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeServer.ts#L1-L29) | Starts and configures the Pyright language server in Node, initializing deps and handling main vs worker threads |
| [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1-L1400) | Command-line entry point for the Pyright type checker, handling CLI args, diagnostics, and running analysis |
| [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L1-L50) | FileSystem wrapper that remaps URIs and delegates mutable file operations to an underlying real filesystem |
| [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L1-L333) | Implements the Pyright language server, handling workspace settings, background analysis, commands, and code actions |
| [packages/pyright/packages/pyright-internal/src/workspaceFactory.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/workspaceFactory.ts#L1-L457) | Manages creation, initialization, and lifecycle of language server workspaces for the Pyright analyzer |
| [packages/pyright/packages/pyright/src/langserver.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright/src/langserver.ts#L1-L5) | Starts the Pyright command-line entrypoint with zero worker threads |
| [packages/pyright/packages/pyright/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright/src/pyright.ts#L1-L4) | Starts the Pyright CLI |
| [packages/pyright/packages/vscode-pyright/src/cancellationUtils.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/vscode-pyright/src/cancellationUtils.ts#L1-L99) | Provides a file-based cancellation strategy for the language server protocol |
| [packages/pyright/packages/vscode-pyright/src/extension.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/vscode-pyright/src/extension.ts#L1-L407) | Registers and manages the Pyright language server client and related VS Code commands and configuration |
| [packages/pyright/packages/vscode-pyright/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/vscode-pyright/src/server.ts#L1-L7) | Starts the Pyright VS Code language server with one background worker |

### Symbol preview (40 of 78)

| Symbol | Kind | Source |
| ------ | ---- | ------ |
| `main` | function | [packages/pyright/packages/pyright-internal/src/nodeMain.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeMain.ts#L14-L22) |
| `run` | function | [packages/pyright/packages/pyright-internal/src/nodeServer.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeServer.ts#L16-L24) |
| `getConnectionOptions` | function | [packages/pyright/packages/pyright-internal/src/nodeServer.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeServer.ts#L26-L28) |
| `processArgs` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L150-L452) |
| `runSingleThreaded` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L454-L571) |
| `runMultiThreaded` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L573-L777) |
| `runWorkerMessageLoop` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L781-L871) |
| `verifyPackageTypes` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L873-L909) |
| `accumulateReportDiagnosticStats` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L911-L919) |
| `buildTypeCompletenessReport` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L921-L1043) |
| `printTypeCompletenessReportText` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1045-L1147) |
| `printUsage` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1149-L1177) |
| `getVersionString` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1179-L1183) |
| `printVersion` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1185-L1187) |
| `reportDiagnosticsAsJson` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1189-L1237) |
| `isDiagnosticIncluded` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1239-L1252) |
| `convertDiagnosticCategoryToSeverity` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1254-L1268) |
| `convertDiagnosticToJson` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1270-L1278) |
| `reportDiagnosticsAsText` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1280-L1329) |
| `logDiagnosticToConsole` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1331-L1364) |
| `parseThreadsArgValue` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1366-L1377) |
| `main` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1383-L1399) |
| `PyrightFileSystem` | class | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L17-L49) |
| `PyrightFileSystem.mkdirSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L22-L24) |
| `PyrightFileSystem.chdir` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L26-L28) |
| `PyrightFileSystem.writeFileSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L30-L32) |
| `PyrightFileSystem.rmdirSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L34-L36) |
| `PyrightFileSystem.unlinkSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L38-L40) |
| `PyrightFileSystem.createWriteStream` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L42-L44) |
| `PyrightFileSystem.copyFileSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L46-L48) |
| `PyrightServer` | class | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L49-L332) |
| `PyrightServer.getSettings` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L95-L224) |
| `PyrightServer.createBackgroundAnalysis` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L226-L234) |
| `PyrightServer.createHost` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L236-L238) |
| `PyrightServer.createImportResolver` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L240-L252) |
| `PyrightServer.executeCommand` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L254-L256) |
| `PyrightServer.isLongRunningCommand` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L258-L260) |
| `PyrightServer.isRefactoringCommand` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L262-L264) |
| `PyrightServer.executeCodeAction` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L266-L275) |
| `PyrightServer.createProgressReporter` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L277-L323) |
| _38 additional symbols omitted_ |  |  |

## Dependencies

**Imported by:**

- `packages/pyright/packages/pyright-internal/src/commands/createTypeStub.ts`
- `packages/pyright/packages/pyright-internal/src/commands/dumpFileDebugInfoCommand.ts`
- `packages/pyright/packages/pyright-internal/src/common/envVarUtils.ts`
- `packages/pyright/packages/pyright-internal/src/common/languageServerInterface.ts`
- `packages/pyright/packages/pyright-internal/src/languageServerBase.ts`
- `packages/pyright/packages/pyright-internal/src/languageService/analyzerServiceExecutor.ts`
- `packages/pyright/packages/pyright-internal/src/languageService/codeActionProvider.ts`
- `packages/pyright/packages/pyright-internal/src/languageService/fileWatcherDynamicFeature.ts`
- `packages/pyright/packages/pyright-internal/src/languageService/workspaceSymbolProvider.ts`

**Imports:**

- `packages/pyright/packages/pyright-internal/src/analyzer/analysis.ts`
- `packages/pyright/packages/pyright-internal/src/analyzer/cacheManager.ts`
- `packages/pyright/packages/pyright-internal/src/analyzer/importResolver.ts`
- `packages/pyright/packages/pyright-internal/src/analyzer/packageTypeReport.ts`
- `packages/pyright/packages/pyright-internal/src/analyzer/packageTypeVerifier.ts`
- `packages/pyright/packages/pyright-internal/src/analyzer/pythonPathUtils.ts`
- `packages/pyright/packages/pyright-internal/src/analyzer/service.ts`
- `packages/pyright/packages/pyright-internal/src/analyzer/sourceFile.ts`
- `packages/pyright/packages/pyright-internal/src/analyzer/sourceFileInfo.ts`
- `packages/pyright/packages/pyright-internal/src/analyzer/typeStubWriter.ts`
- `packages/pyright/packages/pyright-internal/src/backgroundAnalysis.ts`
- `packages/pyright/packages/pyright-internal/src/backgroundAnalysisBase.ts`
- `packages/pyright/packages/pyright-internal/src/commands/commandController.ts`
- `packages/pyright/packages/pyright-internal/src/common/asyncInitialization.ts`
- `packages/pyright/packages/pyright-internal/src/common/cancellationUtils.ts`
- `packages/pyright/packages/pyright-internal/src/common/chokidarFileWatcherProvider.ts`
- `packages/pyright/packages/pyright-internal/src/common/commandLineOptions.ts`
- `packages/pyright/packages/pyright-internal/src/common/configOptions.ts`
- `packages/pyright/packages/pyright-internal/src/common/console.ts`
- `packages/pyright/packages/pyright-internal/src/common/core.ts`
- `packages/pyright/packages/pyright-internal/src/common/debug.ts`
- `packages/pyright/packages/pyright-internal/src/common/deferred.ts`
- `packages/pyright/packages/pyright-internal/src/common/diagnostic.ts`
- `packages/pyright/packages/pyright-internal/src/common/diagnosticSink.ts`
- `packages/pyright/packages/pyright-internal/src/common/envVarUtils.ts`
- `packages/pyright/packages/pyright-internal/src/common/fileBasedCancellationUtils.ts`
- `packages/pyright/packages/pyright-internal/src/common/fileSystem.ts`
- `packages/pyright/packages/pyright-internal/src/common/fullAccessHost.ts`
- `packages/pyright/packages/pyright-internal/src/common/host.ts`
- `packages/pyright/packages/pyright-internal/src/common/languageServerInterface.ts`
- `packages/pyright/packages/pyright-internal/src/common/pathUtils.ts`
- `packages/pyright/packages/pyright-internal/src/common/progressReporter.ts`
- `packages/pyright/packages/pyright-internal/src/common/pythonVersion.ts`
- `packages/pyright/packages/pyright-internal/src/common/realFileSystem.ts`
- `packages/pyright/packages/pyright-internal/src/common/serviceKeys.ts`
- `packages/pyright/packages/pyright-internal/src/common/serviceProvider.ts`
- `packages/pyright/packages/pyright-internal/src/common/serviceProviderExtensions.ts`
- `packages/pyright/packages/pyright-internal/src/common/streamUtils.ts`
- `packages/pyright/packages/pyright-internal/src/common/textRange.ts`
- `packages/pyright/packages/pyright-internal/src/common/timing.ts`
- `packages/pyright/packages/pyright-internal/src/common/uri/uri.ts`
- `packages/pyright/packages/pyright-internal/src/common/uri/uriUtils.ts`
- `packages/pyright/packages/pyright-internal/src/languageServerBase.ts`
- `packages/pyright/packages/pyright-internal/src/languageService/codeActionProvider.ts`
- `packages/pyright/packages/pyright-internal/src/partialStubService.ts`
- `packages/pyright/packages/pyright-internal/src/readonlyAugmentedFileSystem.ts`
