mne-docs-mcp 1.0.35 → 1.0.37

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 (46) hide show
  1. package/dist/cache/manager.d.ts +4 -3
  2. package/dist/cache/manager.d.ts.map +1 -1
  3. package/dist/cache/manager.js +18 -12
  4. package/dist/cache/manager.js.map +1 -1
  5. package/dist/config.d.ts +3 -2
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +17 -2
  8. package/dist/config.js.map +1 -1
  9. package/dist/forum/client.js +2 -2
  10. package/dist/forum/client.js.map +1 -1
  11. package/dist/github/client.d.ts +5 -2
  12. package/dist/github/client.d.ts.map +1 -1
  13. package/dist/github/client.js +75 -60
  14. package/dist/github/client.js.map +1 -1
  15. package/dist/github/types.d.ts +7 -0
  16. package/dist/github/types.d.ts.map +1 -1
  17. package/dist/github/types.js +13 -1
  18. package/dist/github/types.js.map +1 -1
  19. package/dist/http.d.ts +23 -0
  20. package/dist/http.d.ts.map +1 -0
  21. package/dist/http.js +158 -0
  22. package/dist/http.js.map +1 -0
  23. package/dist/index.js +22 -104
  24. package/dist/index.js.map +1 -1
  25. package/dist/tools/getMneDoc.d.ts.map +1 -1
  26. package/dist/tools/getMneDoc.js +8 -14
  27. package/dist/tools/getMneDoc.js.map +1 -1
  28. package/dist/tools/getMneFile.d.ts.map +1 -1
  29. package/dist/tools/getMneFile.js +7 -10
  30. package/dist/tools/getMneFile.js.map +1 -1
  31. package/dist/tools/listMneVersions.js +6 -6
  32. package/dist/tools/listMneVersions.js.map +1 -1
  33. package/dist/tools/searchMneDocs.d.ts.map +1 -1
  34. package/dist/tools/searchMneDocs.js +5 -10
  35. package/dist/tools/searchMneDocs.js.map +1 -1
  36. package/dist/utils/helpers.d.ts +2 -0
  37. package/dist/utils/helpers.d.ts.map +1 -1
  38. package/dist/utils/helpers.js +4 -0
  39. package/dist/utils/helpers.js.map +1 -1
  40. package/dist/utils/metrics.d.ts +3 -0
  41. package/dist/utils/metrics.d.ts.map +1 -1
  42. package/dist/utils/metrics.js +6 -1
  43. package/dist/utils/metrics.js.map +1 -1
  44. package/dist/utils/symbolResolver.js +4 -4
  45. package/dist/utils/symbolResolver.js.map +1 -1
  46. package/package.json +1 -1
