brightspace-mcp-server 1.2.6 → 1.5.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.
Files changed (134) hide show
  1. package/README.md +9 -2
  2. package/build/api/cache.d.ts +1 -1
  3. package/build/api/cache.js +1 -1
  4. package/build/api/client.d.ts +1 -1
  5. package/build/api/client.d.ts.map +1 -1
  6. package/build/api/client.js +25 -3
  7. package/build/api/client.js.map +1 -1
  8. package/build/api/errors.d.ts +2 -2
  9. package/build/api/errors.js +2 -2
  10. package/build/api/index.d.ts +1 -1
  11. package/build/api/index.js +1 -1
  12. package/build/api/rate-limiter.d.ts +2 -2
  13. package/build/api/rate-limiter.js +2 -2
  14. package/build/api/types.d.ts +1 -1
  15. package/build/api/types.js +1 -1
  16. package/build/api/version-discovery.d.ts +2 -2
  17. package/build/api/version-discovery.js +2 -2
  18. package/build/auth/auth-runner.d.ts +2 -2
  19. package/build/auth/auth-runner.d.ts.map +1 -1
  20. package/build/auth/auth-runner.js +61 -12
  21. package/build/auth/auth-runner.js.map +1 -1
  22. package/build/auth/browser-auth.d.ts +35 -1
  23. package/build/auth/browser-auth.d.ts.map +1 -1
  24. package/build/auth/browser-auth.js +219 -28
  25. package/build/auth/browser-auth.js.map +1 -1
  26. package/build/auth/index.d.ts +5 -2
  27. package/build/auth/index.d.ts.map +1 -1
  28. package/build/auth/index.js +4 -2
  29. package/build/auth/index.js.map +1 -1
  30. package/build/auth/purdue-sso.d.ts +30 -1
  31. package/build/auth/purdue-sso.d.ts.map +1 -1
  32. package/build/auth/purdue-sso.js +144 -17
  33. package/build/auth/purdue-sso.js.map +1 -1
  34. package/build/auth/session-store.d.ts +1 -1
  35. package/build/auth/session-store.js +1 -1
  36. package/build/auth/sso-flow.d.ts +24 -0
  37. package/build/auth/sso-flow.d.ts.map +1 -0
  38. package/build/auth/sso-flow.js +21 -0
  39. package/build/auth/sso-flow.js.map +1 -0
  40. package/build/auth/suny-sso.d.ts +49 -0
  41. package/build/auth/suny-sso.d.ts.map +1 -0
  42. package/build/auth/suny-sso.js +146 -0
  43. package/build/auth/suny-sso.js.map +1 -0
  44. package/build/auth/token-manager.d.ts +29 -2
  45. package/build/auth/token-manager.d.ts.map +1 -1
  46. package/build/auth/token-manager.js +83 -4
  47. package/build/auth/token-manager.js.map +1 -1
  48. package/build/auth/token-mint.d.ts +32 -0
  49. package/build/auth/token-mint.d.ts.map +1 -0
  50. package/build/auth/token-mint.js +71 -0
  51. package/build/auth/token-mint.js.map +1 -0
  52. package/build/auth-cli.d.ts +1 -1
  53. package/build/auth-cli.js +9 -4
  54. package/build/auth-cli.js.map +1 -1
  55. package/build/index.d.ts +1 -1
  56. package/build/index.js +6 -2
  57. package/build/index.js.map +1 -1
  58. package/build/setup.d.ts +2 -2
  59. package/build/setup.js +30 -4
  60. package/build/setup.js.map +1 -1
  61. package/build/tools/download-file.d.ts +6 -2
  62. package/build/tools/download-file.d.ts.map +1 -1
  63. package/build/tools/download-file.js +27 -7
  64. package/build/tools/download-file.js.map +1 -1
  65. package/build/tools/get-announcements.d.ts +65 -2
  66. package/build/tools/get-announcements.d.ts.map +1 -1
  67. package/build/tools/get-announcements.js +69 -25
  68. package/build/tools/get-announcements.js.map +1 -1
  69. package/build/tools/get-assignments.d.ts +8 -2
  70. package/build/tools/get-assignments.d.ts.map +1 -1
  71. package/build/tools/get-assignments.js +76 -17
  72. package/build/tools/get-assignments.js.map +1 -1
  73. package/build/tools/get-classlist-emails.d.ts +2 -2
  74. package/build/tools/get-classlist-emails.js +2 -2
  75. package/build/tools/get-course-content.d.ts +2 -2
  76. package/build/tools/get-course-content.js +2 -2
  77. package/build/tools/get-discussions.d.ts +1 -1
  78. package/build/tools/get-discussions.js +1 -1
  79. package/build/tools/get-my-courses.d.ts +2 -2
  80. package/build/tools/get-my-courses.d.ts.map +1 -1
  81. package/build/tools/get-my-courses.js +10 -4
  82. package/build/tools/get-my-courses.js.map +1 -1
  83. package/build/tools/get-my-grades.d.ts +1 -1
  84. package/build/tools/get-my-grades.js +1 -1
  85. package/build/tools/get-roster.d.ts +2 -2
  86. package/build/tools/get-roster.js +2 -2
  87. package/build/tools/get-syllabus.d.ts +1 -1
  88. package/build/tools/get-syllabus.js +1 -1
  89. package/build/tools/get-upcoming-due-dates.d.ts +2 -2
  90. package/build/tools/get-upcoming-due-dates.d.ts.map +1 -1
  91. package/build/tools/get-upcoming-due-dates.js +121 -45
  92. package/build/tools/get-upcoming-due-dates.js.map +1 -1
  93. package/build/tools/index.d.ts +2 -2
  94. package/build/tools/index.js +2 -2
  95. package/build/tools/schemas.d.ts +3 -3
  96. package/build/tools/schemas.d.ts.map +1 -1
  97. package/build/tools/schemas.js +11 -5
  98. package/build/tools/schemas.js.map +1 -1
  99. package/build/tools/tool-helpers.d.ts +1 -1
  100. package/build/tools/tool-helpers.js +1 -1
  101. package/build/types/index.d.ts +12 -2
  102. package/build/types/index.d.ts.map +1 -1
  103. package/build/types/index.js +2 -2
  104. package/build/update.d.ts +1 -1
  105. package/build/update.js +1 -1
  106. package/build/utils/config-store.d.ts +3 -2
  107. package/build/utils/config-store.d.ts.map +1 -1
  108. package/build/utils/config-store.js +2 -2
  109. package/build/utils/config-store.js.map +1 -1
  110. package/build/utils/config.d.ts +2 -2
  111. package/build/utils/config.d.ts.map +1 -1
  112. package/build/utils/config.js +3 -2
  113. package/build/utils/config.js.map +1 -1
  114. package/build/utils/course-filter.d.ts +2 -2
  115. package/build/utils/course-filter.js +2 -2
  116. package/build/utils/deep-links.d.ts +15 -0
  117. package/build/utils/deep-links.d.ts.map +1 -0
  118. package/build/utils/deep-links.js +31 -0
  119. package/build/utils/deep-links.js.map +1 -0
  120. package/build/utils/download-helpers.d.ts +2 -2
  121. package/build/utils/download-helpers.js +2 -2
  122. package/build/utils/errors.d.ts +2 -2
  123. package/build/utils/errors.js +2 -2
  124. package/build/utils/file-validator.d.ts +2 -2
  125. package/build/utils/file-validator.d.ts.map +1 -1
  126. package/build/utils/file-validator.js +21 -11
  127. package/build/utils/file-validator.js.map +1 -1
  128. package/build/utils/html-converter.d.ts +2 -2
  129. package/build/utils/html-converter.js +2 -2
  130. package/build/utils/logger.d.ts +2 -2
  131. package/build/utils/logger.js +2 -2
  132. package/build/utils/pdf-extractor.d.ts +2 -2
  133. package/build/utils/pdf-extractor.js +2 -2
  134. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Purdue Brightspace MCP Server
