@cyanheads/pubmed-mcp-server 2.10.19 → 2.10.21

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 (110) hide show
  1. package/AGENTS.md +8 -5
  2. package/CLAUDE.md +8 -5
  3. package/Dockerfile +12 -3
  4. package/README.md +12 -11
  5. package/changelog/2.10.x/2.10.20.md +63 -0
  6. package/changelog/2.10.x/2.10.21.md +42 -0
  7. package/dist/mcp-server/tools/definitions/_text.d.ts.map +1 -1
  8. package/dist/mcp-server/tools/definitions/_text.js +10 -5
  9. package/dist/mcp-server/tools/definitions/_text.js.map +1 -1
  10. package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts +8 -0
  11. package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts.map +1 -1
  12. package/dist/mcp-server/tools/definitions/fetch-articles.tool.js +64 -14
  13. package/dist/mcp-server/tools/definitions/fetch-articles.tool.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts +44 -9
  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 +815 -563
  17. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/find-related.tool.d.ts +5 -5
  19. package/dist/mcp-server/tools/definitions/find-related.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/find-related.tool.js +12 -8
  21. package/dist/mcp-server/tools/definitions/find-related.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts +12 -0
  23. package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/format-citations.tool.js +53 -7
  25. package/dist/mcp-server/tools/definitions/format-citations.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts +11 -7
  27. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js +72 -34
  29. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js.map +1 -1
  30. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts +2 -1
  31. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts.map +1 -1
  32. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js +11 -3
  33. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js.map +1 -1
  34. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts +18 -0
  35. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts.map +1 -1
  36. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.js +96 -13
  37. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.js.map +1 -1
  38. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts +4 -3
  39. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts.map +1 -1
  40. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js +7 -5
  41. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js.map +1 -1
  42. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts +6 -4
  43. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts.map +1 -1
  44. package/dist/mcp-server/tools/definitions/search-articles.tool.js +33 -11
  45. package/dist/mcp-server/tools/definitions/search-articles.tool.js.map +1 -1
  46. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts +2 -1
  47. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts.map +1 -1
  48. package/dist/mcp-server/tools/definitions/spell-check.tool.js +5 -1
  49. package/dist/mcp-server/tools/definitions/spell-check.tool.js.map +1 -1
  50. package/dist/services/error-contracts.d.ts +1 -1
  51. package/dist/services/error-contracts.d.ts.map +1 -1
  52. package/dist/services/error-contracts.js +1 -1
  53. package/dist/services/error-contracts.js.map +1 -1
  54. package/dist/services/europe-pmc/api-client.d.ts.map +1 -1
  55. package/dist/services/europe-pmc/api-client.js +4 -3
  56. package/dist/services/europe-pmc/api-client.js.map +1 -1
  57. package/dist/services/fetch-redaction.d.ts +23 -0
  58. package/dist/services/fetch-redaction.d.ts.map +1 -0
  59. package/dist/services/fetch-redaction.js +62 -0
  60. package/dist/services/fetch-redaction.js.map +1 -0
  61. package/dist/services/ncbi/api-client.d.ts +3 -0
  62. package/dist/services/ncbi/api-client.d.ts.map +1 -1
  63. package/dist/services/ncbi/api-client.js +21 -8
  64. package/dist/services/ncbi/api-client.js.map +1 -1
  65. package/dist/services/ncbi/formatting/citation-formatter.d.ts +42 -2
  66. package/dist/services/ncbi/formatting/citation-formatter.d.ts.map +1 -1
  67. package/dist/services/ncbi/formatting/citation-formatter.js +370 -91
  68. package/dist/services/ncbi/formatting/citation-formatter.js.map +1 -1
  69. package/dist/services/ncbi/ncbi-service.d.ts +16 -1
  70. package/dist/services/ncbi/ncbi-service.d.ts.map +1 -1
  71. package/dist/services/ncbi/ncbi-service.js +117 -71
  72. package/dist/services/ncbi/ncbi-service.js.map +1 -1
  73. package/dist/services/ncbi/parsing/article-parser.d.ts.map +1 -1
  74. package/dist/services/ncbi/parsing/article-parser.js +116 -61
  75. package/dist/services/ncbi/parsing/article-parser.js.map +1 -1
  76. package/dist/services/ncbi/parsing/esummary-parser.d.ts +9 -0
  77. package/dist/services/ncbi/parsing/esummary-parser.d.ts.map +1 -1
  78. package/dist/services/ncbi/parsing/esummary-parser.js +26 -2
  79. package/dist/services/ncbi/parsing/esummary-parser.js.map +1 -1
  80. package/dist/services/ncbi/parsing/pmc-article-parser.d.ts +8 -7
  81. package/dist/services/ncbi/parsing/pmc-article-parser.d.ts.map +1 -1
  82. package/dist/services/ncbi/parsing/pmc-article-parser.js +633 -185
  83. package/dist/services/ncbi/parsing/pmc-article-parser.js.map +1 -1
  84. package/dist/services/ncbi/parsing/pmc-xml-helpers.d.ts +102 -5
  85. package/dist/services/ncbi/parsing/pmc-xml-helpers.d.ts.map +1 -1
  86. package/dist/services/ncbi/parsing/pmc-xml-helpers.js +389 -28
  87. package/dist/services/ncbi/parsing/pmc-xml-helpers.js.map +1 -1
  88. package/dist/services/ncbi/parsing/text-helpers.d.ts +8 -6
  89. package/dist/services/ncbi/parsing/text-helpers.d.ts.map +1 -1
  90. package/dist/services/ncbi/parsing/text-helpers.js +95 -19
  91. package/dist/services/ncbi/parsing/text-helpers.js.map +1 -1
  92. package/dist/services/ncbi/response-handler.d.ts +20 -12
  93. package/dist/services/ncbi/response-handler.d.ts.map +1 -1
  94. package/dist/services/ncbi/response-handler.js +115 -19
  95. package/dist/services/ncbi/response-handler.js.map +1 -1
  96. package/dist/services/ncbi/types.d.ts +44 -4
  97. package/dist/services/ncbi/types.d.ts.map +1 -1
  98. package/dist/services/openalex/api-client.d.ts.map +1 -1
  99. package/dist/services/openalex/api-client.js +4 -3
  100. package/dist/services/openalex/api-client.js.map +1 -1
  101. package/dist/services/openalex/openalex-service.d.ts +10 -6
  102. package/dist/services/openalex/openalex-service.d.ts.map +1 -1
  103. package/dist/services/openalex/openalex-service.js +13 -9
  104. package/dist/services/openalex/openalex-service.js.map +1 -1
  105. package/dist/services/unpaywall/unpaywall-service.d.ts +3 -0
  106. package/dist/services/unpaywall/unpaywall-service.d.ts.map +1 -1
  107. package/dist/services/unpaywall/unpaywall-service.js +18 -8
  108. package/dist/services/unpaywall/unpaywall-service.js.map +1 -1
  109. package/package.json +14 -12
  110. package/server.json +10 -24
