uade-mcp 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,7 +24,9 @@ Corre en tu compu, sin servidores intermedios ni telemetría, y nunca ve tu cont
24
24
  ## Requisitos
25
25
 
26
26
  - Node.js 20 o más nuevo.
27
- - Chrome, Edge o Brave instalado (para iniciar sesión con tu cuenta de UADE).
27
+ - Chrome, Edge o Brave (para la ventana donde iniciás sesión con tu cuenta de UADE). Si no tenés ninguno
28
+ (solo Safari), el MCP te ofrece bajar un Chromium propio (~190 MB) que queda en `~/.uade-mcp/browsers`
29
+ y no toca nada más; lo borrás con `uade-mcp borrar-navegador`.
28
30
  - macOS, Windows o Linux (probado en macOS).
29
31
 
30
32
  ## Instalación
@@ -61,7 +63,9 @@ llama `uade_login` (o escribís `/uade:login`) y se abre la ventana para que la
61
63
  | `estado` | Qué sesiones hay guardadas y qué permisos están activos |
62
64
  | `doctor` | Prueba cada función contra tu cuenta y muestra solo cantidades |
63
65
  | `permitir <permiso>` / `revocar <permiso>` | Prende o apaga un permiso (solo desde una terminal, escribiéndolo vos) |
64
- | `logout` | Borra sesiones, la copia local cifrada, su clave y el perfil del navegador |
66
+ | `logout` | Borra sesiones, la copia local cifrada, su clave y el perfil del navegador (el Chromium propio, si lo bajaste, queda) |
67
+ | `instalar-navegador` | Si no tenés Chrome, Edge ni Brave: baja un Chromium solo para el MCP (~190 MB, te pide confirmación) |
68
+ | `borrar-navegador` | Borra ese Chromium propio |
65
69
 
66
70
  ## Herramientas
67
71
 
