@cyanheads/pubmed-mcp-server 2.9.10 → 2.10.1

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 (42) hide show
  1. package/AGENTS.md +2 -2
  2. package/CLAUDE.md +2 -2
  3. package/README.md +19 -4
  4. package/dist/index.js +3 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/mcp-server/prompts/definitions/research-plan.prompt.d.ts +1 -1
  7. package/dist/mcp-server/prompts/definitions/research-plan.prompt.d.ts.map +1 -1
  8. package/dist/mcp-server/prompts/definitions/research-plan.prompt.js +9 -2
  9. package/dist/mcp-server/prompts/definitions/research-plan.prompt.js.map +1 -1
  10. package/dist/mcp-server/tools/definitions/_text.d.ts +22 -0
  11. package/dist/mcp-server/tools/definitions/_text.d.ts.map +1 -0
  12. package/dist/mcp-server/tools/definitions/_text.js +32 -0
  13. package/dist/mcp-server/tools/definitions/_text.js.map +1 -0
  14. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts +32 -0
  15. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js +440 -79
  17. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts +87 -0
  19. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts.map +1 -0
  20. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.js +195 -0
  21. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.js.map +1 -0
  22. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts +1 -0
  23. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js +28 -7
  25. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts.map +1 -1
  27. package/dist/mcp-server/tools/definitions/search-articles.tool.js +88 -19
  28. package/dist/mcp-server/tools/definitions/search-articles.tool.js.map +1 -1
  29. package/dist/services/europe-pmc/europe-pmc-service.d.ts +21 -7
  30. package/dist/services/europe-pmc/europe-pmc-service.d.ts.map +1 -1
  31. package/dist/services/europe-pmc/europe-pmc-service.js +39 -6
  32. package/dist/services/europe-pmc/europe-pmc-service.js.map +1 -1
  33. package/dist/services/europe-pmc/types.d.ts +9 -0
  34. package/dist/services/europe-pmc/types.d.ts.map +1 -1
  35. package/dist/services/ncbi/ncbi-service.d.ts.map +1 -1
  36. package/dist/services/ncbi/ncbi-service.js +19 -2
  37. package/dist/services/ncbi/ncbi-service.js.map +1 -1
  38. package/dist/services/ncbi/response-handler.d.ts.map +1 -1
  39. package/dist/services/ncbi/response-handler.js +1 -0
  40. package/dist/services/ncbi/response-handler.js.map +1 -1
  41. package/package.json +1 -1
  42. package/server.json +3 -3
@@ -18,10 +18,19 @@ import { getEuropePmcService } from '../../../services/europe-pmc/europe-pmc-ser
18
18
  import { EUROPEPMC_ALL_SOURCES, EUROPEPMC_DEFAULT_SOURCES, } from '../../../services/europe-pmc/types.js';
19
19
  import { toDisplayText } from '../../../services/ncbi/parsing/text-helpers.js';
20
20
  import { conceptMeta, EDAM_DATABASE_SEARCH, EDAM_PUBMED_ID, SCHEMA_SEARCH_ACTION, } from './_concepts.js';
21
+ import { sliceCodeUnits } from './_text.js';
21
22
  const SourceEnum = z.enum(['MED', 'PMC', 'PPR', 'PAT', 'AGR']);
23
+ /**
24
+ * Character budget for `abstractSnippet`. Keeps a search page bounded no matter
25
+ * how many hits carry long abstracts; `pubmed_europepmc_fetch` serves the
26
+ * complete text for the records a caller actually wants. A cut that would split
27
+ * a surrogate pair backs off a code unit, so a snippet can come back one
28
+ * character under the budget. (#93)
29
+ */
30
+ const ABSTRACT_SNIPPET_LIMIT = 400;
22
31
  // ─── Tool Definition ─────────────────────────────────────────────────────────
23
32
  export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
24
- description: 'Search Europe PMC, a broad open-access biomedical corpus. Surfaces preprints (`source: PPR`), patents (`source: PAT`), Agricola (`source: AGR`), plus everything in PubMed (`MED`) and PMC. Use when additional coverage is needed — preprints and EPMC-only OA records are the typical recovery. Paginate via `cursorMark`. Defaults to `MED`, `PMC`, and `PPR`; pass `sources` to include `PAT` / `AGR`.',
33
+ description: 'Search Europe PMC, a broad open-access biomedical corpus. Surfaces preprints (`source: PPR`), patents (`source: PAT`), Agricola (`source: AGR`), plus everything in PubMed (`MED`) and PMC. Use when additional coverage is needed — preprints and EPMC-only OA records are the typical recovery. Paginate via `cursorMark`. Defaults to `MED`, `PMC`, and `PPR`; pass `sources` to include `PAT` / `AGR`. Abstracts arrive as a bounded `abstractSnippet` with `abstractTruncated` marking the cut ones — pass a hit’s `source` and `epmcId` to `pubmed_europepmc_fetch` for the complete abstract.',
25
34
  annotations: { readOnlyHint: true, openWorldHint: true },
26
35
  _meta: conceptMeta([SCHEMA_SEARCH_ACTION, EDAM_DATABASE_SEARCH, EDAM_PUBMED_ID]),
27
36
  sourceUrl: 'https://github.com/cyanheads/pubmed-mcp-server/blob/main/src/mcp-server/tools/definitions/pubmed-europepmc-search.tool.ts',
