New:Socket for Asana Is Now Available.Learn more
Get Started

campus-cli

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

campus-cli - npm Package Compare versions

Comparing version
2.1.0
to
2.2.0
+11
-1
CHANGELOG.md

@@ -7,6 +7,16 @@ # Changelog

## [2.2.0] — 2026-08-26
### Added
- `banner_get_weekly_schedule` pasa a ser el nombre principal del horario de Banner, consistente con los prefijos `blackboard_` y `uclass_`.
### Changed
- `campus_get_weekly_schedule` se mantiene como alias deprecado para no romper integraciones existentes.
---
## [2.1.0] — 2026-08-26
### Added
- `banner_get_weekly_schedule` — devuelve el horario semanal de Banner con días, horas, cursos y aulas; excluye matrículas retiradas o anuladas.
- `campus_get_weekly_schedule` — devuelve el horario semanal de Banner con días, horas, cursos y aulas; excluye matrículas retiradas o anuladas.
- Soporte para UClass y las tools asociadas, para consultar las integraciones académicas disponibles desde Campus.

@@ -13,0 +23,0 @@ - `blackboard_list_messages` y el comando equivalente para consultar mensajes de Blackboard sin abrir el navegador.

+2
-1

@@ -31,5 +31,6 @@ "use strict";

campus_get_weekly_schedule consulta la matrícula UPC en Banner y devuelve el
banner_get_weekly_schedule consulta la matrícula UPC en Banner y devuelve el
horario semanal de lunes a domingo. Úsala para responder qué clases tiene el
estudiante, a qué hora y en qué aula; acepta un código de período opcional.
campus_get_weekly_schedule continúa disponible como alias deprecado.

@@ -36,0 +37,0 @@ Para entregas: blackboard_upload_attempt_file sube cada archivo/imagen y

@@ -10,12 +10,8 @@ "use strict";

function registerBannerTools(server) {
server.registerTool('campus_get_weekly_schedule', {
description: 'Get the student\'s UPC weekly class schedule from their Banner registrations. ' +
'Returns classes grouped Monday through Sunday, including time, room, building, section and courses without scheduled meetings. ' +
'Uses the active term by default; pass term to consult a registered past term.',
inputSchema: {
term: zod_1.z.string().regex(/^\d{6}$/, 'term must be a six-digit Banner term code, e.g. 202610').optional()
.describe('Optional Banner term code. Omit to use the active enrollment term.'),
},
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
}, async ({ term }) => {
const inputSchema = {
term: zod_1.z.string().regex(/^\d{6}$/, 'term must be a six-digit Banner term code, e.g. 202610').optional()
.describe('Optional Banner term code. Omit to use the active enrollment term.'),
};
const annotations = { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false };
const handler = async ({ term }) => {
const client = (0, client_js_1.createBannerClient)(await (0, login_js_1.loadOrRefreshBannerSession)());

@@ -33,3 +29,15 @@ const terms = await (0, registration_js_1.listStudentTerms)(client);

};
});
};
server.registerTool('banner_get_weekly_schedule', {
description: 'Get the student\'s UPC weekly class schedule from their Banner registrations. ' +
'Returns classes grouped Monday through Sunday, including time, room, building, section and courses without scheduled meetings. ' +
'Uses the active term by default; pass term to consult a registered past term.',
inputSchema,
annotations,
}, handler);
server.registerTool('campus_get_weekly_schedule', {
description: 'Deprecated alias for banner_get_weekly_schedule. Use banner_get_weekly_schedule for new integrations.',
inputSchema,
annotations,
}, handler);
}
{
"name": "campus-cli",
"version": "2.1.0",
"version": "2.2.0",
"description": "Conecta Blackboard UPC con ChatGPT y Claude vía MCP, o úsalo desde la terminal — CLI/MCP no oficial para el campus universitario (Blackboard, Canvas, Moodle...)",

@@ -5,0 +5,0 @@ "mcpName": "io.github.alejooroncoy/campus-cli",

@@ -198,3 +198,3 @@ # campus-cli

Además de las herramientas de Blackboard, el MCP incluye `campus_get_weekly_schedule`: consulta tu matrícula en Banner UPC y organiza las clases de lunes a domingo. Por defecto usa el período activo; también puedes pasar un código de período si quieres revisar un ciclo anterior.
Además de las herramientas de Blackboard, el MCP incluye `banner_get_weekly_schedule`: consulta tu matrícula en Banner UPC y organiza las clases de lunes a domingo. Por defecto usa el período activo; también puedes pasar un código de período si quieres revisar un ciclo anterior. `campus_get_weekly_schedule` sigue disponible como alias deprecado para integraciones existentes.

@@ -315,3 +315,3 @@ ### Claude Code

Las herramientas de Aula Virtual usan el prefijo `blackboard_`; `campus_get_weekly_schedule` consulta la matrícula en Banner UPC. Las de UPC Class usan `uclass_`: entregan fuentes estructuradas para que la IA conectada (Codex, Claude, ChatGPT, etc.) las interprete, sin enviar la grabación a una IA propia del CLI.
Las herramientas de Aula Virtual usan el prefijo `blackboard_`; `banner_get_weekly_schedule` consulta la matrícula en Banner UPC. Las de UPC Class usan `uclass_`: entregan fuentes estructuradas para que la IA conectada (Codex, Claude, ChatGPT, etc.) las interprete, sin enviar la grabación a una IA propia del CLI.

@@ -340,3 +340,4 @@ | Herramienta | Descripción |

| `blackboard_raw_api` | API pública de Blackboard; los métodos que modifican datos piden confirmación directa |
| `campus_get_weekly_schedule` | Horario semanal UPC de la matrícula activa (horas, aulas, secciones y cursos sin clase presencial) |
| `banner_get_weekly_schedule` | Horario semanal UPC de la matrícula activa (horas, aulas, secciones y cursos sin clase presencial) |
| `campus_get_weekly_schedule` | Alias deprecado de `banner_get_weekly_schedule`; se mantiene temporalmente por compatibilidad |
| `uclass_list_recordings` | Grabaciones publicadas de UPC Class para un curso Blackboard |

@@ -343,0 +344,0 @@ | `uclass_search_transcript` | Fragmentos con contexto y marcas de tiempo de una transcripción de Class |