mne-docs-mcp 1.0.48 → 1.0.49

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 (107) hide show
  1. package/dist/archive/manager.d.ts +7 -0
  2. package/dist/archive/manager.d.ts.map +1 -1
  3. package/dist/archive/manager.js +46 -1
  4. package/dist/archive/manager.js.map +1 -1
  5. package/dist/archive/search.d.ts +5 -0
  6. package/dist/archive/search.d.ts.map +1 -1
  7. package/dist/archive/search.js +15 -0
  8. package/dist/archive/search.js.map +1 -1
  9. package/dist/config.d.ts +1 -1
  10. package/dist/config.js +1 -1
  11. package/dist/config.js.map +1 -1
  12. package/dist/forum/client.d.ts +32 -1
  13. package/dist/forum/client.d.ts.map +1 -1
  14. package/dist/forum/client.js +136 -5
  15. package/dist/forum/client.js.map +1 -1
  16. package/dist/github/client.d.ts +3 -1
  17. package/dist/github/client.d.ts.map +1 -1
  18. package/dist/github/client.js +44 -9
  19. package/dist/github/client.js.map +1 -1
  20. package/dist/github/types.d.ts +6 -0
  21. package/dist/github/types.d.ts.map +1 -1
  22. package/dist/repoContent/index.d.ts +2 -0
  23. package/dist/repoContent/index.d.ts.map +1 -1
  24. package/dist/repoContent/index.js +11 -6
  25. package/dist/repoContent/index.js.map +1 -1
  26. package/dist/searchCorpus/index.d.ts +3 -0
  27. package/dist/searchCorpus/index.d.ts.map +1 -1
  28. package/dist/searchCorpus/index.js +20 -11
  29. package/dist/searchCorpus/index.js.map +1 -1
  30. package/dist/symbolLookup/index.js +3 -3
  31. package/dist/symbolLookup/index.js.map +1 -1
  32. package/dist/tools/defineTool.d.ts +18 -0
  33. package/dist/tools/defineTool.d.ts.map +1 -0
  34. package/dist/tools/defineTool.js +8 -0
  35. package/dist/tools/defineTool.js.map +1 -0
  36. package/dist/tools/findMneSymbol.d.ts +6 -10
  37. package/dist/tools/findMneSymbol.d.ts.map +1 -1
  38. package/dist/tools/findMneSymbol.js +10 -15
  39. package/dist/tools/findMneSymbol.js.map +1 -1
  40. package/dist/tools/getMneChangelog.d.ts +6 -10
  41. package/dist/tools/getMneChangelog.d.ts.map +1 -1
  42. package/dist/tools/getMneChangelog.js +9 -12
  43. package/dist/tools/getMneChangelog.js.map +1 -1
  44. package/dist/tools/getMneDoc.d.ts +6 -10
  45. package/dist/tools/getMneDoc.d.ts.map +1 -1
  46. package/dist/tools/getMneDoc.js +21 -27
  47. package/dist/tools/getMneDoc.js.map +1 -1
  48. package/dist/tools/getMneExample.d.ts +12 -12
  49. package/dist/tools/getMneExample.d.ts.map +1 -1
  50. package/dist/tools/getMneExample.js +32 -18
  51. package/dist/tools/getMneExample.js.map +1 -1
  52. package/dist/tools/getMneFile.d.ts +7 -11
  53. package/dist/tools/getMneFile.d.ts.map +1 -1
  54. package/dist/tools/getMneFile.js +131 -40
  55. package/dist/tools/getMneFile.js.map +1 -1
  56. package/dist/tools/getMneForumTopic.d.ts +8 -37
  57. package/dist/tools/getMneForumTopic.d.ts.map +1 -1
  58. package/dist/tools/getMneForumTopic.js +8 -122
  59. package/dist/tools/getMneForumTopic.js.map +1 -1
  60. package/dist/tools/getMneIssue.d.ts +8 -10
  61. package/dist/tools/getMneIssue.d.ts.map +1 -1
  62. package/dist/tools/getMneIssue.js +16 -10
  63. package/dist/tools/getMneIssue.js.map +1 -1
  64. package/dist/tools/getMneIssueComments.d.ts +10 -10
  65. package/dist/tools/getMneIssueComments.d.ts.map +1 -1
  66. package/dist/tools/getMneIssueComments.js +30 -13
  67. package/dist/tools/getMneIssueComments.js.map +1 -1
  68. package/dist/tools/getRelatedSymbols.d.ts +7 -11
  69. package/dist/tools/getRelatedSymbols.d.ts.map +1 -1
  70. package/dist/tools/getRelatedSymbols.js +44 -18
  71. package/dist/tools/getRelatedSymbols.js.map +1 -1
  72. package/dist/tools/getSymbolReferences.d.ts +7 -10
  73. package/dist/tools/getSymbolReferences.d.ts.map +1 -1
  74. package/dist/tools/getSymbolReferences.js +28 -16
  75. package/dist/tools/getSymbolReferences.js.map +1 -1
  76. package/dist/tools/listMneVersions.d.ts +6 -63
  77. package/dist/tools/listMneVersions.d.ts.map +1 -1
  78. package/dist/tools/listMneVersions.js +13 -15
  79. package/dist/tools/listMneVersions.js.map +1 -1
  80. package/dist/tools/lookupMneError.d.ts +14 -10
  81. package/dist/tools/lookupMneError.d.ts.map +1 -1
  82. package/dist/tools/lookupMneError.js +69 -14
  83. package/dist/tools/lookupMneError.js.map +1 -1
  84. package/dist/tools/requestBudget.d.ts +12 -0
  85. package/dist/tools/requestBudget.d.ts.map +1 -0
  86. package/dist/tools/requestBudget.js +36 -0
  87. package/dist/tools/requestBudget.js.map +1 -0
  88. package/dist/tools/searchMneDocs.d.ts +5 -9
  89. package/dist/tools/searchMneDocs.d.ts.map +1 -1
  90. package/dist/tools/searchMneDocs.js +162 -22
  91. package/dist/tools/searchMneDocs.js.map +1 -1
  92. package/dist/tools/searchMneForum.d.ts +9 -10
  93. package/dist/tools/searchMneForum.d.ts.map +1 -1
  94. package/dist/tools/searchMneForum.js +21 -12
  95. package/dist/tools/searchMneForum.js.map +1 -1
  96. package/dist/tools/searchMneIssues.d.ts +10 -11
  97. package/dist/tools/searchMneIssues.d.ts.map +1 -1
  98. package/dist/tools/searchMneIssues.js +28 -24
  99. package/dist/tools/searchMneIssues.js.map +1 -1
  100. package/dist/types.d.ts +51 -0
  101. package/dist/types.d.ts.map +1 -1
  102. package/dist/utils/searchRanking.d.ts +18 -0
  103. package/dist/utils/searchRanking.d.ts.map +1 -0
  104. package/dist/utils/searchRanking.js +63 -0
  105. package/dist/utils/searchRanking.js.map +1 -0
  106. package/package.json +1 -1
  107. package/python/ast_extractor.py +3 -0
