mne-docs-mcp 1.0.47 → 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 (125) 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 +139 -7
  15. package/dist/forum/client.js.map +1 -1
  16. package/dist/github/client.d.ts +7 -1
  17. package/dist/github/client.d.ts.map +1 -1
  18. package/dist/github/client.js +75 -12
  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 +3 -0
  23. package/dist/repoContent/index.d.ts.map +1 -1
  24. package/dist/repoContent/index.js +14 -8
  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 +62 -19
  29. package/dist/searchCorpus/index.js.map +1 -1
  30. package/dist/symbolLookup/index.d.ts +2 -0
  31. package/dist/symbolLookup/index.d.ts.map +1 -1
  32. package/dist/symbolLookup/index.js +65 -18
  33. package/dist/symbolLookup/index.js.map +1 -1
  34. package/dist/tools/defineTool.d.ts +18 -0
  35. package/dist/tools/defineTool.d.ts.map +1 -0
  36. package/dist/tools/defineTool.js +8 -0
  37. package/dist/tools/defineTool.js.map +1 -0
  38. package/dist/tools/findMneSymbol.d.ts +6 -10
  39. package/dist/tools/findMneSymbol.d.ts.map +1 -1
  40. package/dist/tools/findMneSymbol.js +10 -15
  41. package/dist/tools/findMneSymbol.js.map +1 -1
  42. package/dist/tools/getMneChangelog.d.ts +6 -10
  43. package/dist/tools/getMneChangelog.d.ts.map +1 -1
  44. package/dist/tools/getMneChangelog.js +54 -13
  45. package/dist/tools/getMneChangelog.js.map +1 -1
  46. package/dist/tools/getMneDoc.d.ts +7 -10
  47. package/dist/tools/getMneDoc.d.ts.map +1 -1
  48. package/dist/tools/getMneDoc.js +51 -35
  49. package/dist/tools/getMneDoc.js.map +1 -1
  50. package/dist/tools/getMneExample.d.ts +12 -12
  51. package/dist/tools/getMneExample.d.ts.map +1 -1
  52. package/dist/tools/getMneExample.js +34 -20
  53. package/dist/tools/getMneExample.js.map +1 -1
  54. package/dist/tools/getMneFile.d.ts +7 -11
  55. package/dist/tools/getMneFile.d.ts.map +1 -1
  56. package/dist/tools/getMneFile.js +131 -40
  57. package/dist/tools/getMneFile.js.map +1 -1
  58. package/dist/tools/getMneForumTopic.d.ts +8 -37
  59. package/dist/tools/getMneForumTopic.d.ts.map +1 -1
  60. package/dist/tools/getMneForumTopic.js +8 -132
  61. package/dist/tools/getMneForumTopic.js.map +1 -1
  62. package/dist/tools/getMneIssue.d.ts +8 -10
  63. package/dist/tools/getMneIssue.d.ts.map +1 -1
  64. package/dist/tools/getMneIssue.js +16 -10
  65. package/dist/tools/getMneIssue.js.map +1 -1
  66. package/dist/tools/getMneIssueComments.d.ts +10 -10
  67. package/dist/tools/getMneIssueComments.d.ts.map +1 -1
  68. package/dist/tools/getMneIssueComments.js +30 -13
  69. package/dist/tools/getMneIssueComments.js.map +1 -1
  70. package/dist/tools/getRelatedSymbols.d.ts +7 -11
  71. package/dist/tools/getRelatedSymbols.d.ts.map +1 -1
  72. package/dist/tools/getRelatedSymbols.js +44 -18
  73. package/dist/tools/getRelatedSymbols.js.map +1 -1
  74. package/dist/tools/getSymbolReferences.d.ts +7 -10
  75. package/dist/tools/getSymbolReferences.d.ts.map +1 -1
  76. package/dist/tools/getSymbolReferences.js +28 -16
  77. package/dist/tools/getSymbolReferences.js.map +1 -1
  78. package/dist/tools/listMneVersions.d.ts +6 -63
  79. package/dist/tools/listMneVersions.d.ts.map +1 -1
  80. package/dist/tools/listMneVersions.js +13 -15
  81. package/dist/tools/listMneVersions.js.map +1 -1
  82. package/dist/tools/lookupMneError.d.ts +14 -10
  83. package/dist/tools/lookupMneError.d.ts.map +1 -1
  84. package/dist/tools/lookupMneError.js +69 -14
  85. package/dist/tools/lookupMneError.js.map +1 -1
  86. package/dist/tools/requestBudget.d.ts +12 -0
  87. package/dist/tools/requestBudget.d.ts.map +1 -0
  88. package/dist/tools/requestBudget.js +36 -0
  89. package/dist/tools/requestBudget.js.map +1 -0
  90. package/dist/tools/searchMneDocs.d.ts +5 -9
  91. package/dist/tools/searchMneDocs.d.ts.map +1 -1
  92. package/dist/tools/searchMneDocs.js +162 -22
  93. package/dist/tools/searchMneDocs.js.map +1 -1
  94. package/dist/tools/searchMneForum.d.ts +9 -10
  95. package/dist/tools/searchMneForum.d.ts.map +1 -1
  96. package/dist/tools/searchMneForum.js +21 -12
  97. package/dist/tools/searchMneForum.js.map +1 -1
  98. package/dist/tools/searchMneIssues.d.ts +10 -11
  99. package/dist/tools/searchMneIssues.d.ts.map +1 -1
  100. package/dist/tools/searchMneIssues.js +28 -24
  101. package/dist/tools/searchMneIssues.js.map +1 -1
  102. package/dist/types.d.ts +53 -1
  103. package/dist/types.d.ts.map +1 -1
  104. package/dist/types.js.map +1 -1
  105. package/dist/utils/helpers.d.ts +5 -2
  106. package/dist/utils/helpers.d.ts.map +1 -1
  107. package/dist/utils/helpers.js +26 -5
  108. package/dist/utils/helpers.js.map +1 -1
  109. package/dist/utils/html.d.ts +2 -0
  110. package/dist/utils/html.d.ts.map +1 -0
  111. package/dist/utils/html.js +21 -0
  112. package/dist/utils/html.js.map +1 -0
  113. package/dist/utils/publicSymbols.d.ts +12 -0
  114. package/dist/utils/publicSymbols.d.ts.map +1 -0
  115. package/dist/utils/publicSymbols.js +72 -0
  116. package/dist/utils/publicSymbols.js.map +1 -0
  117. package/dist/utils/searchRanking.d.ts +18 -0
  118. package/dist/utils/searchRanking.d.ts.map +1 -0
  119. package/dist/utils/searchRanking.js +63 -0
  120. package/dist/utils/searchRanking.js.map +1 -0
  121. package/dist/utils/symbolResolver.d.ts.map +1 -1
  122. package/dist/utils/symbolResolver.js +29 -1
  123. package/dist/utils/symbolResolver.js.map +1 -1
  124. package/package.json +1 -1
  125. package/python/ast_extractor.py +3 -0