@@ -71,7 +80,7 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
71
80
  source: SourceEnum.describe('Europe PMC source — `MED` (PubMed), `PMC` (PubMed Central), `PPR` (preprint), `PAT` (patent), `AGR` (Agricola)'),
72
81
  epmcId: z
73
82
  .string()
74
- .describe("Europe PMC's internal record id; key for `fullTextXML` lookup"),
83
+ .describe("Europe PMC's internal record id. Pass it with this hit's `source` to `pubmed_europepmc_fetch` for the complete record. Europe PMC's `fullTextXML` is keyed on `pmcId`, not on this id, so records without a PMC counterpart have no full text to fetch."),
75
84
  title: z.string().optional().describe('Article title'),
76
85
  authors: z.string().optional().describe('Formatted author string'),
77
86
  journal: z.string().optional().describe('Journal title'),
@@ -94,7 +103,11 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
94
103
  abstractSnippet: z
95
104
  .string()
96
105
  .optional()
97
- .describe('First few hundred characters of the abstract as display-ready plain text — JATS/HTML markup stripped and HTML entities decoded — when `resultType: "core"` is requested'),
106
+ .describe(`First ${ABSTRACT_SNIPPET_LIMIT} characters of the abstract as display-ready plain text — JATS/HTML markup stripped and HTML entities decoded — when \`resultType: "core"\` is requested, with a trailing … appended when the abstract was cut. Check \`abstractTruncated\` before treating it as the whole abstract.`),
107
+ abstractTruncated: z
108
+ .boolean()
109
+ .optional()
110
+ .describe('Whether `abstractSnippet` was cut short of the full abstract. Retrieve the complete text with `pubmed_europepmc_fetch` using this record’s `source` and `epmcId`. Present whenever `abstractSnippet` is; omitted when Europe PMC carries no abstract.'),
98
111
  citedByCount: z.number().optional().describe('Citation count reported by Europe PMC'),
99
112
  epmcUrl: z.string().describe('Europe PMC article URL'),
100
113
  })
@@ -151,7 +164,8 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
151
164
  // un-decoded entities, and soft hyphens (no XML parser runs on it). Clean it
152
165
  // to display-ready plain text before truncating, so the snippet budget is
153
166
  // spent on text and soft hyphens don't corrupt downstream token matching. (#74)