@@ -1,73 +1,16 @@
1
1
  import { z } from 'zod';
2
2
  import { MneVersion, RateLimitSummary, ToolContext } from '../types.js';
3
3
  export declare const definition: {
4
- name: string;
5
- title: string;
6
- description: string;
7
4
  inputSchema: {
8
5
  limit: z.ZodOptional<z.ZodNumber>;
9
- stableOnly: z.ZodOptional<z.ZodBoolean>;
6
+ stableOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
10
7
  package: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
11
8
  };
12
- annotations: {
13
- readonly readOnlyHint: true;
14
- readonly destructiveHint: false;
15
- readonly idempotentHint: true;
16
- readonly openWorldHint: true;
17
- };
18
- outputSchema: z.ZodObject<{
19
- versions: z.ZodArray<z.ZodObject<{
20
- version: z.ZodString;
21
- tag: z.ZodString;
22
- isLatest: z.ZodBoolean;
23
- }, "strip", z.ZodTypeAny, {
24
- version: string;
25
- isLatest: boolean;
26
- tag: string;
27
- }, {
28
- version: string;
29
- isLatest: boolean;
30
- tag: string;
31
- }>, "many">;
32
- package: z.ZodString;
33
- rateLimit: z.ZodOptional<z.ZodObject<{
34
- remaining: z.ZodNumber;
35
- limit: z.ZodNumber;
36
- resetInSeconds: z.ZodNumber;
37
- }, "strip", z.ZodTypeAny, {
38
- remaining: number;
39
- limit: number;
40
- resetInSeconds: number;
41
- }, {
42
- remaining: number;
43
- limit: number;
44
- resetInSeconds: number;
45
- }>>;
46
- }, "strip", z.ZodTypeAny, {
47
- package: string;
48
- versions: {
49
- version: string;
50
- isLatest: boolean;
51
- tag: string;
52
- }[];
53
- rateLimit?: {
54
- remaining: number;
55
- limit: number;
56
- resetInSeconds: number;
57
- } | undefined;
58
- }, {
59
- package: string;
60
- versions: {
61
- version: string;
62
- isLatest: boolean;
63
- tag: string;
64
- }[];
65
- rateLimit?: {
66
- remaining: number;
67
- limit: number;
68
- resetInSeconds: number;
69
- } | undefined;
70
- }>;
9
+ name: string;
10
+ title: string;
11
+ description: string;
12
+ annotations?: object;
13
+ outputSchema?: z.ZodTypeAny;
71
14
  };
