@longtable/scholar-research 0.1.60 → 0.1.62

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 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", "unpaywall"];
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
@@ -5,8 +5,7 @@ export const SEARCH_SOURCES = [
5
5
  "semantic_scholar",
6
6
  "pubmed",
7
7
  "eric",
8
- "doaj",
9
- "unpaywall"
8
+ "doaj"
10
9
  ];
11
10
  export const PUBLISHERS = [
12
11
  "elsevier",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longtable/scholar-research",
3
- "version": "0.1.60",
3
+ "version": "0.1.62",
4
4
  "private": false,
5
5
  "description": "LongTable scholarly evidence recovery, citation-slot research, and legal full-text readiness",
6
6
  "type": "module",