154
- const snippet = h.abstractText ? toDisplayText(h.abstractText) : '';
167
+ const abstract = h.abstractText ? toDisplayText(h.abstractText) : '';
168
+ const truncated = abstract.length > ABSTRACT_SNIPPET_LIMIT;
155
169
  return {
156
170
  source: h.source,
157
171
  epmcId: h.id,
@@ -165,8 +179,11 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
165
179
  ...(h.doi && { doi: h.doi }),
166
180
  ...(h.isOpenAccess !== undefined && { isOpenAccess: h.isOpenAccess === 'Y' }),
167
181
  ...(h.inPMC !== undefined && { hasFullTextXml: h.inPMC === 'Y' }),
168
- ...(snippet && {
169
- abstractSnippet: snippet.length > 400 ? `${snippet.slice(0, 400)}…` : snippet,
182
+ ...(abstract && {
183
+ abstractSnippet: truncated
184
+ ? `${sliceCodeUnits(abstract, ABSTRACT_SNIPPET_LIMIT)}…`
185
+ : abstract,
186
+ abstractTruncated: truncated,
170
187
  }),
171
188
  ...(typeof h.citedByCount === 'number' && { citedByCount: h.citedByCount }),
172
189
  epmcUrl: `https://europepmc.org/article/${h.source}/${h.id}`,
@@ -241,8 +258,12 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
241
258
  if (typeof h.citedByCount === 'number')
242
259
  lines.push(`**Cited by:** ${h.citedByCount}`);
243
260
  lines.push(`**URL:** ${h.epmcUrl}`);
244
- if (h.abstractSnippet)
261
+ if (h.abstractSnippet) {
245
262
  lines.push(`\n${h.abstractSnippet}`);
263
+ if (h.abstractTruncated) {
264
+ lines.push(`_Abstract truncated at ${ABSTRACT_SNIPPET_LIMIT} characters — call \`pubmed_europepmc_fetch\` with this record's \`source\` and \`epmcId\` for the complete text._`);
265
+ }
266
+ }
246
267
  }
247
268
  }
248
269
  return [{ type: 'text', text: lines.join('\n') }];
@@ -1 +1 @@
1
- {"version":3,"file":"pubmed-europepmc-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-search.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pubmed-europepmc-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-search.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-articles.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA6EjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8T7B,CAAC"}
1
+ {"version":3,"file":"search-articles.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA+IjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2V7B,CAAC"}
@@ -16,23 +16,67 @@ import { conceptMeta, EDAM_DATABASE_SEARCH, EDAM_PUBMED_ID, SCHEMA_SEARCH_ACTION
16
16
  */
17
17
  const DATE_RE = /^$|^\d{4}([/\-.]\d{1,2}([/\-.]\d{1,2})?)?$/;
18
18
  /**
19
- * Produces an optional human- and agent-readable hint for edge cases where
20
- * bare empty arrays leave the caller without enough signal to recover:
19
+ * NCBI's eSearch serves `retstart` up to 9998 for PubMed and fails the whole
20
+ * request above it, so the ceiling is enforced at the edge where the caller can
21
+ * still act on it. The limit is db-specific — it does not apply to db=mesh.
22
+ */
23
+ const OFFSET_MAX = 9998;
24
+ /** Upper bound on brief summaries fetched per call; shared by the schema and the format() cap message. */
25
+ const SUMMARY_COUNT_MAX = 50;
26
+ /** Renders a diagnostic list as a comma-separated set of backticked clauses. */
27
+ function quoteClauses(clauses) {
28
+ return clauses.map((clause) => `\`${clause}\``).join(', ');
29
+ }
30
+ /**
31
+ * Produces an optional human- and agent-readable hint for the cases where the
32
+ * returned PMIDs alone leave the caller without enough signal to recover.
33
+ *
34
+ * The signals are independent and can co-occur, so every applicable one is
35
+ * collected and joined rather than the first match being returned:
36
+ * - A `dateRange` with one bound filled, which drops the date filter entirely
37
+ * - Field tags PubMed did not recognize (results silently unrestricted)
38
+ * - Phrases PubMed matched nothing for
21
39
  * - No matches at all (suggest spell-check / removing filters)
22
- * - Filters applied but nothing matched (suggest relaxing filters)
23
40
  * - Pagination overshoot (offset ≥ totalCount)
41
+ *
42
+ * The one precedence rule: an unmatched phrase names the exact clause that
43
+ * returned nothing, so it replaces the generic empty-result guidance, which
44
+ * would only guess across every filter the request might have set.
24
45
  */
25
46
  function buildNotice(args) {
26
- const { totalCount, pmidCount, offset, hasFilters } = args;
47
+ const { totalCount, pmidCount, offset, hasFilters, partialDateBound, errorList, warningList } = args;
48
+ const notices = [];
49
+ if (partialDateBound) {
50
+ const missing = partialDateBound.name === 'minDate' ? 'maxDate' : 'minDate';
51
+ const sentinel = missing === 'maxDate' ? '3000' : '1800';
52
+ notices.push(`No date filter was applied: dateRange needs both bounds and only \`${partialDateBound.name}\` ("${partialDateBound.value}") was supplied. Set \`${missing}\` as well — for an open-ended range pass a wide sentinel (e.g. \`${missing}: "${sentinel}"\`).`);
53
+ }
54
+ const ignoredFields = [
55
+ ...(errorList?.FieldNotFound ?? []),
56
+ ...(warningList?.FieldNotFound ?? []),
57
+ ];
58
+ if (ignoredFields.length > 0) {
59
+ notices.push(`PubMed did not recognize the field tag(s) ${quoteClauses(ignoredFields)} and searched those terms as free text, so these results are not restricted by that field. Correct the tag or drop it.`);
60
+ }
61
+ const unmatchedPhrases = [
62
+ ...(errorList?.PhraseNotFound ?? []),
63
+ ...(warningList?.PhraseNotFound ?? []),
64
+ ...(warningList?.QuotedPhraseNotFound ?? []),
65
+ ];
66
+ if (unmatchedPhrases.length > 0) {
67
+ notices.push(`PubMed matched nothing for ${quoteClauses(unmatchedPhrases)}, so that clause contributed no results. Check the spelling, or resolve the term with pubmed_lookup_mesh before filtering on it.`);
68
+ }
27
69
  if (totalCount === 0) {
28
- return hasFilters
29
- ? 'No results matched your query with the applied filters. Try removing filters (e.g. dateRange, publicationTypes, meshTerms), broadening dates, or verifying author/journal spelling.'
30
- : 'No results matched your query. Try running pubmed_spell_check for a suggested correction or broaden the query.';
70
+ if (unmatchedPhrases.length === 0) {
71
+ notices.push(hasFilters
72
+ ? 'No results matched your query with the applied filters. Try removing filters (e.g. dateRange, publicationTypes, meshTerms), broadening dates, or verifying author/journal spelling.'
73
+ : 'No results matched your query. Try running pubmed_spell_check for a suggested correction or broaden the query.');
74
+ }
31
75
  }
32
- if (pmidCount === 0 && offset > 0 && offset >= totalCount) {
33
- return `Offset ${offset} exceeds totalCount (${totalCount}). Reset offset to 0 or reduce it below ${totalCount} to page through results.`;
76
+ else if (pmidCount === 0 && offset > 0 && offset >= totalCount) {
77
+ notices.push(`Offset ${offset} exceeds totalCount (${totalCount}). Reset offset to 0 or reduce it below ${totalCount} to page through results.`);
34
78
  }
35
- return;
79
+ return notices.length > 0 ? notices.join(' ') : undefined;
36
80
  }
37
81
  const AppliedFiltersSchema = z.object({
38
82
  dateRange: z
@@ -75,7 +119,13 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
75
119
  input: z.object({
76
120
  query: z.string().min(1).describe('PubMed search query (supports full NCBI syntax)'),
77
121
  maxResults: z.number().int().min(1).max(1000).default(20).describe('Maximum results to return'),
78
- offset: z.number().int().min(0).default(0).describe('Result offset for pagination (0-based)'),
122
+ offset: z
123
+ .number()
124
+ .int()
125
+ .min(0)
126
+ .max(OFFSET_MAX)
127
+ .default(0)
128
+ .describe(`Result offset for pagination (0-based). PubMed serves at most the first ${OFFSET_MAX + 1} records of a result set, so this caps at ${OFFSET_MAX}; narrow the query or add filters to reach anything beyond it.`),
79
129
  sort: z
80
130
  .enum(['relevance', 'pub_date', 'author', 'journal'])
81
131
  .default('relevance')
@@ -115,9 +165,9 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
115
165
  .number()
116
166
  .int()
117
167
  .min(0)
118
- .max(50)
168
+ .max(SUMMARY_COUNT_MAX)
119
169
  .default(0)
120
- .describe('Fetch brief summaries for top N results (0 = PMIDs only)'),
170
+ .describe(`Fetch brief summaries for top N results (0 = PMIDs only). Above the ${SUMMARY_COUNT_MAX} cap, pass the remaining PMIDs to pubmed_fetch_articles.`),
121
171
  }),
122
172
  output: z.object({
123
173
  query: z.string().describe('Original query'),
@@ -153,7 +203,7 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
153
203
  notice: z
154
204
  .string()
155
205
  .optional()
156
- .describe('Optional guidance when results are empty or paging overshot — e.g. how to broaden filters or reset offset. Absent on successful result pages.'),
206
+ .describe('Optional guidance when the result set does not reflect what was asked for — a field tag PubMed ignored, a phrase it matched nothing for, a dateRange dropped for having one bound, no matches at all, or paging past the end. Absent when nothing applies.'),
157
207
  },
158
208
  // content[] trailer presentation for the enrichment block. structuredContent always
159
209
  // carries the full structured value; this only shapes the human-facing trailer line.
@@ -196,14 +246,24 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
196
246
  let effectiveQuery = await sanitization.sanitizeString(input.query, { context: 'text' });
197
247
  // Build filters — capture normalized values for both query construction and appliedFilters
198
248
  let normalizedDateRange;
199
- if (input.dateRange?.minDate && input.dateRange?.maxDate) {
249
+ const { dateRange } = input;
250
+ const minDate = dateRange?.minDate.trim() ?? '';
251
+ const maxDate = dateRange?.maxDate.trim() ?? '';
252
+ if (dateRange && minDate && maxDate) {
200
253
  normalizedDateRange = {
201
- minDate: input.dateRange.minDate.trim().replace(/[-.]/g, '/'),
202
- maxDate: input.dateRange.maxDate.trim().replace(/[-.]/g, '/'),
203
- dateType: input.dateRange.dateType,
254
+ minDate: minDate.replace(/[-.]/g, '/'),
255
+ maxDate: maxDate.replace(/[-.]/g, '/'),
256
+ dateType: dateRange.dateType,
204
257
  };
205
258
  effectiveQuery += ` AND (${normalizedDateRange.minDate}[${normalizedDateRange.dateType}] : ${normalizedDateRange.maxDate}[${normalizedDateRange.dateType}])`;
206
259
  }
260
+ // Both bounds are required for the filter to apply, so one filled bound is a
261
+ // dropped date range the caller gets no other signal about.
262
+ const partialDateBound = minDate && !maxDate
263
+ ? { name: 'minDate', value: minDate }
264
+ : maxDate && !minDate
265
+ ? { name: 'maxDate', value: maxDate }
266
+ : undefined;
207
267
  let sanitizedPubTypes;
208
268
  if (input.publicationTypes?.length) {
209
269
  sanitizedPubTypes = await Promise.all(input.publicationTypes.map((pt) => sanitization.sanitizeString(pt, { context: 'text' })));
@@ -297,6 +357,9 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
297
357
  pmidCount: pmids.length,
298
358
  offset: input.offset,
299
359
  hasFilters: Object.keys(appliedFilters).length > 0,
360
+ ...(partialDateBound && { partialDateBound }),
361
+ ...(esResult.errorList && { errorList: esResult.errorList }),
362
+ ...(esResult.warningList && { warningList: esResult.warningList }),
300
363
  });
301
364
  ctx.enrich({ effectiveQuery, appliedFilters });
302
365
  ctx.enrich.total(esResult.count);
@@ -321,7 +384,13 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
321
384
  lines.push(`\n**PMIDs:** ${result.pmids.join(', ')}`);
322
385
  if (result.summaries?.length) {
323
386
  if (result.summaries.length < result.pmids.length) {
324
- lines.push(`\n> Summaries shown for top ${result.summaries.length} of ${result.pmids.length} PMIDs. Increase \`summaryCount\` (max 50) to fetch more.`);
387
+ const shown = `Summaries shown for top ${result.summaries.length} of ${result.pmids.length} PMIDs`;
388
+ lines.push(
389
+ // At the cap there is no knob left to raise, so point at the tool that
390
+ // can read the rest instead of at `summaryCount`.
391
+ result.summaries.length >= SUMMARY_COUNT_MAX
392
+ ? `\n> ${shown} — \`summaryCount\` is at its maximum (${SUMMARY_COUNT_MAX}). Fetch the remaining ${result.pmids.length - result.summaries.length} with \`pubmed_fetch_articles\` using the PMIDs above.`
393
+ : `\n> ${shown}. Increase \`summaryCount\` (max ${SUMMARY_COUNT_MAX}) to fetch more.`);
325
394
  }
326
395
  lines.push('\n### Summaries');
327
396
  for (const s of result.summaries) {
@@ -1 +1 @@
1
- {"version":3,"file":"search-articles.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,OAAO,GAAG,4CAA4C,CAAC;AAE7D;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAKpB;IACC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC3D,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,UAAU;YACf,CAAC,CAAC,qLAAqL;YACvL,CAAC,CAAC,gHAAgH,CAAC;IACvH,CAAC;IACD,IAAI,SAAS,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;QAC1D,OAAO,UAAU,MAAM,wBAAwB,UAAU,2CAA2C,UAAU,2BAA2B,CAAC;IAC5I,CAAC;IACD,OAAO;AACT,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACpD,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aAC9B,QAAQ,CAAC,8CAA8C,CAAC;KAC5D,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,gBAAgB,EAAE,CAAC;SAChB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC7E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC/E,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC7F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACjF,WAAW,EAAE,CAAC;SACX,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,YAAY,EAAE,CAAC;SACZ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,OAAO,EAAE,CAAC;SACP,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC3B,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;CACpD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,EAAE;IAC/D,WAAW,EACT,gSAAgS;IAClS,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,KAAK,EAAE,WAAW,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAChF,SAAS,EACP,mHAAmH;IAErH,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,iDAAiD,CAAC;QACpF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC/F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QAC7F,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;aACpD,OAAO,CAAC,WAAW,CAAC;aACpB,QAAQ,CAAC,8EAA8E,CAAC;QAC3F,SAAS,EAAE,CAAC;aACT,MAAM,CAAC;YACN,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,KAAK,CAAC,OAAO,EAAE,mEAAmE,CAAC;iBACnF,QAAQ,CAAC,6EAA6E,CAAC;YAC1F,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,KAAK,CAAC,OAAO,EAAE,mEAAmE,CAAC;iBACnF,QAAQ,CAAC,2EAA2E,CAAC;YACxF,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAC9B,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,mEAAmE,CAAC;SACjF,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,oJAAoJ,CACrJ;QACH,gBAAgB,EAAE,CAAC;aAChB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,iIAAiI,CAClI;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QAChF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACjE,SAAS,EAAE,CAAC;aACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,kEAAkE,CAAC;QAC/E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAC/E,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACpF,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACrF,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC/E,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,0DAA0D,CAAC;KACxE,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjD,SAAS,EAAE,CAAC;aACT,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC3D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;SACxD,CAAC;aACD,QAAQ,CAAC,uBAAuB,CAAC,CACrC;aACA,QAAQ,CAAC,sDAAsD,CAAC;QACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACpD,CAAC;IAEF,iFAAiF;IACjF,gFAAgF;IAChF,oFAAoF;IACpF,kDAAkD;IAClD,UAAU,EAAE;QACV,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,CAAC,kEAAkE,CAAC;QAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC1D,cAAc,EAAE,oBAAoB,CAAC,QAAQ,CAC3C,gEAAgE,CACjE;QACD,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+IAA+I,CAChJ;KACJ;IAED,oFAAoF;IACpF,qFAAqF;IACrF,iBAAiB,EAAE;QACjB,cAAc,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;QAC5C,UAAU,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;QACpC,cAAc,EAAE;YACd,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;gBAClB,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,KAAK,CAAC,IAAI,CACR,qBAAqB,OAAO,CAAC,SAAS,CAAC,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,CAChH,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,4BAA4B,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClE,IAAI,OAAO,CAAC,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBAC9B,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,OAAO,CAAC,QAAQ;oBAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxE,IAAI,OAAO,CAAC,WAAW;oBAAE,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAC/D,IAAI,OAAO,CAAC,YAAY;oBAAE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAClE,IAAI,OAAO,CAAC,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;oBACrB,CAAC,CAAC,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7C,CAAC,CAAC,2BAA2B,CAAC;YAClC,CAAC;SACF;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;QAE9B,IAAI,cAAc,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzF,2FAA2F;QAC3F,IAAI,mBAES,CAAC;QACd,IAAI,KAAK,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;YACzD,mBAAmB,GAAG;gBACpB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;gBAC7D,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;gBAC7D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ;aACnC,CAAC;YACF,cAAc,IAAI,SAAS,mBAAmB,CAAC,OAAO,IAAI,mBAAmB,CAAC,QAAQ,OAAO,mBAAmB,CAAC,OAAO,IAAI,mBAAmB,CAAC,QAAQ,IAAI,CAAC;QAC/J,CAAC;QAED,IAAI,iBAAuC,CAAC;QAC5C,IAAI,KAAK,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;YACnC,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CACzF,CAAC;YACF,cAAc,IAAI,SAAS,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACxG,CAAC;QAED,IAAI,eAAmC,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,eAAe,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACvF,cAAc,IAAI,QAAQ,eAAe,UAAU,CAAC;QACtD,CAAC;QAED,IAAI,gBAAoC,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,gBAAgB,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACzF,cAAc,IAAI,SAAS,gBAAgB,YAAY,CAAC;QAC1D,CAAC;QAED,IAAI,kBAAwC,CAAC;QAC7C,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAC5B,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CACtF,CAAC;YACF,cAAc,IAAI,SAAS,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QACxG,CAAC;QAED,IAAI,iBAAqC,CAAC;QAC1C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,iBAAiB,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3F,cAAc,IAAI,QAAQ,iBAAiB,YAAY,CAAC;QAC1D,CAAC;QAED,IAAI,KAAK,CAAC,WAAW;YAAE,cAAc,IAAI,6BAA6B,CAAC;QACvE,IAAI,KAAK,CAAC,YAAY;YAAE,cAAc,IAAI,6BAA6B,CAAC;QACxE,IAAI,KAAK,CAAC,OAAO;YAAE,cAAc,IAAI,QAAQ,KAAK,CAAC,OAAO,cAAc,CAAC;QAEzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,KAAK,CAAC,UAAU;YACxB,QAAQ,EAAE,KAAK,CAAC,MAAM;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;SACrD,EACD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CACvB,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,SAAS,GAUP,EAAE,CAAC;QAET,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,cAAc,GAAgD;gBAClE,EAAE,EAAE,QAAQ;gBACZ,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK;aACf,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACzC,cAAc,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACxC,cAAc,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAC7C,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnE,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACnF,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;gBACnE,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,6CAA6C,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACnF,SAAS,EAAE,mCAAmC,CAAC,CAAC,IAAI,GAAG;iBACxD,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,yCAAyC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;QAChG,MAAM,cAAc,GAAG;YACrB,GAAG,CAAC,mBAAmB,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;YAC9D,GAAG,CAAC,iBAAiB,EAAE,MAAM,IAAI,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;YACzE,GAAG,CAAC,eAAe,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;YACnD,GAAG,CAAC,gBAAgB,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YACtD,GAAG,CAAC,kBAAkB,EAAE,MAAM,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;YACpE,GAAG,CAAC,iBAAiB,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;YACzD,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;SACjD,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACtC,UAAU,EAAE,QAAQ,CAAC,KAAK;YAC1B,SAAS,EAAE,KAAK,CAAC,MAAM;SACxB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,WAAW,CAAC;YACzB,UAAU,EAAE,QAAQ,CAAC,KAAK;YAC1B,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC;SACnD,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,MAAM;YAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtC,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK;YACL,SAAS;YACT,SAAS;SACV,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG;YACZ,0BAA0B;YAC1B,cAAc,MAAM,CAAC,KAAK,EAAE;YAC5B,iBAAiB,MAAM,CAAC,KAAK,CAAC,MAAM,kBAAkB,MAAM,CAAC,MAAM,EAAE;YACrE,mBAAmB,MAAM,CAAC,SAAS,EAAE;SACtC,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClD,KAAK,CAAC,IAAI,CACR,+BAA+B,MAAM,CAAC,SAAS,CAAC,MAAM,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,2DAA2D,CAC5I,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,CAAC,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvD,IAAI,CAAC,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,CAAC,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,CAAC,GAAG;oBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,CAAC,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,CAAC,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,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"}
1
+ {"version":3,"file":"search-articles.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  /**
2
2
  * @fileoverview Europe PMC service. Wraps the EPMC REST API with rate-limiting,
3
- * retries, and JATS XML parsing. Two methods: `search()` for keyword discovery
4
- * across the EPMC corpus (MED/PMC/PPR/PAT/AGR) and `fullTextXml()` for fetching
5
- * a record's full-text JATS. The XML parser matches NCBI's ordered config so
6
- * `parsePmcArticle` consumes the result without modification.
3
+ * retries, and JATS XML parsing. `search()` covers keyword discovery across the
4
+ * EPMC corpus (MED/PMC/PPR/PAT/AGR), `fetchRecords()` resolves specific records
5
+ * by `source` + EPMC id, `fullTextXml()` fetches a record's full-text JATS, and
6
+ * `citations()` / `references()` walk EPMC's link graph. The XML parser matches
7
+ * NCBI's ordered config so `parsePmcArticle` consumes the result without
8
+ * modification.
7
9
  *
8
10
  * Optional service: only constructed when `EUROPEPMC_ENABLED=true` (the
9
11
  * default). `getEuropePmcService()` returns `undefined` when disabled so
@@ -14,13 +16,15 @@
14
16
  import type { JatsNode } from '../../services/ncbi/parsing/pmc-xml-helpers.js';
15
17
  import { EuropePmcApiClient } from './api-client.js';
16
18
  import { EuropePmcRequestQueue } from './request-queue.js';
17
- import type { EuropePmcFullTextResult, EuropePmcRelatedResult, EuropePmcSearchParams, EuropePmcSearchResult, EuropePmcSource } from './types.js';
19
+ import type { EuropePmcFullTextResult, EuropePmcRecordRef, EuropePmcRelatedResult, EuropePmcSearchHit, EuropePmcSearchParams, EuropePmcSearchResult, EuropePmcSource } from './types.js';
18
20
  /**
19
- * Facade over the Europe PMC REST API. Two methods:
21
+ * Facade over the Europe PMC REST API:
20
22
  * - `search()` — keyword search across MED/PMC/PPR/PAT/AGR.
23
+ * - `fetchRecords()` — batch lookup of specific records by source + EPMC id.
21
24
  * - `fullTextXml()` — JATS full text for an EPMC record.
25
+ * - `citations()` / `references()` — EPMC's link graph for a PubMed article.
22
26
  *
23
- * Both honor `ctx.signal` for cancellation and retry transient failures with
27
+ * All honor `ctx.signal` for cancellation and retry transient failures with
24
28
  * capped exponential backoff plus jitter.
25
29
  */
26
30
  export declare class EuropePmcService {
@@ -34,6 +38,16 @@ export declare class EuropePmcService {
34
38
  * omit) for the first page; pass the returned `nextCursorMark` for the next.
35
39
  */
36
40
  search(params: EuropePmcSearchParams): Promise<EuropePmcSearchResult>;
41
+ /**
42
+ * Look up specific records by `source` + EPMC id. One search request covers
43
+ * the whole batch: each ref becomes an `(EXT_ID:<id> AND SRC:<source>)`
44
+ * clause, OR-joined into a single query.
45
+ *
46
+ * Returns the hits Europe PMC resolved, in the order it returned them.
47
+ * Unmatched refs are simply absent — callers diff against their own request
48
+ * to report misses rather than getting a padded array back.
49
+ */
50
+ fetchRecords(refs: readonly EuropePmcRecordRef[], signal?: AbortSignal): Promise<EuropePmcSearchHit[]>;
37
51
  /**
38
52
  * Fetch the JATS full text for an EPMC record. Returns:
39
53
  * - `{ kind: 'found', xml, epmcId, source }` — JATS XML string usable
@@ -1 +1 @@
1
- {"version":3,"file":"europe-pmc-service.d.ts","sourceRoot":"","sources":["../../../src/services/europe-pmc/europe-pmc-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,4CAA4C,CAAC;AAEzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EACV,uBAAuB,EAGvB,sBAAsB,EAEtB,qBAAqB,EAErB,qBAAqB,EACrB,eAAe,EAChB,MAAM,YAAY,CAAC;AA2BpB;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IAE7C,YACmB,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,qBAAqB,EAC5B,UAAU,EAAE,MAAM,EAiBpC;IAED;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6F1E;IAED;;;;;;;OAOG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAgBlC;IAED;;;;;;;;;OASG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,sBAAsB,CAAC,CAQjC;IAED;;;;;;;;;OASG;IACH,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,sBAAsB,CAAC,CAQjC;IAED;;;OAGG;YACW,iBAAiB;IA6C/B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CA8BlD;IAED;;;;OAIG;YACW,SAAS;CAsDxB;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAuB3C;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,SAAS,CAElE"}
1
+ {"version":3,"file":"europe-pmc-service.d.ts","sourceRoot":"","sources":["../../../src/services/europe-pmc/europe-pmc-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,4CAA4C,CAAC;AAEzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EACV,uBAAuB,EAEvB,kBAAkB,EAElB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EAErB,qBAAqB,EACrB,eAAe,EAChB,MAAM,YAAY,CAAC;AAuCpB;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IAE7C,YACmB,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,qBAAqB,EAC5B,UAAU,EAAE,MAAM,EAiBpC;IAED;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6F1E;IAED;;;;;;;;OAQG;IACG,YAAY,CAChB,IAAI,EAAE,SAAS,kBAAkB,EAAE,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAQ/B;IAED;;;;;;;OAOG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAgBlC;IAED;;;;;;;;;OASG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,sBAAsB,CAAC,CAQjC;IAED;;;;;;;;;OASG;IACH,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,sBAAsB,CAAC,CAQjC;IAED;;;OAGG;YACW,iBAAiB;IA6C/B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CA8BlD;IAED;;;;OAIG;YACW,SAAS;CAsDxB;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAuB3C;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,SAAS,CAElE"}
@@ -1,9 +1,11 @@
1
1
  /**
2
2
  * @fileoverview Europe PMC service. Wraps the EPMC REST API with rate-limiting,
3
- * retries, and JATS XML parsing. Two methods: `search()` for keyword discovery
4
- * across the EPMC corpus (MED/PMC/PPR/PAT/AGR) and `fullTextXml()` for fetching
5
- * a record's full-text JATS. The XML parser matches NCBI's ordered config so
6
- * `parsePmcArticle` consumes the result without modification.
3
+ * retries, and JATS XML parsing. `search()` covers keyword discovery across the
4
+ * EPMC corpus (MED/PMC/PPR/PAT/AGR), `fetchRecords()` resolves specific records
5
+ * by `source` + EPMC id, `fullTextXml()` fetches a record's full-text JATS, and
6
+ * `citations()` / `references()` walk EPMC's link graph. The XML parser matches
7
+ * NCBI's ordered config so `parsePmcArticle` consumes the result without
8
+ * modification.
7
9
  *
8
10
  * Optional service: only constructed when `EUROPEPMC_ENABLED=true` (the
9
11
  * default). `getEuropePmcService()` returns `undefined` when disabled so
@@ -45,11 +47,24 @@ function abortableSleep(ms, signal) {
45
47
  });
46
48
  }
47
49
  /**
48
- * Facade over the Europe PMC REST API. Two methods:
50
+ * Europe PMC lookup clause for one record addressed by `source` + EPMC id.
51
+ *
52
+ * The unquoted form is load-bearing: Europe PMC matches zero records for
53
+ * `EXT_ID:"<id>" AND SRC:<source>` — quotes survive on an identifier token only
54
+ * while no `AND SRC:` clause follows it. Callers pass ids through a schema that
55
+ * restricts them to identifier characters, so no escaping is applied here.
56
+ */
57
+ function recordLookupQuery({ epmcId, source }) {
58
+ return `(EXT_ID:${epmcId} AND SRC:${source})`;
59
+ }
60
+ /**
61
+ * Facade over the Europe PMC REST API:
49
62
  * - `search()` — keyword search across MED/PMC/PPR/PAT/AGR.
63
+ * - `fetchRecords()` — batch lookup of specific records by source + EPMC id.
50
64
  * - `fullTextXml()` — JATS full text for an EPMC record.
65
+ * - `citations()` / `references()` — EPMC's link graph for a PubMed article.
51
66
  *
52
- * Both honor `ctx.signal` for cancellation and retry transient failures with
67
+ * All honor `ctx.signal` for cancellation and retry transient failures with
53
68
  * capped exponential backoff plus jitter.
54
69
  */
55
70
  export class EuropePmcService {
@@ -159,6 +174,24 @@ export class EuropePmcService {
159
174
  query: echoed,
160
175
  };
161
176
  }
177
+ /**
178
+ * Look up specific records by `source` + EPMC id. One search request covers
179
+ * the whole batch: each ref becomes an `(EXT_ID:<id> AND SRC:<source>)`
180
+ * clause, OR-joined into a single query.
181
+ *
182
+ * Returns the hits Europe PMC resolved, in the order it returned them.
183
+ * Unmatched refs are simply absent — callers diff against their own request
184
+ * to report misses rather than getting a padded array back.
185
+ */
186
+ async fetchRecords(refs, signal) {
187
+ const result = await this.search({
188
+ query: refs.map(recordLookupQuery).join(' OR '),
189
+ resultType: 'core',
190
+ pageSize: refs.length,
191
+ ...(signal && { signal }),
192
+ });
193
+ return result.hits;
194
+ }
162
195
  /**
163
196
  * Fetch the JATS full text for an EPMC record. Returns:
164
197
  * - `{ kind: 'found', xml, epmcId, source }` — JATS XML string usable
@@ -1 +1 @@
1
- {"version":3,"file":"europe-pmc-service.js","sourceRoot":"","sources":["../../../src/services/europe-pmc/europe-pmc-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"europe-pmc-service.js","sourceRoot":"","sources":["../../../src/services/europe-pmc/europe-pmc-service.ts"],"names":[],"mappings":"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"}
@@ -114,6 +114,15 @@ export interface EuropePmcSearchParams {
114
114
  /** Allowed sources, comma-joined into the query as `(SRC:"MED" OR ...)`. */
115
115
  sources?: readonly EuropePmcSource[];
116
116
  }
117
+ /**
118
+ * Address of one Europe PMC record: the corpus it lives in plus EPMC's own
119
+ * identifier within that corpus. The pair is the only identifier many PPR,
120
+ * PAT, and AGR records carry — they frequently have no PMID and no DOI.
121
+ */
122
+ export interface EuropePmcRecordRef {
123
+ epmcId: string;
124
+ source: EuropePmcSource;
125
+ }
117
126
  /** Outcome of a fullTextXML lookup. */
118
127
  export type EuropePmcFullTextResult = {
119
128
  kind: 'found';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/europe-pmc/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/europe-pmc/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ncbi-service.d.ts","sourceRoot":"","sources":["../../../src/services/ncbi/ncbi-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAElB,KAAK,YAAY,EAEjB,KAAK,cAAc,EACnB,KAAK,eAAe,EAGpB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AA0CpB;;;GAGG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IALlC,YACmB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,mBAAmB,EACpC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACtC;IAEE,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAkB1F;IAEK,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAO5F;IAED,MAAM,CAAC,CAAC,GAAG;QAAE,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;KAAE,EACnD,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,kBAAuC,GAC/C,OAAO,CAAC,CAAC,CAAC,CAIZ;IAED,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,CAAC,CAAC,CAKZ;IAEK,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAyBxF;IAED,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAK5E;IAED;;;OAGG;IACG,SAAS,CACb,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAkE5B;IAED;;;OAGG;IACG,SAAS,CACb,GAAG,EAAE,MAAM,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAiE5B;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAIpC;IAEH,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEhD;;;;;OAKG;YACW,eAAe;IAkC7B;;;;;OAKG;YACW,SAAS;IAkEvB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;CA2BvB;AAMD,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,IAAI,CA4BtC;AAED,mEAAmE;AACnE,wBAAgB,cAAc,IAAI,WAAW,CAG5C"}
1
+ {"version":3,"file":"ncbi-service.d.ts","sourceRoot":"","sources":["../../../src/services/ncbi/ncbi-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAGpB,KAAK,aAAa,EAGlB,KAAK,YAAY,EAEjB,KAAK,cAAc,EACnB,KAAK,eAAe,EAGpB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAgEpB;;;GAGG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IALlC,YACmB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,mBAAmB,EACpC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACtC;IAEE,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAoB1F;IAEK,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAO5F;IAED,MAAM,CAAC,CAAC,GAAG;QAAE,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;KAAE,EACnD,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,kBAAuC,GAC/C,OAAO,CAAC,CAAC,CAAC,CAIZ;IAED,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,CAAC,CAAC,CAKZ;IAEK,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAyBxF;IAED,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAK5E;IAED;;;OAGG;IACG,SAAS,CACb,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAkE5B;IAED;;;OAGG;IACG,SAAS,CACb,GAAG,EAAE,MAAM,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAiE5B;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAIpC;IAEH,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEhD;;;;;OAKG;YACW,eAAe;IAkC7B;;;;;OAKG;YACW,SAAS;IAkEvB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;CA2BvB;AAMD,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,IAAI,CA4BtC;AAED,mEAAmE;AACnE,wBAAgB,cAAc,IAAI,WAAW,CAG5C"}