@@ -1,26 +1,25 @@
1
1
  import { z } from 'zod';
2
- import { MNE_PACKAGE_NAMES, packageSchema } from '../config.js';
2
+ import { packageSchema } from '../config.js';
3
3
  import { READ_ONLY_TOOL_ANNOTATIONS } from './annotations.js';
4
+ import { buildGithubRequestBudget } from './requestBudget.js';
5
+ import { rankSearchMatch, isHowToQuery } from '../utils/searchRanking.js';
6
+ import { defineTool } from './defineTool.js';
4
7
  const SearchMneDocsParamsSchema = z.object({
5
- query: z.string().trim().min(1, 'Query is required'),
6
- version: z.string().optional(),
7
- maxResultsPerSource: z.number().int().min(1).max(25).optional(),
8
- package: z.enum(MNE_PACKAGE_NAMES).optional(),
8
+ query: z.string().trim().min(1, 'Query is required').describe('Natural-language query or keywords, e.g. "artifact rejection", "ICA tutorial", "memory leak"'),
9
+ version: z.string().optional().describe('Version tag (default: latest)'),
10
+ maxResultsPerSource: z.number().int().min(1).max(25).optional().describe('Max results per source type (default: 5)'),
11
+ package: packageSchema,
9
12
  });
10
- export const definition = {
13
+ export const definition = defineTool({
11
14
  name: 'search_mne_docs',
12
15
  title: 'Search MNE Docs',
13
16
  description: 'Full-text search across MNE documentation, source code, GitHub issues, and the community forum. ' +
14
17
  'Use this for natural-language questions ("how do I…"), troubleshooting, and concept discovery. ' +
15
18
  'If you need a specific API docstring, use get_mne_doc; if you only know part of a symbol name, use find_mne_symbol.',
16
- inputSchema: {
17
- query: z.string().describe('Natural-language query or keywords, e.g. "artifact rejection", "ICA tutorial", "memory leak"'),
18
- version: z.string().optional().describe('Version tag (default: latest)'),
19
- maxResultsPerSource: z.number().int().min(1).max(25).optional().describe('Max results per source type (default: 5)'),
20
- package: packageSchema,
21
- },
19
+ paramsSchema: SearchMneDocsParamsSchema,
22
20
  annotations: READ_ONLY_TOOL_ANNOTATIONS,
23
- };
21
+ });
22
+ const DISCUSSION_SOURCE_TIMEOUT_MS = 5_000;
24
23
  function toGithubSearchItem(item, source) {
25
24
  return {
26
25
  source,
@@ -28,6 +27,9 @@ function toGithubSearchItem(item, source) {
28
27
  path: item.path,
29
28
  htmlUrl: item.htmlUrl,
30
29
  snippet: item.snippet,
30
+ score: item.score,
31
+ matchedTerms: item.matchedTerms,
32
+ matchReason: item.matchReason,
31
33
  };
32
34
  }
33
35
  export async function searchMneDocs(params, context) {
@@ -43,38 +45,176 @@ export async function searchMneDocs(params, context) {
43
45
  return cachedSearch;
44
46
  }
45
47
  // Issue/forum lookups are independent from code/docs search, so run them in parallel.
46
- const issuePromise = context.github.searchIssues(normalizedQuery, { perPage: maxResultsPerSource, packageName: pkg });
47
- const forumPromise = context.forum.search(normalizedQuery, maxResultsPerSource);
48
+ const issuePromise = withTimeout(context.github.searchIssues(normalizedQuery, { perPage: maxResultsPerSource, packageName: pkg }), DISCUSSION_SOURCE_TIMEOUT_MS, 'GitHub issue search timed out');
49
+ const forumPromise = withTimeout(context.forum.search(normalizedQuery, maxResultsPerSource, { sort: 'relevance' }), DISCUSSION_SOURCE_TIMEOUT_MS, 'Forum search timed out');
48
50
  const corpusResult = await context.searchCorpus.searchSourceAndDocs({
49
51
  target,
50
52
  query: normalizedQuery,
51
53
  maxResultsPerScope: maxResultsPerSource,
52
54
  });
55
+ const exampleCandidates = isHowToQuery(normalizedQuery)
56
+ ? await context.searchCorpus.findGalleryExamples({
57
+ target,
58
+ query: normalizedQuery,
59
+ maxResults: maxResultsPerSource,
60
+ }).catch(() => [])
61
+ : [];
53
62
  const githubCode = (corpusResult.byScope.code || [])
54
- .map(item => toGithubSearchItem(item, 'github-code'));
63
+ .map(item => toGithubSearchItem(annotateCorpusCandidate(item, normalizedQuery, 'code'), 'github-code'))
64
+ .sort(byDescendingScore);
55
65
  const githubDocs = (corpusResult.byScope.docs || [])
56
- .map(item => toGithubSearchItem(item, 'github-doc'));
57
- // 3. GitHub Issues Search
58
- const [issueResults, forum] = await Promise.all([issuePromise, forumPromise]);
59
- const githubIssues = issueResults;
66
+ .map(item => toGithubSearchItem(annotateCorpusCandidate(item, normalizedQuery, 'docs'), 'github-doc'))
67
+ .sort(byDescendingScore);
68
+ const galleryExamples = exampleCandidates
69
+ .map(item => toGithubSearchItem(annotateCorpusCandidate(item, normalizedQuery, 'example'), 'github-doc'))
70
+ .sort(byDescendingScore);
71
+ // 3. GitHub issues and forum search: keep docs/code results useful even
72
+ // when one external discussion source is temporarily unavailable.
73
+ const [issueSettled, forumSettled] = await Promise.allSettled([issuePromise, forumPromise]);
74
+ const issueResults = issueSettled.status === 'fulfilled' ? issueSettled.value : [];
75
+ const forum = forumSettled.status === 'fulfilled' ? forumSettled.value : [];
76
+ const githubIssues = issueResults
77
+ .map(item => {
78
+ const ranking = rankSearchMatch({
79
+ query: normalizedQuery,
80
+ kind: 'issue',
81
+ title: item.title,
82
+ snippet: item.labels.join(' '),
83
+ });
84
+ return {
85
+ ...item,
86
+ score: item.score ?? ranking.score,
87
+ matchedFields: item.matchedFields?.length ? item.matchedFields : ranking.matchedTerms,
88
+ };
89
+ })
90
+ .sort((a, b) => (b.score || 0) - (a.score || 0));
91
+ const rankedForum = forum
92
+ .map(item => {
93
+ const ranking = rankSearchMatch({
94
+ query: normalizedQuery,
95
+ kind: 'forum',
96
+ title: item.title,
97
+ snippet: `${item.snippet || ''}\n${item.blurb || ''}`,
98
+ tags: item.tags,
99
+ });
100
+ return {
101
+ ...item,
102
+ score: item.score ?? ranking.score,
103
+ matchedTerms: item.matchedTerms ?? ranking.matchedTerms,
104
+ matchReason: item.matchReason ?? ranking.matchReason,
105
+ };
106
+ })
107
+ .sort((a, b) => (b.score || 0) - (a.score || 0));
108
+ const partialReasons = [];
109
+ const codeSearchPartialReason = 'GitHub code search was temporarily unavailable, so code/docs matches may be incomplete.';
110
+ const issuePartialReason = issueSettled.status === 'rejected'
111
+ ? `GitHub issue search failed: ${errorMessage(issueSettled.reason)}`
112
+ : undefined;
113
+ const forumPartialReason = forumSettled.status === 'rejected'
114
+ ? `Forum search failed: ${errorMessage(forumSettled.reason)}`
115
+ : undefined;
116
+ const sourceBudgets = [
117
+ {
118
+ source: 'docs',
119
+ completed: githubDocs.length > 0 || !corpusResult.codeSearchUnavailable,
120
+ partial: corpusResult.codeSearchUnavailable,
121
+ reason: corpusResult.codeSearchUnavailable ? codeSearchPartialReason : undefined,
122
+ timeBudgetMs: 3000,
123
+ },
124
+ {
125
+ source: 'code',
126
+ completed: githubCode.length > 0 || !corpusResult.codeSearchUnavailable,
127
+ partial: corpusResult.codeSearchUnavailable,
128
+ reason: corpusResult.codeSearchUnavailable ? codeSearchPartialReason : undefined,
129
+ timeBudgetMs: 3000,
130
+ },
131
+ {
132
+ source: 'examples',
133
+ completed: !isHowToQuery(normalizedQuery) || galleryExamples.length > 0,
134
+ timeBudgetMs: 2000,
135
+ },
136
+ {
137
+ source: 'issues',
138
+ completed: issueSettled.status === 'fulfilled',
139
+ partial: issueSettled.status === 'rejected',
140
+ reason: issuePartialReason,
141
+ timeBudgetMs: 1500,
142
+ },
143
+ {
144
+ source: 'forum',
145
+ completed: forumSettled.status === 'fulfilled',
146
+ partial: forumSettled.status === 'rejected',
147
+ reason: forumPartialReason,
148
+ timeBudgetMs: 1500,
149
+ },
150
+ ];
60
151
  const result = {
61
152
  query: normalizedQuery,
62
153
  version: resolvedVersion,
63
154
  package: pkg,
64
155
  githubDocs,
65
156
  githubCode,
157
+ galleryExamples,
66
158
  githubIssues,
67
- forum,
159
+ forum: rankedForum,
160
+ sourceBudgets,
161
+ requestBudget: buildGithubRequestBudget(context.github, ['search', 'code']),
68
162
  };
163
+ if (corpusResult.codeSearchUnavailable) {
164
+ partialReasons.push(codeSearchPartialReason);
165
+ }
166
+ if (issuePartialReason) {
167
+ partialReasons.push(issuePartialReason);
168
+ }
169
+ if (forumPartialReason) {
170
+ partialReasons.push(forumPartialReason);
171
+ }
172
+ if (partialReasons.length > 0) {
173
+ result.partial = true;
174
+ result.partialReason = partialReasons[0];
175
+ result.partialReasons = partialReasons;
176
+ }
69
177
  if (githubDocs.length === 0 &&
178
+ galleryExamples.length === 0 &&
70
179
  githubCode.length === 0 &&
71
180
  githubIssues.length === 0 &&
72
- forum.length === 0) {
181
+ rankedForum.length === 0) {
73
182
  result.hint =
74
183
  'No results found. Try a broader query, different keywords, or use find_mne_symbol for API lookups.';
75
184
  }
76
185
  context.cache.setSearch(resolvedVersion, cacheKey, result);
77
186
  return result;
78
187
  }
188
+ function annotateCorpusCandidate(item, query, kind) {
189
+ const ranking = rankSearchMatch({
190
+ query,
191
+ kind,
192
+ title: item.name,
193
+ path: item.path,
194
+ snippet: item.snippet,
195
+ });
196
+ return {
197
+ ...item,
198
+ score: item.score ?? ranking.score,
199
+ matchedTerms: item.matchedTerms ?? ranking.matchedTerms,
200
+ matchReason: item.matchReason ?? ranking.matchReason,
201
+ };
202
+ }
203
+ function byDescendingScore(a, b) {
204
+ return (b.score || 0) - (a.score || 0) || a.path.localeCompare(b.path);
205
+ }
206
+ function errorMessage(error) {
207
+ return error instanceof Error ? error.message : String(error);
208
+ }
209
+ function withTimeout(promise, timeoutMs, message) {
210
+ let timer;
211
+ const timeout = new Promise((_, reject) => {
212
+ timer = setTimeout(() => reject(new Error(message)), timeoutMs);
213
+ });
214
+ return Promise.race([promise, timeout]).finally(() => {
215
+ if (timer)
216
+ clearTimeout(timer);
217
+ });
218
+ }
79
219
  export { searchMneDocs as handler };
80
220
  //# sourceMappingURL=searchMneDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchMneDocs.js","sourceRoot":"","sources":["../../src/tools/searchMneDocs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAEvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/D,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,iBAA0C,CAAC,CAAC,QAAQ,EAAE;CACzE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EACP,kGAAkG;QAClG,iGAAiG;QACjG,qHAAqH;IACzH,WAAW,EAAE;QACT,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;QAC1H,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACxE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACpH,OAAO,EAAE,aAAa;KACzB;IACD,WAAW,EAAE,0BAA0B;CAC1C,CAAC;AAEF,SAAS,kBAAkB,CAAC,IAA2B,EAAE,MAAoC;IACzF,OAAO;QACH,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;KACxB,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,MAAe,EACf,OAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClH,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC;IAC/B,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;IAEvC,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,eAAe,CAAC,WAAW,EAAE,IAAI,mBAAmB,EAAE,CAAC;IAClF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACxE,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,sFAAsF;IACtF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAC5C,eAAe,EACf,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE,CACrD,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAEhF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAChE,MAAM;QACN,KAAK,EAAE,eAAe;QACtB,kBAAkB,EAAE,mBAAmB;KAC1C,CAAC,CAAC;IACH,MAAM,UAAU,GAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACnE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAuB,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;SACnE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAEzD,0BAA0B;IAC1B,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9E,MAAM,YAAY,GAAsB,YAAY,CAAC;IAErD,MAAM,MAAM,GAAiB;QACzB,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,GAAG;QACZ,UAAU;QACV,UAAU;QACV,YAAY;QACZ,KAAK;KACR,CAAC;IAEF,IACI,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,KAAK,CAAC,MAAM,KAAK,CAAC,EACpB,CAAC;QACC,MAAM,CAAC,IAAI;YACP,oGAAoG,CAAC;IAC7G,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"searchMneDocs.js","sourceRoot":"","sources":["../../src/tools/searchMneDocs.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,24 @@
1
1
  import { z } from 'zod';
2
2
  import { ForumSearchItem, 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
- maxResults: z.ZodOptional<z.ZodNumber>;
10
- };
11
- annotations: {
12
- readonly readOnlyHint: true;
13
- readonly destructiveHint: false;
14
- readonly idempotentHint: true;
15
- readonly openWorldHint: true;
6
+ maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7
+ sort: z.ZodDefault<z.ZodOptional<z.ZodEnum<["relevance", "recent"]>>>;
16
8
  };
9
+ name: string;
10
+ title: string;
11
+ description: string;
12
+ annotations?: object;
13
+ outputSchema?: z.ZodTypeAny;
17
14
  };
