@zenalexa/unicli 0.221.0 → 0.222.0

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 (247) hide show
  1. package/AGENTS.md +12 -12
  2. package/README.md +40 -31
  3. package/README.zh-CN.md +37 -31
  4. package/crates/unicli-atspi/src/errors.rs +2 -2
  5. package/crates/unicli-uia/src/errors.rs +1 -1
  6. package/dist/adapters/acl-anthology/papers.d.ts +16 -0
  7. package/dist/adapters/acl-anthology/papers.d.ts.map +1 -0
  8. package/dist/adapters/acl-anthology/papers.js +135 -0
  9. package/dist/adapters/acl-anthology/papers.js.map +1 -0
  10. package/dist/adapters/arxiv/papers.js +2 -0
  11. package/dist/adapters/arxiv/papers.js.map +1 -1
  12. package/dist/adapters/baidu-scholar/search.js +5 -0
  13. package/dist/adapters/baidu-scholar/search.js.map +1 -1
  14. package/dist/adapters/crossref/works.d.ts +42 -0
  15. package/dist/adapters/crossref/works.d.ts.map +1 -0
  16. package/dist/adapters/crossref/works.js +157 -0
  17. package/dist/adapters/crossref/works.js.map +1 -0
  18. package/dist/adapters/cvf/papers.d.ts +17 -0
  19. package/dist/adapters/cvf/papers.d.ts.map +1 -0
  20. package/dist/adapters/cvf/papers.js +124 -0
  21. package/dist/adapters/cvf/papers.js.map +1 -0
  22. package/dist/adapters/dblp/publications.js +4 -0
  23. package/dist/adapters/dblp/publications.js.map +1 -1
  24. package/dist/adapters/google-scholar/cite.js +1 -0
  25. package/dist/adapters/google-scholar/cite.js.map +1 -1
  26. package/dist/adapters/google-scholar/profile.js +5 -0
  27. package/dist/adapters/google-scholar/profile.js.map +1 -1
  28. package/dist/adapters/google-scholar/search.js +5 -0
  29. package/dist/adapters/google-scholar/search.js.map +1 -1
  30. package/dist/adapters/hf/paper.js +1 -0
  31. package/dist/adapters/hf/paper.js.map +1 -1
  32. package/dist/adapters/neurips/proceedings.d.ts +17 -0
  33. package/dist/adapters/neurips/proceedings.d.ts.map +1 -0
  34. package/dist/adapters/neurips/proceedings.js +112 -0
  35. package/dist/adapters/neurips/proceedings.js.map +1 -0
  36. package/dist/adapters/openalex/works.d.ts.map +1 -1
  37. package/dist/adapters/openalex/works.js +32 -0
  38. package/dist/adapters/openalex/works.js.map +1 -1
  39. package/dist/adapters/openreview/papers.js +5 -0
  40. package/dist/adapters/openreview/papers.js.map +1 -1
  41. package/dist/adapters/pmlr/proceedings.d.ts +35 -0
  42. package/dist/adapters/pmlr/proceedings.d.ts.map +1 -0
  43. package/dist/adapters/pmlr/proceedings.js +139 -0
  44. package/dist/adapters/pmlr/proceedings.js.map +1 -0
  45. package/dist/adapters/pubmed/articles.js +5 -0
  46. package/dist/adapters/pubmed/articles.js.map +1 -1
  47. package/dist/adapters/semantic-scholar/papers.d.ts +36 -0
  48. package/dist/adapters/semantic-scholar/papers.d.ts.map +1 -0
  49. package/dist/adapters/semantic-scholar/papers.js +214 -0
  50. package/dist/adapters/semantic-scholar/papers.js.map +1 -0
  51. package/dist/adapters/unpaywall/works.d.ts +33 -0
  52. package/dist/adapters/unpaywall/works.d.ts.map +1 -0
  53. package/dist/adapters/unpaywall/works.js +101 -0
  54. package/dist/adapters/unpaywall/works.js.map +1 -0
  55. package/dist/cli.d.ts.map +1 -1
  56. package/dist/cli.js +15 -1
  57. package/dist/cli.js.map +1 -1
  58. package/dist/commands/compute.d.ts.map +1 -1
  59. package/dist/commands/compute.js +1 -1
  60. package/dist/commands/compute.js.map +1 -1
  61. package/dist/commands/do.d.ts +30 -0
  62. package/dist/commands/do.d.ts.map +1 -0
  63. package/dist/commands/do.js +248 -0
  64. package/dist/commands/do.js.map +1 -0
  65. package/dist/commands/doctor-compute.js +11 -7
  66. package/dist/commands/doctor-compute.js.map +1 -1
  67. package/dist/commands/extract.d.ts +34 -0
  68. package/dist/commands/extract.d.ts.map +1 -0
  69. package/dist/commands/extract.js +316 -0
  70. package/dist/commands/extract.js.map +1 -0
  71. package/dist/commands/lint.js +3 -3
  72. package/dist/commands/lint.js.map +1 -1
  73. package/dist/commands/migrate-schema.d.ts.map +1 -1
  74. package/dist/commands/migrate-schema.js +26 -22
  75. package/dist/commands/migrate-schema.js.map +1 -1
  76. package/dist/commands/scholar.d.ts +33 -0
  77. package/dist/commands/scholar.d.ts.map +1 -0
  78. package/dist/commands/scholar.js +494 -0
  79. package/dist/commands/scholar.js.map +1 -0
  80. package/dist/commands/search.d.ts.map +1 -1
  81. package/dist/commands/search.js +2 -5
  82. package/dist/commands/search.js.map +1 -1
  83. package/dist/discovery/aliases.d.ts +2 -2
  84. package/dist/discovery/aliases.d.ts.map +1 -1
  85. package/dist/discovery/aliases.js +182 -11
  86. package/dist/discovery/aliases.js.map +1 -1
  87. package/dist/discovery/intents.d.ts +10 -0
  88. package/dist/discovery/intents.d.ts.map +1 -0
  89. package/dist/discovery/intents.js +255 -0
  90. package/dist/discovery/intents.js.map +1 -0
  91. package/dist/discovery/loader.d.ts.map +1 -1
  92. package/dist/discovery/loader.js +47 -2
  93. package/dist/discovery/loader.js.map +1 -1
  94. package/dist/discovery/search.d.ts +4 -1
  95. package/dist/discovery/search.d.ts.map +1 -1
  96. package/dist/discovery/search.js +28 -140
  97. package/dist/discovery/search.js.map +1 -1
  98. package/dist/electron-apps.d.ts +1 -1
  99. package/dist/electron-apps.d.ts.map +1 -1
  100. package/dist/electron-apps.js +2 -2
  101. package/dist/electron-apps.js.map +1 -1
  102. package/dist/engine/executor.d.ts +1 -1
  103. package/dist/engine/executor.js +7 -7
  104. package/dist/engine/executor.js.map +1 -1
  105. package/dist/engine/repair/remedies.js +3 -3
  106. package/dist/engine/repair/remedies.js.map +1 -1
  107. package/dist/engine/steps/desktop-ax.d.ts +4 -0
  108. package/dist/engine/steps/desktop-ax.d.ts.map +1 -1
  109. package/dist/engine/steps/desktop-ax.js +8 -0
  110. package/dist/engine/steps/desktop-ax.js.map +1 -1
  111. package/dist/engine/steps/desktop-sidecar.d.ts +1 -1
  112. package/dist/engine/steps/desktop-sidecar.js +1 -1
  113. package/dist/engine/steps/index.d.ts +1 -1
  114. package/dist/engine/steps/index.d.ts.map +1 -1
  115. package/dist/engine/steps/index.js +1 -1
  116. package/dist/engine/steps/index.js.map +1 -1
  117. package/dist/engine/steps/visual.d.ts +47 -0
  118. package/dist/engine/steps/visual.d.ts.map +1 -0
  119. package/dist/engine/steps/visual.js +66 -0
  120. package/dist/engine/steps/visual.js.map +1 -0
  121. package/dist/engine/transport/mcp-browser.d.ts +1 -1
  122. package/dist/engine/transport/mcp-browser.js +1 -1
  123. package/dist/fast-path/handlers/discovery.d.ts.map +1 -1
  124. package/dist/fast-path/handlers/discovery.js +17 -3
  125. package/dist/fast-path/handlers/discovery.js.map +1 -1
  126. package/dist/manifest-compact.txt +13 -11
  127. package/dist/manifest-search.json +1 -1
  128. package/dist/manifest.json +529 -121
  129. package/dist/mcp/handler.d.ts.map +1 -1
  130. package/dist/mcp/handler.js +14 -2
  131. package/dist/mcp/handler.js.map +1 -1
  132. package/dist/mcp/tools.d.ts.map +1 -1
  133. package/dist/mcp/tools.js +11 -3
  134. package/dist/mcp/tools.js.map +1 -1
  135. package/dist/registry.d.ts +1 -0
  136. package/dist/registry.d.ts.map +1 -1
  137. package/dist/registry.js +5 -0
  138. package/dist/registry.js.map +1 -1
  139. package/dist/transport/adapters/desktop-atspi.js +1 -1
  140. package/dist/transport/adapters/desktop-atspi.js.map +1 -1
  141. package/dist/transport/adapters/desktop-ax-background-activation-swift.d.ts +9 -0
  142. package/dist/transport/adapters/desktop-ax-background-activation-swift.d.ts.map +1 -0
  143. package/dist/transport/adapters/desktop-ax-background-activation-swift.js +99 -0
  144. package/dist/transport/adapters/desktop-ax-background-activation-swift.js.map +1 -0
  145. package/dist/transport/adapters/desktop-ax-background-click-swift.d.ts.map +1 -1
  146. package/dist/transport/adapters/desktop-ax-background-click-swift.js +10 -133
  147. package/dist/transport/adapters/desktop-ax-background-click-swift.js.map +1 -1
  148. package/dist/transport/adapters/desktop-ax-background-click.d.ts +1 -3
  149. package/dist/transport/adapters/desktop-ax-background-click.d.ts.map +1 -1
  150. package/dist/transport/adapters/desktop-ax-background-click.js +1 -69
  151. package/dist/transport/adapters/desktop-ax-background-click.js.map +1 -1
  152. package/dist/transport/adapters/desktop-ax-background-dispatch-swift.d.ts +9 -0
  153. package/dist/transport/adapters/desktop-ax-background-dispatch-swift.d.ts.map +1 -0
  154. package/dist/transport/adapters/desktop-ax-background-dispatch-swift.js +169 -0
  155. package/dist/transport/adapters/desktop-ax-background-dispatch-swift.js.map +1 -0
  156. package/dist/transport/adapters/desktop-ax-background-input-swift.d.ts +23 -0
  157. package/dist/transport/adapters/desktop-ax-background-input-swift.d.ts.map +1 -0
  158. package/dist/transport/adapters/desktop-ax-background-input-swift.js +157 -0
  159. package/dist/transport/adapters/desktop-ax-background-input-swift.js.map +1 -0
  160. package/dist/transport/adapters/desktop-ax-background-input.d.ts +13 -0
  161. package/dist/transport/adapters/desktop-ax-background-input.d.ts.map +1 -0
  162. package/dist/transport/adapters/desktop-ax-background-input.js +124 -0
  163. package/dist/transport/adapters/desktop-ax-background-input.js.map +1 -0
  164. package/dist/transport/adapters/desktop-ax-background-window-swift.d.ts +9 -0
  165. package/dist/transport/adapters/desktop-ax-background-window-swift.d.ts.map +1 -0
  166. package/dist/transport/adapters/desktop-ax-background-window-swift.js +110 -0
  167. package/dist/transport/adapters/desktop-ax-background-window-swift.js.map +1 -0
  168. package/dist/transport/adapters/desktop-ax-swift.d.ts +1 -0
  169. package/dist/transport/adapters/desktop-ax-swift.d.ts.map +1 -1
  170. package/dist/transport/adapters/desktop-ax-swift.js +1 -0
  171. package/dist/transport/adapters/desktop-ax-swift.js.map +1 -1
  172. package/dist/transport/adapters/desktop-ax.d.ts +4 -1
  173. package/dist/transport/adapters/desktop-ax.d.ts.map +1 -1
  174. package/dist/transport/adapters/desktop-ax.js +57 -6
  175. package/dist/transport/adapters/desktop-ax.js.map +1 -1
  176. package/dist/transport/adapters/desktop-uia.js +1 -1
  177. package/dist/transport/adapters/desktop-uia.js.map +1 -1
  178. package/dist/transport/adapters/visual.d.ts +114 -0
  179. package/dist/transport/adapters/visual.d.ts.map +1 -0
  180. package/dist/transport/adapters/visual.js +473 -0
  181. package/dist/transport/adapters/visual.js.map +1 -0
  182. package/dist/transport/bus.d.ts +1 -1
  183. package/dist/transport/bus.js +3 -3
  184. package/dist/transport/bus.js.map +1 -1
  185. package/dist/transport/capability.d.ts.map +1 -1
  186. package/dist/transport/capability.js +32 -30
  187. package/dist/transport/capability.js.map +1 -1
  188. package/dist/transport/cascade.js +27 -27
  189. package/dist/transport/cascade.js.map +1 -1
  190. package/dist/transport/types.d.ts +5 -5
  191. package/dist/transport/types.d.ts.map +1 -1
  192. package/dist/transport/types.js +1 -1
  193. package/dist/types/scholarly.d.ts +49 -0
  194. package/dist/types/scholarly.d.ts.map +1 -0
  195. package/dist/types/scholarly.js +16 -0
  196. package/dist/types/scholarly.js.map +1 -0
  197. package/docs/operate/compute.md +20 -7
  198. package/docs/operate/focus-behavior.md +21 -12
  199. package/docs/operate/troubleshooting.md +17 -12
  200. package/package.json +5 -11
  201. package/server.json +2 -2
  202. package/skills/unicli/SKILL.md +1 -1
  203. package/skills/unicli-claude-code/SKILL.md +1 -1
  204. package/skills/unicli-hermes/SKILL.md +1 -1
  205. package/skills/unicli-repair/references/error-codes.md +7 -7
  206. package/src/adapters/_archived/README.md +6 -6
  207. package/src/adapters/_archived/apple-music/rate-album.yaml +15 -15
  208. package/src/adapters/_archived/archive.json +2 -2
  209. package/src/adapters/acl-anthology/papers.ts +157 -0
  210. package/src/adapters/arxiv/download.yaml +1 -1
  211. package/src/adapters/arxiv/paper.yaml +1 -1
  212. package/src/adapters/arxiv/papers.ts +2 -0
  213. package/src/adapters/arxiv/search.yaml +1 -1
  214. package/src/adapters/arxiv/trending.yaml +1 -1
  215. package/src/adapters/baidu-scholar/search.ts +5 -0
  216. package/src/adapters/crossref/works.ts +209 -0
  217. package/src/adapters/cvf/papers.ts +136 -0
  218. package/src/adapters/dblp/publications.ts +4 -0
  219. package/src/adapters/figma/export-selected.yaml +16 -16
  220. package/src/adapters/google-scholar/cite.ts +1 -0
  221. package/src/adapters/google-scholar/profile.ts +5 -0
  222. package/src/adapters/google-scholar/search.ts +5 -0
  223. package/src/adapters/hf/paper.test.ts +10 -0
  224. package/src/adapters/hf/paper.ts +1 -0
  225. package/src/adapters/hf/top.yaml +1 -1
  226. package/src/adapters/huggingface-papers/daily.yaml +1 -1
  227. package/src/adapters/huggingface-papers/search.yaml +1 -1
  228. package/src/adapters/neurips/proceedings.ts +126 -0
  229. package/src/adapters/openalex/works.test.ts +40 -32
  230. package/src/adapters/openalex/works.ts +33 -0
  231. package/src/adapters/openreview/papers.ts +5 -0
  232. package/src/adapters/pmlr/proceedings.ts +167 -0
  233. package/src/adapters/pubmed/articles.ts +5 -0
  234. package/src/adapters/semantic-scholar/papers.ts +268 -0
  235. package/src/adapters/unpaywall/works.ts +138 -0
  236. package/src/adapters/zoom/toggle-mute.yaml +1 -1
  237. package/src/adapters/zotero/search.yaml +1 -1
  238. package/dist/engine/steps/cua.d.ts +0 -41
  239. package/dist/engine/steps/cua.d.ts.map +0 -1
  240. package/dist/engine/steps/cua.js +0 -59
  241. package/dist/engine/steps/cua.js.map +0 -1
  242. package/dist/transport/adapters/cua.d.ts +0 -239
  243. package/dist/transport/adapters/cua.d.ts.map +0 -1
  244. package/dist/transport/adapters/cua.js +0 -661
  245. package/dist/transport/adapters/cua.js.map +0 -1
  246. package/src/adapters/cua/bench-list.yaml +0 -28
  247. package/src/adapters/cua/bench-run.yaml +0 -40
