brightspace-mcp-server 1.2.6 → 1.5.1
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 +44 -13
- package/build/api/cache.d.ts +1 -1
- package/build/api/cache.js +1 -1
- package/build/api/client.d.ts +1 -1
- package/build/api/client.d.ts.map +1 -1
- package/build/api/client.js +25 -3
- package/build/api/client.js.map +1 -1
- package/build/api/errors.d.ts +2 -2
- package/build/api/errors.js +2 -2
- package/build/api/index.d.ts +1 -1
- package/build/api/index.js +1 -1
- package/build/api/rate-limiter.d.ts +2 -2
- package/build/api/rate-limiter.js +2 -2
- package/build/api/types.d.ts +1 -1
- package/build/api/types.js +1 -1
- package/build/api/version-discovery.d.ts +2 -2
- package/build/api/version-discovery.js +2 -2
- package/build/auth/auth-runner.d.ts +2 -2
- package/build/auth/auth-runner.d.ts.map +1 -1
- package/build/auth/auth-runner.js +61 -12
- package/build/auth/auth-runner.js.map +1 -1
- package/build/auth/browser-auth.d.ts +35 -1
- package/build/auth/browser-auth.d.ts.map +1 -1
- package/build/auth/browser-auth.js +219 -28
- package/build/auth/browser-auth.js.map +1 -1
- package/build/auth/index.d.ts +5 -2
- package/build/auth/index.d.ts.map +1 -1
- package/build/auth/index.js +4 -2
- package/build/auth/index.js.map +1 -1
- package/build/auth/purdue-sso.d.ts +30 -1
- package/build/auth/purdue-sso.d.ts.map +1 -1
- package/build/auth/purdue-sso.js +144 -17
- package/build/auth/purdue-sso.js.map +1 -1
- package/build/auth/session-store.d.ts +1 -1
- package/build/auth/session-store.js +1 -1
- package/build/auth/sso-flow.d.ts +24 -0
- package/build/auth/sso-flow.d.ts.map +1 -0
- package/build/auth/sso-flow.js +21 -0
- package/build/auth/sso-flow.js.map +1 -0
- package/build/auth/suny-sso.d.ts +49 -0
- package/build/auth/suny-sso.d.ts.map +1 -0
- package/build/auth/suny-sso.js +146 -0
- package/build/auth/suny-sso.js.map +1 -0
- package/build/auth/token-manager.d.ts +29 -2
- package/build/auth/token-manager.d.ts.map +1 -1
- package/build/auth/token-manager.js +83 -4
- package/build/auth/token-manager.js.map +1 -1
- package/build/auth/token-mint.d.ts +32 -0
- package/build/auth/token-mint.d.ts.map +1 -0
- package/build/auth/token-mint.js +71 -0
- package/build/auth/token-mint.js.map +1 -0
- package/build/auth-cli.d.ts +1 -1
- package/build/auth-cli.js +9 -4
- package/build/auth-cli.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.js +6 -2
- package/build/index.js.map +1 -1
- package/build/setup.d.ts +2 -2
- package/build/setup.js +31 -5
- package/build/setup.js.map +1 -1
- package/build/tools/download-file.d.ts +6 -2
- package/build/tools/download-file.d.ts.map +1 -1
- package/build/tools/download-file.js +27 -7
- package/build/tools/download-file.js.map +1 -1
- package/build/tools/get-announcements.d.ts +65 -2
- package/build/tools/get-announcements.d.ts.map +1 -1
- package/build/tools/get-announcements.js +69 -25
- package/build/tools/get-announcements.js.map +1 -1
- package/build/tools/get-assignments.d.ts +8 -2
- package/build/tools/get-assignments.d.ts.map +1 -1
- package/build/tools/get-assignments.js +76 -17
- package/build/tools/get-assignments.js.map +1 -1
- package/build/tools/get-classlist-emails.d.ts +2 -2
- package/build/tools/get-classlist-emails.js +2 -2
- package/build/tools/get-course-content.d.ts +2 -2
- package/build/tools/get-course-content.js +2 -2
- package/build/tools/get-discussions.d.ts +1 -1
- package/build/tools/get-discussions.js +1 -1
- package/build/tools/get-my-courses.d.ts +2 -2
- package/build/tools/get-my-courses.d.ts.map +1 -1
- package/build/tools/get-my-courses.js +10 -4
- package/build/tools/get-my-courses.js.map +1 -1
- package/build/tools/get-my-grades.d.ts +1 -1
- package/build/tools/get-my-grades.js +1 -1
- package/build/tools/get-roster.d.ts +2 -2
- package/build/tools/get-roster.js +2 -2
- package/build/tools/get-syllabus.d.ts +1 -1
- package/build/tools/get-syllabus.js +1 -1
- package/build/tools/get-upcoming-due-dates.d.ts +2 -2
- package/build/tools/get-upcoming-due-dates.d.ts.map +1 -1
- package/build/tools/get-upcoming-due-dates.js +121 -45
- package/build/tools/get-upcoming-due-dates.js.map +1 -1
- package/build/tools/index.d.ts +2 -2
- package/build/tools/index.js +2 -2
- package/build/tools/schemas.d.ts +3 -3
- package/build/tools/schemas.d.ts.map +1 -1
- package/build/tools/schemas.js +11 -5
- package/build/tools/schemas.js.map +1 -1
- package/build/tools/tool-helpers.d.ts +1 -1
- package/build/tools/tool-helpers.js +1 -1
- package/build/types/index.d.ts +12 -2
- package/build/types/index.d.ts.map +1 -1
- package/build/types/index.js +2 -2
- package/build/update.d.ts +1 -1
- package/build/update.js +1 -1
- package/build/utils/config-store.d.ts +3 -2
- package/build/utils/config-store.d.ts.map +1 -1
- package/build/utils/config-store.js +2 -2
- package/build/utils/config-store.js.map +1 -1
- package/build/utils/config.d.ts +2 -2
- package/build/utils/config.d.ts.map +1 -1
- package/build/utils/config.js +3 -2
- package/build/utils/config.js.map +1 -1
- package/build/utils/course-filter.d.ts +2 -2
- package/build/utils/course-filter.js +2 -2
- package/build/utils/deep-links.d.ts +15 -0
- package/build/utils/deep-links.d.ts.map +1 -0
- package/build/utils/deep-links.js +31 -0
- package/build/utils/deep-links.js.map +1 -0
- package/build/utils/download-helpers.d.ts +2 -2
- package/build/utils/download-helpers.js +2 -2
- package/build/utils/errors.d.ts +2 -2
- package/build/utils/errors.js +2 -2
- package/build/utils/file-validator.d.ts +2 -2
- package/build/utils/file-validator.d.ts.map +1 -1
- package/build/utils/file-validator.js +21 -11
- package/build/utils/file-validator.js.map +1 -1
- package/build/utils/html-converter.d.ts +2 -2
- package/build/utils/html-converter.js +2 -2
- package/build/utils/logger.d.ts +2 -2
- package/build/utils/logger.js +2 -2
- package/build/utils/pdf-extractor.d.ts +2 -2
- package/build/utils/pdf-extractor.js +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../src/tools/download-file.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAGL,iBAAiB,EACjB,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAiB,EACjB,SAAuB;IAEvB,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,6mBAA6mB;QAC/mB,WAAW,EAAE,kBAAkB;KAChC,EACD,KAAK,EAAE,IAAS,EAAE,EAAE;QAClB,IAAI,CAAC;YACH,GAAG,CAAC,OAAO,EAAE,2BAA2B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpD,2BAA2B;YAC3B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GACzE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjC,oBAAoB;YACpB,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAE5B,qCAAqC;YACrC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,OAAO,aAAa,CAClB,8HAA8H,CAC/H,CAAC;YACJ,CAAC;YAED,wDAAwD;YACxD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACzB,OAAO,aAAa,CAClB,qCAAqC,YAAY,EAAE,CACpD,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,aAAa,CAClB,sCAAsC,YAAY,EAAE,CACrD,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,4BAA4B;YAC5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,wBAAwB;gBACxB,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC3B,OAAO,MAAM,mBAAmB,CAC9B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,cAAc,CACf,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1D,2BAA2B;gBAC3B,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC5B,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC1B,OAAO,MAAM,sBAAsB,CACjC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,cAAc,CACf,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,aAAa,CAClB,wGAAwG,CACzG,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,SAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,YAAoB,EACpB,cAAuB;IAEvB,GAAG,CACD,MAAM,EACN,sCAAsC,QAAQ,aAAa,OAAO,EAAE,CACrE,CAAC;IAEF,+CAA+C;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,OAAO,OAAO,CAAC,CAAC;IAE1E,qEAAqE;IACrE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,2EAA2E;IAC3E,MAAM,aAAa,GAAG,QAAQ,CAC5B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAC7C,EAAE,CACH,CAAC;IACF,IAAI,aAAa,GAAG,aAAa,EAAE,CAAC;QAClC,OAAO,aAAa,CAClB,mBAAmB,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,yBAAyB,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,CACnH,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;IACtE,
|
|
1
|
+
{"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../src/tools/download-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,76 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
7
|
import { D2LApiClient } from "../api/index.js";
|
|
8
8
|
import type { AppConfig } from "../types/index.js";
|
|
9
|
+
interface NewsItem {
|
|
10
|
+
Id: number;
|
|
11
|
+
Title: string;
|
|
12
|
+
Body: {
|
|
13
|
+
Text: string;
|
|
14
|
+
Html: string;
|
|
15
|
+
} | null;
|
|
16
|
+
CreatedBy: {
|
|
17
|
+
Identifier: string;
|
|
18
|
+
DisplayName: string;
|
|
19
|
+
} | null;
|
|
20
|
+
CreatedDate: string | null;
|
|
21
|
+
LastModifiedBy: {
|
|
22
|
+
Identifier: string;
|
|
23
|
+
DisplayName: string;
|
|
24
|
+
};
|
|
25
|
+
LastModifiedDate: string;
|
|
26
|
+
StartDate: string | null;
|
|
27
|
+
EndDate: string | null;
|
|
28
|
+
IsPublished?: boolean;
|
|
29
|
+
IsPinned: boolean;
|
|
30
|
+
IsGlobal: boolean;
|
|
31
|
+
Attachments: any[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The date a post was actually scheduled for. StartDate is when the instructor
|
|
35
|
+
* scheduled it, which is the honest date whenever there is one; CreatedDate is
|
|
36
|
+
* the fallback for a post nobody scheduled.
|
|
37
|
+
*/
|
|
38
|
+
export declare function effectiveDate(item: NewsItem): string | null;
|
|
39
|
+
/**
|
|
40
|
+
* False only for a draft the instructor has not posted. The test is an explicit
|
|
41
|
+
* false, never a falsy read: an item that omits the field is a shape the tenant
|
|
42
|
+
* has never sent, and treating unknown as unpublished would empty the section
|
|
43
|
+
* the day D2L renames or drops the field.
|
|
44
|
+
*/
|
|
45
|
+
export declare function isPublishedNewsItem(item: NewsItem): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Newest first by the scheduled date, undated last. An undated item sorts to
|
|
48
|
+
* the end rather than to 1970, where a null read as an epoch would put it:
|
|
49
|
+
* ahead of nothing, but behind everything real. Equal dates return 0 and keep
|
|
50
|
+
* the server's own order, which is what makes the slice deterministic when a
|
|
51
|
+
* course posts twice in one minute.
|
|
52
|
+
*/
|
|
53
|
+
export declare function newestFirst(a: {
|
|
54
|
+
date: string | null;
|
|
55
|
+
}, b: {
|
|
56
|
+
date: string | null;
|
|
57
|
+
}): number;
|
|
58
|
+
/**
|
|
59
|
+
* Map a raw D2L news item to a clean announcement object.
|
|
60
|
+
*/
|
|
61
|
+
export declare function mapNewsItem(item: NewsItem): {
|
|
62
|
+
id: number;
|
|
63
|
+
title: string;
|
|
64
|
+
body: string;
|
|
65
|
+
createdBy: string;
|
|
66
|
+
createdDate: string | null;
|
|
67
|
+
startDate: string | null;
|
|
68
|
+
date: string | null;
|
|
69
|
+
isPinned: boolean;
|
|
70
|
+
};
|
|
9
71
|
/**
|
|
10
72
|
* Register get_announcements tool
|
|
11
73
|
*/
|
|
12
74
|
export declare function registerGetAnnouncements(server: McpServer, apiClient: D2LApiClient, config: AppConfig): void;
|
|
75
|
+
export {};
|
|
13
76
|
//# sourceMappingURL=get-announcements.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-announcements.d.ts","sourceRoot":"","sources":["../../src/tools/get-announcements.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AAOnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-announcements.d.ts","sourceRoot":"","sources":["../../src/tools/get-announcements.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AAOnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,GAAG,EAAE,CAAC;CACpB;AAgCD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC1B,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACzB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ;;;;;;;;;EAWzC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,SAAS,GAChB,IAAI,CA+GN"}
|
|
@@ -1,13 +1,70 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { DEFAULT_CACHE_TTLS } from "../api/index.js";
|
|
7
7
|
import { GetAnnouncementsSchema, } from "./schemas.js";
|
|
8
8
|
import { toolResponse, sanitizeError } from "./tool-helpers.js";
|
|
9
9
|
import { log } from "../utils/logger.js";
|
|
10
10
|
import { applyCourseFilter } from "../utils/course-filter.js";
|
|
11
|
+
/**
|
|
12
|
+
* A date the runtime can actually order, or null. Unreadable and absent are the
|
|
13
|
+
* same answer, so a caller can fall through to the next best.
|
|
14
|
+
*/
|
|
15
|
+
function readableDate(raw) {
|
|
16
|
+
if (typeof raw !== "string")
|
|
17
|
+
return null;
|
|
18
|
+
return Number.isNaN(new Date(raw).getTime()) ? null : raw;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The date a post was actually scheduled for. StartDate is when the instructor
|
|
22
|
+
* scheduled it, which is the honest date whenever there is one; CreatedDate is
|
|
23
|
+
* the fallback for a post nobody scheduled.
|
|
24
|
+
*/
|
|
25
|
+
export function effectiveDate(item) {
|
|
26
|
+
return readableDate(item.StartDate) ?? readableDate(item.CreatedDate);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* False only for a draft the instructor has not posted. The test is an explicit
|
|
30
|
+
* false, never a falsy read: an item that omits the field is a shape the tenant
|
|
31
|
+
* has never sent, and treating unknown as unpublished would empty the section
|
|
32
|
+
* the day D2L renames or drops the field.
|
|
33
|
+
*/
|
|
34
|
+
export function isPublishedNewsItem(item) {
|
|
35
|
+
return item.IsPublished !== false;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Newest first by the scheduled date, undated last. An undated item sorts to
|
|
39
|
+
* the end rather than to 1970, where a null read as an epoch would put it:
|
|
40
|
+
* ahead of nothing, but behind everything real. Equal dates return 0 and keep
|
|
41
|
+
* the server's own order, which is what makes the slice deterministic when a
|
|
42
|
+
* course posts twice in one minute.
|
|
43
|
+
*/
|
|
44
|
+
export function newestFirst(a, b) {
|
|
45
|
+
if (a.date === b.date)
|
|
46
|
+
return 0;
|
|
47
|
+
if (a.date === null)
|
|
48
|
+
return 1;
|
|
49
|
+
if (b.date === null)
|
|
50
|
+
return -1;
|
|
51
|
+
return new Date(b.date).getTime() - new Date(a.date).getTime();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Map a raw D2L news item to a clean announcement object.
|
|
55
|
+
*/
|
|
56
|
+
export function mapNewsItem(item) {
|
|
57
|
+
return {
|
|
58
|
+
id: item.Id,
|
|
59
|
+
title: item.Title,
|
|
60
|
+
body: item.Body?.Text ?? "",
|
|
61
|
+
createdBy: item.CreatedBy?.DisplayName ?? "Unknown",
|
|
62
|
+
createdDate: item.CreatedDate,
|
|
63
|
+
startDate: item.StartDate,
|
|
64
|
+
date: effectiveDate(item),
|
|
65
|
+
isPinned: item.IsPinned,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
11
68
|
/**
|
|
12
69
|
* Register get_announcements tool
|
|
13
70
|
*/
|
|
@@ -27,19 +84,11 @@ export function registerGetAnnouncements(server, apiClient, config) {
|
|
|
27
84
|
const newsItems = await apiClient.get(path, {
|
|
28
85
|
ttl: DEFAULT_CACHE_TTLS.announcements,
|
|
29
86
|
});
|
|
30
|
-
//
|
|
87
|
+
// Drop drafts, then map to clean objects
|
|
31
88
|
const announcements = newsItems
|
|
32
|
-
.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
body: item.Body.Text,
|
|
36
|
-
createdBy: item.CreatedBy.DisplayName,
|
|
37
|
-
createdDate: item.CreatedDate,
|
|
38
|
-
startDate: item.StartDate,
|
|
39
|
-
isPinned: item.IsPinned,
|
|
40
|
-
}))
|
|
41
|
-
.sort((a, b) => new Date(b.createdDate).getTime() -
|
|
42
|
-
new Date(a.createdDate).getTime())
|
|
89
|
+
.filter(isPublishedNewsItem)
|
|
90
|
+
.map(mapNewsItem)
|
|
91
|
+
.sort(newestFirst)
|
|
43
92
|
.slice(0, count);
|
|
44
93
|
log("INFO", `get_announcements: Retrieved ${announcements.length} announcements for course ${courseId}`);
|
|
45
94
|
return toolResponse(announcements);
|
|
@@ -63,14 +112,10 @@ export function registerGetAnnouncements(server, apiClient, config) {
|
|
|
63
112
|
const newsItems = await apiClient.get(path, {
|
|
64
113
|
ttl: DEFAULT_CACHE_TTLS.announcements,
|
|
65
114
|
});
|
|
66
|
-
return newsItems
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
createdBy: newsItem.CreatedBy.DisplayName,
|
|
71
|
-
createdDate: newsItem.CreatedDate,
|
|
72
|
-
startDate: newsItem.StartDate,
|
|
73
|
-
isPinned: newsItem.IsPinned,
|
|
115
|
+
return newsItems
|
|
116
|
+
.filter(isPublishedNewsItem)
|
|
117
|
+
.map((newsItem) => ({
|
|
118
|
+
...mapNewsItem(newsItem),
|
|
74
119
|
courseId: item.OrgUnit.Id,
|
|
75
120
|
courseName: item.OrgUnit.Name,
|
|
76
121
|
}));
|
|
@@ -88,10 +133,9 @@ export function registerGetAnnouncements(server, apiClient, config) {
|
|
|
88
133
|
const allAnnouncements = results
|
|
89
134
|
.filter((r) => r.status === "fulfilled")
|
|
90
135
|
.flatMap((r) => r.value);
|
|
91
|
-
// Sort by
|
|
136
|
+
// Sort by the scheduled date and slice to count
|
|
92
137
|
const announcements = allAnnouncements
|
|
93
|
-
.sort(
|
|
94
|
-
new Date(a.createdDate).getTime())
|
|
138
|
+
.sort(newestFirst)
|
|
95
139
|
.slice(0, count);
|
|
96
140
|
log("INFO", `get_announcements: Retrieved ${announcements.length} announcements (out of ${allAnnouncements.length} total across ${enrollmentResponse.Items.length} courses)`);
|
|
97
141
|
return toolResponse(announcements);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-announcements.js","sourceRoot":"","sources":["../../src/tools/get-announcements.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAgB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAwC9D
|
|
1
|
+
{"version":3,"file":"get-announcements.js","sourceRoot":"","sources":["../../src/tools/get-announcements.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
7
|
import { D2LApiClient } from "../api/index.js";
|
|
8
8
|
import type { AppConfig } from "../types/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* Fetch assignments (dropbox + quizzes) for a single course
|
|
11
|
+
*
|
|
12
|
+
* baseUrl is optional: without it the items carry a null url.
|
|
13
|
+
*/
|
|
14
|
+
export declare function fetchCourseAssignments(apiClient: D2LApiClient, courseId: number, baseUrl?: string): Promise<any[]>;
|
|
9
15
|
/**
|
|
10
16
|
* Register get_assignments tool
|
|
11
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-assignments.d.ts","sourceRoot":"","sources":["../../src/tools/get-assignments.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-assignments.d.ts","sourceRoot":"","sources":["../../src/tools/get-assignments.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AAOnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA6GnD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,EAAE,CAAC,CAqMhB;AA8CD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,SAAS,GAChB,IAAI,CA2FN"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { DEFAULT_CACHE_TTLS } from "../api/index.js";
|
|
7
7
|
import { GetAssignmentsSchema } from "./schemas.js";
|
|
@@ -9,15 +9,30 @@ import { toolResponse, sanitizeError } from "./tool-helpers.js";
|
|
|
9
9
|
import { convertHtmlToMarkdown } from "../utils/html-converter.js";
|
|
10
10
|
import { log } from "../utils/logger.js";
|
|
11
11
|
import { applyCourseFilter } from "../utils/course-filter.js";
|
|
12
|
+
import { assignmentUrl, gradebookUrl, quizUrl } from "../utils/deep-links.js";
|
|
13
|
+
/**
|
|
14
|
+
* The grade object types a student is actually scored on: 1 numeric,
|
|
15
|
+
* 2 passfail, 3 selectbox, 4 text. The rest (category, calculated, formula,
|
|
16
|
+
* final) are the gradebook's own arithmetic, not work anybody owes.
|
|
17
|
+
*/
|
|
18
|
+
const STUDENT_SCORED = new Set([1, 2, 3, 4]);
|
|
12
19
|
/**
|
|
13
20
|
* Fetch assignments (dropbox + quizzes) for a single course
|
|
21
|
+
*
|
|
22
|
+
* baseUrl is optional: without it the items carry a null url.
|
|
14
23
|
*/
|
|
15
|
-
async function fetchCourseAssignments(apiClient, courseId) {
|
|
24
|
+
export async function fetchCourseAssignments(apiClient, courseId, baseUrl) {
|
|
16
25
|
const assignments = [];
|
|
17
|
-
// Fetch dropbox folders and
|
|
18
|
-
|
|
26
|
+
// Fetch dropbox folders, quizzes, and the gradebook in parallel. The
|
|
27
|
+
// gradebook is fetched alongside them but read last: a heads-up row is a
|
|
28
|
+
// column that nothing the other two returned matched, so the comparison
|
|
29
|
+
// cannot be made until they have answered.
|
|
30
|
+
const [dropboxResult, quizResult, gradebookResult] = await Promise.allSettled([
|
|
19
31
|
apiClient.get(apiClient.le(courseId, "/dropbox/folders/"), { ttl: DEFAULT_CACHE_TTLS.assignments }),
|
|
20
32
|
apiClient.get(apiClient.le(courseId, "/quizzes/"), { ttl: DEFAULT_CACHE_TTLS.assignments }),
|
|
33
|
+
apiClient.get(apiClient.le(courseId, "/grades/"), {
|
|
34
|
+
ttl: DEFAULT_CACHE_TTLS.assignments,
|
|
35
|
+
}),
|
|
21
36
|
]);
|
|
22
37
|
// Process Dropbox folders
|
|
23
38
|
if (dropboxResult.status === "fulfilled") {
|
|
@@ -40,17 +55,15 @@ async function fetchCourseAssignments(apiClient, courseId) {
|
|
|
40
55
|
log("DEBUG", `Failed to fetch submissions for folder ${folder.Id}`, error);
|
|
41
56
|
}
|
|
42
57
|
}
|
|
43
|
-
// Fetch feedback
|
|
58
|
+
// Fetch feedback independently of submissions
|
|
44
59
|
let feedback = null;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
log("DEBUG", `Failed to fetch feedback for folder ${folder.Id}`, error);
|
|
53
|
-
}
|
|
60
|
+
try {
|
|
61
|
+
feedback = await apiClient.get(apiClient.le(courseId, `/dropbox/folders/${folder.Id}/feedback/myFeedback/`), { ttl: DEFAULT_CACHE_TTLS.assignments });
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
// 404/403 means no feedback available (or no access) - that's fine
|
|
65
|
+
if (error?.status !== 404 && error?.status !== 403) {
|
|
66
|
+
log("DEBUG", `Failed to fetch feedback for folder ${folder.Id}`, error);
|
|
54
67
|
}
|
|
55
68
|
}
|
|
56
69
|
// Build assignment object
|
|
@@ -58,6 +71,7 @@ async function fetchCourseAssignments(apiClient, courseId) {
|
|
|
58
71
|
type: "assignment",
|
|
59
72
|
id: folder.Id,
|
|
60
73
|
name: folder.Name,
|
|
74
|
+
url: baseUrl ? assignmentUrl(baseUrl, courseId, folder.Id) : null,
|
|
61
75
|
instructions: folder.CustomInstructions?.Html
|
|
62
76
|
? convertHtmlToMarkdown(folder.CustomInstructions.Html)
|
|
63
77
|
: { markdown: "", html: "" },
|
|
@@ -146,6 +160,7 @@ async function fetchCourseAssignments(apiClient, courseId) {
|
|
|
146
160
|
type: "quiz",
|
|
147
161
|
id: quiz.QuizId,
|
|
148
162
|
name: quiz.Name,
|
|
163
|
+
url: baseUrl ? quizUrl(baseUrl, courseId, quiz.QuizId) : null,
|
|
149
164
|
instructions: quiz.Description?.Html
|
|
150
165
|
? convertHtmlToMarkdown(quiz.Description.Html)
|
|
151
166
|
: { markdown: "", html: "" },
|
|
@@ -170,8 +185,52 @@ async function fetchCourseAssignments(apiClient, courseId) {
|
|
|
170
185
|
// Log quiz fetch failure but don't throw
|
|
171
186
|
log("DEBUG", `Failed to fetch quizzes for course ${courseId}`, quizResult.reason);
|
|
172
187
|
}
|
|
188
|
+
// Process the gradebook last, once the fetched items are known.
|
|
189
|
+
if (gradebookResult.status === "fulfilled") {
|
|
190
|
+
assignments.push(...gradebookHeadsUp(gradebookResult.value, assignments, courseId, baseUrl));
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
log("DEBUG", `Failed to fetch the gradebook for course ${courseId}`, gradebookResult.reason);
|
|
194
|
+
}
|
|
173
195
|
return assignments;
|
|
174
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Gradebook columns describing work that no other route already offered.
|
|
199
|
+
*
|
|
200
|
+
* Two rules decide what qualifies. The column must be one a student is scored
|
|
201
|
+
* on, which excludes the bookkeeping types that describe the gradebook's own
|
|
202
|
+
* arithmetic. And it must match no already-fetched assignment or quiz: not
|
|
203
|
+
* "unlinked", which would be the wrong test, because a released midterm's
|
|
204
|
+
* column IS linked, to a quiz the student's own quizzes call cannot see, and
|
|
205
|
+
* that column is the entire reason this exists.
|
|
206
|
+
*
|
|
207
|
+
* A column with no id or no name is skipped rather than fatal: one malformed
|
|
208
|
+
* row should cost its own line, not the course's other heads-up rows.
|
|
209
|
+
*/
|
|
210
|
+
function gradebookHeadsUp(raw, fetched, courseId, baseUrl) {
|
|
211
|
+
if (!Array.isArray(raw))
|
|
212
|
+
return [];
|
|
213
|
+
const covered = new Set(fetched.map((item) => item.id).filter((id) => typeof id === "number"));
|
|
214
|
+
const rows = [];
|
|
215
|
+
for (const column of raw) {
|
|
216
|
+
if (!STUDENT_SCORED.has(column?.GradeObjectTypeId))
|
|
217
|
+
continue;
|
|
218
|
+
if (covered.has(column.AssociatedTool?.ToolItemId))
|
|
219
|
+
continue;
|
|
220
|
+
if (typeof column.Id !== "number" || typeof column.Name !== "string")
|
|
221
|
+
continue;
|
|
222
|
+
rows.push({
|
|
223
|
+
type: "gradeOnly",
|
|
224
|
+
id: column.Id,
|
|
225
|
+
name: column.Name,
|
|
226
|
+
// Always null: a grade column carries no due date of its own, and
|
|
227
|
+
// inventing one from the column name would be a guess.
|
|
228
|
+
dueDate: null,
|
|
229
|
+
url: baseUrl ? gradebookUrl(baseUrl, courseId) : null,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
return rows;
|
|
233
|
+
}
|
|
175
234
|
/**
|
|
176
235
|
* Register get_assignments tool
|
|
177
236
|
*/
|
|
@@ -187,7 +246,7 @@ export function registerGetAssignments(server, apiClient, config) {
|
|
|
187
246
|
const { courseId } = GetAssignmentsSchema.parse(args);
|
|
188
247
|
// Single course case
|
|
189
248
|
if (courseId) {
|
|
190
|
-
const assignments = await fetchCourseAssignments(apiClient, courseId);
|
|
249
|
+
const assignments = await fetchCourseAssignments(apiClient, courseId, config.baseUrl);
|
|
191
250
|
log("INFO", `get_assignments: Retrieved ${assignments.length} assignments for course ${courseId}`);
|
|
192
251
|
return toolResponse({ courseId, assignments });
|
|
193
252
|
}
|
|
@@ -206,7 +265,7 @@ export function registerGetAssignments(server, apiClient, config) {
|
|
|
206
265
|
// Fetch assignments for each course (handle 403s gracefully)
|
|
207
266
|
const assignmentPromises = filteredEnrollments.map(async (item) => {
|
|
208
267
|
try {
|
|
209
|
-
const assignments = await fetchCourseAssignments(apiClient, item.OrgUnit.Id);
|
|
268
|
+
const assignments = await fetchCourseAssignments(apiClient, item.OrgUnit.Id, config.baseUrl);
|
|
210
269
|
return {
|
|
211
270
|
courseId: item.OrgUnit.Id,
|
|
212
271
|
courseName: item.OrgUnit.Name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-assignments.js","sourceRoot":"","sources":["../../src/tools/get-assignments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-assignments.js","sourceRoot":"","sources":["../../src/tools/get-assignments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
7
|
import { D2LApiClient } from "../api/index.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { DEFAULT_CACHE_TTLS } from "../api/index.js";
|
|
7
7
|
import { GetClasslistEmailsSchema } from "./schemas.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
7
|
import { D2LApiClient } from "../api/index.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { DEFAULT_CACHE_TTLS } from "../api/index.js";
|
|
7
7
|
import { GetCourseContentSchema } from "./schemas.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
3
|
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
-
* Licensed under
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
7
|
import { D2LApiClient } from "../api/index.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
3
|
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
-
* Licensed under
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { DEFAULT_CACHE_TTLS } from "../api/index.js";
|
|
7
7
|
import { GetDiscussionsSchema } from "./schemas.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
7
|
import { D2LApiClient } from "../api/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-my-courses.d.ts","sourceRoot":"","sources":["../../src/tools/get-my-courses.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AAOnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuBnD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,SAAS,GAChB,IAAI,
|
|
1
|
+
{"version":3,"file":"get-my-courses.d.ts","sourceRoot":"","sources":["../../src/tools/get-my-courses.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AAOnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuBnD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,SAAS,GAChB,IAAI,CA8DN"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Purdue Brightspace MCP Server
|
|
3
|
-
* Copyright (c)
|
|
4
|
-
* Licensed under
|
|
3
|
+
* Copyright (c) 2026 Rohan Muppa. All rights reserved.
|
|
4
|
+
* Licensed under MIT — see LICENSE file for details.
|
|
5
5
|
*/
|
|
6
6
|
import { DEFAULT_CACHE_TTLS } from "../api/index.js";
|
|
7
7
|
import { GetMyCoursesSchema, } from "./schemas.js";
|
|
@@ -20,7 +20,13 @@ export function registerGetMyCourses(server, apiClient, config) {
|
|
|
20
20
|
try {
|
|
21
21
|
log("DEBUG", "get_my_courses tool called", { args });
|
|
22
22
|
// Parse and validate input
|
|
23
|
-
const { activeOnly } = GetMyCoursesSchema.parse(args);
|
|
23
|
+
const { activeOnly: activeOnlyArg } = GetMyCoursesSchema.parse(args);
|
|
24
|
+
// An explicit per-call argument wins; otherwise fall back to the configured
|
|
25
|
+
// policy. Resolving once here keeps the API query and the post-fetch filter
|
|
26
|
+
// in agreement — previously the argument shaped the query but the filter
|
|
27
|
+
// still used config.courseFilter.activeOnly, so activeOnly:false fetched
|
|
28
|
+
// inactive courses and then discarded them.
|
|
29
|
+
const activeOnly = activeOnlyArg ?? config.courseFilter.activeOnly;
|
|
24
30
|
// Build path - orgUnitTypeId=3 means "Course Offering" type
|
|
25
31
|
const path = apiClient.lp(`/enrollments/myenrollments/?orgUnitTypeId=3${activeOnly ? "&isActive=true" : ""}`);
|
|
26
32
|
// Fetch enrollments
|
|
@@ -39,7 +45,7 @@ export function registerGetMyCourses(server, apiClient, config) {
|
|
|
39
45
|
role: item.Access.ClasslistRoleName,
|
|
40
46
|
isActive: item.Access.IsActive,
|
|
41
47
|
lastAccessed: item.Access.LastAccessed,
|
|
42
|
-
})), config.courseFilter);
|
|
48
|
+
})), { ...config.courseFilter, activeOnly });
|
|
43
49
|
log("INFO", `get_my_courses: Retrieved ${courses.length} courses`);
|
|
44
50
|
return toolResponse(courses);
|
|
45
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-my-courses.js","sourceRoot":"","sources":["../../src/tools/get-my-courses.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAgB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAwB9D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAiB,EACjB,SAAuB,EACvB,MAAiB;IAEjB,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,mNAAmN;QACrN,WAAW,EAAE,kBAAkB;KAChC,EACD,KAAK,EAAE,IAAS,EAAE,EAAE;QAClB,IAAI,CAAC;YACH,GAAG,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAErD,2BAA2B;YAC3B,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-my-courses.js","sourceRoot":"","sources":["../../src/tools/get-my-courses.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAgB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAwB9D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAiB,EACjB,SAAuB,EACvB,MAAiB;IAEjB,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,mNAAmN;QACrN,WAAW,EAAE,kBAAkB;KAChC,EACD,KAAK,EAAE,IAAS,EAAE,EAAE;QAClB,IAAI,CAAC;YACH,GAAG,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAErD,2BAA2B;YAC3B,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAErE,4EAA4E;YAC5E,4EAA4E;YAC5E,yEAAyE;YACzE,yEAAyE;YACzE,4CAA4C;YAC5C,MAAM,UAAU,GAAG,aAAa,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;YAEnE,4DAA4D;YAC5D,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CACvB,8CAA8C,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,CAAC;YAEF,oBAAoB;YACpB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAqB,IAAI,EAAE;gBAC7D,GAAG,EAAE,kBAAkB,CAAC,WAAW;aACpC,CAAC,CAAC;YAEH,uBAAuB;YACvB,IAAI,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;gBACtC,GAAG,CACD,MAAM,EACN,uFAAuF,EACvF,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;YACJ,CAAC;YAED,+CAA+C;YAC/C,MAAM,OAAO,GAAG,iBAAiB,CAC/B,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5B,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aACvC,CAAC,CAAC,EACH,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,CACvC,CAAC;YAEF,GAAG,CAAC,MAAM,EAAE,6BAA6B,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;YACnE,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|