@@ -5,6 +5,46 @@
5
5
  */
6
6
  import { decodeHtmlEntities } from './text-helpers.js';
7
7
  import { ensureArray, getAttribute, getOptionalAttribute, getOptionalText, getText, } from './xml-helpers.js';
8
+ /**
9
+ * An article's deduplicated affiliation list: one index per distinct text, a new
10
+ * text appended at the end. Seeded with an existing list, it continues that
11
+ * list's numbering, so the seed's indices never move.
12
+ */
13
+ function affiliationIndex(seed = []) {
14
+ const list = [...seed];
15
+ const indexOf = new Map(list.map((text, index) => [text, index]));
16
+ return {
17
+ list,
18
+ /** Indices of one contributor's `AffiliationInfo` texts, in order. */
19
+ of(infos) {
20
+ const indices = [];
21
+ for (const info of ensureArray(infos)) {
22
+ const text = getText(info?.Affiliation);
23
+ if (!text)
24
+ continue;
25
+ let index = indexOf.get(text);
26
+ if (index === undefined) {
27
+ index = list.length;
28
+ list.push(text);
29
+ indexOf.set(text, index);
30
+ }
31
+ indices.push(index);
32
+ }
33
+ return indices;
34
+ },
35
+ };
36
+ }
37
+ /** The first ORCID among a contributor's `Identifier` elements (`Source="ORCID"`). */
38
+ function extractOrcid(identifiers) {
39
+ for (const id of ensureArray(identifiers)) {
40
+ if (getAttribute(id, 'Source') === 'ORCID') {
41
+ const value = getText(id);
42
+ if (value)
43
+ return value;
44
+ }
45
+ }
46
+ return;
47
+ }
8
48
  /**
9
49
  * Extracts and formats author information from XML, deduplicating affiliations.
10
50
  * Affiliations are collected into a single array; each author references them by index.
@@ -15,52 +55,56 @@ import { ensureArray, getAttribute, getOptionalAttribute, getOptionalText, getTe
15
55
  export function extractAuthors(authorListXml) {
16
56
  if (!authorListXml)
17
57
  return { authors: [], affiliations: [] };
18
- const affiliationMap = new Map();
19
- const affiliationList = [];
20
- function getAffiliationIndex(text) {
21
- const existing = affiliationMap.get(text);
22
- if (existing !== undefined)
23
- return existing;
24
- const idx = affiliationList.length;
25
- affiliationList.push(text);
26
- affiliationMap.set(text, idx);
27
- return idx;
28
- }
58
+ const affiliations = affiliationIndex();
29
59
  const xmlAuthors = ensureArray(authorListXml.Author);
30
60
  const authors = xmlAuthors.map((auth) => {
61
+ // A collective author carries its own `AffiliationInfo` too. (#212)
62
+ const indices = affiliations.of(auth.AffiliationInfo);
63
+ const orcid = extractOrcid(auth.Identifier);
31
64
  const collectiveName = getText(auth.CollectiveName);
32
- if (collectiveName) {
33
- return { collectiveName };
34
- }
35
- // Collect all affiliations for this author, deduplicated at article level
36
- const authorAffiliationInfos = ensureArray(auth.AffiliationInfo);
37
- const indices = [];
38
- for (const info of authorAffiliationInfos) {
39
- const text = getText(info?.Affiliation);
40
- if (text)
41
- indices.push(getAffiliationIndex(text));
42
- }
43
- // Extract ORCID from Identifier elements with Source="ORCID"
44
- let orcid;
45
- const identifiers = ensureArray(auth.Identifier);
46
- for (const id of identifiers) {
47
- if (getAttribute(id, 'Source') === 'ORCID') {
48
- const val = getText(id);
49
- if (val) {
50
- orcid = val;
51
- break;
52
- }
53
- }
54
- }
55
65
  return {
56
- lastName: getText(auth.LastName),
57
- firstName: getText(auth.ForeName), // XML uses ForeName
58
- initials: getText(auth.Initials),
66
+ ...(collectiveName
67
+ ? { collectiveName }
68
+ : {
69
+ lastName: getText(auth.LastName),
70
+ firstName: getText(auth.ForeName), // XML uses ForeName
71
+ initials: getText(auth.Initials),
72
+ }),
73
+ ...(indices.length > 0 && { affiliationIndices: indices }),
74
+ ...(orcid && { orcid }),
75
+ };
76
+ });
77
+ return { authors, affiliations: affiliations.list };
78
+ }
79
+ /**
80
+ * Extracts the members of a collective author from every `InvestigatorList`,
81
+ * flattened in upstream order and uncapped. Investigator affiliations join the
82
+ * article's deduplicated list after the authors' entries, so an author's indices
83
+ * never shift. A name part the record lacks is omitted; `Suffix` is not read,
84
+ * as for authors. (#216)
85
+ * @param investigatorListsXml - The record's `InvestigatorList` elements.
86
+ * @param authorAffiliations - The authors' affiliations, from {@link extractAuthors}.
87
+ * @returns The investigators, and the affiliation list extended with theirs.
88
+ */
89
+ function extractInvestigators(investigatorListsXml, authorAffiliations) {
90
+ const affiliations = affiliationIndex(authorAffiliations);
91
+ const investigators = ensureArray(investigatorListsXml)
92
+ .flatMap((list) => ensureArray(list.Investigator))
93
+ .map((inv) => {
94
+ const lastName = getOptionalText(inv.LastName);
95
+ const firstName = getOptionalText(inv.ForeName);
96
+ const initials = getOptionalText(inv.Initials);
97
+ const indices = affiliations.of(inv.AffiliationInfo);
98
+ const orcid = extractOrcid(inv.Identifier);
99
+ return {
100
+ ...(lastName && { lastName }),
101
+ ...(firstName && { firstName }),
102
+ ...(initials && { initials }),
59
103
  ...(indices.length > 0 && { affiliationIndices: indices }),
60
104
  ...(orcid && { orcid }),
61
105
  };
62
106
  });
63
- return { authors, affiliations: affiliationList };
107
+ return { investigators, affiliations: affiliations.list };
64
108
  }
