@pandi-coding-agent/pandi-typescript-lsp
Extensión de Pi para feedback de diagnósticos de TypeScript: ejecuta `tsc --noEmit` en el borde coherente (`agent_end`) sobre archivos tocados, más la herramienta `typescript_diagnostics` y el comando `/tsc`. No es un LSP completo (sin hover/go-to-def).
Package details
Install @pandi-coding-agent/pandi-typescript-lsp from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@pandi-coding-agent/pandi-typescript-lsp- Package
@pandi-coding-agent/pandi-typescript-lsp- Version
0.1.9- Published
- Jul 11, 2026
- Downloads
- 1,439/mo · 387/wk
- Author
- andrestobelem
- License
- MIT
- Types
- extension
- Size
- 40.4 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@pandi-coding-agent/pandi-typescript-lsp
Feedback de diagnósticos de TypeScript para Pi: después de un turno que escribió o editó TypeScript, ejecuta
tsc --noEmit sobre el/los proyecto(s) relevante(s) y reporta errores solo para los archivos que ese turno tocó. Usalo
cuando estés iterando TypeScript dentro de una sesión de Pi y quieras feedback del compilador sin salir del chat ni
correr tsc a mano.
En 30 segundos
pi install npm:@pandi-coding-agent/pandi-typescript-lsp
Por defecto, el chequeo corre automáticamente en agent_end, acotado a los archivos tocados por el turno. Si encuentra
algo, vas a ver el reporte en tu siguiente turno, sin hacer nada:
Diagnósticos de TypeScript (1):
src/foo.ts(12,5): error TS2322: Type 'string' is not assignable to type 'number'.
Ese chequeo automático también limpia la lista de archivos tocados, así que si corrés /tsc run enseguida solo va a
decir "No se tocó ningún archivo TypeScript en este turno." — editá primero otro .ts y después lanzalo a demanda:
/tsc run
Diagnósticos de TypeScript (1):
src/foo.ts(12,5): error TS2322: Type 'string' is not assignable to type 'number'.
Qué obtenés
- Feedback automático y no bloqueante en
agent_end— advisory por defecto, autofix opcional. typescript_diagnostics— herramienta de modelo para chequeos bajo demanda./tsc— comando slash para controlar y ejecutar chequeos vos mismo.
Instalación
Desde este repositorio:
pi install ./extensions/pandi-typescript-lsp # global (tu usuario)
pi install -l ./extensions/pandi-typescript-lsp # local al proyecto
pi --no-extensions -e ./extensions/pandi-typescript-lsp # prueba única, sin cargar nada más
Comandos
| Comando | Qué hace |
|---|---|
/tsc o /tsc status |
Muestra estado habilitado, modo, scope, autofix y máximo. |
/tsc on / /tsc off |
Habilita o deshabilita el feedback automático. |
/tsc run |
Ejecuta un chequeo ahora y reporta el resultado. |
/tsc scope touched|project |
Define el scope por defecto (archivos tocados vs. proyecto completo). |
/tsc autofix on|off |
Alterna entre entrega advisory y autofix. |
/tsc max <n> |
Limita cuántos diagnósticos se muestran. |
typescript_diagnostics |
Herramienta de modelo: ejecuta diagnósticos con scope opcional (touched por defecto, o project para <cwd>/tsconfig.json); devuelve un resumen textual y details estructurados. |
Cómo funciona
Los diagnósticos se disparan en agent_end — cuando termina todo el turno — y no después de cada escritura. A mitad del
turno, un archivo suele quedar a medio editar y eso reportaría errores transitorios; chequear una sola vez en el borde,
acotado a los archivos tocados, da señal honesta con ruido mínimo.
Elegí el modo de entrega con /tsc autofix on|off:
| Modo | Ante errores, agent_end... |
Seguridad de loop |
|---|---|---|
| advisory (default) | envía un mensaje no bloqueante en el siguiente turno | los reportes idénticos se deduplican y nunca se reinyectan |
| autofix (opt-in) | dispara un turno de seguimiento para que el agente los corrija ahora | limitado a 1 arreglo auto-disparado por prompt, más la misma deduplicación — nunca puede entrar en loop |
Limitaciones y notas de seguridad
- No es un LSP completo. Aunque el nombre diga eso, esto solo da diagnósticos — sin hover, sin go-to-definition, sin completions. Pensalo como: "¿mis ediciones de TypeScript siguen compilando?".
- No bloquea por diseño. Nunca bloquea una llamada a tool; si falta
tsconfigotsc, queda en un NO-OP silencioso con una única advertencia advisory, nunca en una sesión rota. tscsiempre se lanza con un array argv — nunca con un string de shell — así que las rutas no pueden inyectar comandos.- Una corrida que supera el presupuesto de timeout se muestra como inconclusa ("timed out"), nunca como chequeo limpio, y no altera el estado de dedupe advisory.
Detalles
Orden de resolución de tsc:
PI_TS_LSP_TSC— ruta absoluta a untsc.js, ejecutado con elnodeactual.- El
node_modules/typescript/bin/tscmás cercano, subiendo desde el directorio del tsconfig. - Respaldo:
npx tsc.
Variables de entorno:
| Variable | Predeterminado | Significado |
|---|---|---|
PI_TS_LSP |
on |
on / off — habilita la extensión |
PI_TS_LSP_MODE |
advisory |
advisory / autofix |
PI_TS_LSP_MAX |
20 |
Máximo de diagnósticos mostrados (entero positivo) |
PI_TS_LSP_AUTOFIX |
off |
on / off — habilita turnos de autofix |
PI_TS_LSP_TSC |
(auto) | Ruta absoluta al tsc.js a ejecutar |
PI_TS_LSP_TIMEOUT_MS |
60000 |
Presupuesto de tiempo por corrida de tsc (entero positivo, ms) |
La entrega autofix necesita AMBAS configuraciones juntas — PI_TS_LSP_MODE=autofix solo sigue en advisory, porque el
código recién cambia a autofix cuando mode === "autofix" && autofix (PI_TS_LSP_AUTOFIX=on).
Relacionado
Para instalar el paquete completo de extensiones y skills, instalá la raíz del repositorio.