brightspace-mcp-server 1.1.7 → 1.1.8

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
@@ -17,134 +17,63 @@ Works with any school that uses D2L Brightspace, including Purdue, USC, and hund
17
17
  > "Download my lecture slides and turn them into interactive flashcards"
18
18
  > "Grab every assignment rubric and build me a visual dashboard of what I need to hit for an A"
19
19
 
20
- ## Steps to Install
20
+ ## Install
21
21
 
22
22
  **You need:** [Node.js 18+](https://nodejs.org/) (download the LTS version)
23
23
 
24
- **Purdue students:**
25
- ```bash
26
- npx brightspace-mcp-server setup --purdue
27
- ```
24
+ **Option 1: Let your AI do it**
25
+
26
+ Paste this into Claude Code, Cursor chat, Windsurf, Copilot, Codex, or any AI coding assistant:
28
27
 
29
- **Everyone else:**
30
- ```bash
31
- npx brightspace-mcp-server setup
32
28
  ```
29
+ I want to connect my Brightspace LMS to this AI client using the brightspace-mcp-server package on npm. Here's the repo: https://github.com/RohanMuppa/brightspace-mcp-server
33
30
 
34
- This command might take a few minutes to download, especially on Windows. Please be patient.
31
+ Do everything needed to get it working:
35
32
 
36
- The wizard handles everything: credentials, MFA, and configuring your AI client. When it's done, restart Claude/Cursor and start asking questions.
33
+ 1. First, check if Node.js 18+ is installed. If not, tell me how to install it and stop.
37
34
 
38
- That's it! You're ready to go.
35
+ 2. Run the setup wizard to save my Brightspace credentials:
36
+ npx brightspace-mcp-server setup
37
+ (If I'm a Purdue student, use: npx brightspace-mcp-server setup --purdue)
38
+ This will open a browser for login and MFA. Let me complete that before continuing.
39
39
 
40
- ## Manual Configuration
40
+ 3. After setup finishes, configure this AI client to use the MCP server.
41
+ The server command is: npx -y brightspace-mcp-server@latest
42
+ Search the internet for how to configure MCP servers in general for
43
+ whatever client I'm using. Every client has a different config format
44
+ and file path. On Windows, npx must be wrapped with cmd /c.
41
45
 
42
- The setup wizard auto-configures Claude Desktop and Cursor. For other clients, add the server manually:
46
+ 4. Tell me to restart this AI client so it picks up the new MCP server.
47
+ ```
43
48
 
44
- > **💡 Tip:** Already using Claude Code, Codex, or another AI coding assistant? Just paste this GitHub link and ask it to configure the Brightspace MCP for you: `https://github.com/RohanMuppa/brightspace-mcp-server`
49
+ **Option 2: Run it yourself**
45
50
 
46
- **Claude Code (CLI):**
47
51
  ```bash
48
- claude mcp add brightspace -- npx -y brightspace-mcp-server@latest
52
+ npx brightspace-mcp-server setup
49
53
  ```
50
54
 
51
- **Claude Desktop** (`~/Library/Application Support/Claude/claude_desktop_config.json` on Mac, `%APPDATA%\Claude\claude_desktop_config.json` on Windows):
52
-
53
- Mac/Linux:
54
- ```json
55
- {
56
- "mcpServers": {
57
- "brightspace": {
58
- "command": "npx",
59
- "args": ["-y", "brightspace-mcp-server@latest"]
60
- }
61
- }
62
- }
63
- ```
55
+ Purdue students can add `--purdue` to skip entering the school URL:
64
56
 
65
- Windows:
66
- ```json
67
- {
68
- "mcpServers": {
69
- "brightspace": {
70
- "command": "cmd",
71
- "args": ["/c", "npx", "-y", "brightspace-mcp-server@latest"]
72
- }
73
- }
74
- }
57
+ ```bash
58
+ npx brightspace-mcp-server setup --purdue
75
59
  ```
76
60
 
77
- **ChatGPT Desktop** (Settings Tools Add MCP tool "Add manually"):
61
+ The wizard walks you through login, MFA, and auto configures Claude Desktop and Cursor. Restart your AI client when it finishes.
78
62
 
79
- Mac/Linux:
80
- ```json
81
- {
82
- "command": "npx",
83
- "args": ["-y", "brightspace-mcp-server@latest"]
84
- }
85
- ```
63
+ <details>
64
+ <summary>Using a different client? Configure it manually.</summary>
86
65
 
87
- Windows:
88
- ```json
89
- {
90
- "command": "cmd",
91
- "args": ["/c", "npx", "-y", "brightspace-mcp-server@latest"]
92
- }
93
- ```
66
+ Search your client's docs for how to add an MCP server. The server command to register is:
94
67
 
95
- **Cursor** (`~/.cursor/mcp.json`):
96
-
97
- Mac/Linux:
98
- ```json
99
- {
100
- "mcpServers": {
101
- "brightspace": {
102
- "command": "npx",
103
- "args": ["-y", "brightspace-mcp-server@latest"]
104
- }
105
- }
106
- }
107
68
  ```
108
-
109
- Windows:
110
- ```json
111
- {
112
- "mcpServers": {
113
- "brightspace": {
114
- "command": "cmd",
115
- "args": ["/c", "npx", "-y", "brightspace-mcp-server@latest"]
116
- }
117
- }
118
- }
69
+ npx -y brightspace-mcp-server@latest
119
70
  ```
120
71
 
121
- **Windsurf** (`~/.windsurf/mcp.json`):
122
-
123
- Mac/Linux:
124
- ```json
125
- {
126
- "mcpServers": {
127
- "brightspace": {
128
- "command": "npx",
129
- "args": ["-y", "brightspace-mcp-server@latest"]
130
- }
131
- }
132
- }
133
- ```
72
+ On **Windows**, npx must be wrapped: `cmd /c npx -y brightspace-mcp-server@latest`
134
73
 
135
- Windows:
136
- ```json
137
- {
138
- "mcpServers": {
139
- "brightspace": {
140
- "command": "cmd",
141
- "args": ["/c", "npx", "-y", "brightspace-mcp-server@latest"]
142
- }
143
- }
144
- }
145
- ```
74
+ You still need to run `npx brightspace-mcp-server setup` first to save your credentials.
146
75
 
147
- After adding, restart your AI client. You still need to run `npx brightspace-mcp-server setup` first to save your credentials.
76
+ </details>
148
77
 
149
78
  ## Session Expired?
150
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"browser-auth.d.ts","sourceRoot":"","sources":["../../src/auth/browser-auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9D,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAgB;gBAEnB,MAAM,EAAE,SAAS;IAQ7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAwB5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAiB1B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAgMxC;;;OAGG;YACW,aAAa;IAmC3B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+B9B;;;OAGG;YACW,gBAAgB;IAuC9B;;;OAGG;YACW,wBAAwB;IAyCtC;;;OAGG;YACW,gBAAgB;IAgE9B;;;OAGG;YACW,kBAAkB;IAiChC;;;OAGG;YACW,gBAAgB;YAqFhB,gBAAgB;IAa9B;;;;;OAKG;YACW,sBAAsB;IA4BpC;;;;;OAKG;YACW,mBAAmB;CAWlC"}
1
+ {"version":3,"file":"browser-auth.d.ts","sourceRoot":"","sources":["../../src/auth/browser-auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9D,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAgB;gBAEnB,MAAM,EAAE,SAAS;IAQ7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAwB5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAiB1B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAwMxC;;;OAGG;YACW,aAAa;IAmC3B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+B9B;;;OAGG;YACW,gBAAgB;IA8C9B;;;OAGG;YACW,wBAAwB;IAyCtC;;;OAGG;YACW,gBAAgB;IAgE9B;;;OAGG;YACW,kBAAkB;IAiChC;;;OAGG;YACW,gBAAgB;YAqFhB,gBAAgB;IAa9B;;;;;OAKG;YACW,sBAAsB;IA4BpC;;;;;OAKG;YACW,mBAAmB;CAWlC"}
@@ -81,8 +81,13 @@ export class BrowserAuth {
81
81
  // On Windows, if the browser is killed by antivirus or force-closed, these
82
82
  // lock files persist and prevent all future auth attempts.
83
83
  await this.clearStaleLockFiles(browserDataDir);
84
+ // Force headed mode when no credentials — user must interact with the browser
85
+ const headless = this.ssoFlow.hasCredentials() ? this.config.headless : false;
86
+ if (!this.ssoFlow.hasCredentials() && this.config.headless) {
87
+ log("INFO", "Overriding headless mode — browser must be visible for manual login");
88
+ }
84
89
  const launchOptions = {
85
- headless: this.config.headless,
90
+ headless,
86
91
  viewport: { width: 1280, height: 720 },
87
92
  args: BrowserAuth.buildChromiumArgs(),
88
93
  timeout: 60000,
@@ -94,7 +99,9 @@ export class BrowserAuth {
94
99
  await this.loadStorageState(context);
95
100
  const page = context.pages()[0] || (await context.newPage());
96
101
  // CRITICAL: Set up token interception BEFORE navigation
97
- const tokenPromise = this.setupTokenInterception(page);
102
+ // Use longer timeout for manual login (5 min) vs automated SSO (2 min)
103
+ const interceptTimeout = this.ssoFlow.hasCredentials() ? 120000 : 300000;
104
+ const tokenPromise = this.setupTokenInterception(page, interceptTimeout);
98
105
  // Navigate and login if needed
99
106
  const alreadyAuthenticated = await this.navigateAndLogin(page);
100
107
  // If already authenticated via cookies, Bearer tokens won't appear in
@@ -271,11 +278,11 @@ export class BrowserAuth {
271
278
  * Set up passive network request listener to capture Bearer token.
272
279
  * MUST be called BEFORE page.goto() to avoid race condition.
273
280
  */
274
- setupTokenInterception(page) {
281
+ setupTokenInterception(page, timeoutMs = 120000) {
275
282
  return new Promise((resolve, reject) => {
276
283
  const timeout = setTimeout(() => {
277
- reject(new BrowserAuthError("Token interception timed out after 120 seconds", "token_interception"));
278
- }, 120000);
284
+ reject(new BrowserAuthError(`Token interception timed out after ${timeoutMs / 1000} seconds`, "token_interception"));
285
+ }, timeoutMs);
279
286
  page.on("request", (request) => {
280
287
  const url = request.url();
281
288
  // Look for any request with a Bearer token
@@ -308,8 +315,15 @@ export class BrowserAuth {
308
315
  // If we were redirected away from /d2l/home, login is required
309
316
  const needsLogin = !currentUrl.includes("/d2l/home");
310
317
  if (needsLogin) {
311
- log("INFO", `Login required (redirected to ${currentUrl}) - starting SSO flow`);
312
- const loginSuccess = await this.ssoFlow.login(page);
318
+ let loginSuccess;
319
+ if (this.ssoFlow.hasCredentials()) {
320
+ log("INFO", `Login required (redirected to ${currentUrl}) - starting SSO flow`);
321
+ loginSuccess = await this.ssoFlow.login(page);
322
+ }
323
+ else {
324
+ log("INFO", `Login required (redirected to ${currentUrl}) - opening browser for manual login`);
325
+ loginSuccess = await this.ssoFlow.manualLogin(page);
326
+ }
313
327
  if (!loginSuccess) {
314
328
  throw new BrowserAuthError("SSO login flow failed", "sso_login");
315
329
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser-auth.js","sourceRoot":"","sources":["../../src/auth/browser-auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,OAAO,WAAW;IACd,MAAM,CAAY;IAClB,OAAO,CAAgB;IAE/B,YAAY,MAAiB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,aAAa;QAC1B,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC9E,IAAI,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;gBAAE,OAAO,IAAI,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QACD,IAAI,CAAC;YACH,iEAAiE;YACjE,OAAO,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,aAAa;QACf,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC1E,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,iBAAiB;QAC9B,MAAM,IAAI,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAE/D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,oEAAoE;YACpE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC;YAChC,yFAAyF;YACzF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;YACtD,GAAG,CAAC,MAAM,EAAE,wEAAwE,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,OAAO,GAA0B,IAAI,CAAC;QAE1C,IAAI,CAAC;YACH,GAAG,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;YAE/C,MAAM,SAAS,GAAuC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC1E,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAElD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAEzE,6EAA6E;YAC7E,2EAA2E;YAC3E,2DAA2D;YAC3D,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAE/C,MAAM,aAAa,GAAG;gBACpB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAW;gBAC/C,IAAI,EAAE,WAAW,CAAC,iBAAiB,EAAE;gBACrC,OAAO,EAAE,KAAK;aACf,CAAC;YAEF,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAE3E,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;YAExC,iEAAiE;YACjE,8EAA8E;YAC9E,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAE7D,wDAAwD;YACxD,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAEvD,+BAA+B;YAC/B,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE/D,sEAAsE;YACtE,kEAAkE;YAClE,4EAA4E;YAC5E,IAAI,oBAAoB,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAC;gBAEpE,sEAAsE;gBACtE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBACpE,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;oBAC1D,IAAI,KAAK,EAAE,CAAC;wBACV,GAAG,CAAC,MAAM,EAAE,gDAAgD,CAAC,CAAC;wBAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACvB,MAAM,SAAS,GAAc;4BAC3B,WAAW,EAAE,iBAAiB;4BAC9B,UAAU,EAAE,GAAG;4BACf,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI;4BAC5C,MAAM,EAAE,SAAS;yBAClB,CAAC;wBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBACrC,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,GAAG,CAAC,MAAM,EAAE,mEAAmE,CAAC,CAAC;gBACnF,CAAC;gBAED,0EAA0E;gBAC1E,IAAI,CAAC;oBACH,GAAG,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAC;oBACpE,MAAM,IAAI,CAAC,IAAI,CACb,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,+BAA+B,EACrD,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,OAAO,EAAE,oDAAoD,CAAC,CAAC;gBACrE,CAAC;gBAED,sEAAsE;gBACtE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;oBAClD,IAAI,KAAK,EAAE,CAAC;wBACV,GAAG,CAAC,MAAM,EAAE,8CAA8C,CAAC,CAAC;wBAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACvB,MAAM,SAAS,GAAc;4BAC3B,WAAW,EAAE,SAAS;4BACtB,UAAU,EAAE,GAAG;4BACf,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI;4BAC5C,MAAM,EAAE,SAAS;yBAClB,CAAC;wBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBACrC,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,GAAG,CAAC,MAAM,EAAE,oDAAoD,CAAC,CAAC;gBACpE,CAAC;gBAED,gEAAgE;gBAChE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC3D,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;oBACpD,IAAI,KAAK,EAAE,CAAC;wBACV,GAAG,CAAC,MAAM,EAAE,6CAA6C,CAAC,CAAC;wBAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACvB,MAAM,SAAS,GAAc;4BAC3B,WAAW,EAAE,WAAW;4BACxB,UAAU,EAAE,GAAG;4BACf,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI;4BAC5C,MAAM,EAAE,SAAS;yBAClB,CAAC;wBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBACrC,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,GAAG,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAC;gBACtE,CAAC;gBAED,gEAAgE;gBAChE,GAAG,CAAC,MAAM,EAAE,uEAAuE,CAAC,CAAC;gBACrF,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC7B,gEAAgE;gBAChE,iEAAiE;gBACjE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC;gBAC5C,GAAG,CAAC,MAAM,EAAE,6CAA6C,CAAC,CAAC;gBAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAc;oBAC3B,WAAW;oBACX,UAAU,EAAE,GAAG;oBACf,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI;oBAC5C,MAAM,EAAE,SAAS;iBAClB,CAAC;gBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,kDAAkD;YAClD,GAAG,CAAC,MAAM,EAAE,oDAAoD,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC;YACvC,GAAG,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;YAElD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,SAAS,GAAc;gBAC3B,WAAW;gBACX,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI;gBAC5C,MAAM,EAAE,SAAS;aAClB,CAAC;YAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACrC,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,GAAG,CAAC,OAAO,EAAE,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAErD,kDAAkD;YAClD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,IAAI,MAAM,CAAC,QAAQ,CAAC,iDAAiD,CAAC,EAAE,CAAC;oBACvE,IAAI,GAAG,gHAAgH,CAAC;gBAC1H,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjE,IAAI,GAAG,iHAAiH,CAAC;gBAC3H,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpE,IAAI,GAAG,0JAA0J,CAAC;gBACpK,CAAC;YACH,CAAC;YACD,IAAI,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBACzH,IAAI,GAAG,2GAA2G,CAAC;YACrH,CAAC;YAED,MAAM,IAAI,gBAAgB,CACxB,wBAAwB,IAAI,EAAE,EAC9B,cAAc,EACd,KAAc,CACf,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,iFAAiF;oBACjF,kFAAkF;oBAClF,GAAG,CAAC,OAAO,EAAE,mDAAmD,EAAE,UAAU,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAAC,KAAa;QACvC,IAAI,CAAC;YACH,MAAM,OAAO,GAA2B;gBACtC,YAAY,EACV,uHAAuH;aAC1H,CAAC;YAEF,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;YAC/C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,+BAA+B,EACrD;gBACE,MAAM,EAAE,KAAK;gBACb,OAAO;gBACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC,CACF,CAAC;YAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,GAAG,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,GAAG,CAAC,OAAO,EAAE,iCAAiC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,OAAO,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,IAAU;QACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,MAAM,CACJ,IAAI,gBAAgB,CAClB,gDAAgD,EAChD,oBAAoB,CACrB,CACF,CAAC;YACJ,CAAC,EAAE,MAAM,CAAC,CAAC;YAEX,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBAE1B,2CAA2C;gBAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC;oBAEtD,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBACnD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wBACrD,GAAG,CAAC,OAAO,EAAE,kCAAkC,GAAG,EAAE,CAAC,CAAC;wBACtD,YAAY,CAAC,OAAO,CAAC,CAAC;wBACtB,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAAU;QACvC,IAAI,CAAC;YACH,GAAG,CAAC,MAAM,EAAE,iBAAiB,IAAI,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,WAAW,EAAE;gBACjD,SAAS,EAAE,kBAAkB;gBAC7B,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,GAAG,CAAC,OAAO,EAAE,iCAAiC,UAAU,EAAE,CAAC,CAAC;YAE5D,+DAA+D;YAC/D,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAErD,IAAI,UAAU,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,EAAE,iCAAiC,UAAU,uBAAuB,CAAC,CAAC;gBAChF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEpD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;gBACnE,CAAC;gBAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,GAAG,CAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB;gBAAE,MAAM,KAAK,CAAC;YACnD,MAAM,IAAI,gBAAgB,CACxB,8BAA8B,EAC9B,gBAAgB,EAChB,KAAc,CACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,wBAAwB,CAAC,IAAU;QAC/C,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,WAAW,EAAE;oBACjD,SAAS,EAAE,aAAa;oBACxB,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACrC,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBAC5D,IAAI,CAAC,UAAU;wBAAE,OAAO,IAAI,CAAC;oBAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACtC,6EAA6E;oBAC7E,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;oBACtC,IAAI,aAAa,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;wBAChD,OAAO,aAAa,CAAC,YAAY,CAAC;oBACpC,CAAC;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,OAAO,EAAE,uDAAuD,CAAC,CAAC;gBACtE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,OAAO,EAAE,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAAU;QACvC,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,WAAW,EAAE;oBACjD,SAAS,EAAE,aAAa;oBACxB,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACrC,0CAA0C;gBAC1C,iCAAiC;gBACjC,MAAM,GAAG,GAAI,MAA6C,CAAC,GAE9C,CAAC;gBAEd,IAAI,GAAG,EAAE,CAAC;oBACR,oDAAoD;oBACpD,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,GAAG,CAAC,EAAyC,CAAC;wBACzD,MAAM,GAAG,GAAG,EAAE,EAAE,GAA0C,CAAC;wBAC3D,MAAM,IAAI,GAAG,GAAG,EAAE,cAEL,CAAC;wBACd,MAAM,IAAI,GAAG,IAAI,EAAE,IAA2C,CAAC;wBAC/D,MAAM,QAAQ,GAAG,IAAI,EAAE,YAA0C,CAAC;wBAClE,IAAI,QAAQ;4BAAE,OAAO,QAAQ,EAAE,CAAC;oBAClC,CAAC;oBAAC,MAAM,CAAC;wBACP,gBAAgB;oBAClB,CAAC;gBACH,CAAC;gBAED,+CAA+C;gBAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CACtC,6BAA6B,CAC9B,CAAC;gBACF,IAAI,SAAS;oBAAE,OAAO,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAExD,oCAAoC;gBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;wBAC5D,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACtC,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE;4BAAE,OAAO,GAAG,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,OAAO,EAAE,yCAAyC,CAAC,CAAC;gBACxD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,OAAO,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,OAAuB;QAEvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,eAAe;gBAC1B,CAAC,CAAC,IAAI,KAAK,qBAAqB;gBAChC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAC3B,CAAC;YAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,yCAAyC;YACzC,MAAM,SAAS,GAAG,eAAe;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;iBAClC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,GAAG,CACD,OAAO,EACP,SAAS,eAAe,CAAC,MAAM,iBAAiB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;YACF,OAAO,UAAU,SAAS,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,OAAO,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAAC,OAAuB;QACpD,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,oBAAoB,CACrB,CAAC;YAEF,qCAAqC;YACrC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YAED,qBAAqB;YACrB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAejC,CAAC;YAEF,kBAAkB;YAClB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxC,GAAG,CACD,MAAM,EACN,YAAY,KAAK,CAAC,OAAO,CAAC,MAAM,6BAA6B,CAC9D,CAAC;YACJ,CAAC;YAED,uCAAuC;YACvC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACnC,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1D,IAAI,QAAQ,GAAgB,IAAI,CAAC;wBACjC,IAAI,CAAC;4BACH,8CAA8C;4BAC9C,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;4BACnC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;4BAEvD,6BAA6B;4BAC7B,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;gCAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oCACzB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gCAC9C,CAAC;4BACH,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;4BAExB,GAAG,CACD,MAAM,EACN,YAAY,MAAM,CAAC,YAAY,CAAC,MAAM,2BAA2B,MAAM,CAAC,MAAM,EAAE,CACjF,CAAC;wBACJ,CAAC;wBAAC,OAAO,WAAW,EAAE,CAAC;4BACrB,GAAG,CAAC,MAAM,EAAE,sCAAsC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;wBAClF,CAAC;gCAAS,CAAC;4BACT,IAAI,QAAQ,EAAE,CAAC;gCACb,IAAI,CAAC;oCACH,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;gCACzB,CAAC;gCAAC,MAAM,CAAC;oCACP,6BAA6B;gCAC/B,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,GAAG,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAuB;QACpD,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,oBAAoB,CACrB,CAAC;YACF,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACvD,GAAG,CAAC,OAAO,EAAE,0BAA0B,gBAAgB,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,sBAAsB,CAClC,cAAsB,EACtB,OAKC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,uBAAuB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE3E,IAAI,SAAS,EAAE,CAAC;gBACd,GAAG,CAAC,MAAM,EAAE,6DAA6D,CAAC,CAAC;gBAC3E,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;gBAC/C,OAAO,MAAM,QAAQ,CAAC,uBAAuB,CAAC,cAAc,EAAE;oBAC5D,GAAG,OAAO;oBACV,OAAO,EAAE,KAAK,EAAE,iCAAiC;iBAClD,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,mBAAmB,CAAC,cAAsB;QACtD,MAAM,SAAS,GAAG,CAAC,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;QAC1E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACrD,GAAG,CAAC,MAAM,EAAE,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"browser-auth.js","sourceRoot":"","sources":["../../src/auth/browser-auth.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ interface PurdueSSOConfig {
11
11
  export declare class PurdueSSOFlow {
12
12
  private config;
13
13
  constructor(config: PurdueSSOConfig);
14
+ /**
15
+ * Returns true if credentials are available for automated SSO login.
16
+ */
17
+ hasCredentials(): boolean;
14
18
  /**
15
19
  * Execute the complete Microsoft Entra ID SSO login flow for Purdue.
16
20
  * Handles institution selector, email/password entry, MFA (TOTP or manual), and "stay signed in" prompt.
@@ -19,6 +23,11 @@ export declare class PurdueSSOFlow {
19
23
  * @returns true on successful login (URL contains /d2l/home), false on timeout/failure
20
24
  */
21
25
  login(page: Page): Promise<boolean>;
26
+ /**
27
+ * Manual login fallback: let the user type credentials and complete MFA themselves.
28
+ * The browser stays open in headed mode while we wait for /d2l/home.
29
+ */
30
+ manualLogin(page: Page): Promise<boolean>;
22
31
  private handleCampusSelector;
23
32
  private enterCredentials;
24
33
  private handleMFA;
@@ -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;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;YA2B3B,oBAAoB;YAepB,gBAAgB;YAkChB,SAAS;YAmBT,kBAAkB;CAiBjC"}
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;YAmBT,kBAAkB;CAiBjC"}
@@ -16,6 +16,12 @@ export class PurdueSSOFlow {
16
16
  constructor(config) {
17
17
  this.config = config;
18
18
  }
19
+ /**
20
+ * Returns true if credentials are available for automated SSO login.
21
+ */
22
+ hasCredentials() {
23
+ return Boolean(this.config.username && this.config.password);
24
+ }
19
25
  /**
20
26
  * Execute the complete Microsoft Entra ID SSO login flow for Purdue.
21
27
  * Handles institution selector, email/password entry, MFA (TOTP or manual), and "stay signed in" prompt.
@@ -44,6 +50,27 @@ export class PurdueSSOFlow {
44
50
  return false;
45
51
  }
46
52
  }
53
+ /**
54
+ * Manual login fallback: let the user type credentials and complete MFA themselves.
55
+ * The browser stays open in headed mode while we wait for /d2l/home.
56
+ */
57
+ async manualLogin(page) {
58
+ try {
59
+ log("INFO", "Starting manual login flow (no saved credentials)");
60
+ log("INFO", "Please log in using the browser window that just opened.");
61
+ // Navigate past the campus selector so the user lands on the Shibboleth form
62
+ await this.handleCampusSelector(page);
63
+ // Wait up to 5 minutes for the user to complete login manually
64
+ log("INFO", "Waiting up to 5 minutes for you to complete login and MFA...");
65
+ await page.waitForURL(/\/d2l\/home/, { timeout: 300000 });
66
+ log("INFO", "Manual login successful - reached Brightspace home");
67
+ return true;
68
+ }
69
+ catch (error) {
70
+ log("ERROR", "Manual login flow failed or timed out", error);
71
+ return false;
72
+ }
73
+ }
47
74
  async handleCampusSelector(page) {
48
75
  const currentUrl = page.url();
49
76
  if (currentUrl.includes("/d2l/login")) {
@@ -1 +1 @@
1
- {"version":3,"file":"purdue-sso.js","sourceRoot":"","sources":["../../src/auth/purdue-sso.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purdue-sso.js","sourceRoot":"","sources":["../../src/auth/purdue-sso.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,14 @@ export declare class SessionStore {
12
12
  private readonly sessionDir;
13
13
  private readonly sessionFilePath;
14
14
  constructor(sessionDir?: string);
15
+ /**
16
+ * Get or create a random salt unique to this installation.
17
+ * Stored at ~/.d2l-session/salt with restricted permissions.
18
+ */
19
+ private getOrCreateSalt;
15
20
  /**
16
21
  * Derive AES-256 key from username and hostname using scrypt.
17
- * This provides per-machine, per-user encryption without requiring a password.
22
+ * Uses a per-installation random salt to prevent precomputation attacks.
18
23
  */
19
24
  private deriveKey;
20
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/auth/session-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,SAAS,EAA8B,MAAM,mBAAmB,CAAC;AAc/E;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,UAAU,CAAC,EAAE,MAAM;IAK/B;;;OAGG;IACH,OAAO,CAAC,SAAS;IASjB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAkBf;;;OAGG;IACH,OAAO,CAAC,OAAO;IAcf;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC3C;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA6BvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAa7B"}
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/auth/session-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,SAAS,EAA8B,MAAM,mBAAmB,CAAC;AAe/E;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,UAAU,CAAC,EAAE,MAAM;IAK/B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAUjB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAkBf;;;OAGG;IACH,OAAO,CAAC,OAAO;IAcf;;;OAGG;IACG,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC3C;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA6BvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAa7B"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import * as crypto from "node:crypto";
7
7
  import * as fs from "node:fs/promises";
8
+ import * as fsSync from "node:fs";
8
9
  import * as path from "node:path";
9
10
  import * as os from "node:os";
10
11
  import { SessionStoreError } from "../utils/errors.js";
@@ -16,7 +17,8 @@ const SESSION_VERSION = 1;
16
17
  const ALGORITHM = "aes-256-gcm";
17
18
  const IV_LENGTH = 12; // GCM recommended IV length
18
19
  const AUTH_TAG_LENGTH = 16; // GCM auth tag length
19
- const SALT = "brightspace-mcp-salt";
20
+ const SALT_LENGTH = 16;
21
+ const SALT_FILE_NAME = "salt";
20
22
  /**
21
23
  * SessionStore manages encrypted token persistence to disk.
22
24
  * Uses AES-256-GCM for encryption with a key derived from username + hostname.
@@ -28,16 +30,40 @@ export class SessionStore {
28
30
  this.sessionDir = sessionDir ?? DEFAULT_SESSION_DIR;
29
31
  this.sessionFilePath = path.join(this.sessionDir, SESSION_FILE_NAME);
30
32
  }
33
+ /**
34
+ * Get or create a random salt unique to this installation.
35
+ * Stored at ~/.d2l-session/salt with restricted permissions.
36
+ */
37
+ getOrCreateSalt() {
38
+ const saltPath = path.join(this.sessionDir, SALT_FILE_NAME);
39
+ try {
40
+ return fsSync.readFileSync(saltPath);
41
+ }
42
+ catch {
43
+ // Salt doesn't exist yet — create session dir and generate one
44
+ const isWindows = process.platform === "win32";
45
+ fsSync.mkdirSync(this.sessionDir, {
46
+ recursive: true,
47
+ ...(isWindows ? {} : { mode: 0o700 }),
48
+ });
49
+ const salt = crypto.randomBytes(SALT_LENGTH);
50
+ fsSync.writeFileSync(saltPath, salt, {
51
+ ...(isWindows ? {} : { mode: 0o600 }),
52
+ });
53
+ return salt;
54
+ }
55
+ }
31
56
  /**
32
57
  * Derive AES-256 key from username and hostname using scrypt.
33
- * This provides per-machine, per-user encryption without requiring a password.
58
+ * Uses a per-installation random salt to prevent precomputation attacks.
34
59
  */
35
60
  deriveKey() {
36
61
  const username = os.userInfo().username;
37
62
  const hostname = os.hostname();
38
63
  const keyMaterial = username + hostname;
64
+ const salt = this.getOrCreateSalt();
39
65
  // Use scrypt to derive a 32-byte key (256 bits for AES-256)
40
- return crypto.scryptSync(keyMaterial, SALT, 32);
66
+ return crypto.scryptSync(keyMaterial, salt, 32);
41
67
  }
42
68
  /**
43
69
  * Encrypt plaintext using AES-256-GCM.
@@ -1 +1 @@
1
- {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/auth/session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/auth/session-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brightspace-mcp-server",
3
- "version": "1.1.7",
3
+ "version": "1.1.8",
4
4
  "mcpName": "io.github.rohanmuppa/brightspace",
5
5
  "description": "MCP server for Brightspace (D2L). Check grades, due dates, assignments, announcements, syllabus, rosters and more via Claude, ChatGPT, Cursor, Windsurf, or any MCP client.",
6
6
  "type": "module",