65
109
  /**
66
110
  * Picks the electronic article locator from an Article's `ELocationID` list —
@@ -105,22 +149,29 @@ export function extractJournalInfo(journalXml, articleXml) {
105
149
  const day = getText(pubDate?.Day);
106
150
  const medlineDate = getText(pubDate?.MedlineDate);
107
151
  const locator = extractELocationId(articleXml);
152
+ // A field the record does not carry is omitted, never written as "". (#137, #213)
153
+ const title = getOptionalText(journalXml.Title);
154
+ const isoAbbreviation = getOptionalText(journalXml.ISOAbbreviation);
155
+ const volume = getOptionalText(journalXml.JournalIssue?.Volume);
156
+ const issue = getOptionalText(journalXml.JournalIssue?.Issue);
157
+ const pages = getOptionalText(articleXml?.Pagination?.MedlinePgn);
158
+ const publicationDate = {
159
+ ...(year && { year }),
160
+ ...(month && { month }),
161
+ ...(day && { day }),
162
+ ...(medlineDate && { medlineDate }),
163
+ };
108
164
  return {
109
- title: getText(journalXml.Title),
110
- isoAbbreviation: getText(journalXml.ISOAbbreviation),
165
+ ...(title && { title }),
166
+ ...(isoAbbreviation && { isoAbbreviation }),
111
167
  ...(issn && { issn }),
112
168
  ...(eIssn && { eIssn }),
113
- volume: getText(journalXml.JournalIssue?.Volume),
114
- issue: getText(journalXml.JournalIssue?.Issue),
115
- pages: getText(articleXml?.Pagination?.MedlinePgn),
169
+ ...(volume && { volume }),
170
+ ...(issue && { issue }),
171
+ ...(pages && { pages }),
116
172
  ...(locator && { elocationId: locator.value }),
117
173
  ...(locator?.type && { elocationIdType: locator.type }),
118
- publicationDate: {
119
- ...(year && { year }),
120
- ...(month && { month }),
121
- ...(day && { day }),
122
- ...(medlineDate && { medlineDate }),
123
- },
174
+ ...(Object.keys(publicationDate).length > 0 && { publicationDate }),
124
175
  };
125
176
  }
126
177
  /**
@@ -391,13 +442,16 @@ export function extractArticleDates(articleXml) {
391
442
  export function parseFullArticle(xmlArticle, options = {}) {
392
443
  const medlineCitation = xmlArticle.MedlineCitation;
393
444
  const article = medlineCitation?.Article;
394
- const { includeMesh = true, includeGrants = false } = options;
445
+ const { includeMesh = true, includeGrants = false, includeInvestigators = false } = options;
395
446
  const abstractText = extractAbstractText(article?.Abstract);
396
447
  const journalInfo = extractJournalInfo(article?.Journal, article);
397
448
  const pubmedDataArticleIdList = xmlArticle.PubmedData?.ArticleIdList;
398
449
  const doi = extractDoi(article, pubmedDataArticleIdList);
399
450
  const pmcId = extractPmcId(article, pubmedDataArticleIdList);
400
- const { authors, affiliations } = extractAuthors(article?.AuthorList);
451
+ const { authors, affiliations: authorAffiliations } = extractAuthors(article?.AuthorList);
452
+ const { investigators, affiliations } = includeInvestigators
453
+ ? extractInvestigators(medlineCitation?.InvestigatorList, authorAffiliations)
454
+ : { investigators: [], affiliations: authorAffiliations };
401
455
  const publicationTypes = extractPublicationTypes(article?.PublicationTypeList);
402
456
  const commentsCorrections = extractCommentsCorrections(medlineCitation?.CommentsCorrectionsList);
403
457
  const keywords = extractKeywords(medlineCitation?.KeywordList ?? article?.KeywordList);
@@ -411,6 +465,7 @@ export function parseFullArticle(xmlArticle, options = {}) {
411
465
  ...(abstractText !== undefined && { abstractText }),
412
466
  ...(affiliations.length > 0 && { affiliations }),
413
467
  authors,
468
+ ...(investigators.length > 0 && { investigators }),
414
469
  ...(journalInfo !== undefined && { journalInfo }),
415
470
  ...(publicationTypes.length > 0 && { publicationTypes }),
416
471
  ...(commentsCorrections.length > 0 && { commentsCorrections }),
@@ -533,16 +588,16 @@ export function parseFullBookArticle(xmlBookArticle) {
533
588
  const articleDates = [
534
589
  ['ContributionDate', bookDocument?.ContributionDate],
535
590
  ['DateRevised', bookDocument?.DateRevised],
536
- ].flatMap(([dateType, dateXml]) => dateXml
537
- ? [
538
- {
539
- dateType,
540
- year: getText(dateXml.Year),
541
- month: getText(dateXml.Month),
542
- day: getText(dateXml.Day),
543
- },
544
- ]
545
- : []);
591
+ ].flatMap(([dateType, dateXml]) => {
592
+ if (!dateXml)
593
+ return [];
594
+ // A `ContributionDate` may carry no `Month` or `Day` (or a `Season` instead),
595
+ // unlike a journal `ArticleDate`; an absent part is omitted, never "". (#213)
596
+ const year = getOptionalText(dateXml.Year);
597
+ const month = getOptionalText(dateXml.Month);
598
+ const day = getOptionalText(dateXml.Day);
599
+ return [{ dateType, ...(year && { year }), ...(month && { month }), ...(day && { day }) }];
600
+ });
546
601
  const doi = findArticleId(bookDocument?.ArticleIdList, 'doi') ??
547
602
  findArticleId(xmlBookArticle.PubmedBookData?.ArticleIdList, 'doi');
548
603
  const title = chapterTitle ?? book.title;
@@ -1 +1 @@
1
- {"version":3,"file":"article-parser.js","sourceRoot":"","sources":["../../../../src/services/ncbi/parsing/article-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"article-parser.js","sourceRoot":"","sources":["../../../../src/services/ncbi/parsing/article-parser.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,15 @@ export declare function formatESummaryAuthors(authors?: XmlESummaryAuthor[]): st
20
20
  * option causes "2023 Dec" to resolve to a future December, ignoring the year.
21
21
  */
