paper-search-cli 0.1.1 → 0.1.3

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 (82) hide show
  1. package/.env.example +18 -3
  2. package/README-sc.md +110 -25
  3. package/README.md +109 -24
  4. package/dist/cli.js +27 -3
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config/ConfigService.d.ts +1 -1
  7. package/dist/config/ConfigService.d.ts.map +1 -1
  8. package/dist/config/ConfigService.js +4 -1
  9. package/dist/config/ConfigService.js.map +1 -1
  10. package/dist/config/constants.d.ts +6 -0
  11. package/dist/config/constants.d.ts.map +1 -1
  12. package/dist/config/constants.js +4 -1
  13. package/dist/config/constants.js.map +1 -1
  14. package/dist/core/diagnostics.d.ts.map +1 -1
  15. package/dist/core/diagnostics.js +34 -12
  16. package/dist/core/diagnostics.js.map +1 -1
  17. package/dist/core/handleToolCall.d.ts.map +1 -1
  18. package/dist/core/handleToolCall.js +50 -7
  19. package/dist/core/handleToolCall.js.map +1 -1
  20. package/dist/core/platformMetadata.d.ts +28 -0
  21. package/dist/core/platformMetadata.d.ts.map +1 -0
  22. package/dist/core/platformMetadata.js +258 -0
  23. package/dist/core/platformMetadata.js.map +1 -0
  24. package/dist/core/schemas.d.ts +108 -74
  25. package/dist/core/schemas.d.ts.map +1 -1
  26. package/dist/core/schemas.js +29 -38
  27. package/dist/core/schemas.js.map +1 -1
  28. package/dist/core/searchers.d.ts +11 -0
  29. package/dist/core/searchers.d.ts.map +1 -1
  30. package/dist/core/searchers.js +17 -1
  31. package/dist/core/searchers.js.map +1 -1
  32. package/dist/core/tools.d.ts.map +1 -1
  33. package/dist/core/tools.js +57 -30
  34. package/dist/core/tools.js.map +1 -1
  35. package/dist/platforms/ACMSearcher.d.ts +16 -0
  36. package/dist/platforms/ACMSearcher.d.ts.map +1 -0
  37. package/dist/platforms/ACMSearcher.js +125 -0
  38. package/dist/platforms/ACMSearcher.js.map +1 -0
  39. package/dist/platforms/ArxivSearcher.d.ts.map +1 -1
  40. package/dist/platforms/ArxivSearcher.js +10 -2
  41. package/dist/platforms/ArxivSearcher.js.map +1 -1
  42. package/dist/platforms/DBLPSearcher.d.ts +16 -0
  43. package/dist/platforms/DBLPSearcher.d.ts.map +1 -0
  44. package/dist/platforms/DBLPSearcher.js +116 -0
  45. package/dist/platforms/DBLPSearcher.js.map +1 -0
  46. package/dist/platforms/IEEESearcher.d.ts +15 -0
  47. package/dist/platforms/IEEESearcher.d.ts.map +1 -0
  48. package/dist/platforms/IEEESearcher.js +123 -0
  49. package/dist/platforms/IEEESearcher.js.map +1 -0
  50. package/dist/platforms/OpenAIRESearcher.d.ts.map +1 -1
  51. package/dist/platforms/OpenAIRESearcher.js +9 -1
  52. package/dist/platforms/OpenAIRESearcher.js.map +1 -1
  53. package/dist/platforms/OpenReviewSearcher.d.ts +19 -0
  54. package/dist/platforms/OpenReviewSearcher.d.ts.map +1 -0
  55. package/dist/platforms/OpenReviewSearcher.js +141 -0
  56. package/dist/platforms/OpenReviewSearcher.js.map +1 -0
  57. package/dist/platforms/PaperSource.d.ts +6 -0
  58. package/dist/platforms/PaperSource.d.ts.map +1 -1
  59. package/dist/platforms/PaperSource.js.map +1 -1
  60. package/dist/platforms/PubMedSearcher.d.ts.map +1 -1
  61. package/dist/platforms/PubMedSearcher.js +8 -0
  62. package/dist/platforms/PubMedSearcher.js.map +1 -1
  63. package/dist/platforms/USENIXSearcher.d.ts +14 -0
  64. package/dist/platforms/USENIXSearcher.d.ts.map +1 -0
  65. package/dist/platforms/USENIXSearcher.js +75 -0
  66. package/dist/platforms/USENIXSearcher.js.map +1 -0
  67. package/dist/services/MultiSourceSearchService.d.ts.map +1 -1
  68. package/dist/services/MultiSourceSearchService.js +8 -34
  69. package/dist/services/MultiSourceSearchService.js.map +1 -1
  70. package/dist/services/OpenAccessFallbackService.d.ts +1 -0
  71. package/dist/services/OpenAccessFallbackService.d.ts.map +1 -1
  72. package/dist/services/OpenAccessFallbackService.js +2 -2
  73. package/dist/services/OpenAccessFallbackService.js.map +1 -1
  74. package/dist/utils/HttpClient.d.ts +6 -0
  75. package/dist/utils/HttpClient.d.ts.map +1 -0
  76. package/dist/utils/HttpClient.js +30 -0
  77. package/dist/utils/HttpClient.js.map +1 -0
  78. package/dist/utils/PdfDownload.d.ts.map +1 -1
  79. package/dist/utils/PdfDownload.js +106 -16
  80. package/dist/utils/PdfDownload.js.map +1 -1
  81. package/package.json +3 -1
  82. package/skills/paper-search/SKILL.md +16 -5
