@zenalexa/unicli 0.225.2 → 0.225.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/AGENTS.md +2 -2
  2. package/README.md +3 -3
  3. package/README.zh-CN.md +3 -3
  4. package/dist/adapters/acl-anthology/papers.d.ts +16 -9
  5. package/dist/adapters/acl-anthology/papers.d.ts.map +1 -1
  6. package/dist/adapters/acl-anthology/papers.js +322 -58
  7. package/dist/adapters/acl-anthology/papers.js.map +1 -1
  8. package/dist/adapters/arxiv/papers.d.ts +22 -4
  9. package/dist/adapters/arxiv/papers.d.ts.map +1 -1
  10. package/dist/adapters/arxiv/papers.js +202 -4
  11. package/dist/adapters/arxiv/papers.js.map +1 -1
  12. package/dist/adapters/baidu-scholar/search.d.ts +15 -1
  13. package/dist/adapters/baidu-scholar/search.d.ts.map +1 -1
  14. package/dist/adapters/baidu-scholar/search.js +72 -8
  15. package/dist/adapters/baidu-scholar/search.js.map +1 -1
  16. package/dist/adapters/biorxiv/preprints.d.ts +9 -0
  17. package/dist/adapters/biorxiv/preprints.d.ts.map +1 -0
  18. package/dist/adapters/biorxiv/preprints.js +78 -0
  19. package/dist/adapters/biorxiv/preprints.js.map +1 -0
  20. package/dist/adapters/cnki/search.d.ts +82 -0
  21. package/dist/adapters/cnki/search.d.ts.map +1 -0
  22. package/dist/adapters/cnki/search.js +236 -0
  23. package/dist/adapters/cnki/search.js.map +1 -0
  24. package/dist/adapters/cvf/papers.d.ts +12 -7
  25. package/dist/adapters/cvf/papers.d.ts.map +1 -1
  26. package/dist/adapters/cvf/papers.js +210 -27
  27. package/dist/adapters/cvf/papers.js.map +1 -1
  28. package/dist/adapters/dblp/publications.d.ts +12 -5
  29. package/dist/adapters/dblp/publications.d.ts.map +1 -1
  30. package/dist/adapters/dblp/publications.js +31 -8
  31. package/dist/adapters/dblp/publications.js.map +1 -1
  32. package/dist/adapters/google-scholar/search.d.ts +22 -1
  33. package/dist/adapters/google-scholar/search.d.ts.map +1 -1
  34. package/dist/adapters/google-scholar/search.js +129 -14
  35. package/dist/adapters/google-scholar/search.js.map +1 -1
  36. package/dist/adapters/hf/paper.d.ts +12 -3
  37. package/dist/adapters/hf/paper.d.ts.map +1 -1
  38. package/dist/adapters/hf/paper.js +65 -5
  39. package/dist/adapters/hf/paper.js.map +1 -1
  40. package/dist/adapters/medrxiv/preprints.d.ts +9 -0
  41. package/dist/adapters/medrxiv/preprints.d.ts.map +1 -0
  42. package/dist/adapters/medrxiv/preprints.js +78 -0
  43. package/dist/adapters/medrxiv/preprints.js.map +1 -0
  44. package/dist/adapters/neurips/proceedings.d.ts +8 -7
  45. package/dist/adapters/neurips/proceedings.d.ts.map +1 -1
  46. package/dist/adapters/neurips/proceedings.js +209 -21
  47. package/dist/adapters/neurips/proceedings.js.map +1 -1
  48. package/dist/adapters/openalex/works.d.ts +21 -5
  49. package/dist/adapters/openalex/works.d.ts.map +1 -1
  50. package/dist/adapters/openalex/works.js +108 -8
  51. package/dist/adapters/openalex/works.js.map +1 -1
  52. package/dist/adapters/openreview/papers.d.ts +10 -4
  53. package/dist/adapters/openreview/papers.d.ts.map +1 -1
  54. package/dist/adapters/openreview/papers.js +351 -24
  55. package/dist/adapters/openreview/papers.js.map +1 -1
  56. package/dist/adapters/pmlr/proceedings.d.ts +6 -6
  57. package/dist/adapters/pmlr/proceedings.d.ts.map +1 -1
  58. package/dist/adapters/pmlr/proceedings.js +92 -12
  59. package/dist/adapters/pmlr/proceedings.js.map +1 -1
  60. package/dist/adapters/pubmed/articles.d.ts +8 -4
  61. package/dist/adapters/pubmed/articles.d.ts.map +1 -1
  62. package/dist/adapters/pubmed/articles.js +272 -39
  63. package/dist/adapters/pubmed/articles.js.map +1 -1
  64. package/dist/adapters/rxiv/preprints.d.ts +75 -0
  65. package/dist/adapters/rxiv/preprints.d.ts.map +1 -0
  66. package/dist/adapters/rxiv/preprints.js +651 -0
  67. package/dist/adapters/rxiv/preprints.js.map +1 -0
  68. package/dist/adapters/scholar-artifacts/pdf-read.d.ts +49 -0
  69. package/dist/adapters/scholar-artifacts/pdf-read.d.ts.map +1 -0
  70. package/dist/adapters/scholar-artifacts/pdf-read.js +204 -0
  71. package/dist/adapters/scholar-artifacts/pdf-read.js.map +1 -0
  72. package/dist/adapters/scholar-artifacts/pdf.d.ts +16 -0
  73. package/dist/adapters/scholar-artifacts/pdf.d.ts.map +1 -0
  74. package/dist/adapters/scholar-artifacts/pdf.js +122 -0
  75. package/dist/adapters/scholar-artifacts/pdf.js.map +1 -0
  76. package/dist/adapters/semantic-scholar/papers.d.ts +6 -6
  77. package/dist/adapters/semantic-scholar/papers.d.ts.map +1 -1
  78. package/dist/adapters/semantic-scholar/papers.js +80 -6
  79. package/dist/adapters/semantic-scholar/papers.js.map +1 -1
  80. package/dist/adapters/unpaywall/works.d.ts +7 -7
  81. package/dist/adapters/unpaywall/works.d.ts.map +1 -1
  82. package/dist/adapters/unpaywall/works.js +104 -12
  83. package/dist/adapters/unpaywall/works.js.map +1 -1
  84. package/dist/adapters/wanfang/search.d.ts +14 -0
  85. package/dist/adapters/wanfang/search.d.ts.map +1 -1
  86. package/dist/adapters/wanfang/search.js +56 -7
  87. package/dist/adapters/wanfang/search.js.map +1 -1
  88. package/dist/browser/page.d.ts +2 -0
  89. package/dist/browser/page.d.ts.map +1 -1
  90. package/dist/browser/page.js +12 -0
  91. package/dist/browser/page.js.map +1 -1
  92. package/dist/commands/browser/actions.d.ts.map +1 -1
  93. package/dist/commands/browser/actions.js +59 -3
  94. package/dist/commands/browser/actions.js.map +1 -1
  95. package/dist/commands/scholar.d.ts +77 -5
  96. package/dist/commands/scholar.d.ts.map +1 -1
  97. package/dist/commands/scholar.js +2945 -83
  98. package/dist/commands/scholar.js.map +1 -1
  99. package/dist/core/command-contract.d.ts.map +1 -1
  100. package/dist/core/command-contract.js +5 -0
  101. package/dist/core/command-contract.js.map +1 -1
  102. package/dist/core/schema-v2.d.ts +1 -0
  103. package/dist/core/schema-v2.d.ts.map +1 -1
  104. package/dist/core/schema-v2.js +1 -0
  105. package/dist/core/schema-v2.js.map +1 -1
  106. package/dist/discovery/aliases.d.ts.map +1 -1
  107. package/dist/discovery/aliases.js +208 -0
  108. package/dist/discovery/aliases.js.map +1 -1
  109. package/dist/discovery/core-catalog.d.ts +2 -0
  110. package/dist/discovery/core-catalog.d.ts.map +1 -1
  111. package/dist/discovery/core-catalog.js +487 -0
  112. package/dist/discovery/core-catalog.js.map +1 -1
  113. package/dist/discovery/intents.d.ts.map +1 -1
  114. package/dist/discovery/intents.js +273 -2
  115. package/dist/discovery/intents.js.map +1 -1
  116. package/dist/discovery/loader.d.ts.map +1 -1
  117. package/dist/discovery/loader.js +3 -0
  118. package/dist/discovery/loader.js.map +1 -1
  119. package/dist/engine/capability-policy.d.ts.map +1 -1
  120. package/dist/engine/capability-policy.js +30 -4
  121. package/dist/engine/capability-policy.js.map +1 -1
  122. package/dist/engine/kernel/stages.d.ts.map +1 -1
  123. package/dist/engine/kernel/stages.js +3 -0
  124. package/dist/engine/kernel/stages.js.map +1 -1
  125. package/dist/engine/operation-policy.d.ts +4 -1
  126. package/dist/engine/operation-policy.d.ts.map +1 -1
  127. package/dist/engine/operation-policy.js +23 -0
  128. package/dist/engine/operation-policy.js.map +1 -1
  129. package/dist/fast-path/manifest.d.ts +3 -0
  130. package/dist/fast-path/manifest.d.ts.map +1 -1
  131. package/dist/fast-path/manifest.js.map +1 -1
  132. package/dist/fast-path/policy.d.ts.map +1 -1
  133. package/dist/fast-path/policy.js +3 -0
  134. package/dist/fast-path/policy.js.map +1 -1
  135. package/dist/manifest-compact.txt +1 -1
  136. package/dist/manifest.json +6804 -1002
  137. package/dist/registry.d.ts +2 -0
  138. package/dist/registry.d.ts.map +1 -1
  139. package/dist/registry.js +1 -0
  140. package/dist/registry.js.map +1 -1
  141. package/dist/types/scholarly.d.ts +19 -4
  142. package/dist/types/scholarly.d.ts.map +1 -1
  143. package/dist/types/scholarly.js +4 -4
  144. package/dist/types.d.ts +8 -0
  145. package/dist/types.d.ts.map +1 -1
  146. package/dist/types.js.map +1 -1
  147. package/package.json +1 -1
  148. package/server.json +2 -2
  149. package/skills/unicli/SKILL.md +1 -1
  150. package/skills/unicli-claude-code/SKILL.md +1 -1
  151. package/skills/unicli-hermes/SKILL.md +1 -1
  152. package/src/adapters/acl-anthology/papers.test.ts +111 -0
  153. package/src/adapters/acl-anthology/papers.ts +379 -71
  154. package/src/adapters/arxiv/papers.test.ts +46 -0
  155. package/src/adapters/arxiv/papers.ts +251 -4
  156. package/src/adapters/baidu-scholar/search.ts +74 -11
  157. package/src/adapters/biorxiv/preprints.ts +112 -0
  158. package/src/adapters/cnki/search.ts +357 -0
  159. package/src/adapters/cvf/papers.ts +260 -27
  160. package/src/adapters/dblp/publications.test.ts +9 -0
  161. package/src/adapters/dblp/publications.ts +31 -8
  162. package/src/adapters/google-scholar/search.ts +165 -17
  163. package/src/adapters/hf/paper.test.ts +23 -0
  164. package/src/adapters/hf/paper.ts +89 -5
  165. package/src/adapters/hf/top.yaml +34 -2
  166. package/src/adapters/huggingface-papers/daily.yaml +37 -3
  167. package/src/adapters/huggingface-papers/search.yaml +43 -9
  168. package/src/adapters/medrxiv/preprints.ts +112 -0
  169. package/src/adapters/neurips/proceedings.ts +266 -22
  170. package/src/adapters/openalex/works.test.ts +15 -4
  171. package/src/adapters/openalex/works.ts +136 -8
  172. package/src/adapters/openreview/papers.test.ts +31 -0
  173. package/src/adapters/openreview/papers.ts +407 -29
  174. package/src/adapters/pmlr/proceedings.ts +102 -12
  175. package/src/adapters/pubmed/articles.test.ts +88 -1
  176. package/src/adapters/pubmed/articles.ts +343 -44
  177. package/src/adapters/rxiv/preprints.test.ts +233 -0
  178. package/src/adapters/rxiv/preprints.ts +849 -0
  179. package/src/adapters/scholar-artifacts/pdf-read.ts +277 -0
  180. package/src/adapters/scholar-artifacts/pdf.ts +133 -0
  181. package/src/adapters/semantic-scholar/papers.ts +98 -6
  182. package/src/adapters/unpaywall/works.ts +141 -12
  183. package/src/adapters/wanfang/search.ts +57 -7
  184. package/src/adapters/cnki/search.yaml +0 -49