22
22
  export declare function parseNcbiDate(dateStr: string): string | undefined;
23
+ /**
24
+ * A Bookshelf chapter's own date from its ESummary `DocDate` — `1998 Oct 23
25
+ * [updated 2018 Dec 20]`, `2025 Jul 3`, `2021 Sep`, or `2026`: the revision when
26
+ * there is one, otherwise the contribution date, as `pubmed_format_citations`
27
+ * dates the chapter (#189). An unreadable revision falls back to the
28
+ * contribution date; undefined when neither is one of ESummary's date forms, so
29
+ * the caller keeps the book's date rather than guessing. (#199)
30
+ */
31
+ export declare function chapterDateFromDocDate(docDate: string): string | undefined;
23
32
  /**
24
33
  * Standardizes date strings from ESummary to 'YYYY-MM-DD' format.
25
34
  * Uses a dedicated NCBI date parser for known formats, falling back to
@@ -1 +1 @@
1
- {"version":3,"file":"esummary-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/ncbi/parsing/esummary-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAGV,uBAAuB,EAEvB,cAAc,EACd,kBAAkB,EAClB,cAAc,IAAI,iBAAiB,EAEpC,MAAM,aAAa,CAAC;AAGrB;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAQ3E;AA8BD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAajE;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,cAAc,GAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA+B7B;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,uBAAuB,GAClC,iBAAiB,EAAE,CAuGrB;AAyKD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,cAAc,CAAC,EAAE,cAAc,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAwD/B"}
1
+ {"version":3,"file":"esummary-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/ncbi/parsing/esummary-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAGV,uBAAuB,EAEvB,cAAc,EACd,kBAAkB,EAClB,cAAc,IAAI,iBAAiB,EAEpC,MAAM,aAAa,CAAC;AAGrB;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAQ3E;AA8BD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAajE;AAKD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW1E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,cAAc,GAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA+B7B;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,uBAAuB,GAClC,iBAAiB,EAAE,CAuGrB;AA6KD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,cAAc,CAAC,EAAE,cAAc,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAwD/B"}
@@ -68,6 +68,27 @@ export function parseNcbiDate(dateStr) {
68
68
  return `${year}-${month}-01`;
69
69
  return `${year}-01-01`;
70
70
  }
71
+ /** Opens the revision date inside a Bookshelf chapter's `DocDate`. */
72
+ const DOC_DATE_UPDATED = '[updated ';
73
+ /**
74
+ * A Bookshelf chapter's own date from its ESummary `DocDate` — `1998 Oct 23
75
+ * [updated 2018 Dec 20]`, `2025 Jul 3`, `2021 Sep`, or `2026`: the revision when
76
+ * there is one, otherwise the contribution date, as `pubmed_format_citations`
77
+ * dates the chapter (#189). An unreadable revision falls back to the
78
+ * contribution date; undefined when neither is one of ESummary's date forms, so
79
+ * the caller keeps the book's date rather than guessing. (#199)
80
+ */
81
+ export function chapterDateFromDocDate(docDate) {
82
+ const readable = (part) => {
83
+ const trimmed = part.trim();
84
+ return parseNcbiDate(trimmed) ? trimmed : undefined;
85
+ };
86
+ const updated = docDate.indexOf(DOC_DATE_UPDATED);
87
+ const close = updated === -1 ? -1 : docDate.indexOf(']', updated);
88
+ const revised = close === -1 ? undefined : readable(docDate.slice(updated + DOC_DATE_UPDATED.length, close));
89
+ const bracket = docDate.indexOf('[');
90
+ return revised ?? readable(docDate.slice(0, bracket === -1 ? undefined : bracket));
91
+ }
71
92
  /**
72
93
  * Standardizes date strings from ESummary to 'YYYY-MM-DD' format.
73
94
  * Uses a dedicated NCBI date parser for known formats, falling back to
@@ -253,13 +274,16 @@ function parseSingleDocumentSummary(docSummary) {
253
274
  const pmcIdValue = pmcEntry ? getOptionalText(getArticleIdValue(pmcEntry)) : undefined;
254
275
  const title = getText(docSummary.Title);
255
276
  const source = getText(docSummary.Source) || getText(docSummary.FullJournalName) || getText(docSummary.SO);
256
- const rawPubDate = getText(docSummary.PubDate);
257
- const rawEPubDate = getText(docSummary.EPubDate);
258
277
  // A Bookshelf record leaves Source and FullJournalName empty and carries its
259
278
  // venue here instead, so without these a book summary renders with none. (#114)
260
279
  const bookTitle = getText(docSummary.BookTitle);
261
280
  const publisherName = getText(docSummary.PublisherName);
262
281
  const docType = getText(docSummary.DocType);
282
+ // A chapter's PubDate is its book's (GeneReviews: 1993); its own dates are in
283
+ // DocDate, which ESummary sets on chapters only. (#199)
284
+ const chapterDate = docType === 'chapter' ? chapterDateFromDocDate(getText(docSummary.DocDate)) : undefined;
285
+ const rawPubDate = chapterDate ?? getText(docSummary.PubDate);
286
+ const rawEPubDate = getText(docSummary.EPubDate);
263
287
  return {
264
288
  pmid: String(pmid),
265
289
  ...(title && { title }),
@@ -1 +1 @@
1
- {"version":3,"file":"esummary-parser.js","sourceRoot":"","sources":["../../../../src/services/ncbi/parsing/esummary-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esummary-parser.js","sourceRoot":"","sources":["../../../../src/services/ncbi/parsing/esummary-parser.ts"],"names":[],"mappings":"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"}
@@ -40,10 +40,10 @@ export declare function extractBodySections(body: JatsNode | undefined): ParsedP
40
40
  * The walk covers the whole article rather than `<body>` alone: about a quarter
41
41
  * of real tables sit in `<floats-group>`, `<back>/<sec>`, `<table-wrap-group>`
42
42
  * or `<app-group>/<app>`, so a body-scoped extractor drops them. Each table
43
- * names the innermost enclosing `<sec>` wherever that sits — a back-matter or
44
- * appendix section counts, and naming it is the reader's only positional cue
45
- * there. Only a table inside no `<sec>` at all, such as a `<floats-group>`
46
- * deposit, carries no section name.
43
+ * names the innermost enclosing section wherever that sits — a back-matter
44
+ * `<sec>`, `<app>`, `<notes>` or `<fn-group>` counts, and naming it is the
45
+ * reader's only positional cue there. Only a table inside no section at all,
46
+ * such as a `<floats-group>` deposit, carries no section name. (#206)
47
47
  *
48
48
  * Only XHTML `<tr>`/`<td>`/`<th>` bodies are read. **Decision, not an
49
49
  * oversight:** across a 283-table survey of open-access records, 276 were XHTML,
@@ -71,9 +71,10 @@ export declare const MAX_TABLE_COLUMNS = 512;
71
71
  * supplementary material sit outside `<body>` entirely — `<floats-group>`
72
72
  * deposits, `<back>/<sec>` and `<app-group>/<app>` placements, and figures
73
73
  * hanging off the abstract in `<front>`. Each asset names the innermost
74
- * enclosing `<sec>` wherever that sits, an untitled one inheriting its parent's
75
- * title, so the reader keeps a positional cue; an asset inside no `<sec>` at all
76
- * carries no section name. (#130)
74
+ * enclosing section wherever that sits — a back-matter element read as one
75
+ * included — an untitled `<sec>` inheriting its parent's title, so the reader
76
+ * keeps a positional cue; an asset inside no section at all carries no section
77
+ * name. (#130, #206)
77
78
  */
