papersearch 0.4.2 → 0.4.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.
- package/README.en.md +292 -0
- package/README.md +203 -125
- package/carsi/README.md +8 -2
- package/carsi/paper_search_carsi/__init__.py +1 -4
- package/carsi/paper_search_carsi/adapters/__init__.py +1 -1
- package/carsi/paper_search_carsi/adapters/base.py +2 -0
- package/carsi/paper_search_carsi/adapters/frontiers/__init__.py +45 -0
- package/carsi/paper_search_carsi/adapters/mdpi/__init__.py +33 -1
- package/carsi/paper_search_carsi/adapters/platforms/figshare/__init__.py +185 -0
- package/carsi/paper_search_carsi/adapters/thieme/__init__.py +6 -5
- package/carsi/paper_search_carsi/browser/__init__.py +8 -1
- package/carsi/paper_search_carsi/browser/backend.py +23 -147
- package/carsi/paper_search_carsi/browser/challenge_interaction.py +137 -0
- package/carsi/paper_search_carsi/browser/challenges.py +57 -0
- package/carsi/paper_search_carsi/browser/engine.py +2 -2
- package/carsi/paper_search_carsi/browser/preview.py +44 -26
- package/carsi/paper_search_carsi/browser/profiles.py +161 -0
- package/carsi/paper_search_carsi/browser/watchdog.py +71 -14
- package/carsi/paper_search_carsi/download_diagnostics.py +1 -1
- package/carsi/paper_search_carsi/engine/batch.py +129 -68
- package/carsi/paper_search_carsi/engine/batch_access.py +8 -3
- package/carsi/paper_search_carsi/engine/batch_capture.py +53 -8
- package/carsi/paper_search_carsi/engine/batch_common.py +27 -14
- package/carsi/paper_search_carsi/engine/batch_diagnostics.py +20 -15
- package/carsi/paper_search_carsi/engine/batch_login.py +47 -27
- package/carsi/paper_search_carsi/engine/batch_runs.py +2 -7
- package/carsi/paper_search_carsi/engine/batch_waits.py +82 -42
- package/carsi/paper_search_carsi/engine/bridge.py +16 -8
- package/carsi/paper_search_carsi/engine/supplements.py +22 -3
- package/carsi/paper_search_carsi/log.py +13 -7
- package/carsi/paper_search_carsi/orchestrator.py +7 -1
- package/carsi/paper_search_carsi/progress_bar.py +39 -18
- package/carsi/paper_search_carsi/server.py +8 -1
- package/carsi/pyproject.toml +1 -1
- package/dist/capabilities/citation-expansion/schemas.d.ts +2 -2
- package/dist/capabilities/metadata-search/MultiSourceSearchService.d.ts.map +1 -1
- package/dist/capabilities/metadata-search/MultiSourceSearchService.js +17 -4
- package/dist/capabilities/metadata-search/MultiSourceSearchService.js.map +1 -1
- package/dist/capabilities/metadata-search/handler.d.ts.map +1 -1
- package/dist/capabilities/metadata-search/handler.js +6 -0
- package/dist/capabilities/metadata-search/handler.js.map +1 -1
- package/dist/capabilities/metadata-search/schemas.d.ts +3 -3
- package/dist/capabilities/metadata-search/schemas.d.ts.map +1 -1
- package/dist/capabilities/metadata-search/schemas.js +1 -0
- package/dist/capabilities/metadata-search/schemas.js.map +1 -1
- package/dist/capabilities/metadata-search/tools.js +1 -1
- package/dist/capabilities/metadata-search/tools.js.map +1 -1
- package/dist/capabilities/pdf-discovery/DownloadTier.d.ts +11 -0
- package/dist/capabilities/pdf-discovery/DownloadTier.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/OpenAccessFallbackService.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/OpenAccessFallbackService.js +31 -1
- package/dist/capabilities/pdf-discovery/OpenAccessFallbackService.js.map +1 -1
- package/dist/capabilities/pdf-discovery/arxiv.d.ts +4 -0
- package/dist/capabilities/pdf-discovery/arxiv.d.ts.map +1 -0
- package/dist/capabilities/pdf-discovery/arxiv.js +42 -0
- package/dist/capabilities/pdf-discovery/arxiv.js.map +1 -0
- package/dist/capabilities/pdf-discovery/batch.d.ts +1 -1
- package/dist/capabilities/pdf-discovery/batch.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/batch.js +56 -16
- package/dist/capabilities/pdf-discovery/batch.js.map +1 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiAttempt.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiAttempt.js +2 -0
- package/dist/capabilities/pdf-discovery/carsi/CarsiAttempt.js.map +1 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiMcpClient.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiMcpClient.js +3 -3
- package/dist/capabilities/pdf-discovery/carsi/CarsiMcpClient.js.map +1 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiReadiness.d.ts +2 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiReadiness.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiReadiness.js +3 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiReadiness.js.map +1 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiResultNormalizer.d.ts +1 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiResultNormalizer.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/carsi/CarsiResultNormalizer.js +4 -4
- package/dist/capabilities/pdf-discovery/carsi/CarsiResultNormalizer.js.map +1 -1
- package/dist/capabilities/pdf-discovery/carsi/types.d.ts +2 -0
- package/dist/capabilities/pdf-discovery/carsi/types.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/handler.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/handler.js +3 -2
- package/dist/capabilities/pdf-discovery/handler.js.map +1 -1
- package/dist/capabilities/pdf-discovery/oaHosts.d.ts +1 -1
- package/dist/capabilities/pdf-discovery/oaHosts.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/oaHosts.js +4 -4
- package/dist/capabilities/pdf-discovery/outputLayout.d.ts +29 -0
- package/dist/capabilities/pdf-discovery/outputLayout.d.ts.map +1 -0
- package/dist/capabilities/pdf-discovery/outputLayout.js +144 -0
- package/dist/capabilities/pdf-discovery/outputLayout.js.map +1 -0
- package/dist/capabilities/pdf-discovery/tiers/directPdfUrl.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/tiers/directPdfUrl.js +6 -0
- package/dist/capabilities/pdf-discovery/tiers/directPdfUrl.js.map +1 -1
- package/dist/capabilities/pdf-discovery/tiers/entitledAccess.d.ts +2 -1
- package/dist/capabilities/pdf-discovery/tiers/entitledAccess.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/tiers/entitledAccess.js +8 -1
- package/dist/capabilities/pdf-discovery/tiers/entitledAccess.js.map +1 -1
- package/dist/capabilities/pdf-discovery/tiers/preprint.d.ts +5 -0
- package/dist/capabilities/pdf-discovery/tiers/preprint.d.ts.map +1 -0
- package/dist/capabilities/pdf-discovery/tiers/preprint.js +80 -0
- package/dist/capabilities/pdf-discovery/tiers/preprint.js.map +1 -0
- package/dist/capabilities/pdf-discovery/tiers/primary.js +2 -0
- package/dist/capabilities/pdf-discovery/tiers/primary.js.map +1 -1
- package/dist/capabilities/pdf-discovery/tiers/unpaywall.d.ts.map +1 -1
- package/dist/capabilities/pdf-discovery/tiers/unpaywall.js +12 -3
- package/dist/capabilities/pdf-discovery/tiers/unpaywall.js.map +1 -1
- package/dist/capabilities/pdf-discovery/types.d.ts +6 -0
- package/dist/capabilities/pdf-discovery/types.d.ts.map +1 -1
- package/dist/core/handleToolCall.d.ts.map +1 -1
- package/dist/core/handleToolCall.js +12 -0
- package/dist/core/handleToolCall.js.map +1 -1
- package/dist/core/schemas.d.ts +26 -1
- package/dist/core/schemas.d.ts.map +1 -1
- package/dist/core/schemas.js +13 -0
- package/dist/core/schemas.js.map +1 -1
- package/dist/core/searchers.d.ts +2 -0
- package/dist/core/searchers.d.ts.map +1 -1
- package/dist/core/searchers.js.map +1 -1
- package/dist/core/tools.d.ts.map +1 -1
- package/dist/core/tools.js +30 -0
- package/dist/core/tools.js.map +1 -1
- package/dist/infrastructure/arxiv.d.ts +5 -0
- package/dist/infrastructure/arxiv.d.ts.map +1 -0
- package/dist/infrastructure/arxiv.js +36 -0
- package/dist/infrastructure/arxiv.js.map +1 -0
- package/dist/infrastructure/pdf/PdfDownload.d.ts +2 -0
- package/dist/infrastructure/pdf/PdfDownload.d.ts.map +1 -1
- package/dist/infrastructure/pdf/PdfDownload.js +14 -0
- package/dist/infrastructure/pdf/PdfDownload.js.map +1 -1
- package/dist/infrastructure/runlog/RunLedger.d.ts.map +1 -1
- package/dist/infrastructure/runlog/RunLedger.js +17 -1
- package/dist/infrastructure/runlog/RunLedger.js.map +1 -1
- package/dist/management/carsi/installer.d.ts +1 -1
- package/dist/platforms/ArxivSearcher.d.ts +62 -0
- package/dist/platforms/ArxivSearcher.d.ts.map +1 -0
- package/dist/platforms/ArxivSearcher.js +544 -0
- package/dist/platforms/ArxivSearcher.js.map +1 -0
- package/dist/platforms/SemanticScholarSearcher.d.ts.map +1 -1
- package/dist/platforms/SemanticScholarSearcher.js +4 -4
- package/dist/platforms/SemanticScholarSearcher.js.map +1 -1
- package/dist/registry/platformFactories.d.ts.map +1 -1
- package/dist/registry/platformFactories.js +2 -0
- package/dist/registry/platformFactories.js.map +1 -1
- package/dist/registry/platformMetadata.d.ts +1 -1
- package/dist/registry/platformMetadata.d.ts.map +1 -1
- package/dist/registry/platformMetadata.js +16 -0
- package/dist/registry/platformMetadata.js.map +1 -1
- package/package.json +2 -2
- package/skills/paper-search/SKILL.md +7 -4
- package/skills/paper-search/references/browser-download.md +7 -6
- package/skills/paper-search/references/capability-routing.md +4 -3
- package/skills/paper-search/references/cli-contract.md +10 -3
- package/skills/paper-search/references/publisher-support.md +6 -4
- package/skills/paper-search/references/troubleshooting.md +1 -1
- package/README.zh.md +0 -214
|
@@ -235,6 +235,7 @@ class ProgressWindow:
|
|
|
235
235
|
self._apply_backdrop()
|
|
236
236
|
self._fonts()
|
|
237
237
|
self._bind_mouse()
|
|
238
|
+
self._draw_bindings: list[tuple[str, str, str]] = []
|
|
238
239
|
self._finished_elapsed: float | None = None
|
|
239
240
|
self._finished_run: object = None
|
|
240
241
|
self._flash: tuple[str, float, str] | None = None # (text, until, doi)
|
|
@@ -304,7 +305,6 @@ class ProgressWindow:
|
|
|
304
305
|
self.f_count = tkfont.Font(family=ui, size=px(14), weight="bold")
|
|
305
306
|
self.f_body = tkfont.Font(family=ui, size=px(12))
|
|
306
307
|
self.f_small = tkfont.Font(family=ui, size=px(11))
|
|
307
|
-
self.f_gear = tkfont.Font(family=ui, size=px(15))
|
|
308
308
|
self.f_mono = tkfont.Font(family=mono, size=px(11))
|
|
309
309
|
|
|
310
310
|
def _anchor_x(self) -> int:
|
|
@@ -388,8 +388,18 @@ class ProgressWindow:
|
|
|
388
388
|
return [v for v in attention if isinstance(v, dict)]
|
|
389
389
|
return []
|
|
390
390
|
|
|
391
|
+
def _bind_draw(self, tag: str, event: str, callback: Any) -> None:
|
|
392
|
+
"""A binding owned by this frame, released before its items are deleted."""
|
|
393
|
+
command = self.canvas.tag_bind(tag, event, callback)
|
|
394
|
+
self._draw_bindings.append((tag, event, command))
|
|
395
|
+
|
|
391
396
|
def _draw(self, state: dict[str, Any] | None) -> None:
|
|
392
397
|
c, col, s = self.canvas, self.c, self.s
|
|
398
|
+
# Canvas.delete removes items, not tag_bind's registered Tcl/Python
|
|
399
|
+
# commands. Keep neither old state nor callbacks across the 500 ms redraws.
|
|
400
|
+
for tag, event, command in self._draw_bindings:
|
|
401
|
+
c.tag_unbind(tag, event, command)
|
|
402
|
+
self._draw_bindings.clear()
|
|
393
403
|
c.delete("all")
|
|
394
404
|
P = self.P
|
|
395
405
|
Wl = max(self.W, c.winfo_width())
|
|
@@ -521,24 +531,24 @@ class ProgressWindow:
|
|
|
521
531
|
self._pill(x, y6 - u(11), x + w, y6 + u(11), col["warn"] if pressed else col["track"], tags=(tag,))
|
|
522
532
|
fill = col["bg"] if pressed else (col["text"] if self._hover == key else col["btn"])
|
|
523
533
|
label_id = c.create_text(x + w / 2, y6, text=text, fill=fill, font=self.f_small, tags=(tag,))
|
|
524
|
-
|
|
534
|
+
self._bind_draw(tag, "<Button-1>", lambda e, k=key, d=current, s=state: (
|
|
525
535
|
self._stop(d, s) if k == "stop_batch" else self._decide(k, d, s)))
|
|
526
536
|
if not pressed:
|
|
527
|
-
|
|
528
|
-
|
|
537
|
+
self._bind_draw(tag, "<Enter>", lambda e, k=key, i=label_id: self._hover_button(k, i))
|
|
538
|
+
self._bind_draw(tag, "<Leave>", lambda e, i=label_id: self._hover_button("", i))
|
|
529
539
|
x += w + u(8)
|
|
530
540
|
# Problem report for the agent to review: a small flag icon, right-aligned.
|
|
531
541
|
c.create_text(Wl - P, y6, text="\u2691", fill=col["faint"], font=self.f_body,
|
|
532
542
|
anchor="e", tags=("report",))
|
|
533
|
-
|
|
543
|
+
self._bind_draw("report", "<Button-1>", lambda e, d=current, s=state: self._report_menu(e, d, s))
|
|
534
544
|
|
|
535
545
|
output_dir = str(state.get("output_dir") or "")
|
|
536
546
|
if output_dir:
|
|
537
547
|
link = c.create_text(Wl - P, y5, text="打开文件夹", fill=col["link"], font=self.f_small,
|
|
538
548
|
anchor="e", tags=("outdir",))
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
549
|
+
self._bind_draw("outdir", "<Button-1>", lambda e: self._open_output_dir(state))
|
|
550
|
+
self._bind_draw("outdir", "<Enter>", lambda e: c.itemconfigure(link, font=self._underlined()))
|
|
551
|
+
self._bind_draw("outdir", "<Leave>", lambda e: c.itemconfigure(link, font=self.f_small))
|
|
542
552
|
|
|
543
553
|
def _decide(self, action: str, doi: str, state: dict[str, Any]) -> None:
|
|
544
554
|
"""Ask the running download to apply the user's entitlement decision."""
|
|
@@ -566,16 +576,27 @@ class ProgressWindow:
|
|
|
566
576
|
self._decide("stop_batch", doi, state)
|
|
567
577
|
|
|
568
578
|
def _draw_gear(self, right: int, y: int) -> int:
|
|
569
|
-
"""
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
+
"""Round settings button with a small, font-independent gear."""
|
|
580
|
+
import math
|
|
581
|
+
|
|
582
|
+
c, col, s = self.canvas, self.c, self.s
|
|
583
|
+
d = 17.6 * s
|
|
584
|
+
x0, cx = right - d, right - d / 2
|
|
585
|
+
c.create_oval(x0, y - d / 2, right, y + d / 2,
|
|
586
|
+
fill=col["track"], outline=col["track"], tags=("settings",))
|
|
587
|
+
# 11.2 px = 70% of the previous 16 px icon. Angular teeth keep the
|
|
588
|
+
# original gear appearance without platform-specific font rendering.
|
|
589
|
+
points = []
|
|
590
|
+
for tooth in range(8):
|
|
591
|
+
for offset, radius in ((-0.5, 4.1), (-0.28, 5.6), (0.28, 5.6), (0.5, 4.1)):
|
|
592
|
+
angle = (tooth + offset) * math.pi / 4
|
|
593
|
+
points.extend((cx + radius * s * math.cos(angle), y + radius * s * math.sin(angle)))
|
|
594
|
+
gear = c.create_polygon(*points, fill=col["btn"], outline="", tags=("settings",))
|
|
595
|
+
r = 2.1 * s
|
|
596
|
+
c.create_oval(cx - r, y - r, cx + r, y + r, fill=col["track"], outline="", tags=("settings",))
|
|
597
|
+
self._bind_draw("settings", "<Button-1>", lambda e: self._open_settings())
|
|
598
|
+
self._bind_draw("settings", "<Enter>", lambda e: c.itemconfigure(gear, fill=col["text"]))
|
|
599
|
+
self._bind_draw("settings", "<Leave>", lambda e: c.itemconfigure(gear, fill=col["btn"]))
|
|
579
600
|
return x0
|
|
580
601
|
|
|
581
602
|
def _open_settings(self) -> None:
|
|
@@ -64,6 +64,7 @@ def carsi_download(
|
|
|
64
64
|
batch_failed: int | None = None,
|
|
65
65
|
supplements: str | None = None,
|
|
66
66
|
user_wait: str | None = None,
|
|
67
|
+
diagnostics_dir: str | None = None,
|
|
67
68
|
) -> str:
|
|
68
69
|
"""Synchronous download entry; ``download`` is module-level so tests can stub it.
|
|
69
70
|
|
|
@@ -79,6 +80,8 @@ def carsi_download(
|
|
|
79
80
|
kwargs = {"supplements": supplements} if supplements in ("with", "only") else {}
|
|
80
81
|
if user_wait == "short":
|
|
81
82
|
kwargs["user_wait"] = user_wait
|
|
83
|
+
if diagnostics_dir:
|
|
84
|
+
kwargs["diagnostics_dir"] = diagnostics_dir
|
|
82
85
|
result = download(identifier, output_dir, strategy=strategy, **kwargs)
|
|
83
86
|
outcome["result"] = result
|
|
84
87
|
if not result.get("success"):
|
|
@@ -113,6 +116,7 @@ async def _carsi_download_with_progress(
|
|
|
113
116
|
batch_failed: int | None = None,
|
|
114
117
|
supplements: Literal["with", "only"] | None = None,
|
|
115
118
|
user_wait: Literal["short"] | None = None,
|
|
119
|
+
diagnostics_dir: str | None = None,
|
|
116
120
|
ctx: Context = None,
|
|
117
121
|
) -> str:
|
|
118
122
|
"""Download one paper by DOI through institutional access only.
|
|
@@ -129,6 +133,9 @@ async def _carsi_download_with_progress(
|
|
|
129
133
|
(``<output_dir>/<DOI>_supplements/``, listed in the result's ``supplements``); "only"
|
|
130
134
|
downloads just those, for an article whose main text is already at hand.
|
|
131
135
|
|
|
136
|
+
diagnostics_dir: optional separate directory for browser records, screenshots and
|
|
137
|
+
attachment manifests. When set, attachments go in output_dir/supplements/.
|
|
138
|
+
|
|
132
139
|
user_wait: "short" when the user seems away (an earlier article of the batch waited on them
|
|
133
140
|
until its time was up): each wait on the user (school login, human verification) lasts at
|
|
134
141
|
most 60 s, unless someone starts typing on the login page.
|
|
@@ -140,7 +147,7 @@ async def _carsi_download_with_progress(
|
|
|
140
147
|
use_vpnsci, bibtex, strategy, batch_id=batch_id, batch_index=batch_index,
|
|
141
148
|
batch_total=batch_total, batch_done=batch_done,
|
|
142
149
|
batch_succeeded=batch_succeeded, batch_failed=batch_failed,
|
|
143
|
-
supplements=supplements, user_wait=user_wait)
|
|
150
|
+
supplements=supplements, user_wait=user_wait, diagnostics_dir=diagnostics_dir)
|
|
144
151
|
)
|
|
145
152
|
|
|
146
153
|
|
package/carsi/pyproject.toml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "paper-search-carsi"
|
|
3
3
|
version = "0.1.0"
|
|
4
|
-
description = "Institutional (publisher-authorized) PDF download backend for PaperSearch
|
|
4
|
+
description = "Institutional (publisher-authorized) PDF and supplementary-file download backend for PaperSearch"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11"
|
|
7
7
|
license = { file = "LICENSE" }
|
|
@@ -12,8 +12,8 @@ export declare const CitationLookupSchema: z.ZodEffects<z.ZodObject<{
|
|
|
12
12
|
}, {
|
|
13
13
|
paperId?: string | undefined;
|
|
14
14
|
doi?: string | undefined;
|
|
15
|
-
limit?: number | undefined;
|
|
16
15
|
arxivId?: string | undefined;
|
|
16
|
+
limit?: number | undefined;
|
|
17
17
|
}>, {
|
|
18
18
|
limit: number;
|
|
19
19
|
paperId?: string | undefined;
|
|
@@ -22,7 +22,7 @@ export declare const CitationLookupSchema: z.ZodEffects<z.ZodObject<{
|
|
|
22
22
|
}, {
|
|
23
23
|
paperId?: string | undefined;
|
|
24
24
|
doi?: string | undefined;
|
|
25
|
-
limit?: number | undefined;
|
|
26
25
|
arxivId?: string | undefined;
|
|
26
|
+
limit?: number | undefined;
|
|
27
27
|
}>;
|
|
28
28
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSourceSearchService.d.ts","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/MultiSourceSearchService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAe,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAS5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAK1D,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAiB3F;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,eAAe,GAAE,MAA6B,GAC7C,OAAO,CAAC,uBAAuB,CAAC,CA8ClC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"MultiSourceSearchService.d.ts","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/MultiSourceSearchService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAe,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAS5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAK1D,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAiB3F;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,eAAe,GAAE,MAA6B,GAC7C,OAAO,CAAC,uBAAuB,CAAC,CA8ClC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAsBrD"}
|
|
@@ -57,14 +57,25 @@ export async function searchMultipleSources(searchers, query, sources, options,
|
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
59
|
export function dedupePapers(papers) {
|
|
60
|
-
const
|
|
60
|
+
const positions = new Map();
|
|
61
61
|
const out = [];
|
|
62
|
+
const preprint = (paper) => paper.source === 'arxiv' || /^10\.48550\/arxiv\./i.test(paper.doi);
|
|
62
63
|
for (const paper of papers) {
|
|
63
64
|
const key = paperKey(paper);
|
|
64
|
-
|
|
65
|
+
const index = positions.get(key);
|
|
66
|
+
if (index === undefined) {
|
|
67
|
+
positions.set(key, out.length);
|
|
68
|
+
out.push(paper);
|
|
65
69
|
continue;
|
|
66
|
-
|
|
67
|
-
out
|
|
70
|
+
}
|
|
71
|
+
const previous = out[index];
|
|
72
|
+
// A known shared DOI links these versions; title resemblance alone does not.
|
|
73
|
+
if (preprint(previous) !== preprint(paper)) {
|
|
74
|
+
const formal = preprint(previous) ? paper : previous;
|
|
75
|
+
const early = preprint(previous) ? previous : paper;
|
|
76
|
+
out[index] = { ...formal, extra: { ...formal.extra,
|
|
77
|
+
arxivId: early.extra?.arxivId || early.paperId, preprintUrl: early.pdfUrl } };
|
|
78
|
+
}
|
|
68
79
|
}
|
|
69
80
|
return out;
|
|
70
81
|
}
|
|
@@ -74,6 +85,8 @@ function paperKey(paper) {
|
|
|
74
85
|
return `doi:${doi}`;
|
|
75
86
|
const title = (paper.title || '').trim().toLowerCase();
|
|
76
87
|
const authors = (paper.authors || []).join(';').trim().toLowerCase();
|
|
88
|
+
if (paper.source === 'arxiv')
|
|
89
|
+
return `arxiv:${paper.paperId.replace(/v\d+$/, '')}`;
|
|
77
90
|
if (title)
|
|
78
91
|
return `title:${title}|authors:${authors}`;
|
|
79
92
|
return `id:${paper.source || 'unknown'}:${paper.paperId || 'unknown'}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSourceSearchService.js","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/MultiSourceSearchService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MultiSourceSearchService.js","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/MultiSourceSearchService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAwCzD,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS;;;;;GAkB1F;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS;;;;;GAiDvE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,SAAS,EAAE,SAAS;;;;;GA6FtG"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { normalizeArxivId } from '../../infrastructure/arxiv.js';
|
|
1
2
|
import { TIMEOUTS } from '../../config/constants.js';
|
|
2
3
|
import { PaperFactory } from '../../models/Paper.js';
|
|
3
4
|
import { logDebug } from '../../utils/Logger.js';
|
|
@@ -21,6 +22,11 @@ function normalizeDoi(value) {
|
|
|
21
22
|
.toLowerCase();
|
|
22
23
|
}
|
|
23
24
|
function paperMatchesDoi(paper, doi) {
|
|
25
|
+
const id = normalizeArxivId(doi);
|
|
26
|
+
if (id && paper.source === 'arxiv') {
|
|
27
|
+
const found = normalizeArxivId(paper.paperId);
|
|
28
|
+
return !!found && (/v\d+$/.test(id) ? found === id : found.replace(/v\d+$/, '') === id);
|
|
29
|
+
}
|
|
24
30
|
return normalizeDoi(paper.doi || '') === normalizeDoi(doi);
|
|
25
31
|
}
|
|
26
32
|
export async function handleGenericSearch(platform, args, searchers) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,12 +72,12 @@ export declare const SearchPapersSchema: z.ZodEffects<z.ZodObject<{
|
|
|
72
72
|
}>;
|
|
73
73
|
export declare const GetPaperByDoiSchema: z.ZodObject<{
|
|
74
74
|
doi: z.ZodString;
|
|
75
|
-
platform: z.ZodDefault<z.ZodOptional<z.ZodEnum<["webofscience", "pubmed", "crossref", "openalex", "unpaywall", "pmc", "europepmc", "core", "all"]>>>;
|
|
75
|
+
platform: z.ZodDefault<z.ZodOptional<z.ZodEnum<["arxiv", "webofscience", "pubmed", "crossref", "openalex", "unpaywall", "pmc", "europepmc", "core", "all"]>>>;
|
|
76
76
|
}, "strip", z.ZodTypeAny, {
|
|
77
77
|
doi: string;
|
|
78
|
-
platform: "webofscience" | "pubmed" | "core" | "crossref" | "openalex" | "unpaywall" | "pmc" | "europepmc" | "all";
|
|
78
|
+
platform: "arxiv" | "webofscience" | "pubmed" | "core" | "crossref" | "openalex" | "unpaywall" | "pmc" | "europepmc" | "all";
|
|
79
79
|
}, {
|
|
80
80
|
doi: string;
|
|
81
|
-
platform?: "webofscience" | "pubmed" | "core" | "crossref" | "openalex" | "unpaywall" | "pmc" | "europepmc" | "all" | undefined;
|
|
81
|
+
platform?: "arxiv" | "webofscience" | "pubmed" | "core" | "crossref" | "openalex" | "unpaywall" | "pmc" | "europepmc" | "all" | undefined;
|
|
82
82
|
}>;
|
|
83
83
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmC3B,CAAC;AAEL,eAAO,MAAM,mBAAmB;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmC3B,CAAC;AAEL,eAAO,MAAM,mBAAmB;;;;;;;;;EAmBtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export const SEARCH_PAPERS_TOOL = {
|
|
|
13
13
|
},
|
|
14
14
|
sources: {
|
|
15
15
|
type: 'string',
|
|
16
|
-
description: 'Comma-separated source list for multi-source search. Use all for the broad registered set, or no-key (aliases: free, no_key) for Crossref, PubMed, Europe PMC, and OpenReview without user API keys. Failed or unconfigured sources are reported in failed_sources/errors. Example: crossref,openalex,pubmed,pmc'
|
|
16
|
+
description: 'Comma-separated source list for multi-source search. Use all for the broad registered set, or no-key (aliases: free, no_key) for Crossref, PubMed, Europe PMC, arXiv, and OpenReview without user API keys. Failed or unconfigured sources are reported in failed_sources/errors. Example: crossref,openalex,pubmed,pmc'
|
|
17
17
|
},
|
|
18
18
|
maxResults: {
|
|
19
19
|
type: 'number',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,6EAA6E;IAC1F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAC7D,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,sBAAsB,EAAE,KAAK,CAAC;gBACxC,WAAW,EACT,gGAAgG;aACnG;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/capabilities/metadata-search/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,6EAA6E;IAC1F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAC7D,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,sBAAsB,EAAE,KAAK,CAAC;gBACxC,WAAW,EACT,gGAAgG;aACnG;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,yTAAyT;aAC5T;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;gBACZ,WAAW,EAAE,qCAAqC;aACnD;YACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;YACzF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAC7D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAC/D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;YAC3G,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sDAAsD;aACpE;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wCAAwC;aACtD;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,gDAAgD;aAC9D;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBACxC,WAAW,EAAE,+CAA+C;aAC7D;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,WAAW,EAAE,qCAAqC;aACnD;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,+DAA+D;IAC5E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC/C;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC;gBACxG,WAAW,EAAE,oBAAoB;aAClC;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC"}
|
|
@@ -6,6 +6,12 @@ export interface DownloadTier {
|
|
|
6
6
|
run(context: DownloadTierContext): Promise<DownloadTierResult>;
|
|
7
7
|
}
|
|
8
8
|
export interface DownloadTierContext {
|
|
9
|
+
arxivId?: string;
|
|
10
|
+
arxivPaper?: import('../../models/Paper.js').Paper;
|
|
11
|
+
arxivOnly?: boolean;
|
|
12
|
+
arxivConflict?: boolean;
|
|
13
|
+
arxivLookupError?: string;
|
|
14
|
+
preprintIds?: string[];
|
|
9
15
|
/** Set once the funnel has asked Crossref for a missing title. */
|
|
10
16
|
titleLookedUp?: boolean;
|
|
11
17
|
searchers: Searchers;
|
|
@@ -14,6 +20,8 @@ export interface DownloadTierContext {
|
|
|
14
20
|
doi?: string;
|
|
15
21
|
title?: string;
|
|
16
22
|
savePath: string;
|
|
23
|
+
diagnosticsDir?: string;
|
|
24
|
+
outputMetadata?: import("./outputLayout.js").OutputMetadata;
|
|
17
25
|
useEntitledAccess: boolean;
|
|
18
26
|
useSciHub: boolean;
|
|
19
27
|
batch?: DownloadBatchPosition;
|
|
@@ -22,6 +30,9 @@ export interface DownloadTierContext {
|
|
|
22
30
|
shortUserWait?: boolean;
|
|
23
31
|
}
|
|
24
32
|
export interface DownloadTierResult {
|
|
33
|
+
version?: "preprint";
|
|
34
|
+
arxivId?: string;
|
|
35
|
+
publishedDoi?: string;
|
|
25
36
|
status: "ok" | "error" | "skipped";
|
|
26
37
|
path?: string;
|
|
27
38
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadTier.d.ts","sourceRoot":"","sources":["../../../src/capabilities/pdf-discovery/DownloadTier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAC5B,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAChC"}
|
|
1
|
+
{"version":3,"file":"DownloadTier.d.ts","sourceRoot":"","sources":["../../../src/capabilities/pdf-discovery/DownloadTier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,uBAAuB,EAAE,KAAK,CAAC;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,mBAAmB,EAAE,cAAc,CAAC;IAC5D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAC5B,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAccessFallbackService.d.ts","sourceRoot":"","sources":["../../../src/capabilities/pdf-discovery/OpenAccessFallbackService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenAccessFallbackService.d.ts","sourceRoot":"","sources":["../../../src/capabilities/pdf-discovery/OpenAccessFallbackService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAGpG,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AASrD,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,wBAAgB,0BAA0B,CACxC,YAAY,CAAC,EAAE,YAAY,GAC1B,YAAY,EAAE,CAWhB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,YAAY,EAAE,EACrB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,YAAY,GACjB,YAAY,EAAE,CAIhB;AAED,MAAM,WAAW,sBAAsB;IACrC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAyBD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,2BAA2B,EACpC,KAAK,GAAE,YAAY,EAAiC,EACpD,MAAM,GAAE,sBAA2B,EACnC,cAAc,GAAE,gBAAoC,GACnD,OAAO,CAAC,0BAA0B,CAAC,CAmGrC;AAKD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,KACX,OAAO,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { createOutputLayout, lookupOutputMetadata, organizeFiles } from "./outputLayout.js";
|
|
2
|
+
import { prepareArxiv } from "./arxiv.js";
|
|
3
|
+
import { createPreprintTier } from "./tiers/preprint.js";
|
|
1
4
|
import { TIMEOUTS } from "../../config/constants.js";
|
|
2
5
|
import { unlinkSync } from "node:fs";
|
|
3
6
|
import { verifyPdfIdentity } from "../../infrastructure/pdf/PdfIdentity.js";
|
|
@@ -19,6 +22,7 @@ export function createDefaultDownloadTiers(carsiBackend) {
|
|
|
19
22
|
createPublisherApiTier(),
|
|
20
23
|
createSciHubTier(),
|
|
21
24
|
createEntitledAccessTier(carsiBackend),
|
|
25
|
+
createPreprintTier(),
|
|
22
26
|
];
|
|
23
27
|
}
|
|
24
28
|
export function insertDownloadTierBefore(tiers, beforeStage, tier) {
|
|
@@ -54,6 +58,7 @@ export async function downloadWithFallback(searchers, options, tiers = createDef
|
|
|
54
58
|
const reviewPaths = [];
|
|
55
59
|
const context = {
|
|
56
60
|
searchers,
|
|
61
|
+
preprintIds: options.preprintIds || [],
|
|
57
62
|
source: normalizeSource(options.source),
|
|
58
63
|
paperId: options.paperId,
|
|
59
64
|
doi: options.doi,
|
|
@@ -66,6 +71,13 @@ export async function downloadWithFallback(searchers, options, tiers = createDef
|
|
|
66
71
|
...(options.shortUserWait ? { shortUserWait: true } : {}),
|
|
67
72
|
};
|
|
68
73
|
let supplements;
|
|
74
|
+
await prepareArxiv(context);
|
|
75
|
+
context.outputMetadata = context.arxivOnly ? context.arxivPaper || {} : await lookupOutputMetadata(searchers, context.doi ? "crossref" : context.source, context.doi || context.paperId);
|
|
76
|
+
context.title ||= context.outputMetadata.title;
|
|
77
|
+
context.titleLookedUp = true;
|
|
78
|
+
const layout = createOutputLayout(savePath, context.doi || context.paperId, { ...context.outputMetadata, title: context.title }, !!context.arxivOnly);
|
|
79
|
+
context.savePath = layout.paperDir;
|
|
80
|
+
context.diagnosticsDir = layout.diagnosticsDir;
|
|
69
81
|
for (const tier of tiers) {
|
|
70
82
|
const startedAt = Date.now();
|
|
71
83
|
let result;
|
|
@@ -76,7 +88,11 @@ export async function downloadWithFallback(searchers, options, tiers = createDef
|
|
|
76
88
|
await fillTitle(context, doi);
|
|
77
89
|
}
|
|
78
90
|
try {
|
|
79
|
-
result =
|
|
91
|
+
result = context.arxivOnly && tier.stage !== "preprint"
|
|
92
|
+
? { status: "skipped", message: context.arxivLookupError
|
|
93
|
+
? "arXiv publication metadata unavailable; published DOI could not be resolved."
|
|
94
|
+
: "No published DOI is linked to this arXiv identifier." }
|
|
95
|
+
: await runStage(tier, context, stageTimeoutMs);
|
|
80
96
|
}
|
|
81
97
|
catch (error) {
|
|
82
98
|
notifyStage(options, tier.stage, startedAt, {
|
|
@@ -87,6 +103,16 @@ export async function downloadWithFallback(searchers, options, tiers = createDef
|
|
|
87
103
|
throw error;
|
|
88
104
|
}
|
|
89
105
|
result = await identityGate(result, context, verifyIdentity);
|
|
106
|
+
try {
|
|
107
|
+
const destination = result.version === "preprint"
|
|
108
|
+
? createOutputLayout(savePath, `arxiv:${result.arxivId}`, context.arxivPaper || {}, true) : layout;
|
|
109
|
+
organizeFiles(result, destination, context.savePath);
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
// Keep the retrieved file and report a concrete filing failure.
|
|
113
|
+
attempts.push({ stage: "output_layout", status: "error", code: "output_layout_failed",
|
|
114
|
+
message: `File organization failed (${error instanceof Error ? error.name : "Error"}); use the returned file paths.` });
|
|
115
|
+
}
|
|
90
116
|
notifyStage(options, tier.stage, startedAt, result);
|
|
91
117
|
attempts.push({
|
|
92
118
|
stage: tier.stage,
|
|
@@ -101,11 +127,15 @@ export async function downloadWithFallback(searchers, options, tiers = createDef
|
|
|
101
127
|
}
|
|
102
128
|
if (result.supplements?.length)
|
|
103
129
|
supplements = result.supplements;
|
|
130
|
+
if (["batch_stopped", "user_skipped"].includes(result.code || ""))
|
|
131
|
+
break;
|
|
104
132
|
if (result.status === "ok" && result.path) {
|
|
105
133
|
discardReviews(reviewPaths, result.path);
|
|
106
134
|
return {
|
|
107
135
|
status: "ok",
|
|
108
136
|
path: result.path,
|
|
137
|
+
...(result.version ? { version: result.version, arxivId: result.arxivId } : {}),
|
|
138
|
+
...(result.publishedDoi || context.arxivId && context.doi ? { publishedDoi: result.publishedDoi || context.doi } : {}),
|
|
109
139
|
...(result.format && result.format !== "pdf"
|
|
110
140
|
? { format: result.format }
|
|
111
141
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAccessFallbackService.js","sourceRoot":"","sources":["../../../src/capabilities/pdf-discovery/OpenAccessFallbackService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenAccessFallbackService.js","sourceRoot":"","sources":["../../../src/capabilities/pdf-discovery/OpenAccessFallbackService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arxiv.d.ts","sourceRoot":"","sources":["../../../src/capabilities/pdf-discovery/arxiv.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,oFAAoF;AACpF,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC9E"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { normalizeArxivId, publishedDoi } from '../../infrastructure/arxiv.js';
|
|
2
|
+
import { sanitizeDoi, withTimeout } from '../../infrastructure/security/SecurityUtils.js';
|
|
3
|
+
/** Resolve an arXiv input to its explicitly linked published DOI before any PDF. */
|
|
4
|
+
export async function prepareArxiv(context) {
|
|
5
|
+
const id = normalizeArxivId(context.paperId) || normalizeArxivId(context.doi);
|
|
6
|
+
if (!id) {
|
|
7
|
+
if (!context.doi)
|
|
8
|
+
context.doi = publishedDoi(context.paperId) ? sanitizeDoi(context.paperId).sanitized : undefined;
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
context.arxivId = id;
|
|
12
|
+
const givenDoi = publishedDoi(context.doi);
|
|
13
|
+
let paper = null;
|
|
14
|
+
try {
|
|
15
|
+
const searcher = context.searchers.arxiv;
|
|
16
|
+
if (searcher)
|
|
17
|
+
paper = await withTimeout(searcher.getPaperByDoi(id), 12_000, 'arXiv metadata lookup timed out');
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
context.arxivLookupError = error instanceof Error ? error.message : String(error);
|
|
21
|
+
}
|
|
22
|
+
const linkedDoi = publishedDoi(paper?.doi);
|
|
23
|
+
if (givenDoi && linkedDoi && givenDoi !== linkedDoi) {
|
|
24
|
+
// Conflicting supplied DOI: try that formal paper, but never silently use
|
|
25
|
+
// an unrelated preprint as its fallback.
|
|
26
|
+
context.arxivId = undefined;
|
|
27
|
+
context.arxivConflict = true;
|
|
28
|
+
}
|
|
29
|
+
context.arxivPaper = paper || undefined;
|
|
30
|
+
const doi = givenDoi || linkedDoi;
|
|
31
|
+
if (doi) {
|
|
32
|
+
context.doi = doi;
|
|
33
|
+
context.paperId = doi;
|
|
34
|
+
context.source = 'crossref';
|
|
35
|
+
context.title = undefined; // published and preprint titles can differ
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
context.doi = undefined;
|
|
39
|
+
context.arxivOnly = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=arxiv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arxiv.js","sourceRoot":"","sources":["../../../src/capabilities/pdf-discovery/arxiv.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAG1F,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC7D,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9E,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACnH,OAAO;IACT,CAAC;IACD,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAiB,IAAI,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;QACzC,IAAI,QAAQ;YAAE,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,iCAAiC,CAAC,CAAC;IACjH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,gBAAgB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpD,0EAA0E;QAC1E,yCAAyC;QACzC,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;QAC5B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,UAAU,GAAG,KAAK,IAAI,SAAS,CAAC;IACxC,MAAM,GAAG,GAAG,QAAQ,IAAI,SAAS,CAAC;IAClC,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;QAClB,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACtB,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;QAC5B,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,2CAA2C;IACxE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;QACxB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAC3B,CAAC;AACH,CAAC"}
|