@@ -156,7 +160,7 @@ actualizar el MCP (`npx` usa siempre la última versión publicada; con `npm i -
156
160
  ## Privacidad y seguridad
157
161
 
158
162
  - **Local.** Corre en tu compu por stdio; no hay ningún servidor del proyecto en el medio.
159
- - **Sin telemetría.** Solo habla con dominios de UADE y Microsoft; cualquier otro host está bloqueado en el código (salvo el reporte de errores, si lo activás vos).
163
+ - **Sin telemetría.** Solo habla con dominios de UADE y Microsoft; cualquier otro host está bloqueado en el código (salvo el reporte de errores, si lo activás vos, y la descarga del Chromium propio desde los servidores de Playwright, solo si no tenés Chrome, Edge ni Brave y la confirmás).
160
164
  - **Sin contraseñas.** Iniciás sesión vos, en la página de Microsoft. Se guardan cookies de sesión en el
161
165
  llavero del sistema y la sesión de Microsoft en un perfil de navegador propio (`~/.uade-mcp/browser-profile`).
162
166
  - **Copia local cifrada** (AES-256-GCM, clave en el llavero) para no pedir lo mismo dos veces. Cada respuesta dice de cuándo es.
package/SECURITY.md CHANGED
@@ -15,6 +15,7 @@ No abras un issue público para temas de seguridad.
15
15
  | Nunca ve la contraseña: el login lo hace la persona en la página de Microsoft | `src/auth/login.ts` | — |
16
16
  | Sesiones en el llavero; perfil de navegador propio en `~/.uade-mcp/browser-profile`, cifrado con el llavero del sistema (sin el llavero de mentira de Playwright); `logout` borra todo | `src/auth/`, `src/cli/index.ts` | `test/auditoria.test.ts` |
17
17
  | Renovación automática de sesión: una por pedido vencido, sin bucles | `src/net/session.ts` | `test/login.test.ts` |
18
+ | Navegador: Chrome, Edge o Brave instalados, o un Chromium propio que el MCP baja solo si no hay ninguno y la persona lo confirma (en la terminal o diciéndoselo al agente); las URLs de descarga se verifican antes de bajar (https a `cdn.playwright.dev` o `playwright.download.prss.microsoft.com`, fuera de la allowlist del cliente HTTP); queda en `~/.uade-mcp/browsers` y se borra con `borrar-navegador` | `src/net/browser.ts`, `src/net/descargar-navegador.ts`, `src/net/policy.ts` | `test/navegador.test.ts` |
18
19
  | Copia local cifrada (AES-256-GCM, clave en el llavero) | `src/cache/cache.ts` | `test/cache.test.ts` |
19
20
  | Nunca datos de compañeros (lista blanca de roles docentes) | `src/sources/webcampus/parse.ts` | `test/auditoria.test.ts` |
20
21
  | Texto de terceros marcado como información, no instrucciones: campo `aviso` en los resultados estructurados y bloque `<contenido_externo>` alrededor del texto plano (documentos, adjuntos, modo degradado) | `src/untrusted.ts`, `src/tools/*` | `test/auditoria.test.ts` |
@@ -48,10 +49,10 @@ La auditoría completa (hallazgos, controles OWASP, NIST y ISO 27001, riesgos ac
48
49
  - **Dependabot** avisa (y propone el PR) ante vulnerabilidades en dependencias o acciones; el escaneo de
49
50
  secretos de GitHub, con protección al push, bloquea tokens que intenten entrar.
50
51
  - **Dependencias con versión exacta** y `package-lock.json`; `npm ci --ignore-scripts` en CI: ninguna
51
- dependencia corre código al instalarse. Al publicar, el lockfile viaja dentro del paquete como
52
- Límite conocido: npm 12, que es el que exige la publicación en staging, no incluye ni respeta
53
- `npm-shrinkwrap.json`, así que `npx -y uade-mcp` fija las dependencias directas (versión exacta en
54
- `package.json`) pero resuelve las transitivas al instalar. `npm audit` corre en cada commit y en CI.
52
+ dependencia corre código al instalarse. Límite conocido: npm 12, que es el que exige la publicación
53
+ en staging, no incluye ni respeta `npm-shrinkwrap.json`, así que `npx -y uade-mcp` fija las
54
+ dependencias directas (versión exacta en `package.json`) pero resuelve las transitivas al instalar.
55
+ `npm audit` corre en cada commit y en CI.
55
56
 
56
57
  ## Lo que queda fuera de estas garantías
57
58
 
@@ -59,6 +60,15 @@ Límite conocido: npm 12, que es el que exige la publicación en staging, no inc
59
60
  y git la ignora. Lo que corras ahí corre con tus credenciales y bajo tu responsabilidad.
60
61
  - **Teams** se lee corriendo el Teams web real en el navegador del MCP: contacta dominios de Microsoft,
61
62
  como si lo abrieras vos, y puede dejar de funcionar si Microsoft cambia la interfaz.
63
+ - **El Chromium propio** (solo si no tenés Chrome, Edge ni Brave y lo confirmás): se baja "Chrome for
64
+ Testing" en la versión que fija `playwright-core` (`browsers.json`), más el ffmpeg que su instalador
65
+ agrega siempre, desde los servidores de Playwright (`cdn.playwright.dev`, con
66
+ `playwright.download.prss.microsoft.com` como alternativa), unos 190 MB (~370 MB en disco), a
67
+ `~/.uade-mcp/browsers`. Playwright no publica checksums de esos archivos: su instalador verifica el
68
+ tamaño sobre HTTPS, y el MCP además corre el binario con `--version` y compara con la versión
69
+ declarada (si no coincide, lo borra). Lo baja el instalador de `playwright-core` en un proceso aparte,
70
+ sin heredar las variables con las que Playwright cambiaría de host o de carpeta. No tiene datos tuyos;
71
+ `logout` no lo toca, `uade-mcp borrar-navegador` lo borra.
62
72
  - **La sesión persistente de Microsoft** ("¿Mantener la sesión iniciada?" → Sí) vive en el perfil de
63
73
  navegador del MCP, cifrada con el llavero del sistema. Esa sesión (`ESTSAUTHPERSISTENT`) y la cookie
64
74
  `rtFa` de SharePoint no son solo de WebCampus: valen para todo Microsoft 365 de tu cuenta de UADE (mail,
@@ -23,6 +23,10 @@ const INTERACTIVO_MS = 10 * 60 * 1000;
23
23
  // abrís vos. Las cookies de UADE (WebCampus, Inscripciones, SharePoint) ya iban al llavero; esto cubre
24
24
  // la sesión persistente de Microsoft que vive en el perfil.
25
25
  export const SIN_LLAVERO_FALSO = ['--use-mock-keychain', '--password-store=basic'];
26
+ // Flags comunes a todos los lanzamientos. --disable-notifications apaga las notificaciones web (no hacen
27
+ // falta para el login ni para leer Teams) y evita que el navegador pida permiso de notificaciones al
28
+ // sistema (en macOS, el aviso "… Notifications" que apareció al probar el Chromium propio).
29
+ export const ARGS_NAVEGADOR = ['--no-first-run', '--no-default-browser-check', '--disable-notifications'];
26
30
  const SILENCIOSO_MS = 45 * 1000;
27
31
  // Cookies de analytics que no hacen falta para la sesión y no guardamos.
28
32
  const TRACKING = /^(_ga|_gid|_hj|__utm|_fbp|_gcl|ai_user|ai_session)/;
@@ -63,7 +67,7 @@ export async function abrirInscripciones() {
63
67
  headless: false,
64
68
  viewport: null,
65
69
  ignoreDefaultArgs: SIN_LLAVERO_FALSO,
66
- args: ['--no-first-run', '--no-default-browser-check', '--start-maximized'],
70
+ args: [...ARGS_NAVEGADOR, '--start-maximized'],
67
71
  });
68
72
  ventana.on('close', () => { ventana = null; });
69
73
  }
@@ -77,15 +81,16 @@ export async function abrirInscripciones() {
77
81
  }
78
82
  async function correr(op) {
79
83
  const log = op.log ?? (() => { });
80
- const executablePath = findBrowser();
81
84
  if (!op.interactivo && !browserProfileExists())
82
85
  return { ok: false, guardadas: [], motivo: 'todavía no iniciaste sesión nunca' };
86
+ // Chrome/Edge/Brave instalado o el Chromium propio del MCP; sin ninguno, NavegadorFaltante dice cómo descargarlo.
87
+ const executablePath = findBrowser();
83
88
  const propia = !ventana;
84
89
  const ctx = ventana ?? (await chromium.launchPersistentContext(browserProfileDir(), {
85
90
  executablePath,
86
91
  headless: !op.interactivo,
87
92
  ignoreDefaultArgs: SIN_LLAVERO_FALSO,
88
- args: ['--no-first-run', '--no-default-browser-check'],
93
+ args: ARGS_NAVEGADOR,
89
94
  }));
90
95
  const guardadas = [];
91
96
  const page = propia ? (ctx.pages()[0] ?? (await ctx.newPage())) : await ctx.newPage();
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { SECCIONES, Secciones } from '../sources/webcampus/secciones.js';
10
10
  import { SessionExpiredError } from '../net/session.js';
11
11
  import { Teams, teamsProfileExists } from '../sources/teams/index.js';
12
12
  import { SharePointClient } from '../sources/sharepoint/index.js';
13
+ import { describirNavegador, elegirNavegador } from '../net/browser.js';
13
14
  const ICONO = { ok: '✅', aviso: '⚠️ ', error: '❌' };
14
15
  const FECHA_ISO = /^\d{4}-\d{2}-\d{2}/;
15
16
  async function probar(nombre, fn) {
@@ -41,6 +42,8 @@ export async function doctor(opciones = {}) {
41
42
  return res;
42
43
  };
43
44
  log('uade-mcp doctor — prueba cada capacidad. No muestra datos personales.\n');
45
+ // Qué navegador usa el MCP para el login (sin rutas: una ruta lleva el nombre de usuario de la compu).
46
+ await push('navegador', async () => [elegirNavegador() ? 'ok' : 'aviso', describirNavegador()]);
44
47
  let idAula;
45
48
  await push('períodos', async () => {
46
49
  const p = await wc.periodos();
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -15,6 +15,8 @@ import { borrarPerfil, iniciarSesion } from '../auth/login.js';
15
15
  import { setRenovador } from '../net/session.js';
16
16
  import { login } from './login.js';
17
17
  import { loginTeams, teamsProfileDir } from '../sources/teams/index.js';
18
+ import { describirNavegador, navegadorDescargado } from '../net/browser.js';
19
+ import { borrarNavegadorCli, instalarNavegadorConConfirmacion } from './navegador.js';
18
20
  const USO = `uade-mcp — MCP no oficial de UADE
19
21
 
20
22
  Uso:
@@ -22,6 +24,8 @@ Uso:
22
24
  uade-mcp login iniciás sesión en WebCampus con tu cuenta de UADE
23
25
  uade-mcp login-teams iniciás sesión en Teams (solo si querés leer novedades de los canales)
24
26
  uade-mcp logout borra la sesión guardada del llavero
27
+ uade-mcp instalar-navegador descarga un Chromium propio (~190 MB) si no tenés Chrome, Edge ni Brave
28
+ uade-mcp borrar-navegador borra ese Chromium propio
25
29
  uade-mcp estado muestra sesión y permisos
26
30
  uade-mcp doctor [--json] prueba todas las capacidades contra tu cuenta (sin mostrar datos personales); --json para programarlo
27
31
  uade-mcp permitir <permiso> habilita un permiso (te explica qué permite y pide confirmación)
@@ -55,6 +59,10 @@ export async function runCli(args) {
55
59
  return login();
56
60
  case 'login-teams':
57
61
  return loginTeams();
62
+ case 'instalar-navegador':
63
+ return instalarNavegadorConConfirmacion();
64
+ case 'borrar-navegador':
65
+ return borrarNavegadorCli();
58
66
  case 'doctor':
59
67
  // Programado (cron, launchd): renueva las sesiones sin ventana antes de probar, como hace el servidor.
60
68
  setRenovador(async () => (await iniciarSesion({ interactivo: false })).ok);
@@ -66,6 +74,9 @@ export async function runCli(args) {
66
74
  rmSync(teamsProfileDir(), { recursive: true, force: true });
67
75
  borrarPerfil();
68
76
  console.log('Copia local (caché), su clave, el perfil del navegador (sesión de Microsoft) y el perfil de Teams borrados.');
77
+ // El Chromium propio no tiene datos tuyos y pesa: queda, salvo que lo borres.
78
+ if (navegadorDescargado())
79
+ console.log('El Chromium propio del MCP queda (no tiene datos tuyos). Para borrarlo: uade-mcp borrar-navegador.');
69
80
  return;
70
81
  }
71
82
  case 'estado': {
@@ -75,6 +86,7 @@ export async function runCli(args) {
75
86
  const x = loadSession(cuenta);
76
87
  console.log(x ? `Sesión de ${nombre} guardada el ${x.savedAt}.` : `Sin sesión de ${nombre}. Corré: uade-mcp login`);
77
88
  }
89
+ console.log(`Navegador para el login: ${describirNavegador()}.`);
78
90
  const granted = await loadGranted();
79
91
  for (const [p, d] of Object.entries(PERMISSIONS))
80
92
  console.log(`${granted.has(p) ? '✅' : '⛔'} ${p}: ${d}`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/dist/cli/login.js CHANGED
@@ -1,8 +1,10 @@
1
1
  // `uade-mcp login`: la misma ventana que abre la tool uade_login, desde la terminal.
2
2
  import { browserProfileExists, iniciarSesion, mensajeVentana } from '../auth/login.js';
3
- import { findBrowser } from '../net/browser.js';
3
+ import { elegirNavegador } from '../net/browser.js';
4
+ import { instalarNavegadorConConfirmacion } from './navegador.js';
4
5
  export async function login() {
5
- const navegador = findBrowser().split('/').pop()?.replace(/\.exe$/i, '') ?? 'navegador';
6
+ // Sin Chrome, Edge ni Brave: se ofrece descargar el Chromium propio (pregunta en la terminal).
7
+ const navegador = elegirNavegador()?.nombre ?? (await instalarNavegadorConConfirmacion(), 'Chromium propio del MCP');
6
8
  // Primero sin ventana: si Microsoft todavía recuerda la sesión, alcanza.
7
9
  if (browserProfileExists()) {
8
10
  console.log('Probando renovar la sesión sin pedirte nada…');
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC;IACxF,yEAAyE;IACzE,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,MAAM,oCAAoC,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAElE,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,+FAA+F;IAC/F,MAAM,SAAS,GAAG,eAAe,EAAE,EAAE,MAAM,IAAI,CAAC,MAAM,gCAAgC,EAAE,EAAE,yBAAyB,CAAC,CAAC;IACrH,yEAAyE;IACzE,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,MAAM,oCAAoC,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,29 @@
1
+ // `uade-mcp instalar-navegador` y `uade-mcp borrar-navegador`: el Chromium propio del MCP, para quien
2
+ // no tiene Chrome, Edge ni Brave. La descarga (~190 MB) se confirma escribiendo "si" en la terminal.
3
+ import { createInterface } from 'node:readline/promises';
4
+ import { describirNavegador, elegirNavegador } from '../net/browser.js';
5
+ import { borrarNavegador, descripcionDescarga, instalarNavegador } from '../net/descargar-navegador.js';
6
+ export async function instalarNavegadorConConfirmacion() {
7
+ const actual = elegirNavegador();
8
+ console.log(actual
9
+ ? `Ya hay un navegador para el MCP: ${describirNavegador()}. Igual podés descargar el propio.`
10
+ : 'No encontré Chrome, Edge ni Brave en esta compu (Safari no sirve: no se puede automatizar).');
11
+ console.log('\n' + descripcionDescarga() + '\n');
12
+ // Que lo escriba una persona: no se acepta por tubería (echo si | uade-mcp instalar-navegador).
13
+ if (!process.stdin.isTTY)
14
+ throw new Error('La descarga del navegador solo se confirma desde una terminal, escribiéndolo vos. También podés instalar Chrome, Edge o Brave.');
15
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
16
+ const r = (await rl.question('¿Descargar el navegador propio del MCP? Escribí "si" para confirmar (cualquier otra cosa cancela): ')).trim().toLowerCase();
17
+ rl.close();
18
+ if (r !== 'si' && r !== 'sí')
19
+ throw new Error('Cancelado. No se descargó nada.');
20
+ await instalarNavegador({ log: console.log });
21
+ console.log(`\nListo: ${describirNavegador()}.`);
22
+ }
23
+ export function borrarNavegadorCli() {
24
+ const habia = borrarNavegador();
25
+ console.log(habia ? 'Chromium propio del MCP borrado (~/.uade-mcp/browsers).' : 'No había un navegador descargado por el MCP (se borró la carpeta ~/.uade-mcp/browsers si existía).');
26
+ if (!elegirNavegador())
27
+ console.log('Ahora no hay ningún navegador para el MCP: para iniciar sesión hace falta Chrome, Edge o Brave, o volver a correr instalar-navegador.');
28
+ }
29
+ //# sourceMappingURL=navegador.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navegador.js","sourceRoot":"","sources":["../../src/cli/navegador.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,qGAAqG;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAExG,MAAM,CAAC,KAAK,UAAU,gCAAgC;IACpD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,MAAM;QAChB,CAAC,CAAC,oCAAoC,kBAAkB,EAAE,oCAAoC;QAC9F,CAAC,CAAC,6FAA6F,CAAC,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,mBAAmB,EAAE,GAAG,IAAI,CAAC,CAAC;IACjD,gGAAgG;IAChG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,gIAAgI,CAAC,CAAC;IAC5K,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qGAAqG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1J,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACjF,MAAM,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,oGAAoG,CAAC,CAAC;IACtL,IAAI,CAAC,eAAe,EAAE;QAAE,OAAO,CAAC,GAAG,CAAC,uIAAuI,CAAC,CAAC;AAC/K,CAAC"}
package/dist/index.js CHANGED
@@ -31,7 +31,7 @@ if (args.length) {
31
31
  }
32
32
  }
33
33
  else {
34
- const server = new McpServer({ name: 'uade-mcp', version: '0.2.1' }, {
34
+ const server = new McpServer({ name: 'uade-mcp', version: '0.3.0' }, {
35
35
  instructions: [
36
36
  'Unofficial MCP for UADE (Universidad Argentina de la Empresa, Buenos Aires). All tools are read-only and read live data; prefer them over memory.',
37
37
  'Answer in Argentine Spanish (vos). Dates dd/mm/aaaa, 24 h times, as tools return them.',
@@ -1,6 +1,12 @@
1
- // Encuentra un navegador Chromium instalado (Chrome, Edge, Brave o Chromium), para el login y
2
- // para leer Teams. Se puede forzar con UADE_MCP_BROWSER=/ruta/al/navegador.
3
- import { existsSync } from 'node:fs';
1
+ // Qué navegador Chromium usa el MCP para el login y para leer Teams. Por orden:
2
+ // 1. UADE_MCP_BROWSER=/ruta/al/navegador (si la persona lo fuerza).
3
+ // 2. Chrome, Edge, Brave o Chromium instalados en el sistema.
4
+ // 3. El Chromium propio que el MCP descargó en <config>/browsers (ver descargar-navegador.ts),
5
+ // para quien solo tiene Safari.
6
+ // Si no hay ninguno, falla con un error que dice cómo descargarlo.
7
+ import { existsSync, readdirSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { configDir } from '../auth/permissions.js';
4
10
  import { ErrorDeUso } from '../error-de-uso.js';
5
11
  const CANDIDATES = {
6
12
  darwin: [
@@ -16,17 +22,90 @@ const CANDIDATES = {
16
22
  ],
17
23
  linux: ['/usr/bin/google-chrome', '/usr/bin/microsoft-edge', '/usr/bin/brave-browser', '/usr/bin/chromium', '/usr/bin/chromium-browser'],
18
24
  };
19
- export function findBrowser() {
20
- const override = process.env.UADE_MCP_BROWSER;
25
+ // Dónde queda el ejecutable dentro de la carpeta que descarga Playwright (chromium-<revisión>/…).
26
+ // Es la misma tabla que usa playwright-core ("Chrome for Testing").
27
+ const EJECUTABLE_DESCARGADO = {
28
+ 'darwin-arm64': ['chrome-mac-arm64', 'Google Chrome for Testing.app', 'Contents', 'MacOS', 'Google Chrome for Testing'],
29
+ 'darwin-x64': ['chrome-mac-x64', 'Google Chrome for Testing.app', 'Contents', 'MacOS', 'Google Chrome for Testing'],
30
+ 'win32-x64': ['chrome-win64', 'chrome.exe'],
31
+ 'linux-x64': ['chrome-linux64', 'chrome'],
32
+ 'linux-arm64': ['chrome-linux-arm64', 'chrome'],
33
+ };
34
+ export const COMANDO_INSTALAR = 'uade-mcp instalar-navegador';
35
+ // Carpeta del Chromium propio: <config>/browsers (PLAYWRIGHT_BROWSERS_PATH al descargar).
36
+ export function browsersDir() {
37
+ return join(configDir(), 'browsers');
38
+ }
39
+ export function entornoReal() {
40
+ return {
41
+ plataforma: process.platform,
42
+ arquitectura: process.arch,
43
+ env: process.env,
44
+ existe: existsSync,
45
+ listar: (dir) => { try {
46
+ return readdirSync(dir);
47
+ }
48
+ catch {
49
+ return [];
50
+ } },
51
+ browsersDir: browsersDir(),
52
+ };
53
+ }
54
+ function nombreDeRuta(ruta) {
55
+ return ruta.split(/[\\/]/).pop()?.replace(/\.exe$/i, '') ?? 'navegador';
56
+ }
57
+ // El Chromium descargado, si está completo. Playwright lo deja en chromium-<revisión>/ con un
58
+ // marcador INSTALLATION_COMPLETE; si hay más de uno (quedó uno viejo), se usa el de revisión más alta.
59
+ export function navegadorDescargado(e = entornoReal()) {
60
+ const tokens = EJECUTABLE_DESCARGADO[`${e.plataforma}-${e.arquitectura}`];
61
+ if (!tokens)
62
+ return null;
63
+ const carpetas = e.listar(e.browsersDir)
64
+ .filter((n) => /^chromium(_[a-z0-9]+_special)?-\d+$/.test(n))
65
+ .sort((a, b) => Number(b.split('-').pop()) - Number(a.split('-').pop()));
66
+ for (const c of carpetas) {
67
+ const dir = join(e.browsersDir, c);
68
+ const ruta = join(dir, ...tokens);
69
+ if (e.existe(join(dir, 'INSTALLATION_COMPLETE')) && e.existe(ruta))
70
+ return ruta;
71
+ }
72
+ return null;
73
+ }
74
+ export function elegirNavegador(e = entornoReal()) {
75
+ const override = e.env.UADE_MCP_BROWSER;
21
76
  if (override) {
22
- if (!existsSync(override))
77
+ if (!e.existe(override))
23
78
  throw new ErrorDeUso(`UADE_MCP_BROWSER apunta a un archivo que no existe: ${override}`);
24
- return override;
79
+ return { ruta: override, origen: 'UADE_MCP_BROWSER', nombre: nombreDeRuta(override) };
25
80
  }
26
- const found = (CANDIDATES[process.platform] ?? []).find((p) => existsSync(p));
27
- if (!found) {
28
- throw new Error('No encontré Chrome, Edge, Brave ni Chromium. Instalá uno o indicá la ruta con UADE_MCP_BROWSER=/ruta/al/navegador');
81
+ const instalado = (CANDIDATES[e.plataforma] ?? []).find((p) => e.existe(p));
82
+ if (instalado)
83
+ return { ruta: instalado, origen: 'instalado', nombre: nombreDeRuta(instalado) };
84
+ const descargado = navegadorDescargado(e);
85
+ if (descargado)
86
+ return { ruta: descargado, origen: 'descargado', nombre: 'Chromium propio del MCP' };
87
+ return null;
88
+ }
89
+ export class NavegadorFaltante extends Error {
90
+ constructor() {
91
+ super('No encontré Chrome, Edge, Brave ni Chromium en esta compu, y el MCP todavía no descargó su navegador propio. ' +
92
+ `Opciones: instalar uno de esos, o dejar que el MCP descargue un Chromium propio (en una terminal: ${COMANDO_INSTALAR}; ` +
93
+ 'o la tool uade_login con descargarNavegador: true, después de que la persona lo confirme), o indicar la ruta con UADE_MCP_BROWSER=/ruta/al/navegador.');
94
+ this.name = 'NavegadorFaltante';
29
95
  }
30
- return found;
96
+ }
97
+ export function findBrowser(e = entornoReal()) {
98
+ const n = elegirNavegador(e);
99
+ if (!n)
100
+ throw new NavegadorFaltante();
101
+ return n.ruta;
102
+ }
103
+ // Para doctor/estado: qué navegador se usa, sin rutas (una ruta lleva el nombre de usuario de la compu).
104
+ export function describirNavegador(e = entornoReal()) {
105
+ const n = elegirNavegador(e);
106
+ if (!n)
107
+ return 'ninguno (corré ' + COMANDO_INSTALAR + ' o instalá Chrome, Edge o Brave)';
108
+ const origen = { UADE_MCP_BROWSER: 'indicado con UADE_MCP_BROWSER', instalado: 'instalado en el sistema', descargado: 'descargado por el MCP en ~/.uade-mcp/browsers' }[n.origen];
109
+ return `${n.nombre} (${origen})`;
31
110
  }
32
111
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/net/browser.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,4EAA4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,UAAU,GAA6B;IAC3C,MAAM,EAAE;QACN,8DAA8D;QAC9D,gEAAgE;QAChE,8DAA8D;QAC9D,oDAAoD;KACrD;IACD,KAAK,EAAE;QACL,4DAA4D;QAC5D,mEAAmE;QACnE,yEAAyE;KAC1E;IACD,KAAK,EAAE,CAAC,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,2BAA2B,CAAC;CACzI,CAAC;AAEF,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC9C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,uDAAuD,QAAQ,EAAE,CAAC,CAAC;QACnH,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mHAAmH,CAAC,CAAC;IACvI,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/net/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ // Descarga un Chromium propio para el MCP (para quien solo tiene Safari). Lo hace el instalador de
2
+ // playwright-core (`playwright-core install chromium --no-shell`) en un proceso aparte, con
3
+ // PLAYWRIGHT_BROWSERS_PATH apuntando a <config>/browsers: no toca el sistema ni la caché global de
4
+ // Playwright. Es lo único que el MCP baja fuera de UADE y Microsoft: "Chrome for Testing" (la versión
5
+ // que fija playwright-core en su browsers.json) y el ffmpeg que el instalador agrega siempre, desde los
6
+ // servidores de Playwright (HOSTS_DESCARGA_NAVEGADOR). Antes de bajar nada se corre el instalador en
7
+ // modo --dry-run y se verifica que cada URL sea https a uno de esos hosts; si no, no se descarga.
8
+ //
9
+ // Integridad: Playwright no publica checksums de sus navegadores; su instalador verifica el tamaño
10
+ // (Content-Length) sobre HTTPS a su CDN. Acá además, al terminar, se corre el ejecutable con --version
11
+ // y se compara con la versión que declara playwright-core; si no coincide, se borra.
12
+ import { spawn } from 'node:child_process';
13
+ import { mkdirSync, readFileSync, rmSync } from 'node:fs';
14
+ import { createRequire } from 'node:module';
15
+ import { dirname, join } from 'node:path';
16
+ import { browsersDir, navegadorDescargado } from './browser.js';
17
+ import { HOSTS_DESCARGA_NAVEGADOR, PolicyError } from './policy.js';
18
+ // Lo que pesa la descarga (zip de Chromium, 186 MB en mac-arm64 con playwright-core 1.64, más ffmpeg,
19
+ // 1,4 MB); descomprimido ocupa el doble (~370 MB). Es un valor para avisar antes de confirmar, no un tope.
20
+ export const TAMANO_APROX_MB = 190;
21
+ export const TAMANO_EN_DISCO_APROX_MB = 370;
22
+ const require = createRequire(import.meta.url);
23
+ function playwrightCore() {
24
+ const pkg = require.resolve('playwright-core/package.json');
25
+ const dir = dirname(pkg);
26
+ const browsers = JSON.parse(readFileSync(join(dir, 'browsers.json'), 'utf8'));
27
+ const chromium = browsers.browsers.find((b) => b.name === 'chromium')?.browserVersion ?? '';
28
+ return { cli: join(dir, 'cli.js'), version: JSON.parse(readFileSync(pkg, 'utf8')).version, chromium };
29
+ }
30
+ export function descripcionDescarga() {
31
+ const { chromium } = playwrightCore();
32
+ return [
33
+ `Se descarga Chromium ("Chrome for Testing" ${chromium}, el que usa Playwright), unos ${TAMANO_APROX_MB} MB de descarga (~${TAMANO_EN_DISCO_APROX_MB} MB en disco), desde los servidores de Playwright (${[...HOSTS_DESCARGA_NAVEGADOR].join(', ')}).`,
34
+ 'Queda en ~/.uade-mcp/browsers, solo para el MCP (no toca el sistema ni otros navegadores). Lo usa para la ventana de inicio de sesión, la renovación de la sesión y Teams.',
35
+ 'Se borra con: uade-mcp borrar-navegador.',
36
+ ].join('\n');
37
+ }
38
+ // Variables con las que Playwright cambiaría de dónde baja o dónde deja los navegadores: no se
39
+ // heredan, así la descarga sale siempre de los hosts documentados y va a la carpeta del MCP.
40
+ const ENV_PROHIBIDA = /^(npm_config_|npm_package_config_)?(playwright_(download_host|chromium_download_host|firefox_download_host|webkit_download_host|cdn_mirrors|browsers_path|host_platform_override)|pw_test_cdn_that_should_work)$/i;
41
+ export function entornoDeDescarga(base, dir) {
42
+ const env = {};
43
+ for (const [k, v] of Object.entries(base))
44
+ if (v !== undefined && !ENV_PROHIBIDA.test(k))
45
+ env[k] = v;
46
+ env.PLAYWRIGHT_BROWSERS_PATH = dir;
47
+ return env;
48
+ }
49
+ // URLs que imprime `install --dry-run` ("Download url:" y "Download fallback N:").
50
+ export function urlsDeDryRun(salida) {
51
+ return [...salida.matchAll(/^\s*Download (?:url|fallback \d+):\s*(\S+)/gm)].map((m) => m[1]);
52
+ }
53
+ export function verificarUrlDeDescarga(raw) {
54
+ let u;
55
+ try {
56
+ u = new URL(raw);
57
+ }
58
+ catch {
59
+ throw new PolicyError('URL de descarga inválida');
60
+ }
61
+ if (u.protocol !== 'https:')
62
+ throw new PolicyError('la descarga del navegador solo va por https');
63
+ if (!HOSTS_DESCARGA_NAVEGADOR.has(u.hostname.toLowerCase()))
64
+ throw new PolicyError(`host de descarga fuera de la allowlist: ${u.hostname}`);
65
+ }
66
+ const correr = (cmd, args, env, log, timeoutMs) => new Promise((resolve, reject) => {
67
+ const cp = spawn(cmd, args, { env, stdio: ['ignore', 'pipe', 'pipe'] });
68
+ let salida = '';
69
+ let resto = '';
70
+ const leer = (chunk) => {
71
+ salida += chunk.toString();
72
+ resto += chunk.toString();
73
+ const lineas = resto.split(/\r?\n/);
74
+ resto = lineas.pop() ?? '';
75
+ for (const l of lineas)
76
+ if (l.trim())
77
+ log(l.trimEnd());
78
+ };
79
+ cp.stdout.on('data', leer);
80
+ cp.stderr.on('data', leer);
81
+ const t = setTimeout(() => { cp.kill(); reject(new Error('la descarga del navegador tardó demasiado')); }, timeoutMs);
82
+ cp.on('error', (e) => { clearTimeout(t); reject(e); });
83
+ cp.on('close', (code) => { clearTimeout(t); if (resto.trim())
84
+ log(resto); resolve({ code, salida }); });
85
+ });
86
+ // Descarga (si hace falta) y devuelve la ruta del ejecutable. Lento: minutos, según la conexión.
87
+ export async function instalarNavegador(op = {}) {
88
+ const log = op.log ?? (() => { });
89
+ const run = op.correr ?? correr;
90
+ const { cli, version, chromium } = playwrightCore();
91
+ const dir = browsersDir();
92
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
93
+ const env = entornoDeDescarga(process.env, dir);
94
+ const args = [cli, 'install', 'chromium', '--no-shell'];
95
+ // 1. Qué bajaría y de dónde, sin bajar nada: cada URL tiene que ser https a un host permitido.
96
+ const plan = await run(process.execPath, [...args, '--dry-run'], env, () => { }, 60_000);
97
+ if (plan.code !== 0)
98
+ throw new Error('no pude planificar la descarga del navegador (playwright-core install --dry-run falló)');
99
+ const urls = urlsDeDryRun(plan.salida);
100
+ if (!urls.length)
101
+ throw new Error('no pude planificar la descarga del navegador (sin URLs en el --dry-run)');
102
+ for (const u of urls)
103
+ verificarUrlDeDescarga(u);
104
+ log(`Descargando Chromium ${chromium} (playwright-core ${version}) desde ${new URL(urls[0]).hostname} a ${dir}…`);
105
+ // 2. La descarga real, con el mismo entorno.
106
+ const r = await run(process.execPath, args, env, log, 30 * 60_000);
107
+ if (r.code !== 0)
108
+ throw new Error('la descarga del navegador falló (revisá la conexión y volvé a intentar)');
109
+ const ruta = navegadorDescargado();
110
+ if (!ruta)
111
+ throw new Error('la descarga terminó pero no encontré el ejecutable del navegador');
112
+ // 3. Que lo que quedó sea el Chromium que playwright-core declara.
113
+ const v = await run(ruta, ['--version'], env, () => { }, 30_000);
114
+ if (chromium && !v.salida.includes(chromium)) {
115
+ borrarNavegador();
116
+ throw new Error('el navegador descargado no es la versión esperada; se borró. Volvé a intentar');
117
+ }
118
+ return ruta;
119
+ }
120
+ // Borra el Chromium propio (toda la carpeta <config>/browsers). true si había algo.
121
+ export function borrarNavegador() {
122
+ const habia = navegadorDescargado() !== null;
123
+ rmSync(browsersDir(), { recursive: true, force: true });
124
+ return habia;
125
+ }
126
+ //# sourceMappingURL=descargar-navegador.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descargar-navegador.js","sourceRoot":"","sources":["../../src/net/descargar-navegador.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,12 @@ export const ALLOWED_HOSTS = new Set([
16
16
  'login.microsoftonline.com',
17
17
  'graph.microsoft.com',
18
18
  ]);
19
+ // Hosts de los que el MCP descarga su Chromium propio (uade-mcp instalar-navegador / uade_login con
20
+ // descargarNavegador), solo en ese paso y solo si la persona lo confirma. Son los servidores de
21
+ // Playwright (su CDN y el de Microsoft detrás). No están en ALLOWED_HOSTS: el cliente HTTP del MCP
22
+ // (safeFetch) sigue sin poder hablarles; los usa src/net/descargar-navegador.ts para verificar las URLs
23
+ // que el instalador de playwright-core dice que va a bajar, antes de bajar nada.
24
+ export const HOSTS_DESCARGA_NAVEGADOR = new Set(['cdn.playwright.dev', 'playwright.download.prss.microsoft.com']);
19
25
  // Se compara contra host + path + query, en minúsculas.
20
26
  export const DENY_RULES = [
21
27
  { pattern: /contenidodesvincular\.aspx/, motivo: 'desvincularse de una materia o aula' },
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/net/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/net/policy.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ import { SessionExpiredError } from '../net/session.js';
18
18
  import { PageChangedError } from '../sources/webcampus/parse.js';
19
19
  import { toolActual } from './contexto.js';
20
20
  export const REPORT_URL = 'https://planuade.ar/api/mcp-error';
21
- export const VERSION = '0.2.1';
21
+ export const VERSION = '0.3.0';
22
22
  // Errores esperables que no son bugs del MCP ni cambios de UADE: no se reportan.
23
23
  const ESPERADOS = [SessionExpiredError, PermissionError, PolicyError, ConfirmationError];
24
24
  // Tapa lo que podría identificar a alguien: mails, números largos (legajo, ids), rutas con usuario,
@@ -31,6 +31,13 @@ export function solapan(a, b) {
31
31
  const norm = (s) => s.normalize('NFD').replace(/[̀-ͯ]/g, '').toUpperCase().trim();
32
32
  // Los cursos intensivos (Campus Costa Argentina, en verano) no se mezclan con la cursada semanal:
33
33
  // solo entran si se piden por turno (INTENSIVO) o por sede (Pinamar / Costa).
34
+ // Mañana, tarde o noche según la hora de inicio; null si la clase no tiene horario.
35
+ export function turnoPorHora(c) {
36
+ const r = rangoHorario(c);
37
+ if (!r)
38
+ return null;
39
+ return r[0] < 13 * 60 ? 'MAÑANA' : r[0] < 18 * 60 ? 'TARDE' : 'NOCHE';
40
+ }
34
41
  export function esIntensivo(c) {
35
42
  return /INTENSIV/.test(norm(c.turno)) || /PINAMAR|COSTA/.test(norm(c.sede));
36
43
  }
@@ -38,8 +45,13 @@ export function pasaFiltros(c, f) {
38
45
  const pideIntensivo = f.turnos?.some((t) => /INTENSIV/.test(norm(t))) || f.sedes?.some((s) => /PINAMAR|COSTA/.test(norm(s)));
39
46
  if (esIntensivo(c) && !pideIntensivo)
40
47
  return false;
41
- if (f.turnos?.length && !f.turnos.some((t) => norm(c.turno).includes(norm(t))))
42
- return false;
48
+ if (f.turnos?.length && !f.turnos.some((t) => norm(c.turno).includes(norm(t)))) {
49
+ // WebCampus clasifica las clases online con turno "ONLINE": pedir "noche" tiene que incluir la
50
+ // online de 18:30. Pasa por su horario; sin horario (asincrónica), pasa cualquier turno pedido.
51
+ const th = /ONLINE|VIRTUAL/.test(norm(c.turno)) ? turnoPorHora(c) : 'NO';
52
+ if (th === 'NO' || (th !== null && !f.turnos.some((t) => norm(t) === norm(th))))
53
+ return false;
54
+ }
43
55
  if (f.sedes?.length && !f.sedes.some((s) => norm(c.sede).includes(norm(s))))
44
56
  return false;
45
57
  if (f.dias?.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sources/planificador/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sources/planificador/index.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  import { createInterface } from 'node:readline/promises';
8
8
  import { chromium } from 'playwright-core';
9
9
  import { findBrowser } from '../../net/browser.js';
10
- import { browserProfileDir, browserProfileExists, SIN_LLAVERO_FALSO } from '../../auth/login.js';
10
+ import { ARGS_NAVEGADOR, browserProfileDir, browserProfileExists, SIN_LLAVERO_FALSO } from '../../auth/login.js';
11
11
  // Mismo perfil que el login general: la sesión de Microsoft es una sola para WebCampus, Teams y el resto.
12
12
  export function teamsProfileDir() {
13
13
  return browserProfileDir();
@@ -28,7 +28,7 @@ async function abrir(headless) {
28
28
  executablePath: findBrowser(),
29
29
  headless,
30
30
  ignoreDefaultArgs: SIN_LLAVERO_FALSO,
31
- args: ['--no-first-run', '--no-default-browser-check'],
31
+ args: ARGS_NAVEGADOR,
32
32
  });
33
33
  }
34
34
  // Login interactivo (comando login-teams): abre Teams, la persona inicia sesión, se cierra guardando el perfil.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sources/teams/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sources/teams/index.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,57 @@
1
+ import { z } from 'zod';
1
2
  import { iniciarSesion, mensajeVentana } from '../auth/login.js';
2
- import { findBrowser } from '../net/browser.js';
3
- export function registerLoginTools(server, login = iniciarSesion) {
3
+ import { COMANDO_INSTALAR, elegirNavegador } from '../net/browser.js';
4
+ import { descripcionDescarga, instalarNavegador } from '../net/descargar-navegador.js';
5
+ const reales = { navegador: () => elegirNavegador(), descargar: () => instalarNavegador(), descripcion: descripcionDescarga };
6
+ export function registerLoginTools(server, login = iniciarSesion, deps = reales) {
4
7
  let estado = { fase: 'nada' };
5
8
  const texto = (t, isError = false) => ({ content: [{ type: 'text', text: t }], isError });
6
9
  server.registerTool('uade_login', {
7
10
  title: 'Open the UADE sign-in window',
8
- description: 'Use this whenever a tool says the session expired. First tries a silent renewal (no window) using the Microsoft session the browser profile remembers; if that is not enough, opens a browser window on the student\'s computer where THEY sign in with their UADE account (the server never sees the password). Returns immediately; the student tells you when they are done, then retry the original tool. Never ask the student for their password.',
11
+ description: 'Use this whenever a tool says the session expired. First tries a silent renewal (no window) using the Microsoft session the browser profile remembers; if that is not enough, opens a browser window on the student\'s computer where THEY sign in with their UADE account (the server never sees the password). Returns immediately; the student tells you when they are done, then retry the original tool. Never ask the student for their password. If the computer has no Chrome, Edge or Brave, the tool explains what it would download (a ~190 MB Chromium for the MCP only) and you must ask the student first; only call again with descargarNavegador=true after they say yes.',
12
+ inputSchema: { descargarNavegador: z.boolean().optional().describe('true only after the student explicitly agreed to download the MCP\'s own Chromium (~190 MB download, ~370 MB on disk).') },
9
13
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
10
- }, async () => {
14
+ }, async ({ descargarNavegador }) => {
11
15
  if (estado.fase === 'abierta') {
12
16
  return texto(`La ventana de inicio de sesión ya está abierta desde hace ${Math.round((Date.now() - estado.desde) / 1000)} s. Pedile a la persona que termine de iniciar sesión ahí y vuelva a intentar.`);
13
17
  }
14
- const silenciosa = await login({ interactivo: false });
15
- if (silenciosa.ok) {
16
- estado = { fase: 'lista', resultado: silenciosa, cuando: Date.now() };
17
- return texto(`Sesión renovada sin ventana: ${silenciosa.guardadas.join(', ')}. Volvé a llamar la tool que había fallado.`);
18
+ if (estado.fase === 'descargando') {
19
+ return texto(`El navegador propio del MCP se sigue descargando (empezó hace ${Math.round((Date.now() - estado.desde) / 1000)} s; son unos minutos según la conexión). Esperá un minuto y volvé a llamar uade_login.`);
20
+ }
21
+ if (estado.fase === 'descarga-fallida') {
22
+ const motivo = estado.motivo;
23
+ estado = { fase: 'nada' };
24
+ return texto(`La descarga del navegador falló: ${motivo}. Se puede volver a intentar con uade_login (descargarNavegador: true) o en una terminal con ${COMANDO_INSTALAR}.`, true);
18
25
  }
19
- let navegador = 'navegador';
26
+ let navegador;
20
27
  try {
21
- navegador = findBrowser().split('/').pop()?.replace(/\.exe$/i, '') ?? navegador;
28
+ navegador = deps.navegador();
22
29
  }
23
30
  catch (err) {
24
31
  return texto(err.message, true);
25
32
  }
33
+ if (!navegador) {
34
+ if (!descargarNavegador) {
35
+ return texto([
36
+ 'En esta compu no hay Chrome, Edge ni Brave, y el MCP necesita un navegador Chromium para la ventana de inicio de sesión (Safari no sirve: no se puede automatizar).',
37
+ 'Preguntale a la persona si quiere que el MCP descargue uno propio, explicándole esto:',
38
+ deps.descripcion(),
39
+ `Si dice que sí, volvé a llamar uade_login con descargarNavegador: true. Si prefiere, puede instalar Chrome, Edge o Brave, o correr en una terminal: ${COMANDO_INSTALAR}.`,
40
+ ].join('\n'));
41
+ }
42
+ estado = { fase: 'descargando', desde: Date.now() };
43
+ deps.descargar().then(() => { estado = { fase: 'nada' }; }, (err) => { estado = { fase: 'descarga-fallida', motivo: err.message }; });
44
+ return texto('Empezó la descarga del navegador propio del MCP (unos minutos, según la conexión). Avisale a la persona y, en un minuto o dos, volvé a llamar uade_login: cuando termine, sigue con el inicio de sesión.');
45
+ }
46
+ const silenciosa = await login({ interactivo: false });
47
+ if (silenciosa.ok) {
48
+ estado = { fase: 'lista', resultado: silenciosa, cuando: Date.now() };
49
+ return texto(`Sesión renovada sin ventana: ${silenciosa.guardadas.join(', ')}. Volvé a llamar la tool que había fallado.`);
50
+ }
26
51
  const promesa = login({ interactivo: true });
27
52
  estado = { fase: 'abierta', desde: Date.now(), promesa };
28
53
  void promesa.then((r) => { estado = { fase: 'lista', resultado: r, cuando: Date.now() }; }, (err) => { estado = { fase: 'lista', resultado: { ok: false, guardadas: [], motivo: err.message }, cuando: Date.now() }; });
29
- return texto(`${silenciosa.motivo ? `No se pudo renovar sola (${silenciosa.motivo}). ` : ''}Se abrió la ventana. Decile a la persona, con estas palabras:\n${mensajeVentana(navegador)}\nCuando avise que terminó, volvé a llamar la tool que había fallado.`);
54
+ return texto(`${silenciosa.motivo ? `No se pudo renovar sola (${silenciosa.motivo}). ` : ''}Se abrió la ventana. Decile a la persona, con estas palabras:\n${mensajeVentana(navegador.nombre)}\nCuando avise que terminó, volvé a llamar la tool que había fallado.`);
30
55
  });
31
56
  server.registerPrompt('login', { title: 'Iniciar sesión en UADE', description: 'Abre la ventana para iniciar sesión en WebCampus con tu cuenta de UADE.' }, () => ({ messages: [{ role: 'user', content: { type: 'text', text: 'Iniciá sesión en UADE: llamá la tool uade_login y decime qué tengo que hacer. Cuando te diga que terminé, confirmame que la sesión quedó bien con webcampus_terms.' } }] }));
32
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/tools/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/tools/login.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uade-mcp",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "MCP no oficial y de solo lectura para alumnos de UADE: WebCampus, inscripciones, apuntes e información oficial. Corre local, sin telemetría.",
5
5
  "keywords": [
6
6
  "mcp",