{"_id":"@balaenis/pi-lsp","_rev":"6-371fc34a04224d5ae5aeeb3919335d71","name":"@balaenis/pi-lsp","dist-tags":{"latest":"0.2.1","next":"0.2.0-next.1"},"versions":{"0.0.1":{"name":"@balaenis/pi-lsp","version":"0.0.1","keywords":["pi-package","pi","lsp","language-server"],"author":{"name":"balaenis","email":"pzyyll@gmail.com"},"license":"Apache-2.0","_id":"@balaenis/pi-lsp@0.0.1","maintainers":[{"name":"pzyyll","email":"pzyyll@gmail.com"}],"homepage":"https://github.com/balaenis/pi-toolset#readme","bugs":{"url":"https://github.com/balaenis/pi-toolset/issues"},"pi":{"external":["vscode-jsonrpc"],"extensions":["./dist/index.js"]},"dist":{"shasum":"def3576e0589d63cd31b8803df3baaf9e1647ef5","tarball":"https://registry.npmjs.org/@balaenis/pi-lsp/-/pi-lsp-0.0.1.tgz","fileCount":5,"integrity":"sha512-HiepZo3F5r56EijyLRs4h7jpmsR5dD99tgpPxoQ2T8BGElvsKEvJDu1iSK/+7Dr8CTKC/q1QHuL3T8KvvZwa3w==","signatures":[{"sig":"MEQCIE9aFj2yIcqGzt378syhoVZWqohH3nbTdnn/APHhaVcxAiBetpF+hPe04/zouyKs7Y6ePWkXYDTyHLE7sDhrPLAT0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139823},"type":"module","exports":{".":"./dist/index.js"},"gitHead":"3f76214048bcd1d6a2e74008e5b15de4e0349602","scripts":{"postbuild":"bun run gen:schema","gen:schema":"bun run scripts/gen-schema.ts"},"_npmUser":{"name":"pzyyll","email":"pzyyll@gmail.com"},"repository":{"url":"git+https://github.com/balaenis/pi-toolset.git","type":"git"},"_npmVersion":"11.16.0","description":"pi lsp support","directories":{},"_nodeVersion":"26.3.0","dependencies":{"vscode-jsonrpc":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vscode-languageserver-types":"^3.18.0","vscode-languageserver-protocol":"^3.18.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lsp_0.0.1_1784691602444_0.6213419316991022","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@balaenis/pi-lsp","version":"0.1.0","keywords":["pi-package","pi","lsp","language-server"],"author":{"name":"balaenis","email":"pzyyll@gmail.com"},"license":"Apache-2.0","_id":"@balaenis/pi-lsp@0.1.0","maintainers":[{"name":"pzyyll","email":"pzyyll@gmail.com"}],"homepage":"https://github.com/balaenis/pi-toolset#readme","bugs":{"url":"https://github.com/balaenis/pi-toolset/issues"},"pi":{"external":["vscode-jsonrpc"],"extensions":["./dist/index.js"]},"dist":{"shasum":"3bc7483ea580a83624235514a0100e8de0d5b3e0","tarball":"https://registry.npmjs.org/@balaenis/pi-lsp/-/pi-lsp-0.1.0.tgz","fileCount":5,"integrity":"sha512-RVT/FtnsMVRkZNJ8xOrFCHlwWso++daybX/VJ8h/p+KbWK2VtSPIPq19SBfFD2UDz0wc486BHmq4D/0aELJB+g==","signatures":[{"sig":"MEUCIQCN3an+4kcBK3VfWoDo+rNROV886Cdont3qu6Setnr93gIgRDzXzTXnWI5RWjS27ISRHCZh8+EFLMU1iGNx1NkJnE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@balaenis%2fpi-lsp@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139823},"type":"module","exports":{".":"./dist/index.js"},"gitHead":"e06944ff171e391b114eb44e32b1b2fc54b5e223","scripts":{"postbuild":"bun run gen:schema","gen:schema":"bun run scripts/gen-schema.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:14f240d3-0e6c-41a0-81b7-ee99c054830a"}},"repository":{"url":"git+https://github.com/balaenis/pi-toolset.git","type":"git"},"_npmVersion":"11.16.0","description":"pi lsp support","directories":{},"_nodeVersion":"26.3.0","dependencies":{"vscode-jsonrpc":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vscode-languageserver-types":"^3.18.0","vscode-languageserver-protocol":"^3.18.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lsp_0.1.0_1784722186663_0.9818521222935268","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@balaenis/pi-lsp","version":"0.1.1","keywords":["pi-package","pi","lsp","language-server"],"author":{"name":"balaenis","email":"pzyyll@gmail.com"},"license":"Apache-2.0","_id":"@balaenis/pi-lsp@0.1.1","maintainers":[{"name":"pzyyll","email":"pzyyll@gmail.com"}],"homepage":"https://github.com/balaenis/pi-toolset#readme","bugs":{"url":"https://github.com/balaenis/pi-toolset/issues"},"pi":{"external":["vscode-jsonrpc"],"extensions":["./dist/index.js"]},"dist":{"shasum":"ee0a3098cc38a020859b0b79bc74914db425df3e","tarball":"https://registry.npmjs.org/@balaenis/pi-lsp/-/pi-lsp-0.1.1.tgz","fileCount":4,"integrity":"sha512-bQ8rHZjs/bkKjaD6uC+dPhLJQviVBHojq49olScItNxTkqnOO5AFQPP5h+X+YkHTUDBNguT4DosYorYJc5QLGQ==","signatures":[{"sig":"MEUCIQCwiz5585otK/lZ2pGYUCVetro6LE2yKuLgbrOTboWZhAIgazg2fVlLCsaAizpl+yZpHLwCH2UE8vvtwSJEPAzJ9N0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@balaenis%2fpi-lsp@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139655},"type":"module","exports":{".":"./dist/index.js"},"gitHead":"b92f73eefecbba270759f21423cee78671d9c9e9","scripts":{"postbuild":"bun run gen:schema","gen:schema":"bun run scripts/gen-schema.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:14f240d3-0e6c-41a0-81b7-ee99c054830a"}},"repository":{"url":"git+https://github.com/balaenis/pi-toolset.git","type":"git"},"_npmVersion":"11.16.0","description":"pi lsp support","directories":{},"_nodeVersion":"26.3.0","dependencies":{"vscode-jsonrpc":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vscode-languageserver-types":"^3.18.0","vscode-languageserver-protocol":"^3.18.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lsp_0.1.1_1784733576262_0.04817086737552234","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@balaenis/pi-lsp","version":"0.2.0","keywords":["pi-package","pi","lsp","language-server"],"author":{"name":"balaenis","email":"pzyyll@gmail.com"},"license":"Apache-2.0","_id":"@balaenis/pi-lsp@0.2.0","maintainers":[{"name":"pzyyll","email":"pzyyll@gmail.com"}],"homepage":"https://github.com/balaenis/pi-toolset#readme","bugs":{"url":"https://github.com/balaenis/pi-toolset/issues"},"pi":{"external":["vscode-jsonrpc"],"extensions":["./dist/index.js"]},"dist":{"shasum":"7d2987ede27b091fa1fb4e402adcdb476d1257d1","tarball":"https://registry.npmjs.org/@balaenis/pi-lsp/-/pi-lsp-0.2.0.tgz","fileCount":4,"integrity":"sha512-VN3mJxl91TUVlJVK8dZD1Ggqq17fwFY4SejxAgEvE58TfCA3gHhHU22xj744fOzeTUE6O9FCDltjDd4x3CkZxw==","signatures":[{"sig":"MEUCIQCgTv4invJbC8GJmb1j4RWvs9BYVlCyG7kMYLFDM522EAIgL2UQfwHYYejqxBrJrvJ2RSs44VPMKD+g78dnPAf8pA4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@balaenis%2fpi-lsp@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140228},"type":"module","exports":{".":"./dist/index.js"},"gitHead":"de7bfd6eb58acbc33826bc68abc82c803e916be1","scripts":{"postbuild":"bun run gen:schema","gen:schema":"bun run scripts/gen-schema.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:14f240d3-0e6c-41a0-81b7-ee99c054830a"}},"repository":{"url":"git+https://github.com/balaenis/pi-toolset.git","type":"git"},"_npmVersion":"11.16.0","description":"pi lsp support","directories":{},"_nodeVersion":"26.3.0","dependencies":{"vscode-jsonrpc":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vscode-languageserver-types":"^3.18.0","vscode-languageserver-protocol":"^3.18.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lsp_0.2.0_1785637751524_0.13008737551216876","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-next.1":{"name":"@balaenis/pi-lsp","version":"0.2.0-next.1","keywords":["pi-package","pi","lsp","language-server"],"author":{"name":"balaenis","email":"pzyyll@gmail.com"},"license":"Apache-2.0","_id":"@balaenis/pi-lsp@0.2.0-next.1","maintainers":[{"name":"pzyyll","email":"pzyyll@gmail.com"}],"homepage":"https://github.com/balaenis/pi-toolset#readme","bugs":{"url":"https://github.com/balaenis/pi-toolset/issues"},"pi":{"external":["vscode-jsonrpc"],"extensions":["./dist/index.js"]},"dist":{"shasum":"bf48729b052e4bdb4da6f53feab06aca512d418a","tarball":"https://registry.npmjs.org/@balaenis/pi-lsp/-/pi-lsp-0.2.0-next.1.tgz","fileCount":4,"integrity":"sha512-7VIYS7pbnEPUx+eJth49VhviW35u9Ywuv8e6k+H0tIyg/iEQY2F/mk4lNHaRxdW6k8IxvpE9wrJZP/3F0qQs3g==","signatures":[{"sig":"MEQCIH7iMSJxrgphKIhx2e+jwFGMawoRoQna92rqRUioa/mQAiBx0oTzQvCQHIS9SR9B0eLJIMP+c+q3Aw5Aa5o3ylF6aA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@balaenis%2fpi-lsp@0.2.0-next.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140235},"type":"module","exports":{".":"./dist/index.js"},"gitHead":"a6196e31ef71d83490dfd9d38dd4dda8c5ed70c0","scripts":{"postbuild":"bun run gen:schema","gen:schema":"bun run scripts/gen-schema.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:14f240d3-0e6c-41a0-81b7-ee99c054830a"}},"repository":{"url":"git+https://github.com/balaenis/pi-toolset.git","type":"git"},"_npmVersion":"11.16.0","description":"pi lsp support","directories":{},"_nodeVersion":"26.3.0","dependencies":{"vscode-jsonrpc":"^9.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vscode-languageserver-types":"^3.18.0","vscode-languageserver-protocol":"^3.18.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-lsp_0.2.0-next.1_1786430632333_0.6197556684752179","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@balaenis/pi-lsp","version":"0.2.1","description":"pi lsp support","license":"Apache-2.0","author":{"name":"balaenis","email":"pzyyll@gmail.com"},"type":"module","keywords":["pi-package","pi","lsp","language-server"],"exports":{".":"./dist/index.js"},"pi":{"extensions":["./dist/index.js"],"external":["vscode-jsonrpc"]},"repository":{"type":"git","url":"git+https://github.com/balaenis/pi-toolset.git"},"publishConfig":{"access":"public"},"dependencies":{"vscode-jsonrpc":"^9.0.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*","typebox":"*"},"scripts":{"gen:schema":"bun run scripts/gen-schema.ts","postbuild":"bun run gen:schema"},"devDependencies":{"vscode-languageserver-protocol":"^3.18.0","vscode-languageserver-types":"^3.18.0"},"gitHead":"fa848e4c2a0d4b3df8f3151a8695130897451a48","_id":"@balaenis/pi-lsp@0.2.1","bugs":{"url":"https://github.com/balaenis/pi-toolset/issues"},"homepage":"https://github.com/balaenis/pi-toolset#readme","_nodeVersion":"26.3.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-Jap+S6gSBDqsmv8B66qwj224SwhBoSnOISxz1oUHO9Rm2DvdTZxzAPQj6Yv5M82+XllR7ryYgJTkoIqAWIVbvA==","shasum":"f8273b1a4d13e1a517ae17d785959b120dd75a29","tarball":"https://registry.npmjs.org/@balaenis/pi-lsp/-/pi-lsp-0.2.1.tgz","fileCount":4,"unpackedSize":140228,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@balaenis%2fpi-lsp@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD0fMGfzdGUTRDoMKz6/Jo+0Iz49LqRHO64I+F7/1koZAIgf2dveczYNkJtMTnrWWLt4gbLxtUqPzVCmxrRRMFYnRI="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:14f240d3-0e6c-41a0-81b7-ee99c054830a"}},"directories":{},"maintainers":[{"name":"pzyyll","email":"pzyyll@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-lsp_0.2.1_1787921565633_0.04202344640524158"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T03:40:02.209Z","modified":"2026-08-28T12:52:46.163Z","0.0.1":"2026-07-22T03:40:02.599Z","0.1.0":"2026-07-22T12:09:46.814Z","0.1.1":"2026-07-22T15:19:36.419Z","0.2.0":"2026-08-02T02:29:11.672Z","0.2.0-next.1":"2026-08-11T06:43:52.496Z","0.2.1":"2026-08-28T12:52:45.829Z"},"bugs":{"url":"https://github.com/balaenis/pi-toolset/issues"},"author":{"name":"balaenis","email":"pzyyll@gmail.com"},"license":"Apache-2.0","homepage":"https://github.com/balaenis/pi-toolset#readme","keywords":["pi-package","pi","lsp","language-server"],"repository":{"type":"git","url":"git+https://github.com/balaenis/pi-toolset.git"},"description":"pi lsp support","maintainers":[{"name":"pzyyll","email":"pzyyll@gmail.com"}],"readme":"# @balaenis/pi-lsp\n\nLanguage Server Protocol support for [Pi](https://github.com/earendil-works/pi)'s coding agent. Provides code intelligence operations (go-to-definition, find-references, hover, document/workspace symbols, call hierarchy, go-to-implementation) via the `lsp` tool, passive diagnostics, a statusline health indicator, and `/lsp` slash commands.\n\n## Features\n\n- Nine `lsp` tool operations (definition, references, hover, symbols, call hierarchy, implementation)\n- Passive diagnostics from every active server covering a file (primary + companions), push and pull; batched into one hidden durable message on the next user-initiated agent run (does not steer an active run)\n- Zero-config autodetection for 16 common language servers\n- Multi-server routing: one primary for navigation, zero or more companions for diagnostics\n- Built-in Tailwind CSS companion (opt-in via `enabled: true` or `/lsp config`)\n- Built-in ESLint + oxlint companions for JS/TS lint diagnostics\n- Restart-on-crash with bounded retryable startup attempts\n- Statusline health indicator and `/lsp status|diagnostics|clean|start|config` commands\n- Per-project JSONC config with field-level recipe merging\n\n## Local development\n\nThe package is not published to a registry yet. Build it and load it with `-e`:\n\n```sh\nmise run build --package packages/pi-lsp\npi -e ./packages/pi-lsp/dist/index.js\n```\n\n## Documentation\n\n- [Tutorial: Get LSP intelligence in Pi](./docs/tutorials.md) - load the extension, rely on autodetection, query a symbol\n- [How-to guides](./docs/how-to.md) - configure custom servers, override/disable recipes, add companions, inspect/clean diagnostics\n- [Reference](./docs/reference.md) - `lsp` operations, config fields, built-in recipes, statusline states, slash commands, env vars\n- [Explanation](./docs/explanation.md) - multi-server routing, startup failure classification, diagnostics push/pull, autodetection precedence\n\n## Development\n\n```sh\nmise run build --package packages/pi-lsp      # build\nmise run dev --package packages/pi-lsp        # build with sourcemaps (watch)\nmise run test --package packages/pi-lsp\nmise run typecheck --package packages/pi-lsp\nhk check                                       # eslint + prettier (repo-wide)\n```\n\nRegenerate the config JSON Schema after changing `src/types.ts`:\n\n```sh\nbun run --cwd packages/pi-lsp gen:schema\n```\n\n## Validation\n\n- **Static**: `mise run typecheck --package packages/pi-lsp` + `hk check`.\n- **Functional**: requires a real LSP server binary (`typescript-language-server`, `pyright`, etc.) in a real project - no mocks.\n\n## License\n\nSee [LICENSE](../../LICENSE).\n","readmeFilename":"README.md"}