@@ -15,14 +15,15 @@ export declare class CacheManager {
15
15
  private config;
16
16
  private logger;
17
17
  private versionTtlMs;
18
- private versions;
18
+ private versionsByPackage;
19
19
  private fileCache;
20
20
  private symbolCache;
21
21
  private searchCache;
22
22
  private forumCache;
23
23
  constructor(config: Config);
24
- getVersions(): MneVersion[] | null;
25
- setVersions(versions: MneVersion[]): void;
24
+ private getTotalEntries;
25
+ getVersions(packageName?: string): MneVersion[] | null;
26
+ setVersions(versions: MneVersion[], packageName?: string): void;
26
27
  getFile(version: string, path: string): string | null;
27
28
  setFile(version: string, path: string, content: string): void;
28
29
  getSymbol(version: string, symbol: string): ParsedSymbol | null;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAItF,MAAM,WAAW,UAAU,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,UAAU,CAAyD;gBAE/D,MAAM,EAAE,MAAM;IAM1B,WAAW,IAAI,UAAU,EAAE,GAAG,IAAI;IAWlC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI;IASzC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAK7D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAI/D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAKpE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAI9D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAKnE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI;IAIvD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IAK/D,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,aAAa;IAuCrB,QAAQ,IAAI,UAAU;IAUtB,KAAK,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAItF,MAAM,WAAW,UAAU,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAoD;IAC7E,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,UAAU,CAAyD;gBAE/D,MAAM,EAAE,MAAM;IAM1B,OAAO,CAAC,eAAe;IAKvB,WAAW,CAAC,WAAW,SAAe,GAAG,UAAU,EAAE,GAAG,IAAI;IAY5D,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,SAAe,GAAG,IAAI;IASrE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAK7D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAI/D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAKpE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAI9D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAKnE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI;IAIvD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IAK/D,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,aAAa;IAuCrB,QAAQ,IAAI,UAAU;IAUtB,KAAK,IAAI,IAAI;CAOhB"}
@@ -4,7 +4,7 @@ export class CacheManager {
4
4
  config;
5
5
  logger = getLogger();
6
6
  versionTtlMs;
7
- versions = null;
7
+ versionsByPackage = new Map();
8
8
  fileCache = new Map();
9
9
  symbolCache = new Map();
10
10
  searchCache = new Map();
@@ -12,24 +12,30 @@ export class CacheManager {
12
12
  constructor(config) {
13
13
  this.config = config;
14
14
  this.versionTtlMs = config.versionCacheTtlMinutes * 60 * 1000;
15
+ metrics.setCacheEntriesGetter(() => this.getTotalEntries());
15
16
  }
16
- // Versions
17
- getVersions() {
18
- if (!this.versions || Date.now() > this.versions.expiresAt) {
19
- this.versions = null;
17
+ getTotalEntries() {
18
+ return this.fileCache.size + this.symbolCache.size + this.searchCache.size + this.forumCache.size;
19
+ }
20
+ // Versions (keyed by package name)
21
+ getVersions(packageName = 'mne-python') {
22
+ const entry = this.versionsByPackage.get(packageName);
23
+ if (!entry || Date.now() > entry.expiresAt) {
24
+ if (entry)
25
+ this.versionsByPackage.delete(packageName);
20
26
  this.recordHitMiss(false);
21
27
  return null;
22
28
  }
23
- this.versions.lastAccessed = Date.now();
29
+ entry.lastAccessed = Date.now();
24
30
  this.recordHitMiss(true);
25
- return this.versions.data;
31
+ return entry.data;
26
32
  }
27
- setVersions(versions) {
28
- this.versions = {
33
+ setVersions(versions, packageName = 'mne-python') {
34
+ this.versionsByPackage.set(packageName, {
29
35
  data: versions,
30
36
  expiresAt: Date.now() + this.versionTtlMs,
31
37
  lastAccessed: Date.now(),
32
- };
38
+ });
33
39
  }
34
40
  // Files
35
41
  getFile(version, path) {
@@ -130,14 +136,14 @@ export class CacheManager {
130
136
  getStats() {
131
137
  const m = metrics.getMetrics();
132
138
  return {
133
- entries: this.fileCache.size + this.symbolCache.size + this.searchCache.size + this.forumCache.size,
139
+ entries: this.getTotalEntries(),
134
140
  hits: m.cache.hits,
135
141
  misses: m.cache.misses,
136
142
  hitRate: m.cache.hitRate,
137
143
  };
138
144
  }
139
145
  clear() {
140
- this.versions = null;
146
+ this.versionsByPackage.clear();
141
147
  this.fileCache.clear();
142
148
  this.symbolCache.clear();
143
149
  this.searchCache.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -14,6 +14,7 @@ export interface MnePackageInfo {
14
14
  export declare const MNE_PACKAGES: Record<string, MnePackageInfo>;
15
15
  export declare const MNE_PACKAGE_NAMES: string[];
16
16
  export declare const DEFAULT_PACKAGE = "mne-python";
17
+ export declare const DEFAULT_ALLOWED_ORIGINS: string;
17
18
  export declare const packageSchema: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
18
19
  /**
19
20
  * Get package info by name, with fallback to default.
@@ -39,7 +40,7 @@ export declare const ConfigSchema: z.ZodObject<{
39
40
  pythonPath: z.ZodDefault<z.ZodString>;
40
41
  parserTimeout: z.ZodDefault<z.ZodNumber>;
41
42
  logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
42
- logJson: z.ZodDefault<z.ZodBoolean>;
43
+ logJson: z.ZodDefault<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
43
44
  }, "strip", z.ZodTypeAny, {
44
45
  port: number;
45
46
  host: string;
@@ -81,7 +82,7 @@ export declare const ConfigSchema: z.ZodObject<{
81
82
  pythonPath?: string | undefined;
82
83
  parserTimeout?: number | undefined;
83
84
  logLevel?: "debug" | "info" | "warn" | "error" | undefined;
84
- logJson?: boolean | undefined;
85
+ logJson?: unknown;
85
86
  }>;
86
87
  export type Config = z.infer<typeof ConfigSchema>;
87
88
  export declare function loadConfig(): Config;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAmDvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAA4B,CAAC;AAC3D,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,eAAO,MAAM,aAAa,iDAC4E,CAAC;AAEvG;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,CAOnE;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,wBAAgB,UAAU,IAAI,MAAM,CAsCnC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAmDvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAA4B,CAAC;AAC3D,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,uBAAuB,QAIzB,CAAC;AAEZ,eAAO,MAAM,aAAa,iDAC4E,CAAC;AAEvG;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,CAOnE;AAUD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,wBAAgB,UAAU,IAAI,MAAM,CAsCnC"}
package/dist/config.js CHANGED
@@ -56,6 +56,11 @@ export const MNE_PACKAGES = {
56
56
  };
57
57
  export const MNE_PACKAGE_NAMES = Object.keys(MNE_PACKAGES);
58
58
  export const DEFAULT_PACKAGE = 'mne-python';
59
+ export const DEFAULT_ALLOWED_ORIGINS = [
60
+ 'http://localhost:8000',
61
+ 'http://127.0.0.1:8000',
62
+ 'http://[::1]:8000',
63
+ ].join(',');
59
64
  export const packageSchema = z.enum(MNE_PACKAGE_NAMES).optional()
60
65
  .describe('MNE package to search (default: mne-python). Options: ' + MNE_PACKAGE_NAMES.join(', '));
61
66
  /**
@@ -69,11 +74,21 @@ export function getPackageInfo(packageName) {
69
74
  }
70
75
  return info;
71
76
  }
77
+ const envBoolean = z.preprocess((value) => {
78
+ if (typeof value !== 'string')
79
+ return value;
80
+ const normalized = value.trim().toLowerCase();
81
+ if (normalized === 'true' || normalized === '1')
82
+ return true;
83
+ if (normalized === 'false' || normalized === '0')
84
+ return false;
85
+ return value;
86
+ }, z.boolean());
72
87
  export const ConfigSchema = z.object({
73
88
  port: z.coerce.number().default(8000),
74
89
  host: z.string().default('127.0.0.1'),
75
90
  transport: z.enum(['http', 'stdio']).default('http'),
76
- allowedOrigins: z.string().default('*'),
91
+ allowedOrigins: z.string().default(DEFAULT_ALLOWED_ORIGINS),
77
92
  githubToken: z.string().min(1),
78
93
  githubApiBase: z.string().default('https://api.github.com'),
79
94
  defaultPackage: z.string().default(DEFAULT_PACKAGE),
@@ -93,7 +108,7 @@ export const ConfigSchema = z.object({
93
108
  pythonPath: z.string().default(process.platform === 'win32' ? 'python' : 'python3'),
94
109
  parserTimeout: z.coerce.number().default(10000),
95
110
  logLevel: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
96
- logJson: z.coerce.boolean().default(false),
111
+ logJson: envBoolean.default(false),
97
112
  });
98
113
  export function loadConfig() {
99
114
  const config = {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@ export class ForumClient {
13
13
  }
14
14
  scheduleSearch(fn) {
15
15
  const MIN_INTERVAL_MS = 3000;
16
- const now = Date.now();
17
- const delay = Math.max(0, this.lastSearchAt + MIN_INTERVAL_MS - now);
18
16
  const run = async () => {
17
+ const now = Date.now();
18
+ const delay = Math.max(0, this.lastSearchAt + MIN_INTERVAL_MS - now);
19
19
  if (delay > 0) {
20
20
  await new Promise(resolve => setTimeout(resolve, delay));
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/forum/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/forum/client.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { MneVersion, GithubIssueItem } from '../types.js';
3
3
  import { GitHubSearchCodeResult, GitHubIssueDetail, GitHubIssueComment, RateLimitInfo } from './types.js';
4
4
  type RateLimitBucket = 'core' | 'search' | 'code';
5
5
  export declare class GitHubClient {
6
- readonly config: Config;
6
+ private readonly config;
7
7
  private logger;
8
8
  private rateLimitByBucket;
9
9
  private versionTagCache;
@@ -14,10 +14,13 @@ export declare class GitHubClient {
14
14
  private codeSearchCache;
15
15
  private issueSearchCache;
16
16
  private static readonly SEARCH_CACHE_MAX_ENTRIES;
17
+ private static readonly VERSION_TAG_CACHE_MAX_ENTRIES;
17
18
  constructor(config: Config);
18
19
  private getRateLimitRetryLimit;
19
20
  private getRateLimitWaitCapMs;
20
21
  private getRepo;
22
+ private resolveVersionRef;
23
+ private setVersionTag;
21
24
  private getBucketForUrl;
22
25
  getRateLimitInfo(bucket?: RateLimitBucket): RateLimitInfo | null;
23
26
  private updateRateLimit;
@@ -38,7 +41,6 @@ export declare class GitHubClient {
38
41
  fetchVersions(limit?: number, packageName?: string): Promise<MneVersion[]>;
39
42
  getLatestVersion(packageName?: string): Promise<string>;
40
43
  fetchFile(path: string, version?: string, packageName?: string): Promise<string | null>;
41
- fileExists(path: string, version?: string, packageName?: string): Promise<boolean>;
42
44
  searchCode(query: string, options?: {
43
45
  path?: string;
44
46
  perPage?: number;
@@ -46,6 +48,7 @@ export declare class GitHubClient {
46
48
  packageName?: string;
47
49
  textMatches?: boolean;
48
50
  }): Promise<GitHubSearchCodeResult>;
51
+ private mapIssueItem;
49
52
  searchIssues(query: string, options?: {
50
53
  state?: 'open' | 'closed' | 'all';
51
54
  labels?: 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,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"}
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,EAA0B,aAAa,EAC5D,MAAM,YAAY,CAAC;AAIpB,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,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;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAO;gBAEhD,MAAM,EAAE,MAAM;IAK1B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,OAAO;YAID,iBAAiB;IAqB/B,OAAO,CAAC,aAAa;IASrB,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;IAmFf,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;IAevF,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;IA2ClC,OAAO,CAAC,YAAY;IAcd,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;IA+CvB,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;CA4BnG"}
@@ -1,4 +1,5 @@
1
1
  import { getPackageInfo } from '../config.js';
2
+ import { GitHubApiError } from './types.js';
2
3
  import { getLogger } from '../utils/logger.js';
3
4
  import { metrics } from '../utils/metrics.js';
4
5
  export class GitHubClient {
@@ -27,12 +28,10 @@ export class GitHubClient {
27
28
  codeSearchCache = new Map();
28
29
  issueSearchCache = new Map();
29
30
  static SEARCH_CACHE_MAX_ENTRIES = 200;
31
+ static VERSION_TAG_CACHE_MAX_ENTRIES = 100;
30
32
  constructor(config) {
31
33
  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;
34
+ this.searchTtlMs = config.searchCacheTtlMinutes * 60 * 1000;
36
35
  }
37
36
  getRateLimitRetryLimit(bucket) {
38
37
  // Code-search is typically optional and has a tiny quota, so fail fast
@@ -45,6 +44,35 @@ export class GitHubClient {
45
44
  getRepo(packageName) {
46
45
  return getPackageInfo(packageName).repo;
47
46
  }
47
+ async resolveVersionRef(repo, version, packageName) {
48
+ const cacheKey = `${repo}:${version ?? '__latest__'}`;
49
+ if (this.versionTagCache.has(cacheKey)) {
50
+ return this.versionTagCache.get(cacheKey);
51
+ }
52
+ let refParam;
53
+ if (version) {
54
+ const versions = await this.fetchVersions(20, packageName);
55
+ const match = versions.find(v => v.version === version || v.tag === version);
56
+ refParam = match?.tag || (version.startsWith('v') ? version : `v${version}`);
57
+ }
58
+ else {
59
+ const versions = await this.fetchVersions(1, packageName);
60
+ if (versions.length === 0)
61
+ throw new Error('No versions found');
62
+ refParam = versions[0].tag;
63
+ }
64
+ this.setVersionTag(cacheKey, refParam);
65
+ return refParam;
66
+ }
67
+ setVersionTag(key, value) {
68
+ this.versionTagCache.set(key, value);
69
+ if (this.versionTagCache.size > GitHubClient.VERSION_TAG_CACHE_MAX_ENTRIES) {
70
+ // Evict the oldest entry (first inserted key in Map iteration order)
71
+ const firstKey = this.versionTagCache.keys().next().value;
72
+ if (firstKey !== undefined)
73
+ this.versionTagCache.delete(firstKey);
74
+ }
75
+ }
48
76
  getBucketForUrl(url) {
49
77
  // We always call request() with relative API paths (starting with '/').
50
78
  if (url.startsWith('/search/code'))
@@ -234,7 +262,7 @@ export class GitHubClient {
234
262
  return this.request(url, options, retryCount + 1);
235
263
  }
236
264
  if (bucket === 'code') {
237
- throw new Error(`GitHub code-search rate limit exceeded: ${response.status} ${response.statusText}`);
265
+ throw new GitHubApiError(response.status, response.statusText, fullUrl);
238
266
  }
239
267
  }
240
268
  // Retry transient GitHub server errors with exponential backoff.
@@ -247,7 +275,7 @@ export class GitHubClient {
247
275
  await this.backoff(retryCount);
248
276
  return this.request(url, options, retryCount + 1);
249
277
  }
250
- throw new Error(`GitHub API error: ${response.status} ${response.statusText}`);
278
+ throw new GitHubApiError(response.status, response.statusText, fullUrl);
251
279
  }
252
280
  return response.json();
253
281
  }
@@ -287,24 +315,7 @@ export class GitHubClient {
287
315
  }
288
316
  async fetchFile(path, version, packageName) {
289
317
  const repo = this.getRepo(packageName);
290
- let refParam;
291
- const cacheKey = `${repo}:${version ?? '__latest__'}`;
292
- if (this.versionTagCache.has(cacheKey)) {
293
- refParam = this.versionTagCache.get(cacheKey);
294
- }
295
- else if (version) {
296
- const versions = await this.fetchVersions(20, packageName);
297
- const match = versions.find(v => v.version === version || v.tag === version);
298
- refParam = match?.tag || (version.startsWith('v') ? version : `v${version}`);
299
- this.versionTagCache.set(cacheKey, refParam);
300
- }
301
- else {
302
- const versions = await this.fetchVersions(1, packageName);
303
- if (versions.length === 0)
304
- throw new Error('No versions found');
305
- refParam = versions[0].tag;
306
- this.versionTagCache.set(cacheKey, refParam);
307
- }
318
+ const refParam = await this.resolveVersionRef(repo, version, packageName);
308
319
  try {
309
320
  const data = await this.request(`/repos/${repo}/contents/${path}?ref=${refParam}`);
310
321
  return data.encoding === 'base64'
@@ -312,19 +323,20 @@ export class GitHubClient {
312
323
  : data.content;
313
324
  }
314
325
  catch (error) {
315
- if (error instanceof Error && error.message.includes('404'))
326
+ if (error instanceof GitHubApiError && error.status === 404)
316
327
  return null;
317
328
  throw error;
318
329
  }
319
330
  }
320
- async fileExists(path, version, packageName) {
321
- return (await this.fetchFile(path, version, packageName)) !== null;
322
- }
323
331
  async searchCode(query, options = {}) {
324
332
  const repo = this.getRepo(options.packageName);
325
333
  let q = `${query} repo:${repo}`;
326
334
  if (options.path)
327
335
  q += ` path:${options.path}`;
336
+ if (options.version) {
337
+ const refParam = await this.resolveVersionRef(repo, options.version, options.packageName);
338
+ q += ` ref:${refParam}`;
339
+ }
328
340
  const perPage = options.perPage || 10;
329
341
  const textMatches = !!options.textMatches;
330
342
  const versionKey = options.version ?? 'latest';
@@ -354,6 +366,19 @@ export class GitHubClient {
354
366
  this.pruneSearchCaches();
355
367
  return result;
356
368
  }
369
+ mapIssueItem(item) {
370
+ return {
371
+ source: 'github-issue',
372
+ title: item.title,
373
+ number: item.number,
374
+ state: item.state,
375
+ url: item.html_url,
376
+ createdAt: item.created_at,
377
+ updatedAt: item.updated_at,
378
+ commentsCount: item.comments,
379
+ labels: item.labels.map(l => l.name),
380
+ };
381
+ }
357
382
  async searchIssues(query, options = {}) {
358
383
  const repo = this.getRepo(options.packageName);
359
384
  let q = `repo:${repo} is:issue ${query}`;
@@ -381,17 +406,7 @@ export class GitHubClient {
381
406
  labels: options.labels,
382
407
  perPage,
383
408
  });
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
- }));
409
+ return cached.data.items.map(item => this.mapIssueItem(item));
395
410
  }
396
411
  const response = await this.request(`/search/issues?q=${encodeURIComponent(q)}&per_page=${perPage}${sortParam}`);
397
412
  this.issueSearchCache.set(cacheKey, {
@@ -399,17 +414,7 @@ export class GitHubClient {
399
414
  expiresAt: Date.now() + this.searchTtlMs,
400
415
  });
401
416
  this.pruneSearchCaches();
402
- return response.items.map(item => ({
403
- source: 'github-issue',
404
- title: item.title,
405
- number: item.number,
406
- state: item.state,
407
- url: item.html_url,
408
- createdAt: item.created_at,
409
- updatedAt: item.updated_at,
410
- commentsCount: item.comments,
411
- labels: item.labels.map(l => l.name),
412
- }));
417
+ return response.items.map(item => this.mapIssueItem(item));
413
418
  }
414
419
  catch (error) {
415
420
  this.logger.error('GitHub issue search failed', { query, error });
@@ -437,25 +442,35 @@ export class GitHubClient {
437
442
  };
438
443
  }
439
444
  catch (error) {
440
- if (error instanceof Error && error.message.includes('404'))
445
+ if (error instanceof GitHubApiError && error.status === 404)
441
446
  return null;
442
447
  throw error;
443
448
  }
444
449
  }
445
450
  async getIssueComments(issueNumber, packageName) {
446
451
  const repo = this.getRepo(packageName);
452
+ const MAX_PAGES = 5; // Safety cap: 500 comments max
453
+ const allComments = [];
447
454
  try {
448
- const comments = await this.request(`/repos/${repo}/issues/${issueNumber}/comments?per_page=100`);
449
- return comments.map(c => ({
450
- id: c.id,
451
- author: c.user?.login || 'unknown',
452
- body: c.body,
453
- createdAt: c.created_at,
454
- updatedAt: c.updated_at,
455
- }));
455
+ for (let page = 1; page <= MAX_PAGES; page++) {
456
+ const comments = await this.request(`/repos/${repo}/issues/${issueNumber}/comments?per_page=100&page=${page}`);
457
+ for (const c of comments) {
458
+ allComments.push({
459
+ id: c.id,
460
+ author: c.user?.login || 'unknown',
461
+ body: c.body,
462
+ createdAt: c.created_at,
463
+ updatedAt: c.updated_at,
464
+ });
465
+ }
466
+ // If we got fewer than 100, we've reached the last page
467
+ if (comments.length < 100)
468
+ break;
469
+ }
470
+ return allComments;
456
471
  }
457
472
  catch (error) {
458
- if (error instanceof Error && error.message.includes('404'))
473
+ if (error instanceof GitHubApiError && error.status === 404)
459
474
  return [];
460
475
  throw error;
461
476
  }
@@ -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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"}