@cyanheads/pubmed-mcp-server 2.9.8 → 2.9.9

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 (63) hide show
  1. package/AGENTS.md +30 -8
  2. package/CLAUDE.md +30 -8
  3. package/Dockerfile +13 -7
  4. package/README.md +1 -1
  5. package/dist/mcp-server/prompts/definitions/research-plan.prompt.d.ts +1 -1
  6. package/dist/mcp-server/tools/definitions/convert-ids.tool.d.ts +17 -17
  7. package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts +18 -18
  8. package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts.map +1 -1
  9. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts +40 -40
  10. package/dist/mcp-server/tools/definitions/find-related.tool.d.ts +33 -33
  11. package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts +17 -17
  12. package/dist/mcp-server/tools/definitions/format-citations.tool.js +1 -1
  13. package/dist/mcp-server/tools/definitions/format-citations.tool.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts +16 -16
  15. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js +9 -12
  17. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts +20 -16
  19. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js +73 -22
  21. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts +18 -18
  23. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts +22 -22
  25. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts +15 -15
  26. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts.map +1 -1
  27. package/dist/mcp-server/tools/definitions/spell-check.tool.js +2 -2
  28. package/dist/mcp-server/tools/definitions/spell-check.tool.js.map +1 -1
  29. package/dist/services/error-contracts.d.ts +33 -33
  30. package/dist/services/error-contracts.d.ts.map +1 -1
  31. package/dist/services/europe-pmc/api-client.d.ts.map +1 -1
  32. package/dist/services/europe-pmc/api-client.js +1 -0
  33. package/dist/services/europe-pmc/api-client.js.map +1 -1
  34. package/dist/services/europe-pmc/europe-pmc-service.d.ts.map +1 -1
  35. package/dist/services/europe-pmc/europe-pmc-service.js.map +1 -1
  36. package/dist/services/europe-pmc/request-queue.d.ts.map +1 -1
  37. package/dist/services/europe-pmc/request-queue.js.map +1 -1
  38. package/dist/services/europe-pmc/types.d.ts +2 -2
  39. package/dist/services/europe-pmc/types.d.ts.map +1 -1
  40. package/dist/services/ncbi/api-client.d.ts.map +1 -1
  41. package/dist/services/ncbi/api-client.js.map +1 -1
  42. package/dist/services/ncbi/ncbi-service.d.ts.map +1 -1
  43. package/dist/services/ncbi/ncbi-service.js.map +1 -1
  44. package/dist/services/ncbi/parsing/article-parser.js.map +1 -1
  45. package/dist/services/ncbi/parsing/esummary-parser.d.ts.map +1 -1
  46. package/dist/services/ncbi/parsing/esummary-parser.js +3 -0
  47. package/dist/services/ncbi/parsing/esummary-parser.js.map +1 -1
  48. package/dist/services/ncbi/parsing/xml-helpers.js.map +1 -1
  49. package/dist/services/ncbi/request-queue.d.ts.map +1 -1
  50. package/dist/services/ncbi/request-queue.js.map +1 -1
  51. package/dist/services/ncbi/response-handler.d.ts.map +1 -1
  52. package/dist/services/ncbi/types.d.ts +6 -0
  53. package/dist/services/ncbi/types.d.ts.map +1 -1
  54. package/dist/services/openalex/api-client.d.ts.map +1 -1
  55. package/dist/services/openalex/api-client.js +1 -0
  56. package/dist/services/openalex/api-client.js.map +1 -1
  57. package/dist/services/openalex/openalex-service.d.ts.map +1 -1
  58. package/dist/services/openalex/openalex-service.js.map +1 -1
  59. package/dist/services/unpaywall/unpaywall-service.d.ts.map +1 -1
  60. package/dist/services/unpaywall/unpaywall-service.js +1 -0
  61. package/dist/services/unpaywall/unpaywall-service.js.map +1 -1
  62. package/package.json +24 -17
  63. package/server.json +3 -3
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @fileoverview MeSH (Medical Subject Headings) vocabulary lookup tool.
3
- * Searches the NCBI MeSH database and optionally retrieves detailed records.
3
+ * Searches the NCBI MeSH database with offset pagination and optionally
4
+ * retrieves detailed records.
4
5
  * @module src/mcp-server/tools/definitions/lookup-mesh.tool
5
6
  */
6
7
  import { tool, z } from '@cyanheads/mcp-ts-core';
@@ -90,7 +91,7 @@ function parseSummaryRecords(data, ids, includeDetails) {
90
91
  }
91
92
  // ─── Tool Definition ─────────────────────────────────────────────────────────