@@ -1 +1 @@
1
- {"version":3,"file":"papers.d.ts","sourceRoot":"","sources":["../../../src/adapters/openreview/papers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,UAAU,sBAAsB;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,SAAS,CAAC,CAAC;AAE5E,UAAU,cAAc;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAgBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI1D;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,MAAM,CASR;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAI,GAAG,MAAM,CAS5E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAO,GAAG,MAAM,CASnE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOvD;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACtC,GAAG,EAAE,MAAM,GACV,OAAO,CAET;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG3D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO5D;AAUD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,cAAc,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+BzB;AAWD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,OAAO,GACd,MAAM,CAUR;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAMhE;AAkBD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,cAAc,EAAE,EACzB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmBhC"}
1
+ {"version":3,"file":"papers.d.ts","sourceRoot":"","sources":["../../../src/adapters/openreview/papers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4BH,UAAU,sBAAsB;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,SAAS,CAAC,CAAC;AAE5E,UAAU,cAAc;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAgBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI1D;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,MAAM,CASR;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAI,GAAG,MAAM,CAS5E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAO,GAAG,MAAM,CAWnE;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,GAChB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAUzC;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,QAAQ,SAAS,GAChB,MAAM,CAUR;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAMxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOvD;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACtC,GAAG,EAAE,MAAM,GACV,OAAO,CAET;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG3D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO5D;AAUD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,cAAc,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyCzB;AAgBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,OAAO,GACd,MAAM,CAUR;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAMhE;AAkCD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,cAAc,EAAE,EACzB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA4BhC"}
@@ -1,15 +1,20 @@
1
1
  /**
2
2
  * @owner src/adapters/openreview/papers.ts
3
- * @does Register agent-facing OpenReview search, paper, author, venue, and reviews commands.
4
- * @needs Public api2.openreview.net notes API, forum/profile id validation, note content normalization.
5
- * @feeds surface coverage ledger, scholarly review workflow, agent-readable paper/review rows.
6
- * @breaks OpenReview API envelope drift, content.value parsing, or silent empty threads hide paper review state.
3
+ * @does Register agent-facing OpenReview search, paper, author, venue, reviews, PDF download, and PDF text extraction commands.
4
+ * @needs Public api2.openreview.net notes API, openreview.net PDF URLs, pdftotext for read, forum/profile id validation, note content normalization.
5
+ * @feeds surface coverage ledger, scholarly review workflow, agent-readable paper/review rows, local PDF/fulltext workflow.
6
+ * @breaks OpenReview API envelope drift, content.value parsing, PDF download failure, pdftotext absence, or silent empty threads hide paper review state.
7
7
  */
8
+ import { execFile } from "node:child_process";
9
+ import { join, resolve } from "node:path";
10
+ import { promisify } from "node:util";
11
+ import { httpDownload, sanitizeFilename } from "../../engine/download.js";
8
12
  import { cli, Strategy } from "../../registry.js";
9
13
  const OPENREVIEW_API = "https://api2.openreview.net";
10
14
  const OPENREVIEW_BASE = "https://openreview.net";
11
15
  const FORUM_ID_RE = /^[A-Za-z0-9_-]{6,20}$/;
12
16
  const PROFILE_ID_RE = /^~(?=.*\p{L})[\p{L}\p{M}0-9._-]+\d+$/u;
17
+ const execFileAsync = promisify(execFile);
13
18
  const REVIEW_SECTION_FIELDS = [
14
19
  ["summary", "Summary"],
15
20
  ["strengths", "Strengths"],
@@ -54,7 +59,8 @@ export function requireOpenReviewOffset(value, fallback = 0) {
54
59
  return n;
55
60
  }
56
61
  export function requireForumId(value, label = "id") {
57
- const id = String(value ?? "").trim();
62
+ const raw = String(value ?? "").trim();
63
+ const id = raw.match(/^https?:\/\/openreview\.net\/forum\?id=([^&#]+)/i)?.[1] ?? raw;
58
64
  if (!id)
59
65
  throw new Error(`openreview ${label} is required.`);
60
66
  if (!FORUM_ID_RE.test(id)) {
@@ -62,6 +68,32 @@ export function requireForumId(value, label = "id") {
62
68
  }
63
69
  return id;
64
70
  }
71
+ export function requireOpenReviewPageRange(firstPage, lastPage) {
72
+ const first = coerceOpenReviewInt(firstPage ?? 1);
73
+ const last = coerceOpenReviewInt(lastPage ?? 20);
74
+ if (!Number.isInteger(first) || first < 1) {
75
+ throw new Error("openreview first-page must be an integer >= 1.");
76
+ }
77
+ if (!Number.isInteger(last) || last < first) {
78
+ throw new Error("openreview last-page must be an integer >= first-page.");
79
+ }
80
+ return { firstPage: first, lastPage: last };
81
+ }
82
+ export function requireOpenReviewMaxChars(value, fallback = 40_000) {
83
+ const raw = value === undefined || value === null || value === "" ? fallback : value;
84
+ const n = typeof raw === "number" ? raw : Number(raw);
85
+ if (!Number.isInteger(n) || n < 1_000 || n > 1_000_000) {
86
+ throw new Error(`openreview max-chars must be an integer in [1000, 1000000]. Got: ${String(value)}`);
87
+ }
88
+ return n;
89
+ }
90
+ export function openReviewPdfFilename(id, title) {
91
+ const slug = stringField(title)
92
+ .replace(/[^A-Za-z0-9._-]+/g, "-")
93
+ .replace(/^-+|-+$/g, "")
94
+ .slice(0, 80);
95
+ return sanitizeFilename(`${id}${slug ? `-${slug}` : ""}.pdf`);
96
+ }
65
97
  export function requireProfileId(value) {
66
98
  const id = String(value ?? "").trim();
67
99
  if (!id)
@@ -109,8 +141,12 @@ export function mapOpenReviewNoteRow(note) {
109
141
  const keywordList = Array.isArray(keywords)
110
142
  ? keywords.map(stringField).filter(Boolean).join(", ")
111
143
  : stringField(keywords);
144
+ const pdate = formatOpenReviewDate(note.pdate ?? note.cdate);
145
+ const pdfUrl = absoluteOpenReviewPdf(readContent(content, "pdf"));
146
+ const sourceUrl = id ? `${OPENREVIEW_BASE}/forum?id=${id}` : "";
112
147
  return {
113
148
  id,
149
+ openreview_id: id,
114
150
  title: stringField(readContent(content, "title")).replace(/\s+/g, " "),
115
151
  authors: authorList,
116
152
  keywords: keywordList,
@@ -118,9 +154,15 @@ export function mapOpenReviewNoteRow(note) {
118
154
  venueid: stringField(readContent(content, "venueid")),
119
155
  primary_area: stringField(readContent(content, "primary_area")),
120
156
  abstract: stringField(readContent(content, "abstract")).replace(/\s+/g, " "),
121
- pdate: formatOpenReviewDate(note.pdate ?? note.cdate),
122
- pdf: absoluteOpenReviewPdf(readContent(content, "pdf")),
123
- url: id ? `${OPENREVIEW_BASE}/forum?id=${id}` : "",
157
+ pdate,
158
+ date: pdate,
159
+ pdf: pdfUrl,
160
+ pdf_url: pdfUrl,
161
+ url: sourceUrl,
162
+ source_url: sourceUrl,
163
+ landing_url: sourceUrl,
164
+ source_adapter: "openreview",
165
+ retrieved_at: new Date().toISOString(),
124
166
  };
125
167
  }
126
168
  function invitationTail(note) {
@@ -132,6 +174,10 @@ function invitationTail(note) {
132
174
  }
133
175
  return "";
134
176
  }
177
+ function lastInvitation(note) {
178
+ const invitations = Array.isArray(note.invitations) ? note.invitations : [];
179
+ return invitations.length > 0 ? String(invitations.at(-1)) : "";
180
+ }
135
181
  export function classifyReviewNote(note, isRoot) {
136
182
  if (isRoot)
137
183
  return "PAPER";
@@ -172,8 +218,20 @@ function joinReviewSections(content) {
172
218
  }
173
219
  return parts.join("\n\n");
174
220
  }
175
- function truncate(text, maxLength) {
176
- return text.length <= maxLength ? text : `${text.slice(0, maxLength - 3)}...`;
221
+ function truncateText(text, maxLength) {
222
+ const originalChars = text.length;
223
+ if (originalChars <= maxLength) {
224
+ return { text, truncated: false, originalChars };
225
+ }
226
+ return {
227
+ text: `${text.slice(0, Math.max(0, maxLength - 3)).trimEnd()}...`,
228
+ truncated: true,
229
+ originalChars,
230
+ };
231
+ }
232
+ function openReviewNoteUrl(forum, noteId) {
233
+ const forumUrl = `${OPENREVIEW_BASE}/forum?id=${forum}`;
234
+ return noteId && noteId !== forum ? `${forumUrl}&noteId=${noteId}` : forumUrl;
177
235
  }
178
236
  export function mapReviewThreadRows(root, replies, forum, maxLength) {
179
237
  const sorted = [...replies]
@@ -181,16 +239,25 @@ export function mapReviewThreadRows(root, replies, forum, maxLength) {
181
239
  .sort((a, b) => (numberField(a.cdate) ?? 0) - (numberField(b.cdate) ?? 0));
182
240
  return [root, ...sorted].map((note) => {
183
241
  const isRoot = note.id === forum;
242
+ const noteId = stringField(note.id);
184
243
  const rating = readContent(note.content, "rating");
185
244
  const confidence = readContent(note.content, "confidence");
245
+ const text = truncateText(joinReviewSections(note.content), maxLength);
186
246
  return {
247
+ forum,
248
+ note_id: noteId,
187
249
  type: classifyReviewNote(note, isRoot),
188
250
  author: authorFromSignatures(note.signatures),
251
+ invitation: lastInvitation(note),
252
+ created_at: formatOpenReviewDate(note.pdate ?? note.cdate),
253
+ source_url: openReviewNoteUrl(forum, noteId),
189
254
  rating: rating === undefined || rating === null ? "" : String(rating),
190
255
  confidence: confidence === undefined || confidence === null
191
256
  ? ""
192
257
  : String(confidence),
193
- text: truncate(joinReviewSections(note.content), maxLength),
258
+ text: text.text,
259
+ text_chars: text.originalChars,
260
+ text_truncated: text.truncated,
194
261
  };
195
262
  });
196
263
  }
@@ -224,6 +291,69 @@ async function fetchOpenReview(path, label) {
224
291
  function notesFromEnvelope(json) {
225
292
  return Array.isArray(json.notes) ? json.notes : [];
226
293
  }
294
+ async function fetchOpenReviewPaperRow(id) {
295
+ const notes = notesFromEnvelope(await fetchOpenReview(`/notes?id=${encodeURIComponent(id)}`, `openreview paper ${id}`));
296
+ if (notes.length === 0)
297
+ throw new Error(`No OpenReview paper found with id "${id}".`);
298
+ return mapOpenReviewNoteRow(notes[0]);
299
+ }
300
+ function hasPaperContent(note) {
301
+ const content = note.content ?? {};
302
+ return (stringField(readContent(content, "title")).length > 0 ||
303
+ stringField(readContent(content, "abstract")).length > 0 ||
304
+ stringField(readContent(content, "pdf")).length > 0);
305
+ }
306
+ async function paperRowsFromSearchNotes(notes, limit) {
307
+ const rows = [];
308
+ const seen = new Set();
309
+ let firstHydrationError;
310
+ for (const note of notes) {
311
+ const rawId = hasPaperContent(note) ? note.id : note.forum;
312
+ const idText = stringField(rawId);
313
+ if (!idText || seen.has(idText) || !FORUM_ID_RE.test(idText))
314
+ continue;
315
+ seen.add(idText);
316
+ try {
317
+ const row = hasPaperContent(note)
318
+ ? mapOpenReviewNoteRow(note)
319
+ : await fetchOpenReviewPaperRow(idText);
320
+ if (stringField(row.title) || stringField(row.pdf_url))
321
+ rows.push(row);
322
+ }
323
+ catch (error) {
324
+ if (!firstHydrationError) {
325
+ firstHydrationError =
326
+ error instanceof Error ? error : new Error(String(error));
327
+ }
328
+ }
329
+ if (rows.length >= limit)
330
+ break;
331
+ }
332
+ if (rows.length === 0 && firstHydrationError)
333
+ throw firstHydrationError;
334
+ return rows;
335
+ }
336
+ async function downloadOpenReviewPdf(row, output) {
337
+ const id = requireForumId(row.id);
338
+ const pdfUrl = stringField(row.pdf_url);
339
+ if (!pdfUrl) {
340
+ throw new Error(`OpenReview paper "${id}" does not expose a PDF URL.`);
341
+ }
342
+ const outputDir = resolve(String(output ?? "./openreview-downloads"));
343
+ const path = join(outputDir, openReviewPdfFilename(id, row.title));
344
+ const download = await httpDownload(pdfUrl, path, {
345
+ "User-Agent": "unicli-openreview/1.0 (https://github.com/olo-dot-io/Uni-CLI)",
346
+ Accept: "application/pdf,*/*",
347
+ });
348
+ if (download.status === "failed") {
349
+ throw new Error(`OpenReview PDF download failed for ${id}: ${download.error ?? "unknown error"}.`);
350
+ }
351
+ return {
352
+ ...row,
353
+ path: download.path,
354
+ _download: download,
355
+ };
356
+ }
227
357
  cli({
228
358
  site: "openreview",
229
359
  name: "search",
@@ -240,23 +370,36 @@ cli({
240
370
  },
241
371
  { name: "limit", type: "int", default: 25, description: "Max results" },
242
372
  ],
243
- columns: ["rank", "id", "title", "authors", "venue", "pdate", "url"],
373
+ columns: [
374
+ "rank",
375
+ "id",
376
+ "title",
377
+ "authors",
378
+ "venue",
379
+ "pdate",
380
+ "pdf_url",
381
+ "source_url",
382
+ ],
244
383
  capabilities: ["http.fetch", "scholar.search", "scholar.review"],
245
384
  func: async (_page, kwargs) => {
246
385
  const query = String(kwargs.query ?? "").trim();
247
386
  if (!query)
248
387
  throw new Error("openreview search query cannot be empty.");
249
388
  const limit = requireOpenReviewLimit(kwargs.limit, 25, 50);
389
+ const searchLimit = Math.min(limit * 5, 50);
250
390
  const params = new URLSearchParams({
251
391
  term: query,
252
392
  type: "terms",
253
- limit: String(limit),
393
+ limit: String(searchLimit),
254
394
  });
255
395
  const notes = notesFromEnvelope(await fetchOpenReview(`/notes/search?${params.toString()}`, "openreview search"));
256
396
  if (notes.length === 0)
257
397
  throw new Error(`No OpenReview papers found for "${query}".`);
258
- return notes.slice(0, limit).map((note, index) => {
259
- const row = mapOpenReviewNoteRow(note);
398
+ const paperRows = await paperRowsFromSearchNotes(notes, limit);
399
+ if (paperRows.length === 0) {
400
+ throw new Error(`No OpenReview paper notes found for "${query}".`);
401
+ }
402
+ return paperRows.map((row, index) => {
260
403
  return {
261
404
  rank: index + 1,
262
405
  id: row.id,
@@ -264,7 +407,10 @@ cli({
264
407
  authors: row.authors,
265
408
  venue: row.venue,
266
409
  pdate: row.pdate,
267
- url: row.url,
410
+ pdf_url: row.pdf_url,
411
+ source_url: row.source_url,
412
+ source_adapter: row.source_adapter,
413
+ openreview_id: row.openreview_id,
268
414
  };
269
415
  });
270
416
  },
@@ -295,18 +441,18 @@ cli({
295
441
  "abstract",
296
442
  "pdate",
297
443
  "pdf",
444
+ "pdf_url",
298
445
  "url",
446
+ "source_url",
299
447
  ],
300
448
  capabilities: ["http.fetch", "scholar.get", "scholar.pdf", "scholar.review"],
301
449
  func: async (_page, kwargs) => {
302
450
  const id = requireForumId(kwargs.id);
303
- const notes = notesFromEnvelope(await fetchOpenReview(`/notes?id=${encodeURIComponent(id)}`, `openreview paper ${id}`));
304
- if (notes.length === 0)
305
- throw new Error(`No OpenReview paper found with id "${id}".`);
306
- const row = mapOpenReviewNoteRow(notes[0]);
451
+ const row = await fetchOpenReviewPaperRow(id);
307
452
  return [
308
453
  {
309
454
  id: row.id,
455
+ openreview_id: row.openreview_id,
310
456
  title: row.title,
311
457
  authors: row.authors,
312
458
  keywords: row.keywords,
@@ -315,8 +461,156 @@ cli({
315
461
  primary_area: row.primary_area,
316
462
  abstract: row.abstract,
317
463
  pdate: row.pdate,
464
+ date: row.date,
318
465
  pdf: row.pdf,
466
+ pdf_url: row.pdf_url,
319
467
  url: row.url,
468
+ source_url: row.source_url,
469
+ source_adapter: row.source_adapter,
470
+ retrieved_at: row.retrieved_at,
471
+ },
472
+ ];
473
+ },
474
+ });
475
+ cli({
476
+ site: "openreview",
477
+ name: "download",
478
+ description: "Download an OpenReview paper PDF by forum id",
479
+ domain: "openreview.net",
480
+ strategy: Strategy.PUBLIC,
481
+ args: [
482
+ {
483
+ name: "id",
484
+ type: "str",
485
+ required: true,
486
+ positional: true,
487
+ description: "OpenReview forum id or forum URL",
488
+ "x-unicli-kind": "id",
489
+ "x-unicli-accepts": ["url"],
490
+ },
491
+ {
492
+ name: "output",
493
+ type: "str",
494
+ default: "./openreview-downloads",
495
+ description: "Output directory",
496
+ "x-unicli-kind": "path",
497
+ },
498
+ ],
499
+ columns: ["id", "title", "pdf_url", "path", "_download"],
500
+ capabilities: ["http.fetch", "http.download", "scholar.pdf"],
501
+ minimum_capability: "http.download",
502
+ func: async (_page, kwargs) => {
503
+ const id = requireForumId(kwargs.id);
504
+ const downloaded = await downloadOpenReviewPdf(await fetchOpenReviewPaperRow(id), kwargs.output);
505
+ return [
506
+ {
507
+ id: downloaded.id,
508
+ title: downloaded.title,
509
+ pdf_url: downloaded.pdf_url,
510
+ path: downloaded.path,
511
+ _download: downloaded._download,
512
+ source_adapter: downloaded.source_adapter,
513
+ source_url: downloaded.source_url,
514
+ openreview_id: downloaded.openreview_id,
515
+ },
516
+ ];
517
+ },
518
+ });
519
+ cli({
520
+ site: "openreview",
521
+ name: "read",
522
+ description: "Download and extract text from an OpenReview paper PDF",
523
+ domain: "openreview.net",
524
+ strategy: Strategy.PUBLIC,
525
+ args: [
526
+ {
527
+ name: "id",
528
+ type: "str",
529
+ required: true,
530
+ positional: true,
531
+ description: "OpenReview forum id or forum URL",
532
+ "x-unicli-kind": "id",
533
+ "x-unicli-accepts": ["url"],
534
+ },
535
+ {
536
+ name: "output",
537
+ type: "str",
538
+ default: "./openreview-downloads",
539
+ description: "Output directory for the PDF used for extraction",
540
+ "x-unicli-kind": "path",
541
+ },
542
+ {
543
+ name: "first-page",
544
+ type: "int",
545
+ default: 1,
546
+ description: "First page to extract",
547
+ },
548
+ {
549
+ name: "last-page",
550
+ type: "int",
551
+ default: 20,
552
+ description: "Last page to extract",
553
+ },
554
+ {
555
+ name: "max-chars",
556
+ type: "int",
557
+ default: 40000,
558
+ description: "Maximum extracted text characters",
559
+ },
560
+ ],
561
+ columns: [
562
+ "id",
563
+ "title",
564
+ "pdf_url",
565
+ "path",
566
+ "text",
567
+ "text_chars",
568
+ "text_truncated",
569
+ ],
570
+ capabilities: [
571
+ "http.fetch",
572
+ "http.download",
573
+ "subprocess.exec",
574
+ "scholar.pdf",
575
+ "scholar.fulltext",
576
+ ],
577
+ minimum_capability: "subprocess.exec",
578
+ func: async (_page, kwargs) => {
579
+ const id = requireForumId(kwargs.id);
580
+ const { firstPage, lastPage } = requireOpenReviewPageRange(kwargs["first-page"] ?? kwargs.firstPage, kwargs["last-page"] ?? kwargs.lastPage);
581
+ const maxChars = requireOpenReviewMaxChars(kwargs["max-chars"] ?? kwargs.maxChars);
582
+ const downloaded = await downloadOpenReviewPdf(await fetchOpenReviewPaperRow(id), kwargs.output);
583
+ const path = stringField(downloaded.path);
584
+ if (!path)
585
+ throw new Error(`OpenReview PDF download produced no path.`);
586
+ const { stdout } = await execFileAsync("pdftotext", [
587
+ "-layout",
588
+ "-enc",
589
+ "UTF-8",
590
+ "-f",
591
+ String(firstPage),
592
+ "-l",
593
+ String(lastPage),
594
+ path,
595
+ "-",
596
+ ], { timeout: 60000, maxBuffer: 10 * 1024 * 1024 });
597
+ const text = stdout.trim();
598
+ if (!text) {
599
+ throw new Error(`pdftotext returned no text for OpenReview paper ${id} pages ${firstPage}-${lastPage}.`);
600
+ }
601
+ const truncated = truncateText(text, maxChars);
602
+ return [
603
+ {
604
+ id: downloaded.id,
605
+ title: downloaded.title,
606
+ pdf_url: downloaded.pdf_url,
607
+ path,
608
+ text: truncated.text,
609
+ text_chars: truncated.originalChars,
610
+ text_truncated: truncated.truncated,
611
+ source_adapter: downloaded.source_adapter,
612
+ source_url: downloaded.source_url,
613
+ openreview_id: downloaded.openreview_id,
320
614
  },
321
615
  ];
322
616
  },
@@ -337,7 +631,16 @@ cli({
337
631
  },
338
632
  { name: "limit", type: "int", default: 50, description: "Max submissions" },
339
633
  ],
340
- columns: ["rank", "id", "title", "authors", "venue", "pdate", "url"],
634
+ columns: [
635
+ "rank",
636
+ "id",
637
+ "title",
638
+ "authors",
639
+ "venue",
640
+ "pdate",
641
+ "pdf_url",
642
+ "source_url",
643
+ ],
341
644
  capabilities: ["http.fetch", "scholar.author", "scholar.search"],
342
645
  func: async (_page, kwargs) => {
343
646
  const profile = requireProfileId(kwargs.profile);
@@ -359,7 +662,10 @@ cli({
359
662
  authors: row.authors,
360
663
  venue: row.venue,
361
664
  pdate: row.pdate,
362
- url: row.url,
665
+ pdf_url: row.pdf_url,
666
+ source_url: row.source_url,
667
+ source_adapter: row.source_adapter,
668
+ openreview_id: row.openreview_id,
363
669
  };
364
670
  });
365
671
  },
@@ -395,7 +701,9 @@ cli({
395
701
  "primary_area",
396
702
  "pdate",
397
703
  "pdf",
704
+ "pdf_url",
398
705
  "url",
706
+ "source_url",
399
707
  ],
400
708
  capabilities: ["http.fetch", "scholar.venue", "scholar.search"],
401
709
  func: async (_page, kwargs) => {
@@ -423,7 +731,11 @@ cli({
423
731
  primary_area: row.primary_area,
424
732
  pdate: row.pdate,
425
733
  pdf: row.pdf,
734
+ pdf_url: row.pdf_url,
426
735
  url: row.url,
736
+ source_url: row.source_url,
737
+ source_adapter: row.source_adapter,
738
+ openreview_id: row.openreview_id,
427
739
  };
428
740
  });
429
741
  },
@@ -440,7 +752,9 @@ cli({
440
752
  type: "str",
441
753
  required: true,
442
754
  positional: true,
443
- description: "OpenReview forum id",
755
+ description: "OpenReview forum id or forum URL",
756
+ "x-unicli-kind": "id",
757
+ "x-unicli-accepts": ["url"],
444
758
  },
445
759
  {
446
760
  name: "max-length",
@@ -449,7 +763,20 @@ cli({
449
763
  description: "Per-row text truncation length",
450
764
  },
451
765
  ],
452
- columns: ["type", "author", "rating", "confidence", "text"],
766
+ columns: [
767
+ "forum",
768
+ "note_id",
769
+ "type",
770
+ "author",
771
+ "invitation",
772
+ "created_at",
773
+ "source_url",
774
+ "rating",
775
+ "confidence",
776
+ "text",
777
+ "text_chars",
778
+ "text_truncated",
779
+ ],
453
780
  capabilities: ["http.fetch", "scholar.review"],
454
781
  func: async (_page, kwargs) => {
455
782
  const forum = requireForumId(kwargs.forum, "forum");
@@ -1 +1 @@
1
- {"version":3,"file":"papers.js","sourceRoot":"","sources":["../../../src/adapters/openreview/papers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"papers.js","sourceRoot":"","sources":["../../../src/adapters/openreview/papers.ts"],"names":[],"mappings":"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"}