mne-docs-mcp 1.0.26 → 1.0.28

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 (54) hide show
  1. package/dist/forum/client.d.ts +3 -0
  2. package/dist/forum/client.d.ts.map +1 -1
  3. package/dist/forum/client.js +53 -32
  4. package/dist/forum/client.js.map +1 -1
  5. package/dist/github/client.d.ts +9 -2
  6. package/dist/github/client.d.ts.map +1 -1
  7. package/dist/github/client.js +159 -26
  8. package/dist/github/client.js.map +1 -1
  9. package/dist/tools/findMneSymbol.d.ts +1 -0
  10. package/dist/tools/findMneSymbol.d.ts.map +1 -1
  11. package/dist/tools/findMneSymbol.js +73 -41
  12. package/dist/tools/findMneSymbol.js.map +1 -1
  13. package/dist/tools/getMneChangelog.js +1 -1
  14. package/dist/tools/getMneChangelog.js.map +1 -1
  15. package/dist/tools/getMneDoc.d.ts +1 -0
  16. package/dist/tools/getMneDoc.d.ts.map +1 -1
  17. package/dist/tools/getMneDoc.js +36 -16
  18. package/dist/tools/getMneDoc.js.map +1 -1
  19. package/dist/tools/getMneExample.d.ts.map +1 -1
  20. package/dist/tools/getMneExample.js +64 -50
  21. package/dist/tools/getMneExample.js.map +1 -1
  22. package/dist/tools/getMneFile.js +7 -7
  23. package/dist/tools/getMneFile.js.map +1 -1
  24. package/dist/tools/getMneForumTopic.js +6 -6
  25. package/dist/tools/getMneForumTopic.js.map +1 -1
  26. package/dist/tools/getMneIssue.js +1 -1
  27. package/dist/tools/getMneIssue.js.map +1 -1
  28. package/dist/tools/getMneIssueComments.js +1 -1
  29. package/dist/tools/getMneIssueComments.js.map +1 -1
  30. package/dist/tools/getRelatedSymbols.d.ts +3 -1
  31. package/dist/tools/getRelatedSymbols.d.ts.map +1 -1
  32. package/dist/tools/getRelatedSymbols.js +25 -17
  33. package/dist/tools/getRelatedSymbols.js.map +1 -1
  34. package/dist/tools/getSymbolReferences.d.ts +2 -0
  35. package/dist/tools/getSymbolReferences.d.ts.map +1 -1
  36. package/dist/tools/getSymbolReferences.js +40 -32
  37. package/dist/tools/getSymbolReferences.js.map +1 -1
  38. package/dist/tools/listMneVersions.js +2 -2
  39. package/dist/tools/listMneVersions.js.map +1 -1
  40. package/dist/tools/lookupMneError.js +1 -1
  41. package/dist/tools/lookupMneError.js.map +1 -1
  42. package/dist/tools/searchMneDocs.d.ts.map +1 -1
  43. package/dist/tools/searchMneDocs.js +83 -26
  44. package/dist/tools/searchMneDocs.js.map +1 -1
  45. package/dist/tools/searchMneForum.d.ts.map +1 -1
  46. package/dist/tools/searchMneForum.js +7 -6
  47. package/dist/tools/searchMneForum.js.map +1 -1
  48. package/dist/tools/searchMneIssues.js +3 -3
  49. package/dist/tools/searchMneIssues.js.map +1 -1
  50. package/dist/utils/symbolResolver.d.ts +8 -2
  51. package/dist/utils/symbolResolver.d.ts.map +1 -1
  52. package/dist/utils/symbolResolver.js +50 -30
  53. package/dist/utils/symbolResolver.js.map +1 -1
  54. package/package.json +1 -1
@@ -3,7 +3,10 @@ export declare class ForumClient {
3
3
  readonly baseUrl: string;
4
4
  readonly timeout: number;
5
5
  private logger;
6
+ private searchQueue;
7
+ private lastSearchAt;
6
8
  constructor(baseUrl: string, timeout: number);
9
+ private scheduleSearch;
7
10
  search(query: string, limit?: number): Promise<ForumSearchItem[]>;
8
11
  }
