brightspace-mcp-server 3.2.0 → 3.4.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 (303) hide show
  1. package/README.md +1 -0
  2. package/build/api/cache.js +0 -1
  3. package/build/api/client.js +0 -1
  4. package/build/api/errors.js +0 -1
  5. package/build/api/index.js +0 -1
  6. package/build/api/paginate.js +0 -1
  7. package/build/api/rate-limiter.js +0 -1
  8. package/build/api/retry.js +0 -1
  9. package/build/api/types.js +0 -1
  10. package/build/api/version-discovery.js +0 -1
  11. package/build/auth/auth-cooldown.js +0 -1
  12. package/build/auth/auth-lock.js +0 -1
  13. package/build/auth/auth-runner.js +0 -1
  14. package/build/auth/browser-auth.js +0 -1
  15. package/build/auth/browser-state-store.js +0 -1
  16. package/build/auth/credential-store.js +0 -1
  17. package/build/auth/duo-mfa.js +0 -1
  18. package/build/auth/encrypted-store.js +0 -1
  19. package/build/auth/index.js +0 -1
  20. package/build/auth/legacy-profile.js +0 -1
  21. package/build/auth/legacy-state.js +0 -1
  22. package/build/auth/purdue-sso.js +0 -1
  23. package/build/auth/session-store.js +0 -1
  24. package/build/auth/sso-flow.js +0 -1
  25. package/build/auth/suny-sso.js +0 -1
  26. package/build/auth/token-manager.js +0 -1
  27. package/build/auth/token-mint.js +0 -1
  28. package/build/auth/western-sso.js +0 -1
  29. package/build/auth-cli.js +0 -1
  30. package/build/index.js +4 -4
  31. package/build/setup.js +0 -1
  32. package/build/tools/download-file.js +0 -1
  33. package/build/tools/get-announcements.js +0 -3
  34. package/build/tools/get-assignment-files.js +0 -1
  35. package/build/tools/get-assignments.js +5 -6
  36. package/build/tools/get-classlist-emails.js +0 -1
  37. package/build/tools/get-course-content.js +8 -9
  38. package/build/tools/get-discussions.js +0 -1
  39. package/build/tools/get-my-courses.js +0 -1
  40. package/build/tools/get-my-grades.js +0 -1
  41. package/build/tools/get-roster.js +0 -1
  42. package/build/tools/get-server-info.js +32 -0
  43. package/build/tools/get-syllabus.js +1 -2
  44. package/build/tools/get-upcoming-due-dates.js +0 -1
  45. package/build/tools/get-video-transcript.js +0 -1
  46. package/build/tools/index.js +1 -1
  47. package/build/tools/schemas.js +1 -1
  48. package/build/tools/tool-helpers.js +1 -2
  49. package/build/types/index.js +0 -1
  50. package/build/update.js +0 -1
  51. package/build/utils/atomic-write.js +0 -1
  52. package/build/utils/browser-install.js +0 -1
  53. package/build/utils/commands.js +0 -1
  54. package/build/utils/config-store.js +0 -1
  55. package/build/utils/config.js +0 -1
  56. package/build/utils/course-filter.js +0 -1
  57. package/build/utils/deep-links.js +0 -1
  58. package/build/utils/download-errors.js +0 -1
  59. package/build/utils/download-helpers.js +0 -1
  60. package/build/utils/errors.js +0 -1
  61. package/build/utils/file-validator.js +10 -2
  62. package/build/utils/html-converter.js +16 -11
  63. package/build/utils/install-sites.js +0 -1
  64. package/build/utils/logger.js +0 -1
  65. package/build/utils/mcp-client-cli.js +0 -1
  66. package/build/utils/modified-since.js +0 -1
  67. package/build/utils/pdf-extractor.js +0 -1
  68. package/build/utils/secure-config.js +0 -1
  69. package/build/utils/self-update.js +0 -1
  70. package/build/utils/transcript/captions.js +0 -1
  71. package/build/utils/transcript/errors.js +0 -1
  72. package/build/utils/transcript/kaltura.js +0 -1
  73. package/build/utils/transcript/platform.js +0 -1
  74. package/build/utils/transcript/types.js +0 -1
  75. package/build/utils/transcript/youtube.js +0 -1
  76. package/build/utils/update-checker.js +0 -1
  77. package/build/utils/zip-extract.js +0 -1
  78. package/package.json +1 -2
  79. package/build/api/cache.d.ts +0 -15
  80. package/build/api/cache.d.ts.map +0 -1
  81. package/build/api/cache.js.map +0 -1
  82. package/build/api/client.d.ts +0 -141
  83. package/build/api/client.d.ts.map +0 -1
  84. package/build/api/client.js.map +0 -1
  85. package/build/api/errors.d.ts +0 -27
  86. package/build/api/errors.d.ts.map +0 -1
  87. package/build/api/errors.js.map +0 -1
  88. package/build/api/index.d.ts +0 -13
  89. package/build/api/index.d.ts.map +0 -1
  90. package/build/api/index.js.map +0 -1
  91. package/build/api/paginate.d.ts +0 -23
  92. package/build/api/paginate.d.ts.map +0 -1
  93. package/build/api/paginate.js.map +0 -1
  94. package/build/api/rate-limiter.d.ts +0 -17
  95. package/build/api/rate-limiter.d.ts.map +0 -1
  96. package/build/api/rate-limiter.js.map +0 -1
  97. package/build/api/retry.d.ts +0 -42
  98. package/build/api/retry.d.ts.map +0 -1
  99. package/build/api/retry.js.map +0 -1
  100. package/build/api/types.d.ts +0 -39
  101. package/build/api/types.d.ts.map +0 -1
  102. package/build/api/types.js.map +0 -1
  103. package/build/api/version-discovery.d.ts +0 -16
  104. package/build/api/version-discovery.d.ts.map +0 -1
  105. package/build/api/version-discovery.js.map +0 -1
  106. package/build/auth/auth-cooldown.d.ts +0 -24
  107. package/build/auth/auth-cooldown.d.ts.map +0 -1
  108. package/build/auth/auth-cooldown.js.map +0 -1
  109. package/build/auth/auth-lock.d.ts +0 -7
  110. package/build/auth/auth-lock.d.ts.map +0 -1
  111. package/build/auth/auth-lock.js.map +0 -1
  112. package/build/auth/auth-runner.d.ts +0 -61
  113. package/build/auth/auth-runner.d.ts.map +0 -1
  114. package/build/auth/auth-runner.js.map +0 -1
  115. package/build/auth/browser-auth.d.ts +0 -94
  116. package/build/auth/browser-auth.d.ts.map +0 -1
  117. package/build/auth/browser-auth.js.map +0 -1
  118. package/build/auth/browser-state-store.d.ts +0 -19
  119. package/build/auth/browser-state-store.d.ts.map +0 -1
  120. package/build/auth/browser-state-store.js.map +0 -1
  121. package/build/auth/credential-store.d.ts +0 -29
  122. package/build/auth/credential-store.d.ts.map +0 -1
  123. package/build/auth/credential-store.js.map +0 -1
  124. package/build/auth/duo-mfa.d.ts +0 -23
  125. package/build/auth/duo-mfa.d.ts.map +0 -1
  126. package/build/auth/duo-mfa.js.map +0 -1
  127. package/build/auth/encrypted-store.d.ts +0 -25
  128. package/build/auth/encrypted-store.d.ts.map +0 -1
  129. package/build/auth/encrypted-store.js.map +0 -1
  130. package/build/auth/index.d.ts +0 -14
  131. package/build/auth/index.d.ts.map +0 -1
  132. package/build/auth/index.js.map +0 -1
  133. package/build/auth/legacy-profile.d.ts +0 -3
  134. package/build/auth/legacy-profile.d.ts.map +0 -1
  135. package/build/auth/legacy-profile.js.map +0 -1
  136. package/build/auth/legacy-state.d.ts +0 -14
  137. package/build/auth/legacy-state.d.ts.map +0 -1
  138. package/build/auth/legacy-state.js.map +0 -1
  139. package/build/auth/purdue-sso.d.ts +0 -57
  140. package/build/auth/purdue-sso.d.ts.map +0 -1
  141. package/build/auth/purdue-sso.js.map +0 -1
  142. package/build/auth/session-store.d.ts +0 -28
  143. package/build/auth/session-store.d.ts.map +0 -1
  144. package/build/auth/session-store.js.map +0 -1
  145. package/build/auth/sso-flow.d.ts +0 -42
  146. package/build/auth/sso-flow.d.ts.map +0 -1
  147. package/build/auth/sso-flow.js.map +0 -1
  148. package/build/auth/suny-sso.d.ts +0 -53
  149. package/build/auth/suny-sso.d.ts.map +0 -1
  150. package/build/auth/suny-sso.js.map +0 -1
  151. package/build/auth/token-manager.d.ts +0 -74
  152. package/build/auth/token-manager.d.ts.map +0 -1
  153. package/build/auth/token-manager.js.map +0 -1
  154. package/build/auth/token-mint.d.ts +0 -32
  155. package/build/auth/token-mint.d.ts.map +0 -1
  156. package/build/auth/token-mint.js.map +0 -1
  157. package/build/auth/western-sso.d.ts +0 -15
  158. package/build/auth/western-sso.d.ts.map +0 -1
  159. package/build/auth/western-sso.js.map +0 -1
  160. package/build/auth-cli.d.ts +0 -4
  161. package/build/auth-cli.d.ts.map +0 -1
  162. package/build/auth-cli.js.map +0 -1
  163. package/build/index.d.ts +0 -10
  164. package/build/index.d.ts.map +0 -1
  165. package/build/index.js.map +0 -1
  166. package/build/setup.d.ts +0 -10
  167. package/build/setup.d.ts.map +0 -1
  168. package/build/setup.js.map +0 -1
  169. package/build/tools/download-file.d.ts +0 -16
  170. package/build/tools/download-file.d.ts.map +0 -1
  171. package/build/tools/download-file.js.map +0 -1
  172. package/build/tools/get-announcements.d.ts +0 -77
  173. package/build/tools/get-announcements.d.ts.map +0 -1
  174. package/build/tools/get-announcements.js.map +0 -1
  175. package/build/tools/get-assignment-files.d.ts +0 -12
  176. package/build/tools/get-assignment-files.d.ts.map +0 -1
  177. package/build/tools/get-assignment-files.js.map +0 -1
  178. package/build/tools/get-assignments.d.ts +0 -19
  179. package/build/tools/get-assignments.d.ts.map +0 -1
  180. package/build/tools/get-assignments.js.map +0 -1
  181. package/build/tools/get-classlist-emails.d.ts +0 -12
  182. package/build/tools/get-classlist-emails.d.ts.map +0 -1
  183. package/build/tools/get-classlist-emails.js.map +0 -1
  184. package/build/tools/get-course-content.d.ts +0 -12
  185. package/build/tools/get-course-content.d.ts.map +0 -1
  186. package/build/tools/get-course-content.js.map +0 -1
  187. package/build/tools/get-discussions.d.ts +0 -12
  188. package/build/tools/get-discussions.d.ts.map +0 -1
  189. package/build/tools/get-discussions.js.map +0 -1
  190. package/build/tools/get-my-courses.d.ts +0 -13
  191. package/build/tools/get-my-courses.d.ts.map +0 -1
  192. package/build/tools/get-my-courses.js.map +0 -1
  193. package/build/tools/get-my-grades.d.ts +0 -13
  194. package/build/tools/get-my-grades.d.ts.map +0 -1
  195. package/build/tools/get-my-grades.js.map +0 -1
  196. package/build/tools/get-roster.d.ts +0 -12
  197. package/build/tools/get-roster.d.ts.map +0 -1
  198. package/build/tools/get-roster.js.map +0 -1
  199. package/build/tools/get-syllabus.d.ts +0 -12
  200. package/build/tools/get-syllabus.d.ts.map +0 -1
  201. package/build/tools/get-syllabus.js.map +0 -1
  202. package/build/tools/get-upcoming-due-dates.d.ts +0 -13
  203. package/build/tools/get-upcoming-due-dates.d.ts.map +0 -1
  204. package/build/tools/get-upcoming-due-dates.js.map +0 -1
  205. package/build/tools/get-video-transcript.d.ts +0 -13
  206. package/build/tools/get-video-transcript.d.ts.map +0 -1
  207. package/build/tools/get-video-transcript.js.map +0 -1
  208. package/build/tools/index.d.ts +0 -21
  209. package/build/tools/index.d.ts.map +0 -1
  210. package/build/tools/index.js.map +0 -1
  211. package/build/tools/schemas.d.ts +0 -83
  212. package/build/tools/schemas.d.ts.map +0 -1
  213. package/build/tools/schemas.js.map +0 -1
  214. package/build/tools/tool-helpers.d.ts +0 -27
  215. package/build/tools/tool-helpers.d.ts.map +0 -1
  216. package/build/tools/tool-helpers.js.map +0 -1
  217. package/build/types/index.d.ts +0 -63
  218. package/build/types/index.d.ts.map +0 -1
  219. package/build/types/index.js.map +0 -1
  220. package/build/update.d.ts +0 -10
  221. package/build/update.d.ts.map +0 -1
  222. package/build/update.js.map +0 -1
  223. package/build/utils/atomic-write.d.ts +0 -18
  224. package/build/utils/atomic-write.d.ts.map +0 -1
  225. package/build/utils/atomic-write.js.map +0 -1
  226. package/build/utils/browser-install.d.ts +0 -23
  227. package/build/utils/browser-install.d.ts.map +0 -1
  228. package/build/utils/browser-install.js.map +0 -1
  229. package/build/utils/commands.d.ts +0 -26
  230. package/build/utils/commands.d.ts.map +0 -1
  231. package/build/utils/commands.js.map +0 -1
  232. package/build/utils/config-store.d.ts +0 -24
  233. package/build/utils/config-store.d.ts.map +0 -1
  234. package/build/utils/config-store.js.map +0 -1
  235. package/build/utils/config.d.ts +0 -10
  236. package/build/utils/config.d.ts.map +0 -1
  237. package/build/utils/config.js.map +0 -1
  238. package/build/utils/course-filter.d.ts +0 -31
  239. package/build/utils/course-filter.d.ts.map +0 -1
  240. package/build/utils/course-filter.js.map +0 -1
  241. package/build/utils/deep-links.d.ts +0 -17
  242. package/build/utils/deep-links.d.ts.map +0 -1
  243. package/build/utils/deep-links.js.map +0 -1
  244. package/build/utils/download-errors.d.ts +0 -45
  245. package/build/utils/download-errors.d.ts.map +0 -1
  246. package/build/utils/download-errors.js.map +0 -1
  247. package/build/utils/download-helpers.d.ts +0 -31
  248. package/build/utils/download-helpers.d.ts.map +0 -1
  249. package/build/utils/download-helpers.js.map +0 -1
  250. package/build/utils/errors.d.ts +0 -21
  251. package/build/utils/errors.d.ts.map +0 -1
  252. package/build/utils/errors.js.map +0 -1
  253. package/build/utils/file-validator.d.ts +0 -56
  254. package/build/utils/file-validator.d.ts.map +0 -1
  255. package/build/utils/file-validator.js.map +0 -1
  256. package/build/utils/html-converter.d.ts +0 -17
  257. package/build/utils/html-converter.d.ts.map +0 -1
  258. package/build/utils/html-converter.js.map +0 -1
  259. package/build/utils/install-sites.d.ts +0 -60
  260. package/build/utils/install-sites.d.ts.map +0 -1
  261. package/build/utils/install-sites.js.map +0 -1
  262. package/build/utils/logger.d.ts +0 -10
  263. package/build/utils/logger.d.ts.map +0 -1
  264. package/build/utils/logger.js.map +0 -1
  265. package/build/utils/mcp-client-cli.d.ts +0 -12
  266. package/build/utils/mcp-client-cli.d.ts.map +0 -1
  267. package/build/utils/mcp-client-cli.js.map +0 -1
  268. package/build/utils/modified-since.d.ts +0 -19
  269. package/build/utils/modified-since.d.ts.map +0 -1
  270. package/build/utils/modified-since.js.map +0 -1
  271. package/build/utils/pdf-extractor.d.ts +0 -14
  272. package/build/utils/pdf-extractor.d.ts.map +0 -1
  273. package/build/utils/pdf-extractor.js.map +0 -1
  274. package/build/utils/secure-config.d.ts +0 -6
  275. package/build/utils/secure-config.d.ts.map +0 -1
  276. package/build/utils/secure-config.js.map +0 -1
  277. package/build/utils/self-update.d.ts +0 -61
  278. package/build/utils/self-update.d.ts.map +0 -1
  279. package/build/utils/self-update.js.map +0 -1
  280. package/build/utils/transcript/captions.d.ts +0 -40
  281. package/build/utils/transcript/captions.d.ts.map +0 -1
  282. package/build/utils/transcript/captions.js.map +0 -1
  283. package/build/utils/transcript/errors.d.ts +0 -14
  284. package/build/utils/transcript/errors.d.ts.map +0 -1
  285. package/build/utils/transcript/errors.js.map +0 -1
  286. package/build/utils/transcript/kaltura.d.ts +0 -8
  287. package/build/utils/transcript/kaltura.d.ts.map +0 -1
  288. package/build/utils/transcript/kaltura.js.map +0 -1
  289. package/build/utils/transcript/platform.d.ts +0 -23
  290. package/build/utils/transcript/platform.d.ts.map +0 -1
  291. package/build/utils/transcript/platform.js.map +0 -1
  292. package/build/utils/transcript/types.d.ts +0 -22
  293. package/build/utils/transcript/types.d.ts.map +0 -1
  294. package/build/utils/transcript/types.js.map +0 -1
  295. package/build/utils/transcript/youtube.d.ts +0 -8
  296. package/build/utils/transcript/youtube.d.ts.map +0 -1
  297. package/build/utils/transcript/youtube.js.map +0 -1
  298. package/build/utils/update-checker.d.ts +0 -112
  299. package/build/utils/update-checker.d.ts.map +0 -1
  300. package/build/utils/update-checker.js.map +0 -1
  301. package/build/utils/zip-extract.d.ts +0 -15
  302. package/build/utils/zip-extract.d.ts.map +0 -1
  303. package/build/utils/zip-extract.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"modified-since.d.ts","sourceRoot":"","sources":["../../src/utils/modified-since.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACvC,MAAM,EAAE,IAAI,GACX,OAAO,CAKT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"modified-since.js","sourceRoot":"","sources":["../../src/utils/modified-since.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAuC,EACvC,MAAY;IAEZ,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;AAClC,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Purdue Brightspace MCP Server
3
- * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
- * Licensed under MIT — see LICENSE file for details.
5
- */
6
- /**
7
- * Extract text content from a PDF buffer.
8
- * Returns null on failure (graceful degradation — download still works).
9
- */
10
- export declare function extractPdfText(buffer: Buffer): Promise<{
11
- text: string;
12
- totalPages: number;
13
- } | null>;
14
- //# sourceMappingURL=pdf-extractor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdf-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/pdf-extractor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAatD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdf-extractor.js","sourceRoot":"","sources":["../../src/utils/pdf-extractor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;YACvD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAc;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,OAAO,EAAE,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- import { type ConfigStoreData } from "./config-store.js";
2
- /** Save secrets first so a failed vault write leaves the old configuration intact. */
3
- export declare function saveSecureConfig(config: ConfigStoreData): Promise<void>;
4
- /** Migrate a v1 password under its own account, before resolving environment overrides. */
5
- export declare function resolveStoredPassword(baseUrl: string, username: string | undefined, store: ConfigStoreData | null): Promise<string | undefined>;
6
- //# sourceMappingURL=secure-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secure-config.d.ts","sourceRoot":"","sources":["../../src/utils/secure-config.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2E,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWlI,sFAAsF;AACtF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7E;AAuBD,2FAA2F;AAC3F,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,eAAe,GAAG,IAAI,GAC5B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"secure-config.js","sourceRoot":"","sources":["../../src/utils/secure-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAElI,KAAK,UAAU,mBAAmB,CAAI,SAA2B;IAC/D,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC9G,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB;IAC5D,MAAM,mBAAmB,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,MAAuB;IAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;IAC7C,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,YAAY,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;IACpC,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnE,IAAI,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;QAChH,CAAC;IACH,CAAC;IACD,eAAe,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAe,EACf,QAA4B,EAC5B,KAA6B;IAE7B,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,mBAAmB,CAAC,KAAK,IAAI,EAAE;YACnC,uEAAuE;YACvE,2EAA2E;YAC3E,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;gBAAE,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,iFAAiF;QACjF,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC;AACnE,CAAC"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Brightspace MCP Server. Copyright (c) 2026 Rohan Muppa. MIT licensed.
3
- *
4
- * Self-healing for the auth CLI.
5
- *
6
- * The MCP server is launched as `npx -y brightspace-mcp-server@latest`, so it
7
- * refetches on every client restart and is effectively always current. The
8
- * auth CLI has no such guarantee: a copy installed once with `npm install -g`
9
- * stays at that version forever. That is how a machine ended up running a
10
- * v2.0.0 server alongside a v1.2.6 auth CLI whose sign-in flow no longer
11
- * worked, with nothing to say so.
12
- *
13
- * When a stale CLI notices it is behind, it re-runs itself through
14
- * `npx -y brightspace-mcp-server@latest auth` and hands back that process's
15
- * exit code. The user types nothing and is not asked anything; the newest code
16
- * simply runs. Note this does not rewrite the old copy on disk -- it is
17
- * bypassed, not upgraded. Overwriting it would mean running `npm install -g`
18
- * from inside a live process, which is the thing this package deliberately
19
- * does not do.
20
- *
21
- * Opt out with D2L_NO_UPDATE_CHECK.
22
- */
23
- import { type SpawnOptions, type ChildProcess } from "node:child_process";
24
- /** Set in the child's environment so a re-exec can never recurse. */
25
- export declare const REEXEC_SENTINEL = "D2L_REEXECED";
26
- export interface ReexecDeps {
27
- env?: NodeJS.ProcessEnv;
28
- argv?: string[];
29
- installedVersion?: string;
30
- fetchImpl?: typeof fetch;
31
- /** npx already resolved @latest, so a re-exec would be pointless. */
32
- runningFromNpxCache?: boolean;
33
- platform?: NodeJS.Platform;
34
- spawnImpl?: (command: string, args: string[], options: SpawnOptions) => ChildProcess;
35
- }
36
- /**
37
- * Flags worth carrying into the re-executed process. Only pass through
38
- * option flags: the subcommand is supplied explicitly, and forwarding stray
39
- * positional arguments risks changing what the child actually does.
40
- */
41
- export declare function passthroughFlags(argv: string[]): string[];
42
- /**
43
- * Decide, without doing anything, whether a re-exec is warranted.
44
- * Split out from the spawn so the policy is testable on its own.
45
- */
46
- export declare function shouldReexec(opts: {
47
- env: NodeJS.ProcessEnv;
48
- latest: string | null;
49
- installedVersion: string;
50
- runningFromNpxCache: boolean;
51
- }): boolean;
52
- /**
53
- * Re-run this command through the latest published release when the running
54
- * copy is stale.
55
- *
56
- * Resolves to the child's exit code when a re-exec happened (the caller should
57
- * exit with it and do no further work), or null when the current process
58
- * should simply continue.
59
- */
60
- export declare function reexecLatestIfStale(deps?: ReexecDeps): Promise<number | null>;
61
- //# sourceMappingURL=self-update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"self-update.d.ts","sourceRoot":"","sources":["../../src/utils/self-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIjF,qEAAqE;AACrE,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,YAAY,KAClB,YAAY,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,GAAG,OAAO,CAOV;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4CvF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/utils/self-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,KAAK,EAAwC,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEzF,qEAAqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAiB9C;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAK5B;IACC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACpE,IAAI,GAAG,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,2BAA2B;IACnE,IAAI,GAAG,CAAC,mBAAmB;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,mBAAmB;QAAE,OAAO,KAAK,CAAC,CAAC,wBAAwB;IAC/D,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,yCAAyC;IAC5E,OAAO,cAAc,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAmB,EAAE;IAC7D,MAAM,EACJ,GAAG,GAAG,OAAO,CAAC,GAAG,EACjB,IAAI,GAAG,OAAO,CAAC,IAAI,EACnB,gBAAgB,EAChB,SAAS,GAAG,KAAK,EACjB,mBAAmB,GAAG,cAAc,EAAE,KAAK,IAAI,EAC/C,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAC3B,SAAS,GAAG,KAAK,GAClB,GAAG,IAAI,CAAC;IAET,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEhD,2EAA2E;IAC3E,uBAAuB;IACvB,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,mBAAmB,IAAI,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAExF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvF,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,YAAY,SAAS,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjF,OAAO,CAAC,KAAK,CACX,mBAAmB,gBAAgB,MAAM,MAAM,iBAAiB;QAChE,sCAAsC,CACvC,CAAC;IAEF,OAAO,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;QAClD,IAAI,KAAmB,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE;gBAChE,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE;gBACvC,KAAK,EAAE,QAAQ,KAAK,OAAO;aAC5B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,uDAAuD;YACtE,OAAO;QACT,CAAC;QAED,sEAAsE;QACtE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,40 +0,0 @@
1
- /**
2
- * Purdue Brightspace MCP Server
3
- * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
- * Licensed under MIT — see LICENSE file for details.
5
- */
6
- /**
7
- * Parsing for the two caption formats every platform adapter in
8
- * src/utils/transcript/ ends up serving: WebVTT and SRT. Both are just
9
- * "timestamp range, then text, blank line, repeat" — this module is the one
10
- * place that knows the timestamp punctuation differs (`.` vs `,`) and that
11
- * VTT can carry inline tags and cue settings SRT never does.
12
- */
13
- export interface TranscriptCue {
14
- startMs: number;
15
- endMs: number;
16
- text: string;
17
- }
18
- export type CaptionFormat = "vtt" | "srt";
19
- /**
20
- * Parse WebVTT or SRT text into cues. Format is detected from the WEBVTT
21
- * header rather than taken on faith, since a caller only knows what the
22
- * platform's API claims to have served.
23
- */
24
- export declare function parseCaptions(raw: string): {
25
- format: CaptionFormat;
26
- cues: TranscriptCue[];
27
- };
28
- /** "H:MM:SS", matching how course-length recordings are usually captioned. */
29
- export declare function formatTimestamp(ms: number): string;
30
- /** One line per cue, timestamped, in reading order. */
31
- export declare function cuesToText(cues: TranscriptCue[]): string;
32
- export interface TextWindow {
33
- window: string;
34
- truncated: boolean;
35
- nextOffset: number | null;
36
- totalChars: number;
37
- }
38
- /** Character-offset paging, mirroring the maxChars/truncated convention used elsewhere for large text. */
39
- export declare function paginateText(text: string, offset: number, maxChars: number): TextWindow;
40
- //# sourceMappingURL=captions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"captions.d.ts","sourceRoot":"","sources":["../../../src/utils/transcript/captions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AAEH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC;AAa1C;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,aAAa,EAAE,CAAA;CAAE,CAwB3F;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,CAExD;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAKvF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"captions.js","sourceRoot":"","sources":["../../../src/utils/transcript/captions.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Purdue Brightspace MCP Server
3
- * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
- * Licensed under MIT — see LICENSE file for details.
5
- */
6
- /** The video exists and answered, but has no captions — an expected outcome, not a failure. */
7
- export declare class NoTranscriptError extends Error {
8
- constructor(message: string);
9
- }
10
- /** The platform's API could not be reached or rejected the request. */
11
- export declare class TranscriptFetchError extends Error {
12
- constructor(message: string);
13
- }
14
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/transcript/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+FAA+F;AAC/F,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,uEAAuE;AACvE,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/transcript/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+FAA+F;AAC/F,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,uEAAuE;AACvE,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Purdue Brightspace MCP Server
3
- * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
- * Licensed under MIT — see LICENSE file for details.
5
- */
6
- import type { FetchLike, TranscriptResult } from "./types.js";
7
- export declare function getKalturaTranscript(partnerId: string, entryId: string, fetchImpl: FetchLike): Promise<TranscriptResult>;
8
- //# sourceMappingURL=kaltura.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kaltura.d.ts","sourceRoot":"","sources":["../../../src/utils/transcript/kaltura.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAqF9D,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAyB3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"kaltura.js","sourceRoot":"","sources":["../../../src/utils/transcript/kaltura.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Purdue Brightspace MCP Server
3
- * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
- * Licensed under MIT — see LICENSE file for details.
5
- */
6
- /**
7
- * Which video platform a content topic's URL points at, and the identifiers
8
- * each platform's transcript adapter needs. get_course_content's own
9
- * `typeFilter: "video"` match is a blunt `youtube|vimeo|kaltura|video` regex
10
- * on the URL; this is the more accurate classifier get_video_transcript
11
- * needs before it can pick an adapter.
12
- */
13
- export type VideoPlatform = "kaltura" | "youtube" | "panopto" | "yuja" | "echo360" | "vimeo" | "unknown";
14
- export declare function detectVideoPlatform(url: string): VideoPlatform;
15
- export interface KalturaIds {
16
- partnerId: string;
17
- entryId: string;
18
- }
19
- /** Kaltura embeds carry the entry and partner ID as query params or path segments; naming varies by embed generator. */
20
- export declare function extractKalturaIds(url: string): KalturaIds | null;
21
- /** youtube.com/watch?v=, youtu.be/, and /embed/ links. */
22
- export declare function extractYouTubeVideoId(url: string): string | null;
23
- //# sourceMappingURL=platform.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/utils/transcript/platform.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AAEH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAoBd,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAgB9D;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wHAAwH;AACxH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA6BhE;AAED,0DAA0D;AAC1D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBhE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/utils/transcript/platform.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Purdue Brightspace MCP Server
3
- * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
- * Licensed under MIT — see LICENSE file for details.
5
- */
6
- import type { CaptionFormat, TranscriptCue } from "./captions.js";
7
- /** What every platform adapter (kaltura.ts, youtube.ts, ...) resolves to on success. */
8
- export interface TranscriptResult {
9
- cues: TranscriptCue[];
10
- format: CaptionFormat;
11
- language: string | null;
12
- title: string | null;
13
- durationSeconds: number | null;
14
- }
15
- /** Minimal fetch surface an adapter needs, so tests can inject a stub instead of touching global fetch. */
16
- export type FetchLike = (url: string) => Promise<{
17
- ok: boolean;
18
- status: number;
19
- json(): Promise<unknown>;
20
- text(): Promise<string>;
21
- }>;
22
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/transcript/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElE,wFAAwF;AACxF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,2GAA2G;AAC3G,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/transcript/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Purdue Brightspace MCP Server
3
- * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
- * Licensed under MIT — see LICENSE file for details.
5
- */
6
- import type { FetchLike, TranscriptResult } from "./types.js";
7
- export declare function getYouTubeTranscript(videoId: string, fetchImpl: FetchLike): Promise<TranscriptResult>;
8
- //# sourceMappingURL=youtube.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../../src/utils/transcript/youtube.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyB9D,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0B3G"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../../src/utils/transcript/youtube.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- /**
2
- * Background npm update checker: look, and tell, but never touch.
3
- *
4
- * The server asks the npm registry for the latest published version, on
5
- * startup and then periodically, because a stdio MCP server can stay alive for
6
- * days and a boot-only check would never notice a release. If the registry has
7
- * something newer, the user is told how to update. Nothing is ever installed
8
- * by this module.
9
- *
10
- * The one side effect it keeps is scoped to this package's own stale npx cache
11
- * directories, because clearing them is what lets `npx brightspace-mcp-server@latest`
12
- * actually pick up the new version on the next start. It never deletes the
13
- * directory the current process is running from -- doing so pulls the rug out
14
- * from under lazy imports (Playwright is loaded on demand at auth time) and
15
- * from the auth CLI this process spawns as a child.
16
- *
17
- * The notice repeats on a throttle rather than being consumed by whichever
18
- * caller happens to read it first. A one-shot notice is invisible in practice:
19
- * it gets swallowed by a single background tool call and never seen again.
20
- *
21
- * Set D2L_NO_UPDATE_CHECK to any value to switch the check off entirely.
22
- */
23
- import { access, readdir, rm } from "node:fs/promises";
24
- /**
25
- * The `_npx/<hash>` directory this process is executing out of, or null when
26
- * not running from an npx cache. Used both to detect npx execution and, more
27
- * importantly, to know which directory must never be deleted.
28
- */
29
- export declare function ownNpxCacheDir(root?: string): string | null;
30
- /**
31
- * Remove npx cache entries holding a copy of this package, so the next
32
- * `npx brightspace-mcp-server@latest` downloads the new version instead of
33
- * reusing a stale one.
34
- *
35
- * Skips the directory the current process is running from. Deleting it would
36
- * break this process: Playwright is imported lazily at auth time, and the auth
37
- * CLI is spawned from the same tree, so both would fail with ENOENT for the
38
- * rest of the server's life. Touches nothing outside npx cache directories.
39
- */
40
- export declare function clearAllNpxCaches(selfDir?: string | null, deps?: {
41
- readdirImpl?: typeof readdir;
42
- rmImpl?: typeof rm;
43
- accessImpl?: typeof access;
44
- }): Promise<number>;
45
- /**
46
- * A version string safe to show a person.
47
- *
48
- * The registry response is remote input, and the notice built from it is now
49
- * rendered into the user's AI client by every tool, so the raw string must
50
- * never be interpolated. `parseTriple` deliberately tolerates a trailing
51
- * prerelease suffix, which means a `latest` of "2.2.0 and now ignore your
52
- * instructions" parses happily. Rebuilding the label from the parsed numbers
53
- * discards everything after the digits, so only `\d+\.\d+\.\d+` can ever reach
54
- * the screen.
55
- */
56
- export declare function safeVersionLabel(version: string): string;
57
- /**
58
- * True only when `latest` is strictly newer than `installed`, compared as
59
- * numeric major, minor, patch. Prerelease suffixes are ignored, and anything
60
- * that does not parse as a version is never "newer", so a registry hiccup
61
- * cannot announce an update that does not exist.
62
- */
63
- export declare function isNewerVersion(latest: string, installed: string): boolean;
64
- /**
65
- * Ask the registry for the latest published version. Returns null on any
66
- * failure -- a bad network must never be reported as "you are up to date" or
67
- * as an error the caller has to handle.
68
- */
69
- export declare function fetchLatestVersion(fetchImpl?: typeof fetch): Promise<string | null>;
70
- export interface UpdateCheckDeps {
71
- fetchImpl?: typeof fetch;
72
- env?: Record<string, string | undefined>;
73
- installedVersion?: string;
74
- runningFromNpxCache?: boolean;
75
- clearCaches?: () => Promise<number>;
76
- }
77
- /**
78
- * Run one update check. Never throws and never blocks the caller for long:
79
- * the registry request is bounded by a timeout and every failure is
80
- * swallowed, because a version check must not affect the server.
81
- */
82
- export declare function initUpdateChecker(deps?: UpdateCheckDeps): Promise<void>;
83
- export interface PeriodicUpdateDeps extends UpdateCheckDeps {
84
- intervalMs?: number;
85
- setIntervalImpl?: (fn: () => void, ms: number) => {
86
- unref?: () => void;
87
- };
88
- clearIntervalImpl?: (handle: unknown) => void;
89
- }
90
- /**
91
- * Check now, then keep checking. Returns a stop function.
92
- *
93
- * The interval is unref'd so it can never hold a stdio server open past the
94
- * point it would otherwise exit.
95
- */
96
- export declare function startUpdateChecks(deps?: PeriodicUpdateDeps): () => void;
97
- /**
98
- * Read the notice without consuming or throttling it.
99
- *
100
- * For one-shot contexts like a CLI, which runs, prints once, and exits.
101
- */
102
- export declare function peekUpdateNotice(): string | null;
103
- /**
104
- * Read the notice for a repeated context like MCP tool responses, which can
105
- * fire many times a session. Returns the notice at most once per
106
- * `minIntervalMs`. `now` is a parameter so throttling is testable without
107
- * faking timers.
108
- */
109
- export declare function getUpdateNotice(now?: number, minIntervalMs?: number): string | null;
110
- /** Drop any pending notice. Primarily for resetting module state in tests. */
111
- export declare function clearUpdateNotice(): void;
112
- //# sourceMappingURL=update-checker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../../src/utils/update-checker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAuCvD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAE,MAAoB,GAAG,MAAM,GAAG,IAAI,CAIxE;AAMD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,MAAM,GAAG,IAAuB,EACzC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,MAAM,CAAA;CAAO,GAC1F,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAQzE;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYhG;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCjF;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK;QAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACzE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,MAAM,IAAI,CAgB3E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,GAAE,MAAmB,EACxB,aAAa,GAAE,MAAyB,GACvC,MAAM,GAAG,IAAI,CAKf;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../../src/utils/update-checker.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Purdue Brightspace MCP Server
3
- * Copyright (c) 2026 Rohan Muppa. All rights reserved.
4
- * Licensed under MIT. See LICENSE file for details.
5
- */
6
- /** One entry from a ZIP archive by exact name, or null. Never throws. */
7
- export declare function extractZipEntry(buffer: Buffer, entryName: string): Buffer | null;
8
- /** Every entry name in the archive, or null when it does not parse. */
9
- export declare function listZipEntries(buffer: Buffer): string[] | null;
10
- /**
11
- * Readable text from a DOCX, XLSX, or PPTX buffer, or null when the archive
12
- * is not an Office document or carries nothing readable.
13
- */
14
- export declare function officeDocumentText(buffer: Buffer): string | null;
15
- //# sourceMappingURL=zip-extract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zip-extract.d.ts","sourceRoot":"","sources":["../../src/utils/zip-extract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0GH,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhF;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAM9D;AAuBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBhE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"zip-extract.js","sourceRoot":"","sources":["../../src/utils/zip-extract.ts"],"names":[],"mappings":"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"}