92
93
  export const lookupMeshTool = tool('pubmed_lookup_mesh', {
93
- description: 'Search and explore the MeSH (Medical Subject Headings) controlled vocabulary. Returns descriptor records with tree numbers, scope notes, and entry terms.',
94
+ description: 'Search and explore the MeSH (Medical Subject Headings) controlled vocabulary. Returns descriptor records with tree numbers, scope notes, and entry terms, plus pagination via offset for paging past the maxResults cap.',
94
95
  annotations: { readOnlyHint: true, openWorldHint: true },
95
96
  _meta: conceptMeta([
96
97
  SCHEMA_DEFINED_TERM,
@@ -103,6 +104,12 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
103
104
  input: z.object({
104
105
  query: z.string().min(1).describe('MeSH descriptor name or free-text term to look up'),
105
106
  maxResults: z.number().int().min(1).max(50).default(10).describe('Maximum results'),
107
+ offset: z
108
+ .number()
109
+ .int()
110
+ .min(0)
111
+ .default(0)
112
+ .describe('Result offset for pagination (0-based). Pass the `nextOffset` from the previous response to get the following page; the exact-descriptor match is pinned to the first page only.'),
106
113
  includeDetails: z
107
114
  .boolean()
108
115
  .default(true)
@@ -110,6 +117,11 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
110
117
  }),
111
118
  output: z.object({
112
119
  query: z.string().describe('Original search query'),
120
+ offset: z.number().describe('Result offset this page was read from'),
121
+ nextOffset: z
122
+ .number()
123
+ .optional()
124
+ .describe('Offset to request for the next page. Omitted when this is the last page, so its absence is the end-of-results signal.'),
113
125
  results: z
114
126
  .array(z
115
127
  .object({
@@ -130,40 +142,70 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
130
142
  .describe('Matching MeSH descriptor record'))
131
143
  .describe('Matching MeSH records'),
132
144
  }),
133
- // Result-set context — total match count for disclosure against the maxResults cap,
134
- // and recovery guidance when no descriptor matched. Surfaced via ctx.enrich(...)
135
- // to structuredContent and content[]; absent on success.
145
+ // Result-set context — the upstream match count for disclosure against the maxResults
146
+ // cap, and recovery guidance when no descriptor matched or the offset overshot.
147
+ // Surfaced via ctx.enrich(...) to structuredContent and content[] alike.
136
148
  enrichment: {
137
- totalCount: z.number().describe('Total matching MeSH descriptors'),
149
+ totalCount: z
150
+ .number()
151
+ .describe('Total MeSH descriptors matching the query upstream, before the maxResults cap'),
138
152
  notice: z
139
153
  .string()
140
154
  .optional()
141
- .describe('Optional guidance when no descriptors matched — suggests spell-check or free-text search. Absent on successful results.'),
155
+ .describe('Optional guidance when no descriptors matched or the offset overshot the result set — suggests spell-check, free-text search, or resetting the offset. Absent on successful result pages.'),
142
156
  },
143
157
  async handler(input, ctx) {
144
- const { query, maxResults, includeDetails } = input;
158
+ const { query, maxResults, offset, includeDetails } = input;
145
159
  const ncbi = getNcbiService();
146
- ctx.log.debug('MeSH lookup started', { query, maxResults, includeDetails });
160
+ ctx.log.debug('MeSH lookup started', { query, maxResults, offset, includeDetails });
147
161
  const hasFieldTag = /\[.+\]/.test(query);
148
162
  const callOpts = { signal: ctx.signal };
149
- const broadSearch = ncbi.eSearch({ db: 'mesh', term: query, retmax: maxResults }, callOpts);
163
+ const broadSearch = ncbi.eSearch({ db: 'mesh', term: query, retmax: maxResults, retstart: offset }, callOpts);
164
+ // The exact-descriptor match is resolved on every page, not just the first: it is
165
+ // normally a member of the ranked list too, so every page has to know which UID to
166
+ // hold back. The first page leads with it; later pages skip it where it ranks.
150
167
  const exactSearch = hasFieldTag
151
168
  ? undefined
152
169
  : ncbi.eSearch({ db: 'mesh', term: `${query}[MH]`, retmax: 1 }, callOpts);
153
170
  const [broadResult, exactResult] = await Promise.all([broadSearch, exactSearch]);
154
- const seen = new Set();
171
+ const totalCount = broadResult.count;
172
+ const pinnedUid = exactResult?.idList[0];
155
173
  const ids = [];
156
- for (const id of [...(exactResult?.idList ?? []), ...broadResult.idList]) {
157
- if (!seen.has(id)) {
158
- seen.add(id);
159
- ids.push(id);
174
+ if (pinnedUid !== undefined && offset === 0)
175
+ ids.push(pinnedUid);
176
+ // Count the ranked records this page consumed rather than assuming maxResults:
177
+ // a pinned exact match outside the ranked window displaces one, and the next
178
+ // offset has to resume exactly where this page stopped or that record is lost.
179
+ let consumed = 0;
180
+ for (const id of broadResult.idList) {
181
+ // The pinned descriptor is served once, on the first page. Count its rank slot
182
+ // as consumed wherever it lands so no later page hands it back a second time.
183
+ if (id === pinnedUid) {
184
+ consumed++;
185
+ continue;
160
186
  }
187
+ if (ids.length >= maxResults)
188
+ break;
189
+ consumed++;
190
+ ids.push(id);
161
191
  }
162
- ids.length = Math.min(ids.length, maxResults);
192
+ const nextOffset = offset + consumed;
193
+ const hasMore = consumed > 0 && nextOffset < totalCount;
163
194
  if (ids.length === 0) {
164
- ctx.enrich.total(0);
165
- ctx.enrich.notice(`No MeSH descriptors matched "${query}". Try \`pubmed_spell_check\` for a suggested correction, broaden the term, or use \`pubmed_search_articles\` for free-text discovery against article metadata.`);
166
- return { query, results: [] };
195
+ ctx.enrich.total(totalCount);
196
+ let notice;
197
+ if (totalCount === 0) {
198
+ notice = `No MeSH descriptors matched "${query}". Try \`pubmed_spell_check\` for a suggested correction, broaden the term, or use \`pubmed_search_articles\` for free-text discovery against article metadata.`;
199
+ }
200
+ else if (consumed > 0) {
201
+ // The window held nothing but the pinned descriptor, already served at offset 0.
202
+ notice = `Offset ${offset} held only the exact-descriptor match for "${query}", which was returned on the first page.${hasMore ? ` Continue with offset ${nextOffset}.` : ''}`;
203
+ }
204
+ else {
205
+ notice = `Offset ${offset} returned no records — "${query}" matches ${totalCount} MeSH descriptor(s). Reset offset to 0 or lower it below ${totalCount}.`;
206
+ }
207
+ ctx.enrich.notice(notice);
208
+ return { query, offset, ...(hasMore && { nextOffset }), results: [] };
167
209
  }
168
210
  const summaryData = await ncbi.eSummary({ db: 'mesh', id: ids.join(',') }, callOpts);
169
211
  const results = parseSummaryRecords(summaryData, ids, includeDetails);
@@ -173,14 +215,23 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
173
215
  const bExact = b.name.toLowerCase() === queryLower ? 0 : 1;
174
216
  return aExact - bExact;
175
217
  });
176
- ctx.enrich.total(results.length);
177
- return { query, results };
218
+ ctx.enrich.total(totalCount);
219
+ // A page filled entirely by the pinned exact match consumed no ranked record,
220
+ // so there is no offset that advances — say so instead of emitting one that
221
+ // would replay this page.
222
+ if (consumed === 0 && totalCount > 0) {
223
+ ctx.enrich.notice(`The exact-descriptor match filled this page of ${maxResults}. Raise maxResults to see the ${totalCount} ranked match(es) for "${query}".`);
224
+ }
225
+ return { query, offset, ...(hasMore && { nextOffset }), results };
178
226
  },
179
227
  format: (result) => {
180
228
  const lines = [
181
229
  `# MeSH Lookup: "${result.query}"`,
182
- `Found **${result.results.length}** result(s).`,
230
+ `Found **${result.results.length}** result(s) at offset **${result.offset}**.`,
183
231
  ];
232
+ if (result.nextOffset !== undefined) {
233
+ lines.push(`More available — call again with \`offset: ${result.nextOffset}\`.`);
234
+ }
184
235
  for (const r of result.results) {
185
236
  lines.push(`\n## ${r.name}`);
186
237
  lines.push(`- **MeSH ID:** ${r.meshId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"lookup-mesh.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-mesh.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookup-mesh.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-mesh.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAaxB;;;;;;GAMG;AACH,MAAM,iBAAiB,GAA2B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAEtF,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,MAAM;YAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CACf,KAAgC,EAChC,IAAY;IAEZ,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,WAAW,CAAC,IAAyC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAA8B,CAAC;IACrE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,IAAyC;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAA8B,CAAC;IACrE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAgC;IAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAA8B,CAAC;IAC/E,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAA8B,CAAC;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,8EAA8E;QAC9E,6EAA6E;QAC7E,sDAAsD;QACtD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAa,EAAE,GAAa,EAAE,cAAuB;IAChF,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QACnC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,IAA+B,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,cAAqD,CAAC;IACjF,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,MAAiC,CAC1D,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5F,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAA8B,CAAC;QACjE,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC;QACpE,MAAM,MAAM,GAAe,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACvD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;YAC/D,IAAI,SAAS;gBAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;YACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE;IACvD,WAAW,EACT,0NAA0N;IAC5N,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,KAAK,EAAE,WAAW,CAAC;QACjB,mBAAmB;QACnB,uBAAuB;QACvB,yBAAyB;QACzB,mBAAmB;KACpB,CAAC;IACF,SAAS,EACP,+GAA+G;IAEjH,MAAM,EAAE,CAAC,GAAG,mBAAmB,CAAU;IAEzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACtF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnF,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CACP,kLAAkL,CACnL;QACH,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,kEAAkE,CAAC;KAChF,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACnD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACpE,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,uHAAuH,CACxH;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,CACP,mKAAmK,CACpK;YACH,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,CACP,2FAA2F,CAC5F;YACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC5C,WAAW,EAAE,CAAC;iBACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,2KAA2K,CAC5K;YACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACvD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SAC9E,CAAC;aACD,QAAQ,CAAC,iCAAiC,CAAC,CAC/C;aACA,QAAQ,CAAC,uBAAuB,CAAC;KACrC,CAAC;IAEF,sFAAsF;IACtF,gFAAgF;IAChF,yEAAyE;IACzE,UAAU,EAAE;QACV,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,CAAC,+EAA+E,CAAC;QAC5F,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2LAA2L,CAC5L;KACJ;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QAC5D,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;QAC9B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QAEpF,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAC9B,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EACjE,QAAQ,CACT,CAAC;QACF,kFAAkF;QAClF,mFAAmF;QACnF,+EAA+E;QAC/E,MAAM,WAAW,GAAG,WAAW;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC5E,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC;QACrC,MAAM,SAAS,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjE,+EAA+E;QAC/E,6EAA6E;QAC7E,+EAA+E;QAC/E,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACpC,+EAA+E;YAC/E,8EAA8E;YAC9E,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,QAAQ,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,IAAI,UAAU;gBAAE,MAAM;YACpC,QAAQ,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,GAAG,CAAC,IAAI,UAAU,GAAG,UAAU,CAAC;QAExD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7B,IAAI,MAAc,CAAC;YACnB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,GAAG,gCAAgC,KAAK,iKAAiK,CAAC;YAClN,CAAC;iBAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACxB,iFAAiF;gBACjF,MAAM,GAAG,UAAU,MAAM,8CAA8C,KAAK,2CAC1E,OAAO,CAAC,CAAC,CAAC,yBAAyB,UAAU,GAAG,CAAC,CAAC,CAAC,EACrD,EAAE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,UAAU,MAAM,2BAA2B,KAAK,aAAa,UAAU,4DAA4D,UAAU,GAAG,CAAC;YAC5J,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACxE,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7B,8EAA8E;QAC9E,4EAA4E;QAC5E,0BAA0B;QAC1B,IAAI,QAAQ,KAAK,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,kDAAkD,UAAU,iCAAiC,UAAU,0BAA0B,KAAK,IAAI,CAC3I,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG;YACZ,mBAAmB,MAAM,CAAC,KAAK,GAAG;YAClC,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,4BAA4B,MAAM,CAAC,MAAM,KAAK;SAC/E,CAAC;QACF,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,8CAA8C,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC;QACnF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
@@ -18,11 +18,11 @@ export declare const pubmedEuropepmcSearchTool: import("@cyanheads/mcp-ts-core")
18
18
  pageSize: z.ZodDefault<z.ZodNumber>;
19
19
  cursorMark: z.ZodDefault<z.ZodString>;
20
20
  sources: z.ZodOptional<z.ZodArray<z.ZodEnum<{
21
+ AGR: "AGR";
21
22
  MED: "MED";
23
+ PAT: "PAT";
22
24
  PMC: "PMC";
23
25
  PPR: "PPR";
24
- PAT: "PAT";
25
- AGR: "AGR";
26
26
  }>>>;
27
27
  resultType: z.ZodDefault<z.ZodEnum<{
28
28
  core: "core";
@@ -32,11 +32,11 @@ export declare const pubmedEuropepmcSearchTool: import("@cyanheads/mcp-ts-core")
32
32
  }, z.core.$strip>, z.ZodObject<{
33
33
  hits: z.ZodArray<z.ZodObject<{
34
34
  source: z.ZodEnum<{
35
+ AGR: "AGR";
35
36
  MED: "MED";
37
+ PAT: "PAT";
36
38
  PMC: "PMC";
37
39
  PPR: "PPR";
38
- PAT: "PAT";
39
- AGR: "AGR";
40
40
  }>;
41
41
  epmcId: z.ZodString;
42
42
  title: z.ZodOptional<z.ZodString>;
@@ -57,37 +57,37 @@ export declare const pubmedEuropepmcSearchTool: import("@cyanheads/mcp-ts-core")
57
57
  nextCursorMark: z.ZodOptional<z.ZodString>;
58
58
  searchUrl: z.ZodString;
59
59
  }, z.core.$strip>, readonly [{
60
- readonly reason: "europepmc_unreachable";
60
+ readonly reason: 'europepmc_unreachable';
61
61
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
62
- readonly when: "Europe PMC was unreachable after all retry attempts.";
63
- readonly recovery: "Retry after a brief delay; Europe PMC was unreachable. NCBI PMC and Unpaywall remain available.";
62
+ readonly when: 'Europe PMC was unreachable after all retry attempts.';
63
+ readonly recovery: 'Retry after a brief delay; Europe PMC was unreachable. NCBI PMC and Unpaywall remain available.';
64
64
  readonly retryable: true;
65
65
  }, {
66
- readonly reason: "europepmc_invalid_response";
66
+ readonly reason: 'europepmc_invalid_response';
67
67
  readonly code: JsonRpcErrorCode.SerializationError;
68
- readonly when: "Europe PMC returned a body that could not be parsed (invalid JSON or XML).";
69
- readonly recovery: "Retry the request; Europe PMC returned a malformed response that could not be parsed.";
68
+ readonly when: 'Europe PMC returned a body that could not be parsed (invalid JSON or XML).';
69
+ readonly recovery: 'Retry the request; Europe PMC returned a malformed response that could not be parsed.';
70
70
  readonly retryable: true;
71
71
  }, {
72
- readonly reason: "europepmc_invalid_input";
72
+ readonly reason: 'europepmc_invalid_input';
73
73
  readonly code: JsonRpcErrorCode.ValidationError;
74
- readonly when: "Europe PMC rejected the request input (empty query, unknown sort field, malformed parameter).";
75
- readonly recovery: "Adjust the input — usually the query or sort field — before retrying; the same input will be rejected again.";
74
+ readonly when: 'Europe PMC rejected the request input (empty query, unknown sort field, malformed parameter).';
75
+ readonly recovery: 'Adjust the input — usually the query or sort field — before retrying; the same input will be rejected again.';
76
76
  readonly retryable: false;
77
77
  }, {
78
- readonly reason: "europepmc_disabled";
78
+ readonly reason: 'europepmc_disabled';
79
79
  readonly code: JsonRpcErrorCode.ConfigurationError;
80
- readonly when: "Europe PMC service is disabled via EUROPEPMC_ENABLED=false.";
81
- readonly recovery: "Set EUROPEPMC_ENABLED=true (the default) and restart the server to use this tool.";
80
+ readonly when: 'Europe PMC service is disabled via EUROPEPMC_ENABLED=false.';
81
+ readonly recovery: 'Set EUROPEPMC_ENABLED=true (the default) and restart the server to use this tool.';
82
82
  }], {
83
83
  readonly query: z.ZodString;
84
84
  readonly totalCount: z.ZodNumber;
85
85
  readonly appliedSources: z.ZodArray<z.ZodEnum<{
86
+ AGR: "AGR";
86
87
  MED: "MED";
88
+ PAT: "PAT";
87
89
  PMC: "PMC";
88
90
  PPR: "PPR";
89
- PAT: "PAT";
90
- AGR: "AGR";
91
91
  }>>;
92
92
  readonly notice: z.ZodOptional<z.ZodString>;
93
93
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"pubmed-europepmc-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-search.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAoBjE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+PpC,CAAC"}
1
+ {"version":3,"file":"pubmed-europepmc-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-search.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAoBjE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAWxB,oBAAoB;;mBAEtB,6DAA6D;uBACzD,mFAAmF;;;;;;;;;;;;EAiPjG,CAAC"}
@@ -11,16 +11,16 @@ export declare const searchArticlesTool: import("@cyanheads/mcp-ts-core").ToolDe
11
11
  sort: z.ZodDefault<z.ZodEnum<{
12
12
  author: "author";
13
13
  journal: "journal";
14
- relevance: "relevance";
15
14
  pub_date: "pub_date";
15
+ relevance: "relevance";
16
16
  }>>;
17
17
  dateRange: z.ZodOptional<z.ZodObject<{
18
18
  minDate: z.ZodString;
19
19
  maxDate: z.ZodString;
20
20
  dateType: z.ZodDefault<z.ZodEnum<{
21
- pdat: "pdat";
22
- mdat: "mdat";
23
21
  edat: "edat";
22
+ mdat: "mdat";
23
+ pdat: "pdat";
24
24
  }>>;
25
25
  }, z.core.$strip>>;
26
26
  publicationTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -31,8 +31,8 @@ export declare const searchArticlesTool: import("@cyanheads/mcp-ts-core").ToolDe
31
31
  hasAbstract: z.ZodOptional<z.ZodBoolean>;
32
32
  freeFullText: z.ZodOptional<z.ZodBoolean>;
33
33
  species: z.ZodOptional<z.ZodEnum<{
34
- humans: "humans";
35
34
  animals: "animals";
35
+ humans: "humans";
36
36
  }>>;
37
37
  summaryCount: z.ZodDefault<z.ZodNumber>;
38
38
  }, z.core.$strip>, z.ZodObject<{
@@ -52,34 +52,34 @@ export declare const searchArticlesTool: import("@cyanheads/mcp-ts-core").ToolDe
52
52
  }, z.core.$strip>>;
53
53
  searchUrl: z.ZodString;
54
54
  }, z.core.$strip>, readonly [{
55
- readonly reason: "queue_full";
55
+ readonly reason: 'queue_full';
56
56
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited;
57
- readonly when: "Local NCBI request queue is at capacity.";
58
- readonly recovery: "Retry after 1-2 seconds; the request queue hit the NCBI rate limit.";
57
+ readonly when: 'Local NCBI request queue is at capacity.';
58
+ readonly recovery: 'Retry after 1-2 seconds; the request queue hit the NCBI rate limit.';
59
59
  readonly retryable: true;
60
60
  }, {
61
- readonly reason: "ncbi_unreachable";
61
+ readonly reason: 'ncbi_unreachable';
62
62
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
63
- readonly when: "NCBI E-utilities is unreachable after all retry attempts.";
64
- readonly recovery: "Retry after a brief delay; NCBI was unreachable across all retry attempts.";
63
+ readonly when: 'NCBI E-utilities is unreachable after all retry attempts.';
64
+ readonly recovery: 'Retry after a brief delay; NCBI was unreachable across all retry attempts.';
65
65
  readonly retryable: true;
66
66
  }, {
67
- readonly reason: "ncbi_deadline_exceeded";
67
+ readonly reason: 'ncbi_deadline_exceeded';
68
68
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Timeout;
69
- readonly when: "Total request deadline expired before NCBI returned a response.";
70
- readonly recovery: "Reduce batch size or retry; NCBI may be under temporary load.";
69
+ readonly when: 'Total request deadline expired before NCBI returned a response.';
70
+ readonly recovery: 'Reduce batch size or retry; NCBI may be under temporary load.';
71
71
  readonly retryable: true;
72
72
  }, {
73
- readonly reason: "ncbi_invalid_response";
73
+ readonly reason: 'ncbi_invalid_response';
74
74
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.SerializationError;
75
- readonly when: "NCBI returned a body that could not be parsed (invalid XML/JSON).";
76
- readonly recovery: "Retry the request; NCBI returned a malformed response that could not be parsed.";
75
+ readonly when: 'NCBI returned a body that could not be parsed (invalid XML/JSON).';
76
+ readonly recovery: 'Retry the request; NCBI returned a malformed response that could not be parsed.';
77
77
  readonly retryable: true;
78
78
  }, {
79
- readonly reason: "ncbi_resource_not_found";
79
+ readonly reason: 'ncbi_resource_not_found';
80
80
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
81
- readonly when: "NCBI returned a structured \"not found\" error for the requested ID(s).";
82
- readonly recovery: "Verify the ID exists in PubMed; the resource was not found in NCBI and retrying will not help.";
81
+ readonly when: 'NCBI returned a structured "not found" error for the requested ID(s).';
82
+ readonly recovery: 'Verify the ID exists in PubMed; the resource was not found in NCBI and retrying will not help.';
83
83
  readonly retryable: false;
84
84
  }], {
85
85
  readonly effectiveQuery: z.ZodString;
@@ -89,9 +89,9 @@ export declare const searchArticlesTool: import("@cyanheads/mcp-ts-core").ToolDe
89
89
  minDate: z.ZodString;
90
90
  maxDate: z.ZodString;
91
91
  dateType: z.ZodEnum<{
92
- pdat: "pdat";
93
- mdat: "mdat";
94
92
  edat: "edat";
93
+ mdat: "mdat";
94
+ pdat: "pdat";
95
95
  }>;
96
96
  }, z.core.$strip>>;
97
97
  publicationTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -102,8 +102,8 @@ export declare const searchArticlesTool: import("@cyanheads/mcp-ts-core").ToolDe
102
102
  hasAbstract: z.ZodOptional<z.ZodBoolean>;
103
103
  freeFullText: z.ZodOptional<z.ZodBoolean>;
104
104
  species: z.ZodOptional<z.ZodEnum<{
105
- humans: "humans";
106
105
  animals: "animals";
106
+ humans: "humans";
107
107
  }>>;
108
108
  }, z.core.$strip>;
109
109
  readonly notice: z.ZodOptional<z.ZodString>;
@@ -11,34 +11,34 @@ export declare const spellCheckTool: import("@cyanheads/mcp-ts-core").ToolDefini
11
11
  corrected: z.ZodString;
12
12
  hasSuggestion: z.ZodBoolean;
13
13
  }, z.core.$strip>, readonly [{
14
- readonly reason: "queue_full";
14
+ readonly reason: 'queue_full';
15
15
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited;
16
- readonly when: "Local NCBI request queue is at capacity.";
17
- readonly recovery: "Retry after 1-2 seconds; the request queue hit the NCBI rate limit.";
16
+ readonly when: 'Local NCBI request queue is at capacity.';
17
+ readonly recovery: 'Retry after 1-2 seconds; the request queue hit the NCBI rate limit.';
18
18
  readonly retryable: true;
19
19
  }, {
20
- readonly reason: "ncbi_unreachable";
20
+ readonly reason: 'ncbi_unreachable';
21
21
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
22
- readonly when: "NCBI E-utilities is unreachable after all retry attempts.";
23
- readonly recovery: "Retry after a brief delay; NCBI was unreachable across all retry attempts.";
22
+ readonly when: 'NCBI E-utilities is unreachable after all retry attempts.';
23
+ readonly recovery: 'Retry after a brief delay; NCBI was unreachable across all retry attempts.';
24
24
  readonly retryable: true;
25
25
  }, {
26
- readonly reason: "ncbi_deadline_exceeded";
26
+ readonly reason: 'ncbi_deadline_exceeded';
27
27
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Timeout;
28
- readonly when: "Total request deadline expired before NCBI returned a response.";
29
- readonly recovery: "Reduce batch size or retry; NCBI may be under temporary load.";
28
+ readonly when: 'Total request deadline expired before NCBI returned a response.';
29
+ readonly recovery: 'Reduce batch size or retry; NCBI may be under temporary load.';
30
30
  readonly retryable: true;
31
31
  }, {
32
- readonly reason: "ncbi_invalid_response";
32
+ readonly reason: 'ncbi_invalid_response';
33
33
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.SerializationError;
34
- readonly when: "NCBI returned a body that could not be parsed (invalid XML/JSON).";
35
- readonly recovery: "Retry the request; NCBI returned a malformed response that could not be parsed.";
34
+ readonly when: 'NCBI returned a body that could not be parsed (invalid XML/JSON).';
35
+ readonly recovery: 'Retry the request; NCBI returned a malformed response that could not be parsed.';
36
36
  readonly retryable: true;
37
37
  }, {
38
- readonly reason: "ncbi_resource_not_found";
38
+ readonly reason: 'ncbi_resource_not_found';
39
39
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
40
- readonly when: "NCBI returned a structured \"not found\" error for the requested ID(s).";
41
- readonly recovery: "Verify the ID exists in PubMed; the resource was not found in NCBI and retrying will not help.";
40
+ readonly when: 'NCBI returned a structured "not found" error for the requested ID(s).';
41
+ readonly recovery: 'Verify the ID exists in PubMed; the resource was not found in NCBI and retrying will not help.';
42
42
  readonly retryable: false;
43
43
  }], undefined>;
44
44
  //# sourceMappingURL=spell-check.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spell-check.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/spell-check.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8CzB,CAAC"}
1
+ {"version":3,"file":"spell-check.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/spell-check.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiDzB,CAAC"}
@@ -22,8 +22,8 @@ export const spellCheckTool = tool('pubmed_spell_check', {
22
22
  hasSuggestion: z.boolean().describe('Whether NCBI suggested a correction'),
23
23
  }),
24
24
  async handler(input, ctx) {
25
- ctx.log.info('Executing pubmed_spell tool', { query: input.query });
26
- const result = await getNcbiService().eSpell({ db: 'pubmed', term: input.query });
25
+ ctx.log.info('Executing pubmed_spell_check tool', { query: input.query });
26
+ const result = await getNcbiService().eSpell({ db: 'pubmed', term: input.query }, { signal: ctx.signal });
27
27
  return {
28
28
  original: result.original,
29
29
  corrected: result.corrected,
@@ -1 +1 @@
1
- {"version":3,"file":"spell-check.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/spell-check.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE;IACvD,WAAW,EACT,8FAA8F;IAChG,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,KAAK,EAAE,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC1C,SAAS,EACP,+GAA+G;IAEjH,MAAM,EAAE,CAAC,GAAG,mBAAmB,CAAU;IAEzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;KACxE,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QACrF,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAC3E,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAClF,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO;gBACL;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oBAAoB,MAAM,CAAC,SAAS,iBAAiB,MAAM,CAAC,QAAQ,IAAI;iBAC/E;aACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,0BAA0B,MAAM,CAAC,QAAQ,+BAA+B;aAC/E;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"spell-check.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/spell-check.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE;IACvD,WAAW,EACT,8FAA8F;IAChG,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,KAAK,EAAE,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC1C,SAAS,EACP,+GAA+G;IAEjH,MAAM,EAAE,CAAC,GAAG,mBAAmB,CAAU;IAEzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;KACxE,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QACrF,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAC3E,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC,MAAM,CAC1C,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,EACnC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CACvB,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO;gBACL;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oBAAoB,MAAM,CAAC,SAAS,iBAAiB,MAAM,CAAC,QAAQ,IAAI;iBAC/E;aACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,0BAA0B,MAAM,CAAC,QAAQ,+BAA+B;aAC/E;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -20,34 +20,34 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
20
20
  * declared contract matches what actually reaches the wire.
21
21
  */
22
22
  export declare const NCBI_SERVICE_ERRORS: readonly [{
23
- readonly reason: "queue_full";
23
+ readonly reason: 'queue_full';
24
24
  readonly code: JsonRpcErrorCode.RateLimited;
25
- readonly when: "Local NCBI request queue is at capacity.";
26
- readonly recovery: "Retry after 1-2 seconds; the request queue hit the NCBI rate limit.";
25
+ readonly when: 'Local NCBI request queue is at capacity.';
26
+ readonly recovery: 'Retry after 1-2 seconds; the request queue hit the NCBI rate limit.';
27
27
  readonly retryable: true;
28
28
  }, {
29
- readonly reason: "ncbi_unreachable";
29
+ readonly reason: 'ncbi_unreachable';
30
30
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
31
- readonly when: "NCBI E-utilities is unreachable after all retry attempts.";
32
- readonly recovery: "Retry after a brief delay; NCBI was unreachable across all retry attempts.";
31
+ readonly when: 'NCBI E-utilities is unreachable after all retry attempts.';
32
+ readonly recovery: 'Retry after a brief delay; NCBI was unreachable across all retry attempts.';
33
33
  readonly retryable: true;
34
34
  }, {
35
- readonly reason: "ncbi_deadline_exceeded";
35
+ readonly reason: 'ncbi_deadline_exceeded';
36
36
  readonly code: JsonRpcErrorCode.Timeout;
37
- readonly when: "Total request deadline expired before NCBI returned a response.";
38
- readonly recovery: "Reduce batch size or retry; NCBI may be under temporary load.";
37
+ readonly when: 'Total request deadline expired before NCBI returned a response.';
38
+ readonly recovery: 'Reduce batch size or retry; NCBI may be under temporary load.';
39
39
  readonly retryable: true;
40
40
  }, {
41
- readonly reason: "ncbi_invalid_response";
41
+ readonly reason: 'ncbi_invalid_response';
42
42
  readonly code: JsonRpcErrorCode.SerializationError;
43
- readonly when: "NCBI returned a body that could not be parsed (invalid XML/JSON).";
44
- readonly recovery: "Retry the request; NCBI returned a malformed response that could not be parsed.";
43
+ readonly when: 'NCBI returned a body that could not be parsed (invalid XML/JSON).';
44
+ readonly recovery: 'Retry the request; NCBI returned a malformed response that could not be parsed.';
45
45
  readonly retryable: true;
46
46
  }, {
47
- readonly reason: "ncbi_resource_not_found";
47
+ readonly reason: 'ncbi_resource_not_found';
48
48
  readonly code: JsonRpcErrorCode.NotFound;
49
- readonly when: "NCBI returned a structured \"not found\" error for the requested ID(s).";
50
- readonly recovery: "Verify the ID exists in PubMed; the resource was not found in NCBI and retrying will not help.";
49
+ readonly when: 'NCBI returned a structured "not found" error for the requested ID(s).';
50
+ readonly recovery: 'Verify the ID exists in PubMed; the resource was not found in NCBI and retrying will not help.';
51
51
  readonly retryable: false;
52
52
  }];
53
53
  /**
@@ -56,10 +56,10 @@ export declare const NCBI_SERVICE_ERRORS: readonly [{
56
56
  * these into their `errors[]`.
57
57
  */
58
58
  export declare const UNPAYWALL_SERVICE_ERRORS: readonly [{
59
- readonly reason: "unpaywall_unreachable";
59
+ readonly reason: 'unpaywall_unreachable';
60
60
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
61
- readonly when: "Unpaywall was unreachable when resolving a DOI or fetching content.";
62
- readonly recovery: "Retry after a brief delay; Unpaywall was unreachable. The PMC source remains the primary path.";
61
+ readonly when: 'Unpaywall was unreachable when resolving a DOI or fetching content.';
62
+ readonly recovery: 'Retry after a brief delay; Unpaywall was unreachable. The PMC source remains the primary path.';
63
63
  readonly retryable: true;
64
64
  }];
65
65
  /**
@@ -68,16 +68,16 @@ export declare const UNPAYWALL_SERVICE_ERRORS: readonly [{
68
68
  * these into their `errors[]`.
69
69
  */
70
70
  export declare const OPENALEX_SERVICE_ERRORS: readonly [{
71
- readonly reason: "openalex_unreachable";
71
+ readonly reason: 'openalex_unreachable';
72
72
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
73
- readonly when: "OpenAlex was unreachable after all retry attempts.";
74
- readonly recovery: "Retry after a brief delay; OpenAlex was unreachable. NCBI and Europe PMC remain available.";
73
+ readonly when: 'OpenAlex was unreachable after all retry attempts.';
74
+ readonly recovery: 'Retry after a brief delay; OpenAlex was unreachable. NCBI and Europe PMC remain available.';
75
75
  readonly retryable: true;
76
76
  }, {
77
- readonly reason: "openalex_invalid_response";
77
+ readonly reason: 'openalex_invalid_response';
78
78
  readonly code: JsonRpcErrorCode.SerializationError;
79
- readonly when: "OpenAlex returned a body that could not be parsed (invalid JSON).";
80
- readonly recovery: "Retry the request; OpenAlex returned a malformed response that could not be parsed.";
79
+ readonly when: 'OpenAlex returned a body that could not be parsed (invalid JSON).';
80
+ readonly recovery: 'Retry the request; OpenAlex returned a malformed response that could not be parsed.';
81
81
  readonly retryable: true;
82
82
  }];
83
83
  /**
@@ -85,22 +85,22 @@ export declare const OPENALEX_SERVICE_ERRORS: readonly [{
85
85
  * `getEuropePmcService()` should spread these into their `errors[]`.
86
86
  */
87
87
  export declare const EUROPEPMC_SERVICE_ERRORS: readonly [{
88
- readonly reason: "europepmc_unreachable";
88
+ readonly reason: 'europepmc_unreachable';
89
89
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
90
- readonly when: "Europe PMC was unreachable after all retry attempts.";
91
- readonly recovery: "Retry after a brief delay; Europe PMC was unreachable. NCBI PMC and Unpaywall remain available.";
90
+ readonly when: 'Europe PMC was unreachable after all retry attempts.';
91
+ readonly recovery: 'Retry after a brief delay; Europe PMC was unreachable. NCBI PMC and Unpaywall remain available.';
92
92
  readonly retryable: true;
93
93
  }, {
94
- readonly reason: "europepmc_invalid_response";
94
+ readonly reason: 'europepmc_invalid_response';
95
95
  readonly code: JsonRpcErrorCode.SerializationError;
96
- readonly when: "Europe PMC returned a body that could not be parsed (invalid JSON or XML).";
97
- readonly recovery: "Retry the request; Europe PMC returned a malformed response that could not be parsed.";
96
+ readonly when: 'Europe PMC returned a body that could not be parsed (invalid JSON or XML).';
97
+ readonly recovery: 'Retry the request; Europe PMC returned a malformed response that could not be parsed.';
98
98
  readonly retryable: true;
99
99
  }, {
100
- readonly reason: "europepmc_invalid_input";
100
+ readonly reason: 'europepmc_invalid_input';
101
101
  readonly code: JsonRpcErrorCode.ValidationError;
102
- readonly when: "Europe PMC rejected the request input (empty query, unknown sort field, malformed parameter).";
103
- readonly recovery: "Adjust the input — usually the query or sort field — before retrying; the same input will be rejected again.";
102
+ readonly when: 'Europe PMC rejected the request input (empty query, unknown sort field, malformed parameter).';
103
+ readonly recovery: 'Adjust the input — usually the query or sort field — before retrying; the same input will be rejected again.';
104
104
  readonly retryable: false;
105
105
  }];
106
106
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"error-contracts.d.ts","sourceRoot":"","sources":["../../src/services/error-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCtB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;EAS3B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAgB1B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;EAyB3B,CAAC;AAEX;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC1B,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAC9C,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GACnD,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GACnD,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AAWvD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAMtF"}
1
+ {"version":3,"file":"error-contracts.d.ts","sourceRoot":"","sources":["../../src/services/error-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;aAE5B,MAAM,EAAE,YAAY;aACpB,IAAI;aACJ,IAAI,EAAE,0CAA0C;aAChD,QAAQ,EAAE,qEAAqE;aAC/E,SAAS;;aAGT,MAAM,EAAE,kBAAkB;aAC1B,IAAI;aACJ,IAAI,EAAE,2DAA2D;aACjE,QAAQ,EAAE,4EAA4E;aACtF,SAAS;;aAGT,MAAM,EAAE,wBAAwB;aAChC,IAAI;aACJ,IAAI,EAAE,iEAAiE;aACvE,QAAQ,EAAE,+DAA+D;aACzE,SAAS;;aAGT,MAAM,EAAE,uBAAuB;aAC/B,IAAI;aACJ,IAAI,EAAE,mEAAmE;aACzE,QAAQ,EAAE,iFAAiF;aAC3F,SAAS;;aAGT,MAAM,EAAE,yBAAyB;aACjC,IAAI;aACJ,IAAI,EAAE,uEAAuE;aAC7E,QAAQ,EACN,gGAAgG;aAClG,SAAS;EAEH,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;aAEjC,MAAM,EAAE,uBAAuB;aAC/B,IAAI;aACJ,IAAI,EAAE,qEAAqE;aAC3E,QAAQ,EACN,gGAAgG;aAClG,SAAS;EAEH,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;aAEhC,MAAM,EAAE,sBAAsB;aAC9B,IAAI;aACJ,IAAI,EAAE,oDAAoD;aAC1D,QAAQ,EACN,4FAA4F;aAC9F,SAAS;;aAGT,MAAM,EAAE,2BAA2B;aACnC,IAAI;aACJ,IAAI,EAAE,mEAAmE;aACzE,QAAQ,EAAE,qFAAqF;aAC/F,SAAS;EAEH,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,wBAAwB;aAEjC,MAAM,EAAE,uBAAuB;aAC/B,IAAI;aACJ,IAAI,EAAE,sDAAsD;aAC5D,QAAQ,EACN,iGAAiG;aACnG,SAAS;;aAGT,MAAM,EAAE,4BAA4B;aACpC,IAAI;aACJ,IAAI,EAAE,4EAA4E;aAClF,QAAQ,EACN,uFAAuF;aACzF,SAAS;;aAGT,MAAM,EAAE,yBAAyB;aACjC,IAAI;aACJ,IAAI,EAAE,+FAA+F;aACrG,QAAQ,EACN,8GAA8G;aAChH,SAAS;EAEH,CAAC;AAEX;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC1B,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAC9C,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GACnD,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GACnD,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AAWvD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAMtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/services/europe-pmc/api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAI5E,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C,+EAA+E;AAC/E,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,wBAAwB;IAE7D;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiC5D;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAmD9F;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9F;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/F,iFAAiF;YACnE,cAAc;IAkC5B,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAMzB"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/services/europe-pmc/api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAI5E,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C,+EAA+E;AAC/E,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,wBAAwB,EAAI;IAEjE;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B3D;IAED;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAkD7F;IAED;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAG7F;IAED;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9F;IAED,iFAAiF;YACnE,cAAc;IAkC5B,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAMzB"}