@@ -0,0 +1,116 @@
1
+ import axios from 'axios';
2
+ import { PaperFactory } from '../models/Paper.js';
3
+ import { PaperSource } from './PaperSource.js';
4
+ import { TIMEOUTS, USER_AGENT } from '../config/constants.js';
5
+ import { ErrorHandler } from '../utils/ErrorHandler.js';
6
+ export class DBLPSearcher extends PaperSource {
7
+ client;
8
+ constructor() {
9
+ super('dblp', 'https://dblp.org/search/publ/api');
10
+ this.client = axios.create({
11
+ baseURL: this.baseUrl,
12
+ timeout: TIMEOUTS.DEFAULT,
13
+ headers: {
14
+ Accept: 'application/json',
15
+ 'User-Agent': USER_AGENT
16
+ }
17
+ });
18
+ }
19
+ getCapabilities() {
20
+ return {
21
+ search: true,
22
+ download: false,
23
+ fullText: false,
24
+ citations: false,
25
+ requiresApiKey: false,
26
+ supportedOptions: ['maxResults', 'year', 'author', 'journal', 'sortBy', 'sortOrder']
27
+ };
28
+ }
29
+ async search(query, options = {}) {
30
+ try {
31
+ const params = {
32
+ q: this.buildQuery(query, options),
33
+ format: 'json',
34
+ h: Math.min(options.maxResults || 10, 1000),
35
+ c: 0
36
+ };
37
+ const response = await ErrorHandler.retryWithBackoff(() => this.client.get('', { params }), { context: 'DBLP search' });
38
+ const hits = this.asArray(response.data?.result?.hits?.hit);
39
+ return hits.map(hit => this.parseHit(hit)).filter((paper) => Boolean(paper));
40
+ }
41
+ catch (error) {
42
+ this.handleHttpError(error, 'search');
43
+ }
44
+ }
45
+ async downloadPdf(_paperId, _options = {}) {
46
+ throw new Error('DBLP does not host PDFs directly. Use DOI or publisher URLs for download fallbacks.');
47
+ }
48
+ async readPaper(_paperId, _options = {}) {
49
+ throw new Error('DBLP provides bibliographic metadata only; it does not provide full text.');
50
+ }
51
+ buildQuery(query, options) {
52
+ const parts = [query.trim()];
53
+ if (options.author)
54
+ parts.push(`author:${options.author.trim()}`);
55
+ if (options.journal)
56
+ parts.push(options.journal.trim());
57
+ if (options.venue)
58
+ parts.push(options.venue.trim());
59
+ if (options.year && /^\d{4}$/.test(options.year.trim()))
60
+ parts.push(options.year.trim());
61
+ return parts.filter(Boolean).join(' ');
62
+ }
63
+ parseHit(hit) {
64
+ const info = hit.info;
65
+ if (!info?.title)
66
+ return null;
67
+ const year = info.year ? Number(info.year) || undefined : undefined;
68
+ const doi = info.doi || '';
69
+ const ee = this.firstValue(info.ee);
70
+ const url = info.url || (doi ? `https://doi.org/${doi}` : ee || '');
71
+ return PaperFactory.create({
72
+ paperId: info.key || doi || hit['@id'] || info.title,
73
+ title: this.cleanText(info.title),
74
+ authors: this.parseAuthors(info.authors?.author),
75
+ abstract: '',
76
+ doi,
77
+ publishedDate: year ? new Date(year, 0, 1) : null,
78
+ pdfUrl: '',
79
+ url,
80
+ source: 'dblp',
81
+ journal: info.venue || undefined,
82
+ volume: info.volume || undefined,
83
+ issue: info.number || undefined,
84
+ pages: info.pages || undefined,
85
+ year,
86
+ extra: {
87
+ dblpKey: info.key || '',
88
+ dblpType: info.type || '',
89
+ access: info.access || '',
90
+ electronicEdition: ee,
91
+ score: hit['@score'] || ''
92
+ }
93
+ });
94
+ }
95
+ parseAuthors(author) {
96
+ return this.asArray(author)
97
+ .map(item => {
98
+ if (typeof item === 'string')
99
+ return item;
100
+ return item.text || '';
101
+ })
102
+ .map(authorName => authorName.trim())
103
+ .filter(Boolean);
104
+ }
105
+ firstValue(value) {
106
+ if (Array.isArray(value))
107
+ return value[0] || '';
108
+ return value || '';
109
+ }
110
+ asArray(value) {
111
+ if (!value)
112
+ return [];
113
+ return Array.isArray(value) ? value : [value];
114
+ }
115
+ }
116
+ //# sourceMappingURL=DBLPSearcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DBLPSearcher.js","sourceRoot":"","sources":["../../src/platforms/DBLPSearcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAS,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAmB,WAAW,EAAuC,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA4CxD,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC1B,MAAM,CAAgB;IAEvC;QACE,KAAK,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,YAAY,EAAE,UAAU;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;YAChB,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;SACrF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,UAAyB,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAA4B;gBACtC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;gBAClC,MAAM,EAAE,MAAM;gBACd,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC;gBAC3C,CAAC,EAAE,CAAC;aACL,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAClD,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAe,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EACnD,EAAE,OAAO,EAAE,aAAa,EAAE,CAC3B,CAAC;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAkB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,WAA4B,EAAE;QAChE,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,WAA4B,EAAE;QAC9D,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IAEO,UAAU,CAAC,KAAa,EAAE,OAAsB;QACtD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAEO,QAAQ,CAAC,GAAY;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,KAAK;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,OAAO,YAAY,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK;YACpD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACjC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;YAChD,QAAQ,EAAE,EAAE;YACZ,GAAG;YACH,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACjD,MAAM,EAAE,EAAE;YACV,GAAG;YACH,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;YAChC,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;YAC9B,IAAI;YACJ,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;gBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;gBACzB,iBAAiB,EAAE,EAAE;gBACrB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;aAC3B;SACF,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,MAAsD;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aACxB,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC1C,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC;aACD,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aACpC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEO,UAAU,CAAC,KAAoC;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,IAAI,EAAE,CAAC;IACrB,CAAC;IAEO,OAAO,CAAI,KAA0B;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import { Paper } from '../models/Paper.js';
2
+ import { DownloadOptions, PaperSource, PlatformCapabilities, SearchOptions } from './PaperSource.js';
3
+ export declare class IEEESearcher extends PaperSource {
4
+ private readonly client;
5
+ constructor(apiKey?: string);
6
+ getCapabilities(): PlatformCapabilities;
7
+ search(query: string, options?: SearchOptions): Promise<Paper[]>;
8
+ downloadPdf(_paperId: string, _options?: DownloadOptions): Promise<string>;
9
+ readPaper(_paperId: string, _options?: DownloadOptions): Promise<string>;
10
+ private mapSortField;
11
+ private parseArticle;
12
+ private extractYear;
13
+ private extractKeywords;
14
+ }
15
+ //# sourceMappingURL=IEEESearcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEEESearcher.d.ts","sourceRoot":"","sources":["../../src/platforms/IEEESearcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAgB,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAsCrG,qBAAa,YAAa,SAAQ,WAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,CAAC,EAAE,MAAM;IAY3B,eAAe,IAAI,oBAAoB;IAWjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAqCpE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9E,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlF,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,eAAe;CAKxB"}
@@ -0,0 +1,123 @@
1
+ import axios from 'axios';
2
+ import { PaperFactory } from '../models/Paper.js';
3
+ import { PaperSource } from './PaperSource.js';
4
+ import { TIMEOUTS, USER_AGENT } from '../config/constants.js';
5
+ import { ErrorHandler } from '../utils/ErrorHandler.js';
6
+ export class IEEESearcher extends PaperSource {
7
+ client;
8
+ constructor(apiKey) {
9
+ super('ieee', 'https://ieeexploreapi.ieee.org/api/v1/search/articles', apiKey);
10
+ this.client = axios.create({
11
+ baseURL: this.baseUrl,
12
+ timeout: TIMEOUTS.DEFAULT,
13
+ headers: {
14
+ Accept: 'application/json',
15
+ 'User-Agent': USER_AGENT
16
+ }
17
+ });
18
+ }
19
+ getCapabilities() {
20
+ return {
21
+ search: true,
22
+ download: false,
23
+ fullText: false,
24
+ citations: true,
25
+ requiresApiKey: true,
26
+ supportedOptions: ['maxResults', 'year', 'author', 'journal', 'sortBy', 'sortOrder', 'articleTitle', 'startRecord']
27
+ };
28
+ }
29
+ async search(query, options = {}) {
30
+ if (!this.apiKey) {
31
+ throw new Error('IEEE API key is required. Please set IEEE_API_KEY environment variable.');
32
+ }
33
+ try {
34
+ const params = {
35
+ apikey: this.apiKey,
36
+ format: 'json',
37
+ querytext: query,
38
+ max_records: Math.min(options.maxResults || 10, 200),
39
+ start_record: options.startRecord || 1
40
+ };
41
+ if (options.articleTitle)
42
+ params.article_title = options.articleTitle;
43
+ if (options.author)
44
+ params.author = options.author;
45
+ if (options.journal)
46
+ params.publication_title = options.journal;
47
+ if (options.year && /^\d{4}$/.test(options.year.trim()))
48
+ params.publication_year = options.year.trim();
49
+ if (options.sortBy) {
50
+ params.sort_field = this.mapSortField(options.sortBy);
51
+ params.sort_order = options.sortOrder === 'asc' ? 'asc' : 'desc';
52
+ }
53
+ const response = await ErrorHandler.retryWithBackoff(() => this.client.get('', { params }), { context: 'IEEE Xplore search' });
54
+ return (response.data.articles || [])
55
+ .map(article => this.parseArticle(article))
56
+ .filter((paper) => Boolean(paper));
57
+ }
58
+ catch (error) {
59
+ this.handleHttpError(error, 'search');
60
+ }
61
+ }
62
+ async downloadPdf(_paperId, _options = {}) {
63
+ throw new Error('IEEE Xplore API search returns metadata and PDF URLs only; direct PDF download is not supported by this CLI.');
64
+ }
65
+ async readPaper(_paperId, _options = {}) {
66
+ throw new Error('IEEE Xplore full text requires separate API entitlement and is not supported by this searcher.');
67
+ }
68
+ mapSortField(sortBy) {
69
+ if (sortBy === 'date')
70
+ return 'publication_year';
71
+ if (sortBy === 'citations')
72
+ return 'citing_paper_count';
73
+ return 'article_number';
74
+ }
75
+ parseArticle(article) {
76
+ if (!article.title)
77
+ return null;
78
+ const year = Number(article.publication_year) || this.extractYear(article.publication_date);
79
+ const startPage = article.start_page || '';
80
+ const endPage = article.end_page || '';
81
+ const pages = startPage && endPage ? `${startPage}-${endPage}` : startPage || endPage || undefined;
82
+ const articleNumber = article.article_number ? String(article.article_number) : '';
83
+ const doi = article.doi || '';
84
+ return PaperFactory.create({
85
+ paperId: articleNumber || doi || article.title,
86
+ title: this.cleanText(article.title),
87
+ authors: (article.authors?.authors || [])
88
+ .sort((a, b) => (a.author_order || 0) - (b.author_order || 0))
89
+ .map(author => author.full_name || '')
90
+ .filter(Boolean),
91
+ abstract: this.cleanText(article.abstract || ''),
92
+ doi,
93
+ publishedDate: year ? new Date(year, 0, 1) : null,
94
+ pdfUrl: article.pdf_url || '',
95
+ url: article.html_url || (doi ? `https://doi.org/${doi}` : ''),
96
+ source: 'ieee',
97
+ journal: article.publication_title || undefined,
98
+ volume: article.volume || undefined,
99
+ issue: article.issue || undefined,
100
+ pages,
101
+ year,
102
+ citationCount: Number(article.citing_paper_count) || 0,
103
+ keywords: this.extractKeywords(article),
104
+ extra: {
105
+ articleNumber,
106
+ contentType: article.content_type || '',
107
+ publisher: article.publisher || '',
108
+ isbn: article.isbn || '',
109
+ issn: article.issn || ''
110
+ }
111
+ });
112
+ }
113
+ extractYear(value) {
114
+ const match = value?.match(/\b(19|20)\d{2}\b/);
115
+ return match ? Number(match[0]) : undefined;
116
+ }
117
+ extractKeywords(article) {
118
+ const ieeeTerms = article.index_terms?.ieee_terms?.terms || [];
119
+ const authorTerms = article.index_terms?.author_terms?.terms || [];
120
+ return [...ieeeTerms, ...authorTerms].filter((term, index, terms) => term && terms.indexOf(term) === index);
121
+ }
122
+ }
123
+ //# sourceMappingURL=IEEESearcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEEESearcher.js","sourceRoot":"","sources":["../../src/platforms/IEEESearcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIRESearcher.d.ts","sourceRoot":"","sources":["../../src/platforms/OpenAIRESearcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAgB,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGrG,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,CAAC,EAAE,MAAM;IAgB3B,eAAe,IAAI,oBAAoB;IAWjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA2BpE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9E,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;YAIpE,SAAS;IA+BvB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,IAAI;CAKb"}
1
+ {"version":3,"file":"OpenAIRESearcher.d.ts","sourceRoot":"","sources":["../../src/platforms/OpenAIRESearcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAgB,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGrG,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,CAAC,EAAE,MAAM;IAgB3B,eAAe,IAAI,oBAAoB;IAWjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAoCpE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9E,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;YAIpE,SAAS;IA+BvB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,IAAI;CAKb"}
@@ -33,7 +33,15 @@ export class OpenAIRESearcher extends PaperSource {
33
33
  async search(query, options = {}) {
34
34
  try {
35
35
  const xml = await this.searchXml(query, Math.min(options.maxResults || 10, 100));
36
- const parsed = await xml2js.parseStringPromise(xml, {
36
+ const trimmed = (xml || '').trim();
37
+ if (!trimmed) {
38
+ throw new Error('Empty XML response received from OpenAIRE');
39
+ }
40
+ if (!trimmed.startsWith('<')) {
41
+ const preview = trimmed.slice(0, 120).replace(/\s+/g, ' ');
42
+ throw new Error(`Invalid XML response received (expected markup, got: "${preview}...")`);
43
+ }
44
+ const parsed = await xml2js.parseStringPromise(trimmed, {
37
45
  explicitArray: false,
38
46
  explicitCharkey: true,
39
47
  attrkey: '$',
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIRESearcher.js","sourceRoot":"","sources":["../../src/platforms/OpenAIRESearcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAIRESearcher.js","sourceRoot":"","sources":["../../src/platforms/OpenAIRESearcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Paper } from '../models/Paper.js';
2
+ import { DownloadOptions, PaperSource, PlatformCapabilities, SearchOptions } from './PaperSource.js';
3
+ export declare class OpenReviewSearcher extends PaperSource {
4
+ private readonly client;
5
+ constructor();
6
+ getCapabilities(): PlatformCapabilities;
7
+ search(query: string, options?: SearchOptions): Promise<Paper[]>;
8
+ downloadPdf(_paperId: string, _options?: DownloadOptions): Promise<string>;
9
+ readPaper(_paperId: string, _options?: DownloadOptions): Promise<string>;
10
+ private parseNote;
11
+ private matchesOptions;
12
+ private yearMatches;
13
+ private contentValue;
14
+ private asString;
15
+ private asStringArray;
16
+ private resolveOpenReviewUrl;
17
+ private extractDoi;
18
+ }
19
+ //# sourceMappingURL=OpenReviewSearcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenReviewSearcher.d.ts","sourceRoot":"","sources":["../../src/platforms/OpenReviewSearcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAgB,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAuBrG,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;;IAcvC,eAAe,IAAI,oBAAoB;IAWjC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAsBpE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9E,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlF,OAAO,CAAC,SAAS;IAwCjB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,UAAU;CAInB"}
@@ -0,0 +1,141 @@
1
+ import axios from 'axios';
2
+ import { PaperFactory } from '../models/Paper.js';
3
+ import { PaperSource } from './PaperSource.js';
4
+ import { TIMEOUTS, USER_AGENT } from '../config/constants.js';
5
+ import { ErrorHandler } from '../utils/ErrorHandler.js';
6
+ export class OpenReviewSearcher extends PaperSource {
7
+ client;
8
+ constructor() {
9
+ super('openreview', 'https://api.openreview.net');
10
+ this.client = axios.create({
11
+ baseURL: this.baseUrl,
12
+ timeout: TIMEOUTS.DEFAULT,
13
+ headers: {
14
+ Accept: 'application/json',
15
+ 'User-Agent': USER_AGENT
16
+ }
17
+ });
18
+ }
19
+ getCapabilities() {
20
+ return {
21
+ search: true,
22
+ download: false,
23
+ fullText: false,
24
+ citations: false,
25
+ requiresApiKey: false,
26
+ supportedOptions: ['maxResults', 'year', 'author', 'journal', 'venue']
27
+ };
28
+ }
29
+ async search(query, options = {}) {
30
+ try {
31
+ const params = {
32
+ term: query,
33
+ limit: Math.min(options.maxResults || 10, 100)
34
+ };
35
+ const response = await ErrorHandler.retryWithBackoff(() => this.client.get('/notes/search', { params }), { context: 'OpenReview note search' });
36
+ return (response.data.notes || [])
37
+ .map(note => this.parseNote(note))
38
+ .filter((paper) => Boolean(paper))
39
+ .filter(paper => this.matchesOptions(paper, options))
40
+ .slice(0, options.maxResults || 10);
41
+ }
42
+ catch (error) {
43
+ this.handleHttpError(error, 'search');
44
+ }
45
+ }
46
+ async downloadPdf(_paperId, _options = {}) {
47
+ throw new Error('OpenReview search returns PDF URLs but does not download files directly.');
48
+ }
49
+ async readPaper(_paperId, _options = {}) {
50
+ throw new Error('OpenReview full-text parsing is not supported by this searcher.');
51
+ }
52
+ parseNote(note) {
53
+ const content = note.content || {};
54
+ const title = this.asString(this.contentValue(content, 'title'));
55
+ if (!title)
56
+ return null;
57
+ const authors = this.asStringArray(this.contentValue(content, 'authors'));
58
+ const authorIds = this.asStringArray(this.contentValue(content, 'authorids'));
59
+ const abstract = this.asString(this.contentValue(content, 'abstract'));
60
+ const venue = this.asString(this.contentValue(content, 'venue')) || this.asString(this.contentValue(content, 'venueid'));
61
+ const pdfValue = this.asString(this.contentValue(content, 'pdf'));
62
+ const htmlValue = this.asString(this.contentValue(content, 'html'));
63
+ const doi = this.extractDoi(htmlValue) || this.extractDoi(this.asString(this.contentValue(content, 'doi')));
64
+ const timestamp = note.pdate || note.cdate || note.tcdate || note.tmdate;
65
+ const publishedDate = timestamp ? new Date(timestamp) : null;
66
+ const year = publishedDate?.getFullYear();
67
+ const url = note.forum || note.id ? `https://openreview.net/forum?id=${note.forum || note.id}` : htmlValue;
68
+ return PaperFactory.create({
69
+ paperId: note.id || note.forum || title,
70
+ title: this.cleanText(title),
71
+ authors,
72
+ abstract: this.cleanText(abstract),
73
+ doi,
74
+ publishedDate,
75
+ pdfUrl: this.resolveOpenReviewUrl(pdfValue),
76
+ url,
77
+ source: 'openreview',
78
+ journal: venue || undefined,
79
+ year,
80
+ extra: {
81
+ forum: note.forum || '',
82
+ invitation: note.invitation || note.invitations?.[0] || '',
83
+ domain: note.domain || '',
84
+ signatures: note.signatures || [],
85
+ authorIds,
86
+ html: htmlValue
87
+ }
88
+ });
89
+ }
90
+ matchesOptions(paper, options) {
91
+ if (options.year && paper.year && !this.yearMatches(paper.year, options.year))
92
+ return false;
93
+ if (options.author && !paper.authors.some(author => author.toLowerCase().includes(options.author.toLowerCase())))
94
+ return false;
95
+ const venue = options.venue || options.journal;
96
+ if (venue && !(paper.journal || '').toLowerCase().includes(venue.toLowerCase()))
97
+ return false;
98
+ return true;
99
+ }
100
+ yearMatches(year, filter) {
101
+ const match = filter.match(/^(\d{4})(?:-(\d{4})?)?$/);
102
+ if (!match)
103
+ return true;
104
+ const start = Number(match[1]);
105
+ const end = match[2] ? Number(match[2]) : start;
106
+ return year >= start && year <= end;
107
+ }
108
+ contentValue(content, key) {
109
+ const value = content[key];
110
+ if (value && typeof value === 'object' && !Array.isArray(value) && 'value' in value) {
111
+ return value.value;
112
+ }
113
+ return value;
114
+ }
115
+ asString(value) {
116
+ if (typeof value === 'string')
117
+ return value;
118
+ if (typeof value === 'number')
119
+ return String(value);
120
+ return '';
121
+ }
122
+ asStringArray(value) {
123
+ if (Array.isArray(value)) {
124
+ return value.map(item => this.asString(item)).filter(Boolean);
125
+ }
126
+ const single = this.asString(value);
127
+ return single ? [single] : [];
128
+ }
129
+ resolveOpenReviewUrl(value) {
130
+ if (!value)
131
+ return '';
132
+ if (/^https?:\/\//i.test(value))
133
+ return value;
134
+ return `https://openreview.net${value.startsWith('/') ? value : `/${value}`}`;
135
+ }
136
+ extractDoi(value) {
137
+ const match = value.match(/10\.\d{4,9}\/[^\s"'<>]+/i);
138
+ return match ? match[0].replace(/[).,;]+$/, '') : '';
139
+ }
140
+ }
141
+ //# sourceMappingURL=OpenReviewSearcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenReviewSearcher.js","sourceRoot":"","sources":["../../src/platforms/OpenReviewSearcher.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export interface SearchOptions {
13
13
  author?: string;
14
14
  /** 期刊过滤 */
15
15
  journal?: string;
16
+ /** 会议或平台 venue 过滤 */
17
+ venue?: string;
16
18
  /** 学科分类过滤 */
17
19
  category?: string;
18
20
  /** 排序方式 */
@@ -37,6 +39,10 @@ export interface SearchOptions {
37
39
  documentType?: 'ar' | 'cp' | 're' | 'bk' | 'ch';
38
40
  /** 出版物类型 (PubMed) */
39
41
  publicationType?: string[];
42
+ /** 文章标题过滤 (IEEE Xplore) */
43
+ articleTitle?: string;
44
+ /** 起始记录位置 (IEEE Xplore) */
45
+ startRecord?: number;
40
46
  }
41
47
  export interface DownloadOptions {
42
48
  /** 保存路径 */
@@ -1 +1 @@
1
- {"version":3,"file":"PaperSource.d.ts","sourceRoot":"","sources":["../../src/platforms/PaperSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaperSource.d.ts","sourceRoot":"","sources":["../../src/platforms/PaperSource.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaperSource.js","sourceRoot":"","sources":["../../src/platforms/PaperSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaperSource.js","sourceRoot":"","sources":["../../src/platforms/PaperSource.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PubMedSearcher.d.ts","sourceRoot":"","sources":["../../src/platforms/PubMedSearcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,KAAK,EAAgB,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAMrG,UAAU,mBAAoB,SAAQ,aAAa;IACjD,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AA2GD,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,CAAC,EAAE,MAAM;IAa3B,eAAe,IAAI,oBAAoB;IAWvC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA0BhF;;OAEG;YACW,WAAW;IA+CzB;;OAEG;YACW,iBAAiB;IAmC/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwCxB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+D1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAiBlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAW9E;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5E;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAUzD;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAUvD;;OAEG;IACH,oBAAoB;;;;;;IAIpB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAiBzC"}
1
+ {"version":3,"file":"PubMedSearcher.d.ts","sourceRoot":"","sources":["../../src/platforms/PubMedSearcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,KAAK,EAAgB,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAMrG,UAAU,mBAAoB,SAAQ,aAAa;IACjD,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AA2GD,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,MAAM,CAAC,EAAE,MAAM;IAa3B,eAAe,IAAI,oBAAoB;IAWvC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA0BhF;;OAEG;YACW,WAAW;IA+CzB;;OAEG;YACW,iBAAiB;IAmC/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwCxB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;YACW,gBAAgB;IAyB9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+D1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAiBlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAW9E;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5E;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAUzD;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAUvD;;OAEG;IACH,oBAAoB;;;;;;IAIpB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAiBzC"}
@@ -179,6 +179,14 @@ export class PubMedSearcher extends PaperSource {
179
179
  * 解析XML响应
180
180
  */
181
181
  async parseXmlResponse(xmlData) {
182
+ const trimmed = (xmlData || '').trim();
183
+ if (!trimmed) {
184
+ throw new Error('Empty XML response received from PubMed');
185
+ }
186
+ if (!trimmed.startsWith('<')) {
187
+ const preview = trimmed.slice(0, 120).replace(/\s+/g, ' ');
188
+ throw new Error(`Invalid XML response received (expected markup, got: "${preview}...")`);
189
+ }
182
190
  const parser = new xml2js.Parser({
183
191
  explicitArray: false, // 简化数组处理
184
192
  mergeAttrs: false,