{"id":"@lssm-tech/jetbrains-contractspec-bridge","slug":"jetbrains-contractspec-bridge","name":"@lssm-tech/jetbrains-contractspec-bridge","version":"1.46.1","path":"packages/apps/jetbrains-contractspec/bridge","manifestPath":"packages/apps/jetbrains-contractspec/bridge/package.json","manifestBlobSha":"a94ea146431b20a81f25954916c685d9c1486380","layer":"apps","physicalArea":null,"primaryArea":"tooling-and-agent-delivery","classification":{"privateDeclared":true,"catalogFamily":null,"catalogKind":null,"catalogStatus":null,"adoptionMode":null,"stability":null},"description":"Node.js bridge server for ContractSpec JetBrains Plugin","descriptionOrigin":"package.json","catalog":{},"canonicalImports":[],"scripts":{"build":"bun run typecheck && bun build ./src/server.ts --outfile ./dist/server.js --target node --format esm","dev":"bun run typecheck && bun build ./src/server.ts --outfile ./dist/server.js --target node --format esm --watch","start":"node dist/server.js","typecheck":"tsc --noEmit","test":"bun test src"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/bundle.workspace":"workspace:*","@lssm-tech/module.workspace":"workspace:*","@lssm-tech/lib.contracts-spec":"workspace:*","@lssm-tech/lib.contracts-transformers":"workspace:*","vscode-languageserver":"^9.0.1","vscode-languageserver-protocol":"^3.17.5","vscode-jsonrpc":"^8.2.0","vscode-languageserver-textdocument":"1.0.11"},"devDependencies":{"@types/node":"^20.0.0","typescript":"catalog:","@types/bun":"catalog:types"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":null,"publishExports":null,"types":null,"files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[],"entryCount":0,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/jetbrains-contractspec/bridge","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/jetbrains-contractspec/bridge/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/jetbrains-contractspec/bridge/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/jetbrains-contractspec-bridge.txt"},"readme":{"status":"available","body":"# @lssm-tech/jetbrains-contractspec-bridge\n\nWebsite: https://contractspec.io\n\nNode.js JSON-RPC/LSP subprocess for the JetBrains ContractSpec plugin. This private workspace package delegates workspace procedures to `@lssm-tech/bundle.workspace`; it does not publish a reusable library API.\n\n## Local commands\n\nInstall dependencies through the repository's one root workspace and lockfile. Do not initialize a separate bridge workspace or lockfile.\n\nFrom the repository root:\n\n```bash\nbun --cwd packages/apps/jetbrains-contractspec/bridge run test\nbun --cwd packages/apps/jetbrains-contractspec/bridge run typecheck\nbun --cwd packages/apps/jetbrains-contractspec/bridge run build\nbun --cwd packages/apps/jetbrains-contractspec/bridge run start\n```\n\n`test` runs the handler tests with injected service implementations and the stdio host test (`src/server.host.test.ts`), which spawns `src/server.ts` under Bun and drives initialize/initialized, document open, spec listing and validation, workspace information, an unsupported feature, an unknown method and shutdown/exit over JSON-RPC against a throwaway workspace. `typecheck` uses the declared TypeScript compiler in strict, non-emitting Bundler mode, checking production source and its workspace imports. Tests execute separately. The ES2022/DOM/Bun type libraries describe imported shared implementations; they do not change the bridge's Node runtime requirement.\n\n`build` first typechecks, then uses Bun's existing Node-target ESM bundler to produce `dist/server.js`. Bundling the workspace implementation is necessary: raw TypeScript workspace exports are not a runnable Node distribution. The package's `type: module` matches the emitted format. Only the private server artifact and this README are distribution files. Honor a failed build; a previous artifact does not qualify changed source.\n\n`dev` performs the initial strict check and watches the server's bundled source graph. Run `typecheck` again for subsequent source acceptance; bundler watch is not a replacement for it.\n\n## Protocol and host binding\n\nThe existing Kotlin host launches `node dist/server.js`. The server binds explicitly to stdin/stdout, so the host does not need a transport argument. Real `vscode-languageserver-textdocument` implementations create and update the document store; the bridge does not replace LSP types with an ambient shim. Logs use the LSP connection and must not write unframed text to stdout.\n\n- `src/server.ts`: connection, document lifecycle and initialization.\n- `src/handlers/BridgeServer.ts`: existing RPC methods delegated to workspace services.\n- `src/index.ts`: source export used internally; not a separately published artifact.\n\nNode 18.20.8, 20.18.3, 22.15.1 and 24.15.0 have been exercised against an isolated copy of the Node bundle with no `node_modules`: initialization, document open/change/close, read-only workspace information, shutdown and exit. The manifest's Node >=18 contract is unchanged. See the retained [qualification evidence](../../../../docs/refactoring/lssm-ecosystem/evidence/w2-jetbrains-bridge/SUMMARY.md).\n\nThese checks do not qualify every RPC method or the complete Kotlin/IDE installation. Registry, setup, generation, watcher, AI, telemetry and MCP operations were not invoked. The Gradle `buildPlugin` path now builds and includes this server plus its ESM manifest. The [plugin packaging evidence](../../../../docs/refactoring/lssm-ecosystem/evidence/w6-jetbrains-packaging/SUMMARY.md) covers the actual archive, path selection and extracted server; full IDE compatibility remains separate.\n","sourcePath":"packages/apps/jetbrains-contractspec/bridge/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/jetbrains-contractspec/bridge/README.md","blobSha":"b534908fd595c50549d3c44a4f2257e4cf4d9af0","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"tooling-and-agent-delivery","areaTitle":"CLI, authoring and agent tooling","displayName":"jetbrains-contractspec-bridge","runtimes":[],"platforms":[],"kind":"apps","scope":"Workspace only","canonicalRoute":"/docs/packages/jetbrains-contractspec-bridge/","contextUrl":"/docs/packages/jetbrains-contractspec-bridge.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}