3
- * Copyright (c) 2025 Rohan Muppa. All rights reserved.
3
+ * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
4
  * Licensed under MIT — see LICENSE file for details.
5
5
  */
6
6
  import { chromium } from "playwright";
@@ -9,16 +9,32 @@ import * as fs from "node:fs/promises";
9
9
  import * as os from "node:os";
10
10
  import { BrowserAuthError } from "../utils/errors.js";
11
11
  import { log } from "../utils/logger.js";
12
- import { PurdueSSOFlow } from "./purdue-sso.js";
12
+ import { createSSOFlow } from "./sso-flow.js";
13
+ /**
14
+ * The silent-SSO budget. When the D2L session is dead but the Microsoft Entra
15
+ * cookie in the persistent profile is still alive, the SSO chain completes on
16
+ * its own within a few seconds, provided the two no-secret surfaces in its way
17
+ * get clicked. A URL check cannot see any of that, so the wait is a poll on a
18
+ * positive session check instead.
19
+ */
20
+ const SILENT_SSO_TIMEOUT_MS = 30000;
21
+ const SILENT_SSO_POLL_MS = 1000;
22
+ const SILENT_SSO = {
23
+ /** Entra asking who you are. No amount of silent waiting passes it. */
24
+ emailField: "input[type=email], input[name=loginfmt]",
25
+ /** The Brightspace campus selector's own link to the SAML endpoint. */
26
+ campusSaml: 'a[href*="/d2l/lp/auth/saml/initiate-login"]',
27
+ /** Markers unique to the "Stay signed in?" page. */
28
+ kmsiCheckbox: "#KmsiCheckboxField",
29
+ kmsiTitle: "Stay signed in?",
30
+ kmsiSubmit: "#idSIButton9",
31
+ };
13
32
  export class BrowserAuth {
14
33
  config;
15
34
  ssoFlow;
16
35
  constructor(config) {
17
36
  this.config = config;
18
- this.ssoFlow = new PurdueSSOFlow({
19
- username: config.username,
20
- password: config.password,
21
- });
37
+ this.ssoFlow = createSSOFlow(config);
22
38
  }
23
39
  /**
24
40
  * Detect if running inside WSL (Windows Subsystem for Linux) or Docker.
@@ -210,9 +226,10 @@ export class BrowserAuth {
210
226
  : "Login complete — extracting API token from session");
211
227
  const extracted = await this.tryExtractToken(page, context);
212
228
  if (extracted) {
229
+ const material = await this.harvestSessionMaterial(page, context);
213
230
  await this.saveStorageState(context);
214
231
  log("INFO", "Authentication complete");
215
- return extracted;
232
+ return { ...extracted, ...material };
216
233
  }
217
234
  // Last resort for the cookie-restore path: clear cookies, force full
218
235
  // re-login through SSO, and race the passive listener as a final fallback.
@@ -225,9 +242,10 @@ export class BrowserAuth {
225
242
  await this.navigateAndLogin(freshPage);
226
243
  const freshExtracted = await this.tryExtractToken(freshPage, context);
227
244
  if (freshExtracted) {
245
+ const material = await this.harvestSessionMaterial(freshPage, context);
228
246
  await this.saveStorageState(context);
229
247
  log("INFO", "Authentication complete");
230
- return freshExtracted;
248
+ return { ...freshExtracted, ...material };
231
249
  }
232
250
  const accessToken = await freshTokenPromise;
233
251
  log("INFO", "Bearer token captured after forced re-login");
@@ -237,6 +255,7 @@ export class BrowserAuth {
237
255
  capturedAt: now,
238
256
  expiresAt: now + this.config.tokenTtl * 1000,
239
257
  source: "browser",
258
+ ...(await this.harvestSessionMaterial(freshPage, context)),
240
259
  };
241
260
  await this.saveStorageState(context);
242
261
  return tokenData;
@@ -252,6 +271,7 @@ export class BrowserAuth {
252
271
  capturedAt: now,
253
272
  expiresAt: now + this.config.tokenTtl * 1000,
254
273
  source: "browser",
274
+ ...(await this.harvestSessionMaterial(page, context)),
255
275
  };
256
276
  await this.saveStorageState(context);
257
277
  log("INFO", "Authentication complete");
@@ -414,29 +434,30 @@ export class BrowserAuth {
414
434
  waitUntil: "domcontentloaded",
415
435
  timeout: 30000,
416
436
  });
417
- const currentUrl = page.url();
418
- log("DEBUG", `Current URL after navigation: ${currentUrl}`);
419
- // If we were redirected away from /d2l/home, login is required
420
- const needsLogin = !currentUrl.includes("/d2l/home");
421
- if (needsLogin) {
422
- let loginSuccess;
423
- if (this.ssoFlow.hasCredentials()) {
424
- log("INFO", `Login required (redirected to ${currentUrl}) - starting SSO flow`);
425
- loginSuccess = await this.ssoFlow.login(page);
426
- }
427
- else {
428
- log("INFO", `Login required (redirected to ${currentUrl}) - opening browser for manual login`);
429
- loginSuccess = await this.ssoFlow.manualLogin(page);
430
- }
437
+ if (await this.awaitSilentSSO(page)) {
438
+ log("INFO", "Already authenticated - skipping SSO login");
439
+ await this.settle(page);
440
+ return true;
441
+ }
442
+ let loginSuccess;
443
+ if (this.ssoFlow.hasCredentials()) {
444
+ log("INFO", `Login required (stopped at ${page.url()}) - starting SSO flow`);
445
+ loginSuccess = await this.ssoFlow.login(page);
431
446
  if (!loginSuccess) {
432
- throw new BrowserAuthError("SSO login flow failed", "sso_login");
447
+ log("WARN", "Automated SSO flow failed or timed out. Falling back to manual login.");
448
+ log("INFO", "Please complete the login manually in the open browser window.");
449
+ loginSuccess = await this.ssoFlow.manualLogin(page);
433
450
  }
434
- await page.waitForLoadState("networkidle", { timeout: 30000 });
435
- return false;
436
451
  }
437
- log("INFO", "Already authenticated - skipping SSO login");
438
- await page.waitForLoadState("networkidle", { timeout: 30000 });
439
- return true;
452
+ else {
453
+ log("INFO", `Login required (stopped at ${page.url()}) - opening browser for manual login`);
454
+ loginSuccess = await this.ssoFlow.manualLogin(page);
455
+ }
456
+ if (!loginSuccess) {
457
+ throw new BrowserAuthError("Manual login flow failed", "manual_login");
458
+ }
459
+ await this.settle(page);
460
+ return false;
440
461
  }
441
462
  catch (error) {
442
463
  if (error instanceof BrowserAuthError)
@@ -444,6 +465,99 @@ export class BrowserAuth {
444
465
  throw new BrowserAuthError("Failed to navigate and login", "navigate_login", error);
445
466
  }
446
467
  }
468
+ /** Let the page finish loading, without letting a slow one fail the run. */
469
+ async settle(page) {
470
+ try {
471
+ await page.waitForLoadState("domcontentloaded", { timeout: 30000 });
472
+ }
473
+ catch {
474
+ log("DEBUG", "Page wait timed out, proceeding anyway");
475
+ }
476
+ }
477
+ /**
478
+ * Give the SSO chain a bounded window to finish with no human input.
479
+ * Returns true only when the session proves itself live.
480
+ */
481
+ async awaitSilentSSO(page) {
482
+ const deadline = Date.now() + SILENT_SSO_TIMEOUT_MS;
483
+ do {
484
+ if (await this.hasLiveSession(page))
485
+ return true;
486
+ // Fail fast rather than spend the budget on a page that will never
487
+ // advance: a fresh profile otherwise stalls here for the full 30s.
488
+ if (await this.isOnScreen(page, SILENT_SSO.emailField)) {
489
+ log("INFO", "Silent SSO cannot pass an account-name prompt - a credential login is needed");
490
+ return false;
491
+ }
492
+ await this.clickSilentSurfaces(page);
493
+ await page.waitForTimeout(SILENT_SSO_POLL_MS);
494
+ } while (Date.now() < deadline);
495
+ log("DEBUG", `No session after ${SILENT_SSO_TIMEOUT_MS / 1000}s of silent SSO`);
496
+ return false;
497
+ }
498
+ /**
499
+ * A POSITIVE session check, never "the URL doesn't look like a login page".
500
+ * Institutions bounce through intermediate SAML hops with a perfectly live
501
+ * session, and the login stub sets cookies of its own, so both the session
502
+ * cookie and a reachable D2L JS context are required.
503
+ */
504
+ async hasLiveSession(page) {
505
+ try {
506
+ const cookies = await page.context().cookies(this.config.baseUrl);
507
+ if (!cookies.some((c) => c.name === "d2lSessionVal" && Boolean(c.value))) {
508
+ return false;
509
+ }
510
+ return await page.evaluate(() => {
511
+ const d2l = window.D2L;
512
+ return d2l !== undefined && Boolean(d2l.LP);
513
+ });
514
+ }
515
+ catch {
516
+ return false;
517
+ }
518
+ }
519
+ /**
520
+ * Click through the two surfaces that stand between a live Entra cookie and
521
+ * an authenticated D2L page. Neither involves a secret.
522
+ */
523
+ async clickSilentSurfaces(page) {
524
+ const url = page.url();
525
+ if (url.includes("/d2l/login")) {
526
+ // Brightspace renders the campus buttons in a shadow DOM, which
527
+ // Playwright's selectors see through. A configured campus is matched by
528
+ // name; otherwise the selector's own SAML link is the only affordance
529
+ // safe to click blind, and a school that offers neither simply falls
530
+ // through to the SSO flow, which knows its own endpoint.
531
+ const campus = this.config.campus
532
+ ? page.getByText(this.config.campus).first()
533
+ : page.locator(SILENT_SSO.campusSaml).first();
534
+ if (await campus.isVisible().catch(() => false)) {
535
+ await campus.click().catch(() => { });
536
+ log("DEBUG", "Clicked the campus selector");
537
+ }
538
+ return;
539
+ }
540
+ if (!url.includes("login.microsoftonline.com"))
541
+ return;
542
+ // The page must PROVE it is the "Stay signed in?" page before this click:
543
+ // #idSIButton9 is Microsoft's id for the primary button on EVERY sign-in
544
+ // page, "Next" on account name and "Sign in" on password, so clicking it
545
+ // unguarded submits an empty form once a second while the log claims it
546
+ // answered Yes. Two markers because tenant policy can hide the checkbox.
547
+ const onKmsiPage = (await this.isOnScreen(page, SILENT_SSO.kmsiCheckbox)) ||
548
+ (await page.getByText(SILENT_SSO.kmsiTitle).first().isVisible().catch(() => false));
549
+ if (!onKmsiPage)
550
+ return;
551
+ const yes = page.locator(SILENT_SSO.kmsiSubmit).first();
552
+ if (await yes.isVisible().catch(() => false)) {
553
+ await yes.click().catch(() => { });
554
+ log("DEBUG", 'Clicked Yes on "Stay signed in?"');
555
+ }
556
+ }
557
+ /** Visibility without the actionability wait, so a poll keeps its rhythm. */
558
+ async isOnScreen(page, selector) {
559
+ return page.locator(selector).first().isVisible().catch(() => false);
560
+ }
447
561
  /**
448
562
  * Try to extract Bearer token from D2L's localStorage.
449
563
  * D2L stores API tokens in localStorage under "D2L.Fetch.Tokens".
@@ -486,6 +600,83 @@ export class BrowserAuth {
486
600
  return null;
487
601
  }
488
602
  }
603
+ /**
604
+ * Harvest the material that lets the token manager mint a fresh JWT later
605
+ * without relaunching this browser: the two D2L session cookies plus the
606
+ * XSRF token. Best effort. A missing piece only costs the cheap refresh
607
+ * path, so it is logged at DEBUG and the fields are left undefined.
608
+ */
609
+ async harvestSessionMaterial(page, context) {
610
+ const material = {};
611
+ try {
612
+ const cookies = await context.cookies(this.config.baseUrl);
613
+ const parts = [];
614
+ for (const name of ["d2lSessionVal", "d2lSecureSessionVal"]) {
615
+ const found = cookies.find((c) => c.name === name);
616
+ if (found)
617
+ parts.push(`${name}=${found.value}`);
618
+ }
619
+ if (parts.length === 2) {
620
+ material.cookieHeader = parts.join("; ");
621
+ }
622
+ else {
623
+ log("DEBUG", `Session cookie harvest incomplete: found ${parts.length} of 2`);
624
+ }
625
+ }
626
+ catch (error) {
627
+ log("DEBUG", "Session cookie harvest failed", error);
628
+ }
629
+ const xsrfToken = await this.extractXsrfOnly(page);
630
+ if (xsrfToken) {
631
+ material.csrfToken = xsrfToken;
632
+ }
633
+ else {
634
+ log("DEBUG", "No XSRF token harvested, later token minting is unavailable");
635
+ }
636
+ log("DEBUG", `Session material harvested: cookies=${material.cookieHeader !== undefined}, xsrf=${material.csrfToken !== undefined}`);
637
+ return material;
638
+ }
639
+ /**
640
+ * Read the real XSRF token, and nothing else. Deliberately separate from
641
+ * extractXsrfToken: that one falls back to a loose localStorage scan which
642
+ * can return a JWT, and a JWT in the x-csrf-token header makes the mint 403.
643
+ */
644
+ async extractXsrfOnly(page) {
645
+ try {
646
+ // The D2L JS context only exists on a Brightspace page, and the
647
+ // extraction chain may have parked us on a raw API response.
648
+ if (!page.url().includes("/d2l/home")) {
649
+ await page.goto(`${this.config.baseUrl}/d2l/home`, {
650
+ waitUntil: "networkidle",
651
+ timeout: 15000,
652
+ });
653
+ }
654
+ return await page.evaluate(() => {
655
+ const d2l = window.D2L;
656
+ try {
657
+ const lp = d2l?.LP;
658
+ const web = lp?.Web;
659
+ const auth = web?.Authentication;
660
+ const xsrf = auth?.Xsrf;
661
+ const getToken = xsrf?.GetXsrfToken;
662
+ if (getToken) {
663
+ const value = getToken();
664
+ if (value)
665
+ return value;
666
+ }
667
+ }
668
+ catch {
669
+ // Not available on this page
670
+ }
671
+ const metaToken = document.querySelector('meta[name="d2l-xsrf-token"]');
672
+ return metaToken ? metaToken.getAttribute("content") : null;
673
+ });
674
+ }
675
+ catch (error) {
676
+ log("DEBUG", "XSRF-only extraction failed", error);
677
+ return null;
678
+ }
679
+ }
489
680
  /**
490
681
  * Try to extract XSRF/API token from D2L's JavaScript context.
491
682
  * Brightspace stores auth tokens in the page's JS globals.
@@ -1 +1 @@
1
- {"version":3,"file":"browser-auth.js","sourceRoot":"","sources":["../../src/auth/browser-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-auth.js","sourceRoot":"","sources":["../../src/auth/browser-auth.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * Purdue Brightspace MCP Server
3
- * Copyright (c) 2025 Rohan Muppa. All rights reserved.
4
- * Licensed under AGPL-3.0 — see LICENSE file for details.
3
+ * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
+ * Licensed under MIT — see LICENSE file for details.
5
5
  */
6
6
  export { BrowserAuth } from "./browser-auth.js";
7
7
  export { PurdueSSOFlow } from "./purdue-sso.js";
8
+ export { SunySSOFlow, isSunyBrightspace } from "./suny-sso.js";
9
+ export { createSSOFlow } from "./sso-flow.js";
10
+ export type { SSOFlow } from "./sso-flow.js";
8
11
  export { TokenManager } from "./token-manager.js";
9
12
  export { SessionStore } from "./session-store.js";
10
13
  export { AuthRunner } from "./auth-runner.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * Purdue Brightspace MCP Server
3
- * Copyright (c) 2025 Rohan Muppa. All rights reserved.
4
- * Licensed under AGPL-3.0 — see LICENSE file for details.
3
+ * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
+ * Licensed under MIT — see LICENSE file for details.
5
5
  */
6
6
  export { BrowserAuth } from "./browser-auth.js";
7
7
  export { PurdueSSOFlow } from "./purdue-sso.js";
8
+ export { SunySSOFlow, isSunyBrightspace } from "./suny-sso.js";
9
+ export { createSSOFlow } from "./sso-flow.js";
8
10
  export { TokenManager } from "./token-manager.js";
9
11
  export { SessionStore } from "./session-store.js";
10
12
  export { AuthRunner } from "./auth-runner.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Purdue Brightspace MCP Server
3
- * Copyright (c) 2025 Rohan Muppa. All rights reserved.
3
+ * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
4
  * Licensed under MIT — see LICENSE file for details.
5
5
  */
6
6
  import type { Page } from "playwright";
@@ -30,7 +30,36 @@ export declare class PurdueSSOFlow {
30
30
  manualLogin(page: Page): Promise<boolean>;
31
31
  private handleCampusSelector;
32
32
  private enterCredentials;
33
+ /**
34
+ * Resolve a control only when it is actually on screen.
35
+ *
36
+ * Entra is a single-page app: the account-name view stays in the DOM once
37
+ * the password view replaces it, so a plain page.$() returns the hidden
38
+ * first-page input or button that precedes the live one in document order.
39
+ * Filling or clicking those stalls on Playwright's actionability wait.
40
+ */
41
+ private findVisible;
42
+ /**
43
+ * Advance Microsoft Entra's account-name page.
44
+ *
45
+ * That page carries a password box of its own, and Playwright reports it as
46
+ * visible, so presence cannot tell it apart from a single-page form. The
47
+ * button label can: it reads "Next" there and "Sign in" on the view that
48
+ * follows. Filling the password against the account-name page leaves the
49
+ * browser parked with both fields populated and nothing submitted.
50
+ */
51
+ private submitAccountName;
33
52
  private handleMFA;
53
+ /**
54
+ * Log Entra's number-match digits until the MFA wait is over.
55
+ *
56
+ * Only a CHANGED value is logged: Entra re-mints the number whenever the
57
+ * user asks for a new request, and repeating the same digits every two
58
+ * seconds would bury everything else in the log.
59
+ */
60
+ private watchNumberMatch;
61
+ /** The digits on screen, or null when Entra is not showing any. */
62
+ private readNumberMatch;
34
63
  private handleStaySignedIn;
35
64
  }
36
65
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"purdue-sso.d.ts","sourceRoot":"","sources":["../../src/auth/purdue-sso.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAWvC,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAInC;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BzC;;;OAGG;IACG,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;YAoBjC,oBAAoB;YAepB,gBAAgB;YAkChB,SAAS;YA8BT,kBAAkB;CAiBjC"}
1
+ {"version":3,"file":"purdue-sso.d.ts","sourceRoot":"","sources":["../../src/auth/purdue-sso.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAiB,IAAI,EAAE,MAAM,YAAY,CAAC;AAyCtD,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAInC;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BzC;;;OAGG;IACG,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;YAoBjC,oBAAoB;YAepB,gBAAgB;IAuD9B;;;;;;;OAOG;YACW,WAAW;IAUzB;;;;;;;;OAQG;YACW,iBAAiB;YAiBjB,SAAS;IA2CvB;;;;;;OAMG;YACW,gBAAgB;IAoB9B,mEAAmE;YACrD,eAAe;YASf,kBAAkB;CAiBjC"}