@longtable/scholar-research 0.1.60 → 0.1.61
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/dist/protocol.js +0 -5
- package/dist/sources.js +0 -37
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -2
- package/package.json +1 -1
package/dist/protocol.js
CHANGED
|
@@ -40,11 +40,6 @@ const CONNECTORS = [
|
|
|
40
40
|
requiredEnv: [],
|
|
41
41
|
purpose: "Paper metadata, abstracts, citation counts, and open PDF hints."
|
|
42
42
|
},
|
|
43
|
-
{
|
|
44
|
-
name: "Unpaywall",
|
|
45
|
-
requiredEnv: ["LONGTABLE_CONTACT_EMAIL"],
|
|
46
|
-
purpose: "Open-access location discovery for DOI seeds."
|
|
47
|
-
},
|
|
48
43
|
{
|
|
49
44
|
name: "arXiv",
|
|
50
45
|
requiredEnv: [],
|
package/dist/sources.js
CHANGED
|
@@ -189,16 +189,6 @@ function getCapability(source, env) {
|
|
|
189
189
|
setupHint: "Set OPENALEX_API_KEY to enable reliable OpenAlex API use."
|
|
190
190
|
};
|
|
191
191
|
}
|
|
192
|
-
if (source === "unpaywall" && !env.LONGTABLE_CONTACT_EMAIL) {
|
|
193
|
-
return {
|
|
194
|
-
source,
|
|
195
|
-
enabled: false,
|
|
196
|
-
requiredEnv: ["LONGTABLE_CONTACT_EMAIL"],
|
|
197
|
-
missingEnv: ["LONGTABLE_CONTACT_EMAIL"],
|
|
198
|
-
reason: "Unpaywall route is disabled because LONGTABLE_CONTACT_EMAIL is missing.",
|
|
199
|
-
setupHint: "Set LONGTABLE_CONTACT_EMAIL so Unpaywall can receive the required email parameter."
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
192
|
return {
|
|
203
193
|
source,
|
|
204
194
|
enabled: true,
|
|
@@ -487,31 +477,6 @@ async function searchDoaj(request, context) {
|
|
|
487
477
|
});
|
|
488
478
|
return { source: "doaj", endpoint: url, cards };
|
|
489
479
|
}
|
|
490
|
-
async function searchUnpaywall(request, context) {
|
|
491
|
-
const url = endpoint("https://api.unpaywall.org/v2/search/", {
|
|
492
|
-
query: queryForSource(request.intent),
|
|
493
|
-
email: context.env.LONGTABLE_CONTACT_EMAIL
|
|
494
|
-
});
|
|
495
|
-
const payload = asRecord(await fetchJson(context, url));
|
|
496
|
-
const cards = asArray(payload.results).map((item) => {
|
|
497
|
-
const result = asRecord(item);
|
|
498
|
-
const response = asRecord(result.response);
|
|
499
|
-
const best = asRecord(response.best_oa_location);
|
|
500
|
-
return baseCard({
|
|
501
|
-
source: "unpaywall",
|
|
502
|
-
title: asString(response.title),
|
|
503
|
-
authors: [],
|
|
504
|
-
year: asNumber(response.year),
|
|
505
|
-
venue: asString(response.journal_name),
|
|
506
|
-
doi: asString(response.doi),
|
|
507
|
-
url: asString(response.doi_url),
|
|
508
|
-
sourceRecordId: asString(response.doi),
|
|
509
|
-
legalFullTextAvailable: Boolean(asString(best.url)),
|
|
510
|
-
fullTextUrl: asString(best.url)
|
|
511
|
-
});
|
|
512
|
-
});
|
|
513
|
-
return { source: "unpaywall", endpoint: url, cards };
|
|
514
|
-
}
|
|
515
480
|
export async function runSourceSearch(request, context) {
|
|
516
481
|
switch (request.source) {
|
|
517
482
|
case "crossref":
|
|
@@ -528,8 +493,6 @@ export async function runSourceSearch(request, context) {
|
|
|
528
493
|
return searchEric(request, context);
|
|
529
494
|
case "doaj":
|
|
530
495
|
return searchDoaj(request, context);
|
|
531
|
-
case "unpaywall":
|
|
532
|
-
return searchUnpaywall(request, context);
|
|
533
496
|
}
|
|
534
497
|
}
|
|
535
498
|
export function allSearchSources() {
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const SEARCH_SOURCES: readonly ["crossref", "arxiv", "openalex", "semantic_scholar", "pubmed", "eric", "doaj"
|
|
1
|
+
export declare const SEARCH_SOURCES: readonly ["crossref", "arxiv", "openalex", "semantic_scholar", "pubmed", "eric", "doaj"];
|
|
2
2
|
export type SearchSource = typeof SEARCH_SOURCES[number];
|
|
3
3
|
export declare const PUBLISHERS: readonly ["elsevier", "springer_nature", "wiley", "taylor_francis"];
|
|
4
4
|
export type Publisher = typeof PUBLISHERS[number];
|
package/dist/types.js
CHANGED
package/package.json
CHANGED