18
15
  export interface SearchMneForumResult {
19
16
  query: string;
20
17
  results: ForumSearchItem[];
21
18
  totalResults: number;
22
19
  cached?: boolean;
20
+ partial?: boolean;
21
+ partialReason?: string;
23
22
  }
24
23
  export declare function searchMneForum(params: unknown, context: ToolContext): Promise<SearchMneForumResult>;
25
24
  export { searchMneForum as handler };
@@ -1 +1 @@
1
- {"version":3,"file":"searchMneForum.d.ts","sourceRoot":"","sources":["../../src/tools/searchMneForum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ3D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;CAStB,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,cAAc,CAChC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,oBAAoB,CAAC,CA2B/B;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"searchMneForum.d.ts","sourceRoot":"","sources":["../../src/tools/searchMneForum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU3D,eAAO,MAAM,UAAU;;;;;;;;;;;CAMrB,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,cAAc,CAChC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAoC/B;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
@@ -1,24 +1,23 @@
1
1
  import { z } from 'zod';
2
2
  import { READ_ONLY_TOOL_ANNOTATIONS } from './annotations.js';
3
+ import { defineTool } from './defineTool.js';
3
4
  const SearchMneForumParamsSchema = z.object({
4
- query: z.string().trim().min(1, 'Query is required'),
5
- maxResults: z.number().min(1).max(50).optional().default(10),
5
+ query: z.string().trim().min(1, 'Query is required').describe('Search query, e.g. "ICA artifact removal", "source localization", "EEG preprocessing"'),
6
+ maxResults: z.number().int().min(1).max(50).optional().default(10).describe('Max results (default: 10)'),
7
+ sort: z.enum(['relevance', 'recent']).optional().default('relevance').describe('Sort results by search relevance or recent activity (default: relevance)'),
6
8
  });
7
- export const definition = {
9
+ export const definition = defineTool({
8
10
  name: 'search_mne_forum',
9
11
  title: 'Search MNE Forum',
10
12
  description: 'Search the MNE community Discourse forum for user questions and answers. Great for "how do I..." questions, troubleshooting, and best practices from the community.',
11
- inputSchema: {
12
- query: z.string().describe('Search query, e.g. "ICA artifact removal", "source localization", "EEG preprocessing"'),
13
- maxResults: z.number().optional().describe('Max results (default: 10)'),
14
- },
13
+ paramsSchema: SearchMneForumParamsSchema,
15
14
  annotations: READ_ONLY_TOOL_ANNOTATIONS,
16
- };
15
+ });
17
16
  export async function searchMneForum(params, context) {
18
- const { query, maxResults } = SearchMneForumParamsSchema.parse(params);
17
+ const { query, maxResults, sort } = SearchMneForumParamsSchema.parse(params);
19
18
  const normalizedQuery = query.replace(/\s+/g, ' ').trim();
20
19
  // Check cache first
21
- const cacheKey = `${normalizedQuery.toLowerCase()}:${maxResults}`;
20
+ const cacheKey = `${normalizedQuery.toLowerCase()}:${maxResults}:${sort}`;
22
21
  const cachedResults = context.cache.getForumSearch(cacheKey);
23
22
  if (cachedResults) {
24
23
  return {
@@ -29,13 +28,23 @@ export async function searchMneForum(params, context) {
29
28
  };
30
29
  }
31
30
  // Fetch from forum
32
- const results = await context.forum.search(normalizedQuery, maxResults);
31
+ let results = [];
32
+ let partialReason;
33
+ try {
34
+ results = await context.forum.search(normalizedQuery, maxResults, { sort });
35
+ }
36
+ catch (error) {
37
+ partialReason = `Forum search failed: ${error instanceof Error ? error.message : String(error)}`;
38
+ }
33
39
  // Cache results
34
- context.cache.setForumSearch(cacheKey, results);
40
+ if (!partialReason) {
41
+ context.cache.setForumSearch(cacheKey, results);
42
+ }
35
43
  return {
36
44
  query: normalizedQuery,
37
45
  results,
38
46
  totalResults: results.length,
47
+ ...(partialReason && { partial: true, partialReason }),
39
48
  };
40
49
  }
41
50
  export { searchMneForum as handler };
@@ -1 +1 @@
1
- {"version":3,"file":"searchMneForum.js","sourceRoot":"","sources":["../../src/tools/searchMneForum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,qKAAqK;IAClL,WAAW,EAAE;QACT,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uFAAuF,CAAC;QACnH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KAC1E;IACD,WAAW,EAAE,0BAA0B;CAC1C,CAAC;AASF,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,MAAe,EACf,OAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1D,oBAAoB;IACpB,MAAM,QAAQ,GAAG,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,UAAU,EAAE,CAAC;IAClE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO;YACH,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,aAAa,CAAC,MAAM;YAClC,MAAM,EAAE,IAAI;SACf,CAAC;IACN,CAAC;IAED,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAExE,gBAAgB;IAChB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEhD,OAAO;QACH,KAAK,EAAE,eAAe;QACtB,OAAO;QACP,YAAY,EAAE,OAAO,CAAC,MAAM;KAC/B,CAAC;AACN,CAAC;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"searchMneForum.js","sourceRoot":"","sources":["../../src/tools/searchMneForum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,uFAAuF,CAAC;IACtJ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACxG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,0EAA0E,CAAC;CAC7J,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,qKAAqK;IAClL,YAAY,EAAE,0BAA0B;IACxC,WAAW,EAAE,0BAA0B;CAC1C,CAAC,CAAC;AAWH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,MAAe,EACf,OAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1D,oBAAoB;IACpB,MAAM,QAAQ,GAAG,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;IAC1E,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO;YACH,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,aAAa,CAAC,MAAM;YAClC,MAAM,EAAE,IAAI;SACf,CAAC;IACN,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,GAAsB,EAAE,CAAC;IACpC,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC;QACD,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,aAAa,GAAG,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACH,KAAK,EAAE,eAAe;QACtB,OAAO;QACP,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,GAAG,CAAC,aAAa,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;KACzD,CAAC;AACN,CAAC;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
@@ -1,27 +1,26 @@
1
1
  import { z } from 'zod';
2
- import { GithubIssueItem, ToolContext } from '../types.js';
2
+ import { GithubIssueItem, RequestBudgetSummary, 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
  state: z.ZodOptional<z.ZodEnum<["open", "closed", "all"]>>;
10
7
  labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
8
  maxResults: z.ZodOptional<z.ZodNumber>;
12
- sort: z.ZodOptional<z.ZodEnum<["relevance", "updated", "created", "comments"]>>;
9
+ sort: z.ZodDefault<z.ZodOptional<z.ZodEnum<["relevance", "updated", "created", "comments"]>>>;
13
10
  package: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
14
11
  };
15
- annotations: {
16
- readonly readOnlyHint: true;
17
- readonly destructiveHint: false;
18
- readonly idempotentHint: true;
19
- readonly openWorldHint: true;
20
- };
12
+ name: string;
13
+ title: string;
14
+ description: string;
15
+ annotations?: object;
16
+ outputSchema?: z.ZodTypeAny;
21
17
  };
22
18
  interface SearchMneIssuesResult {
23
19
  issues: GithubIssueItem[];
24
20
  package: string;
21
+ requestBudget?: RequestBudgetSummary;
22
+ partial?: boolean;
23
+ partialReason?: string;
25
24
  }
26
25
  export declare function searchMneIssues(params: unknown, context: ToolContext): Promise<SearchMneIssuesResult>;
27
26
  export { searchMneIssues as handler };
@@ -1 +1 @@
1
- {"version":3,"file":"searchMneIssues.d.ts","sourceRoot":"","sources":["../../src/tools/searchMneIssues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAa3D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAatB,CAAC;AAEF,UAAU,qBAAqB;IAC3B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAehC;AAED,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"searchMneIssues.d.ts","sourceRoot":"","sources":["../../src/tools/searchMneIssues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAejF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;CAMrB,CAAC;AAEH,UAAU,qBAAqB;IAC3B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,eAAe,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAuBhC;AAED,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -1,40 +1,44 @@
1
1
  import { z } from 'zod';
2
- import { MNE_PACKAGE_NAMES, packageSchema } from '../config.js';
2
+ import { packageSchema } from '../config.js';
3
3
  import { READ_ONLY_TOOL_ANNOTATIONS } from './annotations.js';
4
+ import { buildGithubRequestBudget } from './requestBudget.js';
5
+ import { defineTool } from './defineTool.js';
4
6
  const SearchMneIssuesParamsSchema = z.object({
5
- query: z.string().trim().min(1, 'Query is required'),
6
- state: z.enum(['open', 'closed', 'all']).optional(),
7
- labels: z.array(z.string()).optional(),
8
- maxResults: z.number().int().min(1).max(50).optional(),
9
- sort: z.enum(['relevance', 'updated', 'created', 'comments']).optional().default('relevance'),
10
- package: z.enum(MNE_PACKAGE_NAMES).optional(),
7
+ query: z.string().trim().min(1, 'Query is required').describe('Search query, e.g. "memory leak", "segmentation fault", "deprecation warning"'),
8
+ state: z.enum(['open', 'closed', 'all']).optional().describe('Filter by issue state (default: all)'),
9
+ labels: z.array(z.string()).optional().describe('Filter by labels, e.g. ["bug", "help wanted"]'),
10
+ maxResults: z.number().int().min(1).max(50).optional().describe('Max results (default: 10)'),
11
+ sort: z.enum(['relevance', 'updated', 'created', 'comments']).optional().default('relevance').describe('Sort order (default: relevance). Use "updated" for most recently active issues.'),
12
+ package: packageSchema,
11
13
  });
12
- export const definition = {
14
+ export const definition = defineTool({
13
15
  name: 'search_mne_issues',
14
16
  title: 'Search MNE Issues',
15
17
  description: 'Search GitHub issues for MNE packages. Use to find bug reports, feature requests, or known problems. Helpful when users encounter errors or unexpected behavior.',
16
- inputSchema: {
17
- query: z.string().describe('Search query, e.g. "memory leak", "segmentation fault", "deprecation warning"'),
18
- state: z.enum(['open', 'closed', 'all']).optional().describe('Filter by issue state (default: all)'),
19
- labels: z.array(z.string()).optional().describe('Filter by labels, e.g. ["bug", "help wanted"]'),
20
- maxResults: z.number().int().min(1).max(50).optional().describe('Max results (default: 10)'),
21
- sort: z.enum(['relevance', 'updated', 'created', 'comments']).optional().describe('Sort order (default: relevance). Use "updated" for most recently active issues.'),
22
- package: packageSchema,
23
- },
18
+ paramsSchema: SearchMneIssuesParamsSchema,
24
19
  annotations: READ_ONLY_TOOL_ANNOTATIONS,
25
- };
20
+ });
26
21
  export async function searchMneIssues(params, context) {
27
22
  const { query, state = 'all', labels, maxResults = 10, sort = 'relevance', package: packageName } = SearchMneIssuesParamsSchema.parse(params);
28
- const issues = await context.github.searchIssues(query, {
29
- state,
30
- labels,
31
- perPage: maxResults,
32
- sort: sort === 'relevance' ? undefined : sort,
33
- packageName,
34
- });
23
+ let issues = [];
24
+ let partialReason;
25
+ try {
26
+ issues = await context.github.searchIssues(query, {
27
+ state,
28
+ labels,
29
+ perPage: maxResults,
30
+ sort: sort === 'relevance' ? undefined : sort,
31
+ packageName,
32
+ });
33
+ }
34
+ catch (error) {
35
+ partialReason = `GitHub issue search failed: ${error instanceof Error ? error.message : String(error)}`;
36
+ }
35
37
  return {
36
38
  issues,
37
39
  package: packageName || 'mne-python',
40
+ requestBudget: buildGithubRequestBudget(context.github, ['search']),
41
+ ...(partialReason && { partial: true, partialReason }),
38
42
  };
39
43
  }
40
44
  export { searchMneIssues as handler };
@@ -1 +1 @@
1
- {"version":3,"file":"searchMneIssues.js","sourceRoot":"","sources":["../../src/tools/searchMneIssues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"searchMneIssues.js","sourceRoot":"","sources":["../../src/tools/searchMneIssues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,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,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,+EAA+E,CAAC;IAC9I,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACpG,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAChG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5F,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,iFAAiF,CAAC;IACzL,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,kKAAkK;IAC/K,YAAY,EAAE,2BAA2B;IACzC,WAAW,EAAE,0BAA0B;CAC1C,CAAC,CAAC;AAUH,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,MAAe,EACf,OAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE9I,IAAI,MAAM,GAAsB,EAAE,CAAC;IACnC,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;YAC9C,KAAK;YACL,MAAM;YACN,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YAC7C,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,aAAa,GAAG,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5G,CAAC;IAED,OAAO;QACH,MAAM;QACN,OAAO,EAAE,WAAW,IAAI,YAAY;QACpC,aAAa,EAAE,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnE,GAAG,CAAC,aAAa,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;KACzD,CAAC;AACN,CAAC;AAED,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -54,6 +54,7 @@ export interface GetMneDocResult {
54
54
  symbol: string;
55
55
  version: string;
56
56
  qualifiedName: string;
57
+ publicQualifiedName?: string;
57
58
  kind: string;
58
59
  signature: string;
59
60
  docstring: string;
@@ -73,7 +74,7 @@ export interface FindSymbolResult {
73
74
  sourceUrl: string;
74
75
  version: string;
75
76
  }
76
- export type ErrorCode = 'INVALID_QUERY' | 'SYMBOL_NOT_FOUND' | 'VERSION_NOT_FOUND' | 'FILE_NOT_FOUND' | 'ISSUE_NOT_FOUND' | 'GITHUB_RATE_LIMITED' | 'GITHUB_AUTH_FAILED' | 'GITHUB_API_ERROR' | 'FORUM_API_ERROR' | 'PARSER_ERROR' | 'NETWORK_ERROR' | 'TIMEOUT' | 'INTERNAL_ERROR';
77
+ export type ErrorCode = 'INVALID_QUERY' | 'SYMBOL_NOT_FOUND' | 'VERSION_NOT_FOUND' | 'FILE_NOT_FOUND' | 'NO_EXAMPLES_FOUND' | 'ISSUE_NOT_FOUND' | 'GITHUB_RATE_LIMITED' | 'GITHUB_AUTH_FAILED' | 'GITHUB_API_ERROR' | 'FORUM_API_ERROR' | 'FORUM_TOPIC_NOT_FOUND' | 'PARSER_ERROR' | 'NETWORK_ERROR' | 'TIMEOUT' | 'INTERNAL_ERROR';
77
78
  export interface MneError {
78
79
  errorCode: ErrorCode;
79
80
  message: string;
@@ -114,6 +115,8 @@ export interface GithubIssueItem {
114
115
  updatedAt: string;
115
116
  commentsCount: number;
116
117
  labels: string[];
118
+ score?: number;
119
+ matchedFields?: string[];
117
120
  }
118
121
  export interface GithubSearchItem {
119
122
  source: 'github-code' | 'github-doc';
@@ -121,14 +124,43 @@ export interface GithubSearchItem {
121
124
  path: string;
122
125
  htmlUrl: string;
123
126
  snippet?: string;
127
+ score?: number;
128
+ matchedTerms?: string[];
129
+ matchReason?: string;
124
130
  }
125
131
  export interface ForumSearchItem {
126
132
  source: 'forum';
127
133
  title: string;
128
134
  url: string;
129
135
  blurb?: string;
136
+ snippet?: string;
130
137
  postsCount?: number;
138
+ replyCount?: number;
131
139
  createdAt?: string;
140
+ lastActivityAt?: string;
141
+ category?: string;
142
+ tags?: string[];
143
+ hasAcceptedAnswer?: boolean;
144
+ score?: number;
145
+ matchedTerms?: string[];
146
+ matchReason?: string;
147
+ }
148
+ export interface RequestBudgetInfo {
149
+ bucket: string;
150
+ remaining: number;
151
+ limit: number;
152
+ resetInSeconds: number;
153
+ }
154
+ export interface RequestBudgetSummary {
155
+ buckets: RequestBudgetInfo[];
156
+ warnings: string[];
157
+ }
158
+ export interface SearchSourceBudget {
159
+ source: 'docs' | 'code' | 'examples' | 'issues' | 'forum';
160
+ completed: boolean;
161
+ partial?: boolean;
162
+ reason?: string;
163
+ timeBudgetMs?: number;
132
164
  }
133
165
  export interface SearchResult {
134
166
  query: string;
@@ -136,8 +168,14 @@ export interface SearchResult {
136
168
  package?: string;
137
169
  githubDocs: GithubSearchItem[];
138
170
  githubCode: GithubSearchItem[];
171
+ galleryExamples?: GithubSearchItem[];
139
172
  githubIssues: GithubIssueItem[];
140
173
  forum: ForumSearchItem[];
174
+ partial?: boolean;
175
+ partialReason?: string;
176
+ partialReasons?: string[];
177
+ sourceBudgets?: SearchSourceBudget[];
178
+ requestBudget?: RequestBudgetSummary;
141
179
  /** Optional hint when no results found; suggests broadening/narrowing the query. */
142
180
  hint?: string;
143
181
  }
@@ -149,5 +187,19 @@ export interface RateLimitSummary {
149
187
  remaining: number;
150
188
  limit: number;
151
189
  resetInSeconds: number;
190
+ bucket?: string;
191
+ }
192
+ export interface GetMneFileResult {
193
+ path: string;
194
+ version: string;
195
+ package: string;
196
+ sourceUrl: string;
197
+ content: string;
198
+ totalLines: number;
199
+ startLine: number;
200
+ endLine: number;
201
+ truncated: boolean;
202
+ fetchSource: 'cache' | 'archive' | 'github';
203
+ requestBudget?: RequestBudgetSummary;
152
204
  }
153
205
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}