78
79
  export declare function extractPmcAssets(root: JatsNode | undefined): ParsedPmcAsset[];
79
80
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pmc-article-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/ncbi/parsing/pmc-article-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EAEd,eAAe,EAEf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EAOL,KAAK,QAAQ,EAQd,MAAM,sBAAsB,CAAC;AAwH9B,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,eAAe,EAAE,CA2BxF;AA4fD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,gBAAgB,EAAE,CA+BlF;AA4HD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,EAAE,CAO7E;AAoFD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAmGrC;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,EAAE,CAQ7E;AAwND;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,kBAAkB,EAAE,CAsClF;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,QAAQ,GAAG,gBAAgB,CA+CvE"}
1
+ {"version":3,"file":"pmc-article-parser.d.ts","sourceRoot":"","sources":["../../../../src/services/ncbi/parsing/pmc-article-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EAEd,eAAe,EAEf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EASL,KAAK,QAAQ,EAWd,MAAM,sBAAsB,CAAC;AAkI9B,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,eAAe,EAAE,CA0BxF;AA2vBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,gBAAgB,EAAE,CAElF;AAkRD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,EAAE,CAO7E;AAgGD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAoGrC;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,EAAE,CAQ7E;AA2TD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,kBAAkB,EAAE,CAsClF;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,QAAQ,GAAG,gBAAgB,CAkDvE"}