@osrcmap/riesgo-punto
v0.2.1
Published
Para un punto del Perú: zonas críticas cercanas (INGEMMET) y avisos vigentes (SENAMHI) en una sola respuesta, con los cruces que importan y un mensaje listo para enviar. CLI agent-first.
Downloads
568
Maintainers
Readme
riesgo-punto
Para un punto del Perú, en una sola respuesta:
- Zonas críticas y peligros cercanos del inventario del INGEMMET (
peligros-pe). - Avisos del SENAMHI que cubren el punto, día por día, incluido el de posible activación de quebradas (
avisos-pe). - Cruces: cuando un aviso de lluvia o de quebradas coincide con una zona crítica cercana que la lluvia puede activar.
- Un mensaje corto listo para enviar por WhatsApp o SMS.
Es el núcleo para bots de alerta, paneles municipales y agentes durante El Niño 2026-2027.
Información de referencia, no una alerta propia. riesgo-punto no inventa niveles: solo combina y cita fuentes oficiales. No es una orden de evacuación. Ante una emergencia sigue a INDECI, SENAMHI y tu municipalidad.
Uso
npm i -g @osrcmap/riesgo-punto # instala también peligros-pe y avisos-pe
riesgo-punto consultar --lat -4.654 --lon -79.8539
riesgo-punto consultar --lat -11.9437 --lon -76.7036 --radio 1000 --momento 2026-10-18T15:00-05:00
riesgo-punto doctor📍 -4.654, -79.8539 · 17/10 10:00
⚠️ ATENCIÓN: hay aviso de lluvias del SENAMHI para esta zona y a 288 m hay una zona crítica por huaico (flujo de detritos, deslizamiento).
🌧️ Lluvias y huaicos
Aviso N° 421: Precipitaciones en la sierra norte y costa norte.
Hoy amarillo · mañana naranja · lun 19 amarillo.
Nivel naranja: prepárate y sigue las indicaciones de las autoridades.
⛰️ Zonas de peligro cerca (INGEMMET)
La más cercana, a 288 m: huaico (flujo de detritos, deslizamiento) en Pueblo Nuevo-Las Viudas, Montero.
🌡️ Otros avisos del SENAMHI: calor (rojo hoy).
Fuentes: SENAMHI e INGEMMET. No es una orden de evacuación: ante una emergencia sigue las indicaciones de INDECI y de tu municipalidad.Ejecútalo desde el Perú. El SENAMHI no responde a servidores en el extranjero o en la nube. Fuera del Perú,
consultardevuelve las zonas del INGEMMET y marca los avisos como no disponibles.
Respuesta (--json)
| Campo | Contenido |
|---|---|
| completo | true si ambas fuentes respondieron |
| resumen | cruces, zonas críticas y peligros cercanos, avisos, nivel máximo en curso y próximo, si hay aviso de quebradas y cuáles avisos son de lluvia (avisos_de_lluvia). null si la fuente no respondió |
| cruces[] | { tipo, descripcion, aviso, zonas[] } (ver abajo) |
| mensaje | Texto corto en orden de importancia: coincidencias, lluvias y huaicos, zonas de peligro cercanas, los demás avisos en una línea, fuentes y aviso general |
| peligros | Salida completa de peligros-pe cerca, o null |
| avisos | Salida completa de avisos-pe punto, o null |
| fuentes | { peligros, avisos }: { ok } o { ok: false, error: { code, message, hint } } |
Si una fuente falla, la respuesta sigue siendo útil pero explícita: su campo es null (nunca []), completo es false y el mensaje dice que no se puede afirmar que no haya avisos. Si fallan ambas, el error es FUENTES_NO_DISPONIBLES.
Cruces
| Tipo | Cuándo |
|---|---|
| activacion_quebradas_y_zona_critica | El punto está en una zona del aviso de posible activación de quebradas y hay una zona crítica por flujo (huaico) dentro del radio |
| lluvia_y_zona_critica | El punto está en un aviso de lluvia (título con precipitación, lluvia, granizo, nevada, tormenta o chubasco) de nivel amarillo o mayor y hay una zona crítica por flujo, inundación, deslizamiento, caída o erosión dentro del radio |
Avisos de temperatura o viento no generan cruces. Los cruces son hechos verificables con sus fuentes, no un nivel de riesgo nuevo.
Para agentes
schema consultarda el JSON Schema de la entrada;--params @consulta.jsonen lugar de flags.- Errores:
{ "ok": false, "code", "error", "hint" }; salida2uso incorrecto,1fuentes o internos. - Ver
SKILL.md.
Cómo funciona
riesgo-punto ejecuta peligros-pe y avisos-pe (dependencias npm) y valida su JSON contra el contrato que usa: si una pieza cambia de forma, esa fuente se marca FORMATO_INESPERADO en vez de adivinar. Variables RIESGO_PUNTO_PELIGROS_CLI / RIESGO_PUNTO_AVISOS_CLI permiten usar otras instalaciones, y RIESGO_PUNTO_TIMEOUT_MS acota la espera (por defecto 30 s para peligros-pe y 150 s para avisos-pe).
Desarrollo
bun install
bun test # fuentes reales capturadas + CLIs falsos para cada falla
bun run typecheck && bun run lint
bun run build && node scripts/humo.mjsBloques de cligentic (MIT) en src/agent, src/foundation y src/platform.
Licencia
Código: MIT. Los datos son del SENAMHI y del INGEMMET; atribúyelos siempre a su fuente.