@@ -0,0 +1,139 @@
1
+ /**
2
+ * @owner src::adapters::pmlr::proceedings
3
+ * @does Registers Proceedings of Machine Learning Research volume search using official citeproc.yaml metadata.
4
+ * @needs proceedings.mlr.press citeproc.yaml files, js-yaml, src/registry.ts
5
+ * @feeds src/commands/scholar.ts via scholar.search, scholar.get, scholar.pdf, and scholar.venue
6
+ * @breaks Missing volume metadata or citeproc drift surfaces as explicit adapter errors.
7
+ * @invariants Volume is explicit; rows are filtered locally from official YAML metadata, not scraped from rendered cards.
8
+ * @side-effects HTTPS egress to proceedings.mlr.press only
9
+ * @perf O(N) over one proceedings volume
10
+ * @concurrency safe
11
+ * @test tests/unit/adapters/scholar-sources.test.ts
12
+ * @stability experimental
13
+ * @since 2026-05-19
14
+ */
15
+ import yaml from "js-yaml";
16
+ import { cli, Strategy } from "../../registry.js";
17
+ function str(value) {
18
+ return typeof value === "string" ? value.trim() : "";
19
+ }
20
+ function authors(value) {
21
+ if (!Array.isArray(value))
22
+ return undefined;
23
+ const out = value
24
+ .map((person) => [person.given, person.family].map(str).filter(Boolean).join(" "))
25
+ .filter(Boolean);
26
+ return out.length > 0 ? out : undefined;
27
+ }
28
+ function issuedYear(entry) {
29
+ const first = entry.issued?.["date-parts"]?.[0];
30
+ return typeof first === "number" && Number.isFinite(first)
31
+ ? first
32
+ : undefined;
33
+ }
34
+ export function parsePmlrCiteproc(text) {
35
+ const parsed = yaml.load(text);
36
+ return Array.isArray(parsed) ? parsed : [];
37
+ }
38
+ export function mapPmlrEntry(entry, source) {
39
+ const id = str(entry.id);
40
+ if (!id)
41
+ throw new Error("PMLR entry did not include id.");
42
+ return {
43
+ id,
44
+ title: str(entry.title),
45
+ abstract: str(entry.abstract) || undefined,
46
+ authors: authors(entry.author),
47
+ year: issuedYear(entry),
48
+ venue: str(entry["container-title"]) || undefined,
49
+ type: entry.volume ? `pmlr:${String(entry.volume)}` : "pmlr",
50
+ pdf_url: str(entry.PDF) || undefined,
51
+ source_adapter: source,
52
+ source_url: str(entry.URL) || undefined,
53
+ retrieved_at: new Date().toISOString(),
54
+ };
55
+ }
56
+ function requireVolume(value) {
57
+ const raw = String(value ?? "")
58
+ .trim()
59
+ .replace(/^v/i, "");
60
+ if (!/^\d+$/.test(raw))
61
+ throw new Error(`pmlr volume "${String(value)}" is not valid.`);
62
+ return raw;
63
+ }
64
+ async function fetchVolume(volume) {
65
+ const response = await fetch(`https://proceedings.mlr.press/v${volume}/assets/bib/citeproc.yaml`, {
66
+ headers: {
67
+ Accept: "application/x-yaml,text/yaml,text/plain",
68
+ "User-Agent": "unicli-pmlr/1.0 (https://github.com/olo-dot-io/Uni-CLI)",
69
+ },
70
+ });
71
+ if (response.status === 404)
72
+ throw new Error(`PMLR volume v${volume} returned no metadata.`);
73
+ if (!response.ok)
74
+ throw new Error(`PMLR volume v${volume} returned HTTP ${response.status}.`);
75
+ return parsePmlrCiteproc(await response.text());
76
+ }
77
+ cli({
78
+ site: "pmlr",
79
+ name: "search",
80
+ description: "Search a PMLR proceedings volume (e.g. v235 for ICML 2024)",
81
+ domain: "proceedings.mlr.press",
82
+ strategy: Strategy.PUBLIC,
83
+ args: [
84
+ { name: "query", type: "str", required: true, positional: true },
85
+ { name: "volume", type: "str", default: "235" },
86
+ { name: "limit", type: "int", default: 20 },
87
+ ],
88
+ columns: ["id", "title", "authors", "year", "venue", "pdf_url", "source_url"],
89
+ capabilities: [
90
+ "http.fetch",
91
+ "scholar.search",
92
+ "scholar.venue",
93
+ "scholar.pdf",
94
+ ],
95
+ func: async (_page, kwargs) => {
96
+ const query = String(kwargs.query ?? "")
97
+ .trim()
98
+ .toLowerCase();
99
+ if (!query)
100
+ throw new Error("pmlr search query cannot be empty.");
101
+ const volume = requireVolume(kwargs.volume);
102
+ const limit = Math.min(Math.max(Number(kwargs.limit ?? 20), 1), 200);
103
+ const rows = (await fetchVolume(volume))
104
+ .map((entry) => mapPmlrEntry(entry, "pmlr"))
105
+ .filter((row) => `${row.title} ${row.abstract ?? ""} ${row.authors?.join(" ") ?? ""}`
106
+ .toLowerCase()
107
+ .includes(query))
108
+ .slice(0, limit);
109
+ if (rows.length === 0)
110
+ throw new Error(`No PMLR v${volume} papers matched "${query}".`);
111
+ return rows;
112
+ },
113
+ });
114
+ cli({
115
+ site: "pmlr",
116
+ name: "paper",
117
+ description: "Fetch a PMLR paper by id inside a proceedings volume",
118
+ domain: "proceedings.mlr.press",
119
+ strategy: Strategy.PUBLIC,
120
+ args: [
121
+ { name: "id", type: "str", required: true, positional: true },
122
+ { name: "volume", type: "str", default: "235" },
123
+ ],
124
+ columns: ["id", "title", "authors", "year", "venue", "pdf_url", "source_url"],
125
+ capabilities: ["http.fetch", "scholar.get", "scholar.pdf"],
126
+ func: async (_page, kwargs) => {
127
+ const id = String(kwargs.id ?? kwargs.ref ?? "").trim();
128
+ if (!id)
129
+ throw new Error("pmlr paper id is required.");
130
+ const volume = requireVolume(kwargs.volume);
131
+ const row = (await fetchVolume(volume))
132
+ .map((entry) => mapPmlrEntry(entry, "pmlr"))
133
+ .find((entry) => entry.id === id);
134
+ if (!row)
135
+ throw new Error(`No PMLR v${volume} paper found with id "${id}".`);
136
+ return [row];
137
+ },
138
+ });
139
+ //# sourceMappingURL=proceedings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proceedings.js","sourceRoot":"","sources":["../../../src/adapters/pmlr/proceedings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAelD,SAAS,GAAG,CAAC,KAAc;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,OAAO,CAAC,KAA0B;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,GAAG,GAAG,KAAK;SACd,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACd,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACjE;SACA,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,KAAgB;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAgB,EAChB,MAAc;IAEd,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC3D,OAAO;QACL,EAAE;QACF,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QACvB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS;QAC1C,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;QACvB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,SAAS;QACjD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;QAC5D,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS;QACpC,cAAc,EAAE,MAAM;QACtB,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS;QACvC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SAC5B,IAAI,EAAE;SACN,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAc;IACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,kCAAkC,MAAM,2BAA2B,EACnE;QACE,OAAO,EAAE;YACP,MAAM,EAAE,yCAAyC;YACjD,YAAY,EAAE,yDAAyD;SACxE;KACF,CACF,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QACzB,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,wBAAwB,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ,CAAC,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,kBAAkB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9E,OAAO,iBAAiB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,GAAG,CAAC;IACF,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,4DAA4D;IACzE,MAAM,EAAE,uBAAuB;IAC/B,QAAQ,EAAE,QAAQ,CAAC,MAAM;IACzB,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QAChE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;QAC/C,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;KAC5C;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC;IAC7E,YAAY,EAAE;QACZ,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,aAAa;KACd;IACD,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;aACrC,IAAI,EAAE;aACN,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;aACjE,WAAW,EAAE;aACb,QAAQ,CAAC,KAAK,CAAC,CACnB;aACA,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,oBAAoB,KAAK,IAAI,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,GAAG,CAAC;IACF,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,sDAAsD;IACnE,MAAM,EAAE,uBAAuB;IAC/B,QAAQ,EAAE,QAAQ,CAAC,MAAM;IACzB,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;KAChD;IACD,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC;IAC7E,YAAY,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC;IAC1D,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;aACpC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aAC3C,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,yBAAyB,EAAE,IAAI,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACF,CAAC,CAAC"}
@@ -222,6 +222,7 @@ cli({
222
222
  { name: "limit", type: "int", default: 20, description: "Max results" },
223
223
  ],
224
224
  columns: SUMMARY_COLUMNS,
225
+ capabilities: ["http.fetch", "scholar.search"],
225
226
  func: async (_page, kwargs) => {
226
227
  const query = requirePubMedText(kwargs.query, "query");
227
228
  const limit = requirePubMedLimit(kwargs.limit);
@@ -260,6 +261,7 @@ cli({
260
261
  },
261
262
  ],
262
263
  columns: ["field", "value"],
264
+ capabilities: ["http.fetch", "scholar.get"],
263
265
  func: async (_page, kwargs) => {
264
266
  const pmid = requirePmid(kwargs.pmid);
265
267
  const xml = String(await eutilsFetch("efetch", { id: pmid, rettype: "abstract" }, "xml"));
@@ -283,6 +285,7 @@ cli({
283
285
  { name: "limit", type: "int", default: 20, description: "Max results" },
284
286
  ],
285
287
  columns: SUMMARY_COLUMNS,
288
+ capabilities: ["http.fetch", "scholar.author", "scholar.search"],
286
289
  func: async (_page, kwargs) => {
287
290
  const name = requirePubMedText(kwargs.name, "author");
288
291
  const limit = requirePubMedLimit(kwargs.limit);
@@ -323,6 +326,7 @@ cli({
323
326
  { name: "limit", type: "int", default: 20, description: "Max results" },
324
327
  ],
325
328
  columns: SUMMARY_COLUMNS,
329
+ capabilities: ["http.fetch", "scholar.citations", "scholar.references"],
326
330
  func: async (_page, kwargs) => {
327
331
  const pmid = requirePmid(kwargs.pmid);
328
332
  const direction = requireChoice(kwargs.direction, ["citedby", "references"], "direction", "citedby");
@@ -358,6 +362,7 @@ cli({
358
362
  { name: "limit", type: "int", default: 20, description: "Max results" },
359
363
  ],
360
364
  columns: RELATED_COLUMNS,
365
+ capabilities: ["http.fetch", "scholar.search"],
361
366
  func: async (_page, kwargs) => {
362
367
  const pmid = requirePmid(kwargs.pmid);
363
368
  const limit = requirePubMedLimit(kwargs.limit);
@@ -1 +1 @@
1
- {"version":3,"file":"articles.js","sourceRoot":"","sources":["../../../src/adapters/pubmed/articles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"articles.js","sourceRoot":"","sources":["../../../src/adapters/pubmed/articles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @owner src::adapters::semantic-scholar::papers
3
+ * @does Registers Semantic Scholar Graph API paper search, detail, citations, references, and PDF discovery commands.
4
+ * @needs api.semanticscholar.org Graph v1, optional SEMANTIC_SCHOLAR_API_KEY, src/registry.ts
5
+ * @feeds src/commands/scholar.ts via scholar.* capability tags
6
+ * @breaks Graph API rate limits or response-shape drift surface as explicit adapter errors; no cached fallback is used.
7
+ * @invariants Paper references are normalized to Semantic Scholar's accepted DOI:/ARXIV:/paperId formats; output maps to ScholarlyWorkRecord.
8
+ * @side-effects HTTPS egress to api.semanticscholar.org only
9
+ * @perf O(limit) JSON mapping per command
10
+ * @concurrency safe
11
+ * @test tests/unit/adapters/scholar-sources.test.ts
12
+ * @stability experimental
13
+ * @since 2026-05-19
14
+ */
15
+ import type { ScholarlyWorkRecord } from "../../types/scholarly.js";
16
+ interface S2Paper {
17
+ paperId?: unknown;
18
+ title?: unknown;
19
+ abstract?: unknown;
20
+ year?: unknown;
21
+ authors?: Array<{
22
+ name?: unknown;
23
+ }>;
24
+ citationCount?: unknown;
25
+ referenceCount?: unknown;
26
+ venue?: unknown;
27
+ url?: unknown;
28
+ openAccessPdf?: {
29
+ url?: unknown;
30
+ };
31
+ externalIds?: Record<string, unknown>;
32
+ }
33
+ export declare function requireSemanticScholarPaperRef(value: unknown): string;
34
+ export declare function mapSemanticScholarPaper(paper: S2Paper, source: string): ScholarlyWorkRecord;
35
+ export {};
36
+ //# sourceMappingURL=papers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"papers.d.ts","sourceRoot":"","sources":["../../../src/adapters/semantic-scholar/papers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAkBpE,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AA0BD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAcrE;AAmCD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,mBAAmB,CAyBrB"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * @owner src::adapters::semantic-scholar::papers
3
+ * @does Registers Semantic Scholar Graph API paper search, detail, citations, references, and PDF discovery commands.
4
+ * @needs api.semanticscholar.org Graph v1, optional SEMANTIC_SCHOLAR_API_KEY, src/registry.ts
5
+ * @feeds src/commands/scholar.ts via scholar.* capability tags
6
+ * @breaks Graph API rate limits or response-shape drift surface as explicit adapter errors; no cached fallback is used.
7
+ * @invariants Paper references are normalized to Semantic Scholar's accepted DOI:/ARXIV:/paperId formats; output maps to ScholarlyWorkRecord.
8
+ * @side-effects HTTPS egress to api.semanticscholar.org only
9
+ * @perf O(limit) JSON mapping per command
10
+ * @concurrency safe
11
+ * @test tests/unit/adapters/scholar-sources.test.ts
12
+ * @stability experimental
13
+ * @since 2026-05-19
14
+ */
15
+ import { cli, Strategy } from "../../registry.js";
16
+ const API = "https://api.semanticscholar.org/graph/v1";
17
+ const FIELDS = [
18
+ "paperId",
19
+ "title",
20
+ "abstract",
21
+ "year",
22
+ "authors",
23
+ "citationCount",
24
+ "referenceCount",
25
+ "venue",
26
+ "publicationVenue",
27
+ "url",
28
+ "openAccessPdf",
29
+ "externalIds",
30
+ ].join(",");
31
+ function str(value) {
32
+ return typeof value === "string" ? value.trim() : "";
33
+ }
34
+ function num(value) {
35
+ return typeof value === "number" && Number.isFinite(value)
36
+ ? value
37
+ : undefined;
38
+ }
39
+ function bareDoi(value) {
40
+ return str(value)
41
+ .replace(/^doi:/i, "")
42
+ .replace(/^https?:\/\/(?:dx\.)?doi\.org\//i, "");
43
+ }
44
+ function bareArxiv(value) {
45
+ return str(value)
46
+ .replace(/^arxiv:/i, "")
47
+ .replace(/^https?:\/\/arxiv\.org\/(?:abs|pdf)\//i, "")
48
+ .replace(/\.pdf$/i, "")
49
+ .replace(/v\d+$/i, "");
50
+ }
51
+ export function requireSemanticScholarPaperRef(value) {
52
+ const raw = String(value ?? "").trim();
53
+ if (!raw)
54
+ throw new Error("semantic-scholar paper reference is required.");
55
+ const doi = bareDoi(raw);
56
+ if (/^10\.\S+\/\S+/.test(doi))
57
+ return `DOI:${doi}`;
58
+ if (/^(?:arxiv:|https?:\/\/arxiv\.org\/(?:abs|pdf)\/|\d{4}\.\d{4,5})/i.test(raw)) {
59
+ return `ARXIV:${bareArxiv(raw)}`;
60
+ }
61
+ if (/^[a-f0-9]{40}$/i.test(raw))
62
+ return raw;
63
+ throw new Error(`semantic-scholar paper reference "${raw}" is not recognised.`);
64
+ }
65
+ function headers() {
66
+ const out = {
67
+ Accept: "application/json",
68
+ "User-Agent": "unicli-semantic-scholar/1.0 (https://github.com/olo-dot-io/Uni-CLI)",
69
+ };
70
+ const key = process.env.SEMANTIC_SCHOLAR_API_KEY?.trim();
71
+ if (key)
72
+ out["x-api-key"] = key;
73
+ return out;
74
+ }
75
+ async function fetchS2(path, label) {
76
+ const response = await fetch(`${API}${path}`, { headers: headers() });
77
+ if (response.status === 404)
78
+ throw new Error(`${label} returned no result.`);
79
+ if (response.status === 429) {
80
+ throw new Error(`${label} returned HTTP 429; set SEMANTIC_SCHOLAR_API_KEY or retry later.`);
81
+ }
82
+ if (!response.ok)
83
+ throw new Error(`${label} returned HTTP ${response.status}.`);
84
+ const json = (await response.json());
85
+ if (json.error || json.message) {
86
+ throw new Error(`${label} returned API error: ${String(json.error ?? json.message)}.`);
87
+ }
88
+ return json;
89
+ }
90
+ export function mapSemanticScholarPaper(paper, source) {
91
+ const id = str(paper.paperId);
92
+ if (!id)
93
+ throw new Error("Semantic Scholar returned a paper without paperId.");
94
+ const doi = bareDoi(paper.externalIds?.DOI);
95
+ const arxiv = bareArxiv(paper.externalIds?.ArXiv);
96
+ return {
97
+ id,
98
+ title: str(paper.title),
99
+ abstract: str(paper.abstract) || undefined,
100
+ authors: Array.isArray(paper.authors)
101
+ ? paper.authors.map((author) => str(author.name)).filter(Boolean)
102
+ : undefined,
103
+ year: num(paper.year),
104
+ venue: str(paper.venue) || undefined,
105
+ doi: doi || undefined,
106
+ arxiv_id: arxiv || undefined,
107
+ semantic_scholar_id: id,
108
+ cited_by_count: num(paper.citationCount),
109
+ references_count: num(paper.referenceCount),
110
+ pdf_url: str(paper.openAccessPdf?.url) || undefined,
111
+ source_adapter: source,
112
+ source_url: str(paper.url) || `https://www.semanticscholar.org/paper/${id}`,
113
+ retrieved_at: new Date().toISOString(),
114
+ };
115
+ }
116
+ function rows(papers, source = "semantic-scholar") {
117
+ const list = Array.isArray(papers) ? papers : [];
118
+ return list.map((paper) => mapSemanticScholarPaper(paper, source));
119
+ }
120
+ cli({
121
+ site: "semantic-scholar",
122
+ name: "search",
123
+ description: "Search Semantic Scholar papers",
124
+ domain: "api.semanticscholar.org",
125
+ strategy: Strategy.PUBLIC,
126
+ args: [
127
+ { name: "query", type: "str", required: true, positional: true },
128
+ { name: "limit", type: "int", default: 20 },
129
+ ],
130
+ columns: [
131
+ "id",
132
+ "title",
133
+ "authors",
134
+ "year",
135
+ "venue",
136
+ "doi",
137
+ "pdf_url",
138
+ "source_url",
139
+ ],
140
+ capabilities: ["http.fetch", "scholar.search"],
141
+ func: async (_page, kwargs) => {
142
+ const query = String(kwargs.query ?? "").trim();
143
+ if (!query)
144
+ throw new Error("semantic-scholar search query cannot be empty.");
145
+ const limit = Math.min(Math.max(Number(kwargs.limit ?? 20), 1), 100);
146
+ const body = (await fetchS2(`/paper/search?query=${encodeURIComponent(query)}&limit=${limit}&fields=${encodeURIComponent(FIELDS)}`, "semantic-scholar search"));
147
+ const out = rows(body.data);
148
+ if (out.length === 0)
149
+ throw new Error(`No Semantic Scholar papers matched "${query}".`);
150
+ return out;
151
+ },
152
+ });
153
+ cli({
154
+ site: "semantic-scholar",
155
+ name: "paper",
156
+ description: "Fetch one Semantic Scholar paper by paperId, DOI, or arXiv id",
157
+ domain: "api.semanticscholar.org",
158
+ strategy: Strategy.PUBLIC,
159
+ args: [{ name: "id", type: "str", required: true, positional: true }],
160
+ columns: [
161
+ "id",
162
+ "title",
163
+ "authors",
164
+ "year",
165
+ "venue",
166
+ "doi",
167
+ "pdf_url",
168
+ "source_url",
169
+ ],
170
+ capabilities: ["http.fetch", "scholar.get", "scholar.pdf"],
171
+ func: async (_page, kwargs) => {
172
+ const ref = requireSemanticScholarPaperRef(kwargs.id ?? kwargs.ref ?? kwargs.doi ?? kwargs.arxiv_id);
173
+ const paper = (await fetchS2(`/paper/${encodeURIComponent(ref)}?fields=${encodeURIComponent(FIELDS)}`, `semantic-scholar paper ${ref}`));
174
+ return [mapSemanticScholarPaper(paper, "semantic-scholar")];
175
+ },
176
+ });
177
+ for (const [name, path, cap] of [
178
+ ["citations", "citations", "scholar.citations"],
179
+ ["references", "references", "scholar.references"],
180
+ ]) {
181
+ cli({
182
+ site: "semantic-scholar",
183
+ name,
184
+ description: `List Semantic Scholar paper ${name}`,
185
+ domain: "api.semanticscholar.org",
186
+ strategy: Strategy.PUBLIC,
187
+ args: [
188
+ { name: "id", type: "str", required: true, positional: true },
189
+ { name: "limit", type: "int", default: 20 },
190
+ ],
191
+ columns: [
192
+ "id",
193
+ "title",
194
+ "authors",
195
+ "year",
196
+ "venue",
197
+ "doi",
198
+ "pdf_url",
199
+ "source_url",
200
+ ],
201
+ capabilities: ["http.fetch", cap],
202
+ func: async (_page, kwargs) => {
203
+ const ref = requireSemanticScholarPaperRef(kwargs.id ?? kwargs.ref);
204
+ const limit = Math.min(Math.max(Number(kwargs.limit ?? 20), 1), 100);
205
+ const body = (await fetchS2(`/paper/${encodeURIComponent(ref)}/${path}?limit=${limit}&fields=${encodeURIComponent(FIELDS)}`, `semantic-scholar ${name} ${ref}`));
206
+ const papers = (body.data ?? []).map((item) => name === "citations" ? item.citingPaper : item.citedPaper);
207
+ const out = rows(papers);
208
+ if (out.length === 0)
209
+ throw new Error(`No Semantic Scholar ${name} found for ${ref}.`);
210
+ return out;
211
+ },
212
+ });
213
+ }
214
+ //# sourceMappingURL=papers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"papers.js","sourceRoot":"","sources":["../../../src/adapters/semantic-scholar/papers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @owner src::adapters::unpaywall::works
3
+ * @does Registers Unpaywall DOI open-access lookup for PDF availability.
4
+ * @needs api.unpaywall.org v2, UNPAYWALL_EMAIL or --email, src/registry.ts
5
+ * @feeds src/commands/scholar.ts via scholar.pdf and scholar.get
6
+ * @breaks Missing email is an explicit invalid-input error; Unpaywall drift surfaces as adapter error, never as a fabricated PDF.
7
+ * @invariants Only DOI-shaped references are accepted; best_oa_location is preferred for PDF and landing URLs.
8
+ * @side-effects HTTPS egress to api.unpaywall.org only
9
+ * @perf O(1) per DOI
10
+ * @concurrency safe
11
+ * @test tests/unit/adapters/scholar-sources.test.ts
12
+ * @stability experimental
13
+ * @since 2026-05-19
14
+ */
15
+ import type { ScholarlyWorkRecord } from "../../types/scholarly.js";
16
+ interface OaLocation {
17
+ url_for_pdf?: unknown;
18
+ url_for_landing_page?: unknown;
19
+ host_type?: unknown;
20
+ version?: unknown;
21
+ license?: unknown;
22
+ }
23
+ interface UnpaywallWork {
24
+ doi?: unknown;
25
+ title?: unknown;
26
+ is_oa?: unknown;
27
+ oa_status?: unknown;
28
+ best_oa_location?: OaLocation | null;
29
+ }
30
+ export declare function requireUnpaywallDoi(value: unknown): string;
31
+ export declare function mapUnpaywallWork(work: UnpaywallWork, source: string): ScholarlyWorkRecord;
32
+ export {};
33
+ //# sourceMappingURL=works.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"works.d.ts","sourceRoot":"","sources":["../../../src/adapters/unpaywall/works.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpE,UAAU,UAAU;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CACtC;AAYD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ1D;AAUD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,MAAM,GACb,mBAAmB,CAmBrB"}