9
12
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/forum/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgE9C,qBAAa,WAAW;IACpB,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,MAAM,CAAe;gBAEjB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKtC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA0C7E"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/forum/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgE9C,qBAAa,WAAW;IACpB,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,YAAY,CAAK;gBAEb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAK5C,OAAO,CAAC,cAAc;IAqBhB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA4C7E"}
@@ -3,46 +3,67 @@ export class ForumClient {
3
3
  baseUrl;
4
4
  timeout;
5
5
  logger = getLogger();
6
+ // Serialize forum search requests so we don't hit Discourse's search
7
+ // rate limits with bursts. We enforce a small delay between calls.
8
+ searchQueue = Promise.resolve();
9
+ lastSearchAt = 0;
6
10
  constructor(baseUrl, timeout) {
7
11
  this.baseUrl = baseUrl;
8
12
  this.timeout = timeout;
9
13
  }
14
+ scheduleSearch(fn) {
15
+ const MIN_INTERVAL_MS = 3000;
16
+ const now = Date.now();
17
+ const delay = Math.max(0, this.lastSearchAt + MIN_INTERVAL_MS - now);
18
+ const run = async () => {
19
+ if (delay > 0) {
20
+ await new Promise(resolve => setTimeout(resolve, delay));
21
+ }
22
+ this.lastSearchAt = Date.now();
23
+ return fn();
24
+ };
25
+ const queued = this.searchQueue.then(run, run);
26
+ this.searchQueue = queued.then(() => undefined, () => undefined);
27
+ return queued;
28
+ }
10
29
  async search(query, limit = 5) {
11
30
  const url = `${this.baseUrl}/search.json?q=${encodeURIComponent(query)}`;
12
- try {
13
- const response = await fetch(url, {
14
- headers: { 'Accept': 'application/json' },
15
- signal: AbortSignal.timeout(this.timeout),
16
- });
17
- if (!response.ok) {
18
- this.logger.error('Forum search failed', { status: response.status });
19
- return [];
20
- }
21
- const data = await response.json();
22
- // Discourse returns topics and posts separately
23
- // Posts contain the blurb/excerpt, topics contain metadata
24
- const topics = data.topics || [];
25
- const posts = data.posts || [];
26
- // Create a map of topic_id -> first post blurb
27
- const postBlurbs = new Map();
28
- for (const post of posts) {
29
- if (post.topic_id && post.blurb && !postBlurbs.has(post.topic_id)) {
30
- postBlurbs.set(post.topic_id, post.blurb);
31
+ return this.scheduleSearch(async () => {
32
+ try {
33
+ const response = await fetch(url, {
34
+ headers: { 'Accept': 'application/json' },
35
+ signal: AbortSignal.timeout(this.timeout),
36
+ });
37
+ if (!response.ok) {
38
+ this.logger.error('Forum search failed', { status: response.status });
39
+ return [];
31
40
  }
41
+ const data = await response.json();
42
+ // Discourse returns topics and posts separately
43
+ // Posts contain the blurb/excerpt, topics contain metadata
44
+ const topics = data.topics || [];
45
+ const posts = data.posts || [];
46
+ // Create a map of topic_id -> first post blurb
47
+ const postBlurbs = new Map();
48
+ for (const post of posts) {
49
+ if (post.topic_id && post.blurb && !postBlurbs.has(post.topic_id)) {
50
+ postBlurbs.set(post.topic_id, post.blurb);
51
+ }
52
+ }
53
+ return topics.slice(0, limit).map((t) => ({
54
+ source: 'forum',
55
+ title: t.fancy_title || t.title,
56
+ url: `${this.baseUrl}/t/${t.slug}/${t.id}`,
57
+ blurb: postBlurbs.get(t.id) || t.excerpt || t.blurb || '',
58
+ postsCount: t.posts_count,
59
+ createdAt: t.created_at,
60
+ }));
61
+ }
62
+ catch (error) {
63
+ this.logger.error('Forum search error', { error });
64
+ return [];
32
65
  }
33
- return topics.slice(0, limit).map((t) => ({
34
- source: 'forum',
35
- title: t.fancy_title || t.title,
36
- url: `${this.baseUrl}/t/${t.slug}/${t.id}`,
37
- blurb: postBlurbs.get(t.id) || t.excerpt || t.blurb || '',
38
- postsCount: t.posts_count,
39
- createdAt: t.created_at,
40
- }));
41
- }
42
- catch (error) {
43
- this.logger.error('Forum search error', { error });
44
- return [];
45
- }
66
+ });
46
67
  }
47
68
  }
48
69
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/forum/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA+D/C,MAAM,OAAO,WAAW;IACJ,OAAO,CAAS;IAChB,OAAO,CAAS;IACxB,MAAM,GAAG,SAAS,EAAE,CAAC;IAE7B,YAAY,OAAe,EAAE,OAAe;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB,CAAC;QACzC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAEzE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC9B,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE;gBACzC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aAC5C,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtE,OAAO,EAAE,CAAC;YACd,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAC;YAE9D,gDAAgD;YAChD,2DAA2D;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/B,+CAA+C;YAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,MAAM,EAAE,OAAgB;gBACxB,KAAK,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,KAAK;gBAC/B,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;gBAC1C,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;gBACzD,UAAU,EAAE,CAAC,CAAC,WAAW;gBACzB,SAAS,EAAE,CAAC,CAAC,UAAU;aAC1B,CAAC,CAAC,CAAC;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnD,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/forum/client.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,14 @@ export declare class GitHubClient {
9
9
  private versionTagCache;
10
10
  private inFlight;
11
11
  private codeQueue;
12
- private lastCodeSearchAt;
12
+ private codeSearchTimestamps;
13
+ private searchTtlMs;
14
+ private codeSearchCache;
15
+ private issueSearchCache;
16
+ private static readonly SEARCH_CACHE_MAX_ENTRIES;
13
17
  constructor(config: Config);
18
+ private getRateLimitRetryLimit;
19
+ private getRateLimitWaitCapMs;
14
20
  private getRepo;
15
21
  private getBucketForUrl;
16
22
  getRateLimitInfo(bucket?: RateLimitBucket): RateLimitInfo | null;
@@ -25,8 +31,9 @@ export declare class GitHubClient {
25
31
  * effectively empty; normal throttling is handled by the code-search queue.
26
32
  */
27
33
  private guardRateLimit;
28
- /** Schedule a /search/code request so we do at most ~1 every 2 seconds. */
34
+ /** Schedule a /search/code request with rolling-window throttling. */
29
35
  private scheduleCodeSearch;
36
+ private pruneSearchCaches;
30
37
  private request;
31
38
  fetchVersions(limit?: number, packageName?: string): Promise<MneVersion[]>;
32
39
  getLatestVersion(packageName?: string): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACgB,sBAAsB,EACpB,iBAAiB,EACtC,kBAAkB,EAAa,aAAa,EAC/C,MAAM,YAAY,CAAC;AAIpB,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,qBAAa,YAAY;IACrB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,iBAAiB,CAAuD;IAIhF,OAAO,CAAC,eAAe,CAAkC;IAIzD,OAAO,CAAC,QAAQ,CAA4C;IAI5D,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,gBAAgB,CAAK;gBAEjB,MAAM,EAAE,MAAM;IAI1B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,eAAe;IAOvB,gBAAgB,CAAC,MAAM,GAAE,eAAwB,GAAG,aAAa,GAAG,IAAI;IAIxE,OAAO,CAAC,eAAe;YA2BT,eAAe;IAqB7B,+EAA+E;YACjE,OAAO;IAMrB;;;;;OAKG;YACW,cAAc;IAmB5B,2EAA2E;IAC3E,OAAO,CAAC,kBAAkB;YAsBZ,OAAO;IA0Ef,aAAa,CAAC,KAAK,GAAE,MAAW,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAU9E,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA8BvF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlF,UAAU,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GACjH,OAAO,CAAC,sBAAsB,CAAC;IAa5B,YAAY,CACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9H,OAAO,CAAC,eAAe,EAAE,CAAC;IA4BvB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAyBtF,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAkBnG"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACgB,sBAAsB,EACpB,iBAAiB,EACtC,kBAAkB,EAAa,aAAa,EAC/C,MAAM,YAAY,CAAC;AAIpB,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,qBAAa,YAAY;IACrB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAe;IAG7B,OAAO,CAAC,iBAAiB,CAAuD;IAIhF,OAAO,CAAC,eAAe,CAAkC;IAIzD,OAAO,CAAC,QAAQ,CAA4C;IAI5D,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,oBAAoB,CAAgB;IAI5C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAA+E;IACtG,OAAO,CAAC,gBAAgB,CAAiF;IACzG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAO;gBAE3C,MAAM,EAAE,MAAM;IAQ1B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,eAAe;IAOvB,gBAAgB,CAAC,MAAM,GAAE,eAAwB,GAAG,aAAa,GAAG,IAAI;IAIxE,OAAO,CAAC,eAAe;YA2BT,eAAe;IAyB7B,+EAA+E;YACjE,OAAO;IAMrB;;;;;OAKG;YACW,cAAc;IAmB5B,sEAAsE;IACtE,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,iBAAiB;YAoCX,OAAO;IAqFf,aAAa,CAAC,KAAK,GAAE,MAAW,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAU9E,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA8BvF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlF,UAAU,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GACjH,OAAO,CAAC,sBAAsB,CAAC;IAuC5B,YAAY,CACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9H,OAAO,CAAC,eAAe,EAAE,CAAC;IAmEvB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAyBtF,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAkBnG"}
@@ -15,13 +15,32 @@ export class GitHubClient {
15
15
  // callers share a single in-flight fetch instead of each consuming one
16
16
  // rate-limit token.
17
17
  inFlight = new Map();
18
- // Simple queue for code-search (/search/code) requests so we never exceed
19
- // GitHub's ~10 req/minute code-search quota. We serialize these calls and
20
- // enforce a minimum interval between them.
18
+ // Queue for code-search (/search/code) requests.
19
+ // We allow short bursts (up to MAX_PER_WINDOW) and only delay when the
20
+ // rolling one-minute window is full.
21
21
  codeQueue = Promise.resolve();
22
- lastCodeSearchAt = 0;
22
+ codeSearchTimestamps = [];
23
+ // Lightweight in-memory caches for GitHub search endpoints. These sit in
24
+ // front of the remote API to avoid repeating identical searches across
25
+ // tools and within a single MCP server process.
26
+ searchTtlMs;
27
+ codeSearchCache = new Map();
28
+ issueSearchCache = new Map();
29
+ static SEARCH_CACHE_MAX_ENTRIES = 200;
23
30
  constructor(config) {
24
31
  this.config = config;
32
+ // Fall back to 60 minutes if searchCacheTtlMinutes is missing on a
33
+ // partial Config (e.g. in tests that construct GitHubClient with `as any`).
34
+ const ttlMinutes = config.searchCacheTtlMinutes ?? 60;
35
+ this.searchTtlMs = ttlMinutes * 60 * 1000;
36
+ }
37
+ getRateLimitRetryLimit(bucket) {
38
+ // Code-search is typically optional and has a tiny quota, so fail fast
39
+ // instead of stalling end-user requests for several minutes.
40
+ return bucket === 'code' ? 1 : 3;
41
+ }
42
+ getRateLimitWaitCapMs(bucket) {
43
+ return bucket === 'code' ? 5_000 : 15_000;
25
44
  }
26
45
  getRepo(packageName) {
27
46
  return getPackageInfo(packageName).repo;
@@ -62,18 +81,19 @@ export class GitHubClient {
62
81
  }
63
82
  }
64
83
  }
65
- async handleRateLimit(response) {
84
+ async handleRateLimit(response, bucket) {
66
85
  if (response.status === 403 || response.status === 429) {
67
86
  const reset = response.headers.get('x-ratelimit-reset');
68
87
  if (reset) {
69
88
  const waitTime = parseInt(reset, 10) * 1000 - Date.now();
70
- // Cap at 60 s so a far-future reset timestamp never hangs the server.
89
+ // Cap waits aggressively for user-facing MCP latency.
71
90
  // Add ±10 % jitter to spread retries when multiple requests hit the limit.
72
- const base = Math.min(Math.max(0, waitTime + 1000), 60_000);
91
+ const base = Math.min(Math.max(0, waitTime + 1000), this.getRateLimitWaitCapMs(bucket));
73
92
  const jitter = base * (0.9 + Math.random() * 0.2);
74
93
  const cappedWait = Math.round(jitter);
75
94
  if (cappedWait > 0) {
76
95
  this.logger.warn(`Rate limited. Waiting ${cappedWait}ms`, {
96
+ bucket,
77
97
  status: response.status,
78
98
  resetInMs: waitTime,
79
99
  });
@@ -102,7 +122,7 @@ export class GitHubClient {
102
122
  if (!info || bucket !== 'code' || info.remaining > 1)
103
123
  return;
104
124
  const waitMs = Math.max(0, info.resetAt.getTime() - Date.now() + 500);
105
- const cappedWait = Math.min(waitMs, 60_000);
125
+ const cappedWait = Math.min(waitMs, this.getRateLimitWaitCapMs(bucket));
106
126
  if (cappedWait > 0) {
107
127
  this.logger.warn('Rate limit nearly exhausted — pausing before next request', {
108
128
  bucket,
@@ -113,16 +133,30 @@ export class GitHubClient {
113
133
  await new Promise(resolve => setTimeout(resolve, cappedWait));
114
134
  }
115
135
  }
116
- /** Schedule a /search/code request so we do at most ~1 every 2 seconds. */
136
+ /** Schedule a /search/code request with rolling-window throttling. */
117
137
  scheduleCodeSearch(fn) {
118
- const MIN_INTERVAL_MS = 2000;
119
- const now = Date.now();
120
- const delay = Math.max(0, this.lastCodeSearchAt + MIN_INTERVAL_MS - now);
138
+ // GitHub code search is roughly 10 requests/minute.
139
+ // Instead of forcing every request to wait ~7s, we allow bursts and
140
+ // only wait when the rolling window is saturated.
141
+ const WINDOW_MS = 60_000;
142
+ const MAX_PER_WINDOW = 10;
121
143
  const run = async () => {
122
- if (delay > 0) {
123
- await new Promise(resolve => setTimeout(resolve, delay));
144
+ const now = Date.now();
145
+ this.codeSearchTimestamps = this.codeSearchTimestamps.filter(ts => now - ts < WINDOW_MS);
146
+ if (this.codeSearchTimestamps.length >= MAX_PER_WINDOW) {
147
+ const oldest = this.codeSearchTimestamps[0];
148
+ const delay = Math.max(0, oldest + WINDOW_MS - now + 50);
149
+ if (delay > 0) {
150
+ this.logger.warn('Delaying code-search request to respect rolling window quota', {
151
+ waitMs: delay,
152
+ queuedInWindow: this.codeSearchTimestamps.length,
153
+ });
154
+ await new Promise(resolve => setTimeout(resolve, delay));
155
+ }
124
156
  }
125
- this.lastCodeSearchAt = Date.now();
157
+ const started = Date.now();
158
+ this.codeSearchTimestamps = this.codeSearchTimestamps.filter(ts => started - ts < WINDOW_MS);
159
+ this.codeSearchTimestamps.push(started);
126
160
  return fn();
127
161
  };
128
162
  const queued = this.codeQueue.then(run, run);
@@ -130,6 +164,40 @@ export class GitHubClient {
130
164
  this.codeQueue = queued.then(() => undefined, () => undefined);
131
165
  return queued;
132
166
  }
167
+ pruneSearchCaches() {
168
+ const now = Date.now();
169
+ // Drop expired entries first.
170
+ for (const [key, entry] of this.codeSearchCache.entries()) {
171
+ if (entry.expiresAt <= now)
172
+ this.codeSearchCache.delete(key);
173
+ }
174
+ for (const [key, entry] of this.issueSearchCache.entries()) {
175
+ if (entry.expiresAt <= now)
176
+ this.issueSearchCache.delete(key);
177
+ }
178
+ // If still above the soft limit, evict oldest entries by expiry time.
179
+ const total = this.codeSearchCache.size + this.issueSearchCache.size;
180
+ if (total <= GitHubClient.SEARCH_CACHE_MAX_ENTRIES)
181
+ return;
182
+ const all = [];
183
+ for (const [key, entry] of this.codeSearchCache.entries()) {
184
+ all.push({ key, expiresAt: entry.expiresAt, which: 'code' });
185
+ }
186
+ for (const [key, entry] of this.issueSearchCache.entries()) {
187
+ all.push({ key, expiresAt: entry.expiresAt, which: 'issue' });
188
+ }
189
+ all.sort((a, b) => a.expiresAt - b.expiresAt);
190
+ const toRemove = total - GitHubClient.SEARCH_CACHE_MAX_ENTRIES;
191
+ for (let i = 0; i < toRemove && i < all.length; i++) {
192
+ const victim = all[i];
193
+ if (victim.which === 'code') {
194
+ this.codeSearchCache.delete(victim.key);
195
+ }
196
+ else {
197
+ this.issueSearchCache.delete(victim.key);
198
+ }
199
+ }
200
+ }
133
201
  async request(url, options = {}, retryCount = 0) {
134
202
  const fullUrl = url.startsWith('http') ? url : `${this.config.githubApiBase}${url}`;
135
203
  const bucket = this.getBucketForUrl(url);
@@ -159,9 +227,15 @@ export class GitHubClient {
159
227
  });
160
228
  this.updateRateLimit(response, bucket);
161
229
  if (!response.ok) {
162
- if ((response.status === 403 || response.status === 429) && retryCount < 3) {
163
- await this.handleRateLimit(response);
164
- return this.request(url, options, retryCount + 1);
230
+ if (response.status === 403 || response.status === 429) {
231
+ const retryLimit = this.getRateLimitRetryLimit(bucket);
232
+ if (retryCount < retryLimit) {
233
+ await this.handleRateLimit(response, bucket);
234
+ return this.request(url, options, retryCount + 1);
235
+ }
236
+ if (bucket === 'code') {
237
+ throw new Error(`GitHub code-search rate limit exceeded: ${response.status} ${response.statusText}`);
238
+ }
165
239
  }
166
240
  // Retry transient GitHub server errors with exponential backoff.
167
241
  if (response.status >= 500 && response.status < 600 && retryCount < 3) {
@@ -185,7 +259,10 @@ export class GitHubClient {
185
259
  this.inFlight.delete(fullUrl);
186
260
  }
187
261
  };
188
- const fetchPromise = bucket === 'code'
262
+ // Only the first /search/code attempt goes through the global queue.
263
+ // Retries run inline to avoid queue self-deadlocks (retry waiting on
264
+ // a queue item that itself is waiting for the retry to complete).
265
+ const fetchPromise = bucket === 'code' && retryCount === 0
189
266
  ? this.scheduleCodeSearch(doRequest)
190
267
  : doRequest();
191
268
  if (isIdempotent) {
@@ -248,13 +325,34 @@ export class GitHubClient {
248
325
  let q = `${query} repo:${repo}`;
249
326
  if (options.path)
250
327
  q += ` path:${options.path}`;
251
- const url = `/search/code?q=${encodeURIComponent(q)}&per_page=${options.perPage || 10}`;
252
- if (options.textMatches) {
253
- return this.request(url, {
254
- headers: { Accept: 'application/vnd.github.v3.text-match+json' },
255
- });
328
+ const perPage = options.perPage || 10;
329
+ const textMatches = !!options.textMatches;
330
+ const versionKey = options.version ?? 'latest';
331
+ const cacheKey = [
332
+ repo,
333
+ versionKey,
334
+ options.path || '',
335
+ perPage,
336
+ textMatches ? 'tm1' : 'tm0',
337
+ query,
338
+ ].join('|');
339
+ const cached = this.codeSearchCache.get(cacheKey);
340
+ if (cached && cached.expiresAt > Date.now()) {
341
+ this.logger.debug('GitHub code-search cache hit', { repo, query, path: options.path, perPage });
342
+ return cached.data;
256
343
  }
257
- return this.request(url);
344
+ const url = `/search/code?q=${encodeURIComponent(q)}&per_page=${perPage}`;
345
+ const result = options.textMatches
346
+ ? await this.request(url, {
347
+ headers: { Accept: 'application/vnd.github.v3.text-match+json' },
348
+ })
349
+ : await this.request(url);
350
+ this.codeSearchCache.set(cacheKey, {
351
+ data: result,
352
+ expiresAt: Date.now() + this.searchTtlMs,
353
+ });
354
+ this.pruneSearchCaches();
355
+ return result;
258
356
  }
259
357
  async searchIssues(query, options = {}) {
260
358
  const repo = this.getRepo(options.packageName);
@@ -264,8 +362,43 @@ export class GitHubClient {
264
362
  if (options.labels)
265
363
  options.labels.forEach(l => q += ` label:"${l}"`);
266
364
  const sortParam = options.sort ? `&sort=${options.sort}` : '&sort=relevance';
365
+ const perPage = options.perPage || 5;
366
+ const cacheKey = [
367
+ repo,
368
+ options.state || 'all',
369
+ (options.labels || []).join(','),
370
+ perPage,
371
+ options.sort || 'relevance',
372
+ query,
373
+ ].join('|');
267
374
  try {
268
- const response = await this.request(`/search/issues?q=${encodeURIComponent(q)}&per_page=${options.perPage || 5}${sortParam}`);
375
+ const cached = this.issueSearchCache.get(cacheKey);
376
+ if (cached && cached.expiresAt > Date.now()) {
377
+ this.logger.debug('GitHub issue-search cache hit', {
378
+ repo,
379
+ query,
380
+ state: options.state,
381
+ labels: options.labels,
382
+ perPage,
383
+ });
384
+ return cached.data.items.map(item => ({
385
+ source: 'github-issue',
386
+ title: item.title,
387
+ number: item.number,
388
+ state: item.state,
389
+ url: item.html_url,
390
+ createdAt: item.created_at,
391
+ updatedAt: item.updated_at,
392
+ commentsCount: item.comments,
393
+ labels: item.labels.map(l => l.name),
394
+ }));
395
+ }
396
+ const response = await this.request(`/search/issues?q=${encodeURIComponent(q)}&per_page=${perPage}${sortParam}`);
397
+ this.issueSearchCache.set(cacheKey, {
398
+ data: response,
399
+ expiresAt: Date.now() + this.searchTtlMs,
400
+ });
401
+ this.pruneSearchCaches();
269
402
  return response.items.map(item => ({
270
403
  source: 'github-issue',
271
404
  title: item.title,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/github/client.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare const definition: {
9
9
  version: z.ZodOptional<z.ZodString>;
10
10
  maxResults: z.ZodOptional<z.ZodNumber>;
11
11
  includePrivate: z.ZodOptional<z.ZodBoolean>;
12
+ package: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
12
13
  };
13
14
  annotations: {
14
15
  readonly readOnlyHint: true;
@@ -1 +1 @@
1
- {"version":3,"file":"findMneSymbol.d.ts","sourceRoot":"","sources":["../../src/tools/findMneSymbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAW5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAWtB,CAAC;AAwCF,wBAAsB,aAAa,CAC/B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkG7B;AAED,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"findMneSymbol.d.ts","sourceRoot":"","sources":["../../src/tools/findMneSymbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAa5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;CAYtB,CAAC;AAwCF,wBAAsB,aAAa,CAC/B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmI7B;AAED,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAC"}