72
15
  export interface ListMneVersionsResult {
73
16
  versions: MneVersion[];
@@ -1 +1 @@
1
- {"version":3,"file":"listMneVersions.d.ts","sourceRoot":"","sources":["../../src/tools/listMneVersions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAUxE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAetB,CAAC;AAEF,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAQD,wBAAsB,eAAe,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAiChC;AAED,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"listMneVersions.d.ts","sourceRoot":"","sources":["../../src/tools/listMneVersions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAWxE,eAAO,MAAM,UAAU;;;;;;;;;;;CAWrB,CAAC;AAEH,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAQD,wBAAsB,eAAe,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAkChC;AAED,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -1,27 +1,24 @@
1
1
  import { z } from 'zod';
2
- import { MNE_PACKAGE_NAMES, packageSchema } from '../config.js';
2
+ import { DEFAULT_PACKAGE, packageSchema } from '../config.js';
3
3
  import { READ_ONLY_TOOL_ANNOTATIONS } from './annotations.js';
4
+ import { defineTool } from './defineTool.js';
4
5
  const ListMneVersionsParamsSchema = z.object({
5
- limit: z.number().int().min(1).max(100).optional(),
6
- stableOnly: z.boolean().optional().default(false),
7
- package: z.enum(MNE_PACKAGE_NAMES).optional(),
6
+ limit: z.number().int().min(1).max(100).optional().describe('Max versions to return (default: 20)'),
7
+ stableOnly: z.boolean().optional().default(false).describe('Only return stable releases, excluding alpha/beta/rc/dev tags (default: false)'),
8
+ package: packageSchema,
8
9
  });
9
- export const definition = {
10
+ export const definition = defineTool({
10
11
  name: 'list_mne_versions',
11
12
  title: 'List MNE Versions',
12
13
  description: 'List available release versions for MNE-Python or related packages (mne-bids, mne-connectivity, etc.). Use to find valid version numbers before querying docs or code.',
13
- inputSchema: {
14
- limit: z.number().int().min(1).max(100).optional().describe('Max versions to return (default: 20)'),
15
- stableOnly: z.boolean().optional().describe('Only return stable releases, excluding alpha/beta/rc/dev tags (default: false)'),
16
- package: packageSchema,
17
- },
14
+ paramsSchema: ListMneVersionsParamsSchema,
18
15
  annotations: READ_ONLY_TOOL_ANNOTATIONS,
19
16
  outputSchema: z.object({
20
17
  versions: z.array(z.object({ version: z.string(), tag: z.string(), isLatest: z.boolean() })),
21
18
  package: z.string(),
22
- rateLimit: z.object({ remaining: z.number(), limit: z.number(), resetInSeconds: z.number() }).optional(),
19
+ rateLimit: z.object({ remaining: z.number(), limit: z.number(), resetInSeconds: z.number(), bucket: z.string().optional() }).optional(),
23
20
  }),
24
- };
21
+ });
25
22
  /** Returns true for semver tags that look like stable releases (no pre-release suffix). */
26
23
  function isStableVersion(version) {
27
24
  // Exclude tags with alpha/beta/rc/dev suffixes, e.g. "1.0.0a1", "0.24.0rc1", "0.18.dev0"
@@ -29,17 +26,17 @@ function isStableVersion(version) {
29
26
  }
30
27
  export async function listMneVersions(params, context) {
31
28
  const { limit = 20, stableOnly, package: packageName } = ListMneVersionsParamsSchema.parse(params);
32
- const pkg = packageName || 'mne-python';
29
+ const pkg = packageName || context.repoContent.getDefaultPackageName?.() || DEFAULT_PACKAGE;
33
30
  // Check cache first (unfiltered lists only)
34
31
  if (!stableOnly) {
35
32
  const cachedVersions = context.cache.getVersions(pkg);
36
- if (cachedVersions) {
33
+ if (cachedVersions && cachedVersions.length >= limit) {
37
34
  return { versions: cachedVersions.slice(0, limit), package: pkg };
38
35
  }
39
36
  }
40
37
  // Fetch from GitHub — fetch extra entries when filtering so we can still fill `limit`
41
38
  const fetchCount = stableOnly ? Math.min(limit * 3, 100) : limit;
42
- const versions = await context.github.fetchVersions(fetchCount, packageName);
39
+ const versions = await context.github.fetchVersions(fetchCount, pkg);
43
40
  // Filter to stable releases if requested
44
41
  const filtered = stableOnly ? versions.filter(v => isStableVersion(v.version)) : versions;
45
42
  // Update cache (unfiltered lists only)
@@ -52,6 +49,7 @@ export async function listMneVersions(params, context) {
52
49
  remaining: rateLimitInfo.remaining,
53
50
  limit: rateLimitInfo.limit,
54
51
  resetInSeconds: rateLimitInfo.resetInSeconds,
52
+ bucket: 'core',
55
53
  } : undefined;
56
54
  return { versions: filtered.slice(0, limit), package: pkg, rateLimit };
57
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"listMneVersions.js","sourceRoot":"","sources":["../../src/tools/listMneVersions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listMneVersions.js","sourceRoot":"","sources":["../../src/tools/listMneVersions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnG,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,gFAAgF,CAAC;IAC5I,OAAO,EAAE,aAAa;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,wKAAwK;IACrL,YAAY,EAAE,2BAA2B;IACzC,WAAW,EAAE,0BAA0B;IACvC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC1I,CAAC;CACL,CAAC,CAAC;AAQH,2FAA2F;AAC3F,SAAS,eAAe,CAAC,OAAe;IACpC,yFAAyF;IACzF,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,MAAe,EACf,OAAoB;IAEpB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnG,MAAM,GAAG,GAAG,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,IAAI,eAAe,CAAC;IAE5F,4CAA4C;IAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACnD,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QACtE,CAAC;IACL,CAAC;IAED,sFAAsF;IACtF,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAErE,yCAAyC;IACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE1F,uCAAuC;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,0BAA0B;IAC1B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC;QAC9B,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,cAAc,EAAE,aAAa,CAAC,cAAc;QAC5C,MAAM,EAAE,MAAM;KACjB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC3E,CAAC;AAED,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -1,20 +1,16 @@
1
1
  import { z } from 'zod';
2
2
  import { ToolContext } from '../types.js';
3
3
  export declare const definition: {
4
- name: string;
5
- title: string;
6
- description: string;
7
4
  inputSchema: {
8
5
  errorMessage: z.ZodString;
9
6
  context: z.ZodOptional<z.ZodString>;
10
- brief: z.ZodOptional<z.ZodBoolean>;
11
- };
12
- annotations: {
13
- readonly readOnlyHint: true;
14
- readonly destructiveHint: false;
15
- readonly idempotentHint: true;
16
- readonly openWorldHint: true;
7
+ brief: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
17
8
  };
9
+ name: string;
10
+ title: string;
11
+ description: string;
12
+ annotations?: object;
13
+ outputSchema?: z.ZodTypeAny;
18
14
  };
19
15
  /**
20
16
  * A suggested solution for an error.
@@ -22,6 +18,7 @@ export declare const definition: {
22
18
  interface Solution {
23
19
  description: string;
24
20
  codeExample?: string;
21
+ confidence?: 'high' | 'medium' | 'low';
25
22
  }
26
23
  /**
27
24
  * Brief solution (no code examples).
@@ -50,22 +47,29 @@ interface RelatedForumPost {
50
47
  */
51
48
  export interface ErrorLookupResult {
52
49
  errorType: string;
50
+ confidence: 'high' | 'medium' | 'low';
53
51
  commonCauses: string[];
54
52
  solutions: Solution[];
55
53
  relatedIssues: RelatedIssue[];
56
54
  relatedForumPosts: RelatedForumPost[];
57
55
  documentationLinks: string[];
56
+ nextTools: string[];
57
+ partial?: boolean;
58
+ partialReasons?: string[];
58
59
  }
59
60
  /**
60
61
  * Brief result of error lookup (reduced tokens).
61
62
  */
62
63
  export interface ErrorLookupBriefResult {
63
64
  errorType: string;
65
+ confidence: 'high' | 'medium' | 'low';
64
66
  commonCauses: string[];
65
67
  solutions: BriefSolution[];
66
68
  issueCount: number;
67
69
  forumPostCount: number;
68
70
  hint: string;
71
+ partial?: boolean;
72
+ partialReasons?: string[];
69
73
  }
70
74
  /**
71
75
  * Looks up common MNE errors and provides solutions.
@@ -1 +1 @@
1
- {"version":3,"file":"lookupMneError.d.ts","sourceRoot":"","sources":["../../src/tools/lookupMneError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAoC,MAAM,aAAa,CAAC;AAY5E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;CAUtB,CAAC;AAEF;;GAEG;AACH,UAAU,QAAQ;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,aAAa;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,UAAU,YAAY;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC5B;AAED;;GAEG;AACH,UAAU,gBAAgB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,CAyDrD;AAsRD,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"lookupMneError.d.ts","sourceRoot":"","sources":["../../src/tools/lookupMneError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAoC,MAAM,aAAa,CAAC;AAa5E,eAAO,MAAM,UAAU;;;;;;;;;;;CAMrB,CAAC;AAEH;;GAEG;AACH,UAAU,QAAQ;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CAC1C;AAED;;GAEG;AACH,UAAU,aAAa;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,UAAU,YAAY;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC5B;AAED;;GAEG;AACH,UAAU,gBAAgB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,CAqErD;AAwUD,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
@@ -1,23 +1,20 @@
1
1
  import { z } from 'zod';
2
2
  import { getLogger } from '../utils/logger.js';
3
3
  import { READ_ONLY_TOOL_ANNOTATIONS } from './annotations.js';
4
+ import { defineTool } from './defineTool.js';
4
5
  const logger = getLogger();
5
6
  const LookupMneErrorParamsSchema = z.object({
6
- errorMessage: z.string().trim().min(1, 'Error message is required'),
7
- context: z.string().optional(),
8
- brief: z.boolean().optional().default(false),
7
+ errorMessage: z.string().trim().min(1, 'Error message is required').describe('The error message or traceback, e.g. "ValueError: No events found"'),
8
+ context: z.string().optional().describe('Code that caused the error (helps find better solutions)'),
9
+ brief: z.boolean().optional().default(false).describe('Return only descriptions, no code examples (default: false)'),
9
10
  });
10
- export const definition = {
11
+ export const definition = defineTool({
11
12
  name: 'lookup_mne_error',
12
13
  title: 'Lookup MNE Error',
13
14
  description: 'Diagnose MNE error messages and get solutions. Searches known issues, forum posts, and provides common fixes. Use when users paste an error traceback or ask why something failed.',
14
- inputSchema: {
15
- errorMessage: z.string().describe('The error message or traceback, e.g. "ValueError: No events found"'),
16
- context: z.string().optional().describe('Code that caused the error (helps find better solutions)'),
17
- brief: z.boolean().optional().describe('Return only descriptions, no code examples (default: false)'),
18
- },
15
+ paramsSchema: LookupMneErrorParamsSchema,
19
16
  annotations: READ_ONLY_TOOL_ANNOTATIONS,
20
- };
17
+ });
21
18
  /**
22
19
  * Looks up common MNE errors and provides solutions.
23
20
  * Searches GitHub issues and forum for related discussions.
@@ -26,7 +23,7 @@ export async function lookupMneError(params, context) {
26
23
  const { errorMessage, context: codeContext, brief } = LookupMneErrorParamsSchema.parse(params);
27
24
  logger.debug(`Looking up error: ${errorMessage.slice(0, 100)}`);
28
25
  // Extract error type from message
29
- const errorType = extractErrorType(errorMessage);
26
+ const { errorType, confidence } = classifyError(errorMessage);
30
27
  // Build a targeted search query: prefer the specific error phrase over just the type.
31
28
  // Use key phrases from the message (strip traceback boilerplate first).
32
29
  const cleanMsg = errorMessage
@@ -37,11 +34,18 @@ export async function lookupMneError(params, context) {
37
34
  const issueQuery = cleanMsg.length > 20
38
35
  ? `"${cleanMsg.slice(0, 60)}"`
39
36
  : `"${errorType}"`;
40
- // Search GitHub issues for this error (in parallel)
41
- const [issues, forumResults] = await Promise.all([
37
+ // Search GitHub issues and forum in parallel, but keep local heuristic
38
+ // diagnosis useful if either external source is unavailable.
39
+ const [issuesSettled, forumSettled] = await Promise.allSettled([
42
40
  context.github.searchIssues(issueQuery, { perPage: 5 }),
43
41
  context.forum.search(cleanMsg.slice(0, 100), 5),
44
42
  ]);
43
+ const issues = issuesSettled.status === 'fulfilled' ? issuesSettled.value : [];
44
+ const forumResults = forumSettled.status === 'fulfilled' ? forumSettled.value : [];
45
+ const partialReasons = [
46
+ ...(issuesSettled.status === 'rejected' ? [`GitHub issue search failed: ${describeError(issuesSettled.reason)}`] : []),
47
+ ...(forumSettled.status === 'rejected' ? [`Forum search failed: ${describeError(forumSettled.reason)}`] : []),
48
+ ];
45
49
  // Build common causes based on error type and message
46
50
  const commonCauses = getCommonCauses(errorType, errorMessage);
47
51
  const solutions = getSolutions(errorType, errorMessage, codeContext);
@@ -49,15 +53,18 @@ export async function lookupMneError(params, context) {
49
53
  if (brief) {
50
54
  return {
51
55
  errorType,
56
+ confidence,
52
57
  commonCauses: commonCauses.slice(0, 3),
53
58
  solutions: solutions.map(s => ({ description: s.description })),
54
59
  issueCount: issues.length,
55
60
  forumPostCount: forumResults.length,
56
61
  hint: 'Use lookup_mne_error(errorMessage, brief=false) for code examples and links',
62
+ ...(partialReasons.length > 0 && { partial: true, partialReasons }),
57
63
  };
58
64
  }
59
65
  return {
60
66
  errorType,
67
+ confidence,
61
68
  commonCauses,
62
69
  solutions,
63
70
  relatedIssues: issues.map((i) => ({
@@ -71,8 +78,13 @@ export async function lookupMneError(params, context) {
71
78
  url: f.url,
72
79
  })),
73
80
  documentationLinks: getDocLinks(errorType, errorMessage),
81
+ nextTools: getNextTools(errorMessage),
82
+ ...(partialReasons.length > 0 && { partial: true, partialReasons }),
74
83
  };
75
84
  }
85
+ function describeError(error) {
86
+ return error instanceof Error ? error.message : String(error);
87
+ }
76
88
  /**
77
89
  * Extract error type from message.
78
90
  */
@@ -91,6 +103,26 @@ function extractErrorType(message) {
91
103
  return anyMatch[1];
92
104
  return 'Unknown';
93
105
  }
106
+ function classifyError(message) {
107
+ const extracted = extractErrorType(message);
108
+ if (extracted !== 'Unknown') {
109
+ return { errorType: extracted, confidence: 'high' };
110
+ }
111
+ const lower = message.toLowerCase();
112
+ if (lower.includes('nyquist') || (lower.includes('filter') && lower.includes('frequency'))) {
113
+ return { errorType: 'ValueError', confidence: 'high' };
114
+ }
115
+ if (lower.includes('no events found')) {
116
+ return { errorType: 'ValueError', confidence: 'high' };
117
+ }
118
+ if (lower.includes('montage') || lower.includes('channel position') || lower.includes('digitization')) {
119
+ return { errorType: 'RuntimeError', confidence: 'medium' };
120
+ }
121
+ if (lower.includes('preload') || lower.includes('data not loaded')) {
122
+ return { errorType: 'RuntimeError', confidence: 'medium' };
123
+ }
124
+ return { errorType: 'Unknown', confidence: 'low' };
125
+ }
94
126
  /**
95
127
  * Get common causes for specific error types.
96
128
  */
@@ -171,6 +203,7 @@ function getSolutions(errorType, message, codeContext) {
171
203
  if (lower.includes('no events found')) {
172
204
  solutions.push({
173
205
  description: 'The events array is empty. Check your event detection parameters.',
206
+ confidence: 'high',
174
207
  codeExample: `# Check available events in your data
175
208
  events = mne.find_events(raw, stim_channel='STI 014')
176
209
  print(f"Found {len(events)} events")
@@ -187,6 +220,7 @@ print(raw.info['ch_names']) # Look for STI/STIM channels`,
187
220
  if (lower.includes('baseline period')) {
188
221
  solutions.push({
189
222
  description: 'Baseline period extends beyond epoch boundaries.',
223
+ confidence: 'high',
190
224
  codeExample: `# Ensure baseline is within tmin/tmax
191
225
  epochs = mne.Epochs(raw, events,
192
226
  tmin=-0.2, tmax=0.5,
@@ -199,6 +233,7 @@ epochs = mne.Epochs(raw, events, tmin=-0.2, tmax=0.5, baseline=None)`,
199
233
  if (lower.includes('data not loaded') || lower.includes('preload')) {
200
234
  solutions.push({
201
235
  description: 'Data needs to be loaded into memory before this operation; call raw.load_data() first or read with preload=True.',
236
+ confidence: 'high',
202
237
  codeExample: `# Load data into memory
203
238
  raw.load_data()
204
239
 
@@ -211,6 +246,7 @@ raw = mne.io.read_raw_fif('file.fif', preload=True)`,
211
246
  if (!isPositionError && lower.includes('channel') && (lower.includes('not found') || lower.includes('missing'))) {
212
247
  solutions.push({
213
248
  description: 'The specified channel was not found in the data.',
249
+ confidence: 'medium',
214
250
  codeExample: `# List available channels
215
251
  print(raw.ch_names)
216
252
 
@@ -224,6 +260,7 @@ raw.pick_channels(['EEG 001', 'EEG 002'])`,
224
260
  if (lower.includes('channel position') || lower.includes('montage') || lower.includes('digitization')) {
225
261
  solutions.push({
226
262
  description: 'Channel positions are missing. Apply a montage before operations that need sensor locations.',
263
+ confidence: 'high',
227
264
  codeExample: `# Apply a standard montage
228
265
  montage = mne.channels.make_standard_montage('standard_1020')
229
266
  raw.set_montage(montage)
@@ -236,9 +273,11 @@ montage = mne.channels.read_custom_montage('my_montage.sfp')
236
273
  raw.set_montage(montage)`,
237
274
  });
238
275
  }
239
- if (lower.includes('filter') && (lower.includes('nyquist') || lower.includes('frequency'))) {
276
+ if (lower.includes('nyquist') || lower.includes('h_freq') || lower.includes('l_freq') ||
277
+ (lower.includes('filter') && lower.includes('frequency'))) {
240
278
  solutions.push({
241
279
  description: 'Filter frequency exceeds Nyquist frequency (half the sampling rate).',
280
+ confidence: 'high',
242
281
  codeExample: `# Check sampling rate
243
282
  print(f"Sampling rate: {raw.info['sfreq']} Hz")
244
283
  print(f"Nyquist frequency: {raw.info['sfreq'] / 2} Hz")
@@ -251,6 +290,7 @@ raw.filter(l_freq=1, h_freq=40)`,
251
290
  if (lower.includes('memory') || lower.includes('memoryerror')) {
252
291
  solutions.push({
253
292
  description: 'Not enough memory for the operation.',
293
+ confidence: 'medium',
254
294
  codeExample: `# Use preload=False to reduce memory
255
295
  raw = mne.io.read_raw_fif('file.fif', preload=False)
256
296
 
@@ -266,6 +306,7 @@ for start in range(0, len(raw.times), chunk_size):
266
306
  if (lower.includes('ica') && lower.includes('fit')) {
267
307
  solutions.push({
268
308
  description: 'ICA fitting issue - check data quality and parameters.',
309
+ confidence: 'medium',
269
310
  codeExample: `# Ensure data is filtered before ICA
270
311
  raw.filter(l_freq=1, h_freq=None)
271
312
 
@@ -281,6 +322,7 @@ ica.fit(raw)`,
281
322
  if (lowerContext.includes('epochs') && lower.includes('baseline')) {
282
323
  solutions.unshift({
283
324
  description: 'Baseline error in Epochs - check tmin/tmax and baseline parameters match.',
325
+ confidence: 'high',
284
326
  codeExample: `# Ensure baseline period is within epoch bounds
285
327
  # If tmin=-0.2, tmax=0.5, baseline must be within that range
286
328
  epochs = mne.Epochs(raw, events, tmin=-0.2, tmax=0.5, baseline=(-0.2, 0))`,
@@ -289,6 +331,7 @@ epochs = mne.Epochs(raw, events, tmin=-0.2, tmax=0.5, baseline=(-0.2, 0))`,
289
331
  if (lowerContext.includes('raw') && lower.includes('preload')) {
290
332
  solutions.unshift({
291
333
  description: 'Raw data needs to be loaded before this operation.',
334
+ confidence: 'high',
292
335
  codeExample: `# Load data into memory first
293
336
  raw.load_data()
294
337
  # Then perform your operation`,
@@ -299,10 +342,22 @@ raw.load_data()
299
342
  if (solutions.length === 0) {
300
343
  solutions.push({
301
344
  description: `Check the MNE documentation for ${errorType} handling.`,
345
+ confidence: 'low',
302
346
  });
303
347
  }
304
348
  return solutions;
305
349
  }
350
+ function getNextTools(message) {
351
+ const lower = message.toLowerCase();
352
+ const tools = ['search_mne_docs', 'search_mne_forum'];
353
+ if (lower.includes('attribute') || lower.includes('method') || lower.includes('api')) {
354
+ tools.unshift('get_mne_doc');
355
+ }
356
+ else if (lower.includes('event') || lower.includes('filter') || lower.includes('montage')) {
357
+ tools.unshift('get_mne_doc');
358
+ }
359
+ return Array.from(new Set(tools));
360
+ }
306
361
  /**
307
362
  * Get relevant documentation links.
308
363
  */
@@ -1 +1 @@
1
- {"version":3,"file":"lookupMneError.js","sourceRoot":"","sources":["../../src/tools/lookupMneError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,oLAAoL;IACjM,WAAW,EAAE;QACT,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;QACvG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QACnG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;KACxG;IACD,WAAW,EAAE,0BAA0B;CAC1C,CAAC;AA2DF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,MAAe,EACf,OAAoB;IAEpB,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/F,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhE,kCAAkC;IAClC,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEjD,sFAAsF;IACtF,wEAAwE;IACxE,MAAM,QAAQ,GAAG,YAAY;SACxB,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpF,EAAE,IAAI,EAAE;SACP,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE;QACnC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;QAC9B,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC;IAEvB,oDAAoD;IACpD,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;KAClD,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAErE,mCAAmC;IACnC,IAAI,KAAK,EAAE,CAAC;QACR,OAAO;YACH,SAAS;YACT,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/D,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,cAAc,EAAE,YAAY,CAAC,MAAM;YACnC,IAAI,EAAE,6EAA6E;SACtF,CAAC;IACN,CAAC;IAED,OAAO;QACH,SAAS;QACT,YAAY;QACZ,SAAS;QACT,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,KAAK,EAAE,CAAC,CAAC,KAAK;SACjB,CAAC,CAAC;QACH,iBAAiB,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC;YACzD,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,EAAE,CAAC,CAAC,GAAG;SACb,CAAC,CAAC;QACH,kBAAkB,EAAE,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC;KAC3D,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACrC,+BAA+B;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACrE,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3B,4BAA4B;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACxE,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAErC,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACrE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEjC,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,SAAiB,EAAE,OAAe;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAEpC,kEAAkE;IAClE,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpG,OAAO;YACH,yEAAyE;YACzE,2DAA2D;YAC3D,0FAA0F;SAC7F,CAAC;IACN,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,uBAAuB,EAAE,8BAA8B,EAAE,uCAAuC,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,iDAAiD,EAAE,4BAA4B,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,+BAA+B,EAAE,mCAAmC,EAAE,kCAAkC,CAAC,CAAC;IACtH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1F,OAAO,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,8BAA8B,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,6BAA6B,EAAE,wDAAwD,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,+BAA+B,EAAE,gCAAgC,EAAE,wCAAwC,CAAC,CAAC;IACzH,CAAC;IAED,6BAA6B;IAC7B,MAAM,MAAM,GAA6B;QACrC,YAAY,EAAE;YACV,8CAA8C;YAC9C,oDAAoD;YACpD,yBAAyB;YACzB,8BAA8B;SACjC;QACD,cAAc,EAAE;YACZ,oDAAoD;YACpD,qEAAqE;YACrE,iDAAiD;YACjD,0BAA0B;SAC7B;QACD,mBAAmB,EAAE;YACjB,qBAAqB;YACrB,kEAAkE;YAClE,uBAAuB;YACvB,wBAAwB;SAC3B;QACD,WAAW,EAAE;YACT,wCAAwC;YACxC,iCAAiC;YACjC,gCAAgC;SACnC;QACD,aAAa,EAAE;YACX,qCAAqC;YACrC,6BAA6B;YAC7B,4CAA4C;SAC/C;QACD,gBAAgB,EAAE;YACd,mCAAmC;YACnC,iCAAiC;YACjC,kCAAkC;SACrC;KACJ,CAAC;IAEF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;AAC7F,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,SAAiB,EAAE,OAAe,EAAE,WAAoB;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACtD,MAAM,SAAS,GAAe,EAAE,CAAC;IAEjC,yCAAyC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,mEAAmE;YAChF,WAAW,EAAE;;;;;;;;;;0DAUiC;SACjD,CAAC,CAAC;IACP,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,kDAAkD;YAC/D,WAAW,EAAE;;;;;;qEAM4C;SAC5D,CAAC,CAAC;IACP,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,SAAS,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,kHAAkH;YAC/H,WAAW,EAAE;;;;oDAI2B;SAC3C,CAAC,CAAC;IACP,CAAC;IAED,6FAA6F;IAC7F,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1H,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC9G,SAAS,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,kDAAkD;YAC/D,WAAW,EAAE;;;;;;;0CAOiB;SACjC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpG,SAAS,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,8FAA8F;YAC3G,WAAW,EAAE;;;;;;;;;yBASA;SAChB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACzF,SAAS,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,sEAAsE;YACnF,WAAW,EAAE;;;;;;gCAMO;SACvB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,SAAS,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE;;;;;;;;;uBASF;SACd,CAAC,CAAC;IACP,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,SAAS,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,wDAAwD;YACrE,WAAW,EAAE;;;;;;;aAOZ;SACJ,CAAC,CAAC;IACP,CAAC;IAED,gDAAgD;IAChD,IAAI,WAAW,EAAE,CAAC;QACd,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,SAAS,CAAC,OAAO,CAAC;gBACd,WAAW,EAAE,2EAA2E;gBACxF,WAAW,EAAE;;0EAE6C;aAC7D,CAAC,CAAC;QACP,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5D,SAAS,CAAC,OAAO,CAAC;gBACd,WAAW,EAAE,oDAAoD;gBACjE,WAAW,EAAE;;8BAEC;aACjB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,wCAAwC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC;YACX,WAAW,EAAE,mCAAmC,SAAS,YAAY;SACxE,CAAC,CAAC;IACP,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,SAAiB,EAAE,OAAe;IACnD,MAAM,KAAK,GAAG;QACV,4CAA4C;KAC/C,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAEpC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"lookupMneError.js","sourceRoot":"","sources":["../../src/tools/lookupMneError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { RequestBudgetSummary } from '../types.js';
2
+ type GithubRateLimitBucket = 'core' | 'search' | 'code';
3
+ interface GithubRateLimitLike {
4
+ getRateLimitInfo?: (bucket?: GithubRateLimitBucket) => {
5
+ remaining: number;
6
+ limit: number;
7
+ resetInSeconds: number;
8
+ } | null;
9
+ }
10
+ export declare function buildGithubRequestBudget(github: GithubRateLimitLike, buckets: GithubRateLimitBucket[]): RequestBudgetSummary | undefined;
11
+ export {};
12
+ //# sourceMappingURL=requestBudget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestBudget.d.ts","sourceRoot":"","sources":["../../src/tools/requestBudget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,KAAK,qBAAqB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,UAAU,mBAAmB;IACzB,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,qBAAqB,KAAK;QACnD,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI,CAAC;CACZ;AAED,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,qBAAqB,EAAE,GACjC,oBAAoB,GAAG,SAAS,CAmClC"}
@@ -0,0 +1,36 @@
1
+ export function buildGithubRequestBudget(github, buckets) {
2
+ if (typeof github.getRateLimitInfo !== 'function')
3
+ return undefined;
4
+ const summaries = Array.from(new Set(buckets))
5
+ .map(bucket => {
6
+ const info = github.getRateLimitInfo?.(bucket);
7
+ if (!info)
8
+ return null;
9
+ return {
10
+ bucket,
11
+ remaining: info.remaining,
12
+ limit: info.limit,
13
+ resetInSeconds: info.resetInSeconds,
14
+ };
15
+ })
16
+ .filter((item) => item !== null);
17
+ if (summaries.length === 0)
18
+ return undefined;
19
+ const warnings = summaries.flatMap(summary => {
20
+ if (summary.remaining <= 0) {
21
+ return [`GitHub ${summary.bucket} request budget is exhausted.`];
22
+ }
23
+ if (summary.bucket === 'code' && summary.remaining <= 2) {
24
+ return [`GitHub code-search budget is low (${summary.remaining}/${summary.limit} remaining).`];
25
+ }
26
+ if (summary.limit > 0 && summary.remaining / summary.limit <= 0.1) {
27
+ return [`GitHub ${summary.bucket} request budget is low (${summary.remaining}/${summary.limit} remaining).`];
28
+ }
29
+ return [];
30
+ });
31
+ return {
32
+ buckets: summaries,
33
+ warnings,
34
+ };
35
+ }
36
+ //# sourceMappingURL=requestBudget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestBudget.js","sourceRoot":"","sources":["../../src/tools/requestBudget.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,wBAAwB,CACpC,MAA2B,EAC3B,OAAgC;IAEhC,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAEpE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;SACzC,GAAG,CAAC,MAAM,CAAC,EAAE;QACV,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO;YACH,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,cAAc;SACtC,CAAC;IACN,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAEvE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACzC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,UAAU,OAAO,CAAC,MAAM,+BAA+B,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,qCAAqC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,cAAc,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;YAChE,OAAO,CAAC,UAAU,OAAO,CAAC,MAAM,2BAA2B,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,cAAc,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,OAAO,EAAE,SAAS;QAClB,QAAQ;KACX,CAAC;AACN,CAAC"}
@@ -1,21 +1,17 @@
1
1
  import { z } from 'zod';
2
2
  import { SearchResult, ToolContext } from '../types.js';
3
3
  export declare const definition: {
4
- name: string;
5
- title: string;
6
- description: string;
7
4
  inputSchema: {
8
5
  query: z.ZodString;
9
6
  version: z.ZodOptional<z.ZodString>;
10
7
  maxResultsPerSource: z.ZodOptional<z.ZodNumber>;
11
8
  package: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
12
9
  };
13
- annotations: {
14
- readonly readOnlyHint: true;
15
- readonly destructiveHint: false;
16
- readonly idempotentHint: true;
17
- readonly openWorldHint: true;
18
- };
10
+ name: string;
11
+ title: string;
12
+ description: string;
13
+ annotations?: object;
14
+ outputSchema?: z.ZodTypeAny;
19
15
  };
20
16
  export declare function searchMneDocs(params: unknown, context: ToolContext): Promise<SearchResult>;
21
17
  export { searchMneDocs as handler };
@@ -1 +1 @@
1
- {"version":3,"file":"searchMneDocs.d.ts","sourceRoot":"","sources":["../../src/tools/searchMneDocs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqC,MAAM,aAAa,CAAC;AAa3F,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CActB,CAAC;AAYF,wBAAsB,aAAa,CAC/B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,CAAC,CA0DvB;AAED,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"searchMneDocs.d.ts","sourceRoot":"","sources":["../../src/tools/searchMneDocs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqC,MAAM,aAAa,CAAC;AAgB3F,eAAO,MAAM,UAAU;;;;;;;;;;;;CASrB,CAAC;AAiBH,wBAAsB,aAAa,CAC/B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,YAAY,CAAC,CA+KvB;AAwCD,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAC"}