@zenalexa/unicli 0.220.1 → 0.221.1

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 (586) hide show
  1. package/AGENTS.md +35 -13
  2. package/README.md +18 -16
  3. package/README.zh-CN.md +18 -16
  4. package/dist/adapters/acl-anthology/papers.d.ts +16 -0
  5. package/dist/adapters/acl-anthology/papers.d.ts.map +1 -0
  6. package/dist/adapters/acl-anthology/papers.js +135 -0
  7. package/dist/adapters/acl-anthology/papers.js.map +1 -0
  8. package/dist/adapters/arxiv/papers.js +2 -0
  9. package/dist/adapters/arxiv/papers.js.map +1 -1
  10. package/dist/adapters/baidu-scholar/search.js +5 -0
  11. package/dist/adapters/baidu-scholar/search.js.map +1 -1
  12. package/dist/adapters/bilibili/comments.js +66 -4
  13. package/dist/adapters/bilibili/comments.js.map +1 -1
  14. package/dist/adapters/bilibili/compat.js +2 -2
  15. package/dist/adapters/bilibili/compat.js.map +1 -1
  16. package/dist/adapters/bilibili/download.js +4 -4
  17. package/dist/adapters/bilibili/download.js.map +1 -1
  18. package/dist/adapters/bilibili/wbi.d.ts.map +1 -1
  19. package/dist/adapters/bilibili/wbi.js +3 -3
  20. package/dist/adapters/bilibili/wbi.js.map +1 -1
  21. package/dist/adapters/cipo/_shared.d.ts +21 -0
  22. package/dist/adapters/cipo/_shared.d.ts.map +1 -0
  23. package/dist/adapters/cipo/_shared.js +67 -0
  24. package/dist/adapters/cipo/_shared.js.map +1 -0
  25. package/dist/adapters/cipo/get.d.ts +19 -0
  26. package/dist/adapters/cipo/get.d.ts.map +1 -0
  27. package/dist/adapters/cipo/get.js +140 -0
  28. package/dist/adapters/cipo/get.js.map +1 -0
  29. package/dist/adapters/cipo/legal-status.d.ts +19 -0
  30. package/dist/adapters/cipo/legal-status.d.ts.map +1 -0
  31. package/dist/adapters/cipo/legal-status.js +111 -0
  32. package/dist/adapters/cipo/legal-status.js.map +1 -0
  33. package/dist/adapters/cipo/search.d.ts +20 -0
  34. package/dist/adapters/cipo/search.d.ts.map +1 -0
  35. package/dist/adapters/cipo/search.js +148 -0
  36. package/dist/adapters/cipo/search.js.map +1 -0
  37. package/dist/adapters/cnipa/_shared.d.ts +47 -0
  38. package/dist/adapters/cnipa/_shared.d.ts.map +1 -0
  39. package/dist/adapters/cnipa/_shared.js +97 -0
  40. package/dist/adapters/cnipa/_shared.js.map +1 -0
  41. package/dist/adapters/cnipa/get.d.ts +19 -0
  42. package/dist/adapters/cnipa/get.d.ts.map +1 -0
  43. package/dist/adapters/cnipa/get.js +149 -0
  44. package/dist/adapters/cnipa/get.js.map +1 -0
  45. package/dist/adapters/cnipa/legal-status.d.ts +19 -0
  46. package/dist/adapters/cnipa/legal-status.d.ts.map +1 -0
  47. package/dist/adapters/cnipa/legal-status.js +119 -0
  48. package/dist/adapters/cnipa/legal-status.js.map +1 -0
  49. package/dist/adapters/cnipa/search.d.ts +21 -0
  50. package/dist/adapters/cnipa/search.d.ts.map +1 -0
  51. package/dist/adapters/cnipa/search.js +170 -0
  52. package/dist/adapters/cnipa/search.js.map +1 -0
  53. package/dist/adapters/crossref/works.d.ts +42 -0
  54. package/dist/adapters/crossref/works.d.ts.map +1 -0
  55. package/dist/adapters/crossref/works.js +157 -0
  56. package/dist/adapters/crossref/works.js.map +1 -0
  57. package/dist/adapters/cvf/papers.d.ts +17 -0
  58. package/dist/adapters/cvf/papers.d.ts.map +1 -0
  59. package/dist/adapters/cvf/papers.js +124 -0
  60. package/dist/adapters/cvf/papers.js.map +1 -0
  61. package/dist/adapters/dblp/publications.js +4 -0
  62. package/dist/adapters/dblp/publications.js.map +1 -1
  63. package/dist/adapters/espacenet/_shared.d.ts +21 -0
  64. package/dist/adapters/espacenet/_shared.d.ts.map +1 -0
  65. package/dist/adapters/espacenet/_shared.js +67 -0
  66. package/dist/adapters/espacenet/_shared.js.map +1 -0
  67. package/dist/adapters/espacenet/family.d.ts +19 -0
  68. package/dist/adapters/espacenet/family.d.ts.map +1 -0
  69. package/dist/adapters/espacenet/family.js +118 -0
  70. package/dist/adapters/espacenet/family.js.map +1 -0
  71. package/dist/adapters/espacenet/get.d.ts +19 -0
  72. package/dist/adapters/espacenet/get.d.ts.map +1 -0
  73. package/dist/adapters/espacenet/get.js +130 -0
  74. package/dist/adapters/espacenet/get.js.map +1 -0
  75. package/dist/adapters/espacenet/legal-status.d.ts +19 -0
  76. package/dist/adapters/espacenet/legal-status.d.ts.map +1 -0
  77. package/dist/adapters/espacenet/legal-status.js +110 -0
  78. package/dist/adapters/espacenet/legal-status.js.map +1 -0
  79. package/dist/adapters/espacenet/search.d.ts +20 -0
  80. package/dist/adapters/espacenet/search.d.ts.map +1 -0
  81. package/dist/adapters/espacenet/search.js +165 -0
  82. package/dist/adapters/espacenet/search.js.map +1 -0
  83. package/dist/adapters/facebook/subtitles.d.ts +9 -0
  84. package/dist/adapters/facebook/subtitles.d.ts.map +1 -0
  85. package/dist/adapters/facebook/subtitles.js +42 -0
  86. package/dist/adapters/facebook/subtitles.js.map +1 -0
  87. package/dist/adapters/fips/_shared.d.ts +21 -0
  88. package/dist/adapters/fips/_shared.d.ts.map +1 -0
  89. package/dist/adapters/fips/_shared.js +77 -0
  90. package/dist/adapters/fips/_shared.js.map +1 -0
  91. package/dist/adapters/fips/get.d.ts +19 -0
  92. package/dist/adapters/fips/get.d.ts.map +1 -0
  93. package/dist/adapters/fips/get.js +139 -0
  94. package/dist/adapters/fips/get.js.map +1 -0
  95. package/dist/adapters/fips/search.d.ts +20 -0
  96. package/dist/adapters/fips/search.d.ts.map +1 -0
  97. package/dist/adapters/fips/search.js +148 -0
  98. package/dist/adapters/fips/search.js.map +1 -0
  99. package/dist/adapters/freepatentsonline-web/_shared.d.ts +72 -0
  100. package/dist/adapters/freepatentsonline-web/_shared.d.ts.map +1 -0
  101. package/dist/adapters/freepatentsonline-web/_shared.js +216 -0
  102. package/dist/adapters/freepatentsonline-web/_shared.js.map +1 -0
  103. package/dist/adapters/freepatentsonline-web/get.d.ts +21 -0
  104. package/dist/adapters/freepatentsonline-web/get.d.ts.map +1 -0
  105. package/dist/adapters/freepatentsonline-web/get.js +127 -0
  106. package/dist/adapters/freepatentsonline-web/get.js.map +1 -0
  107. package/dist/adapters/freepatentsonline-web/search.d.ts +22 -0
  108. package/dist/adapters/freepatentsonline-web/search.d.ts.map +1 -0
  109. package/dist/adapters/freepatentsonline-web/search.js +149 -0
  110. package/dist/adapters/freepatentsonline-web/search.js.map +1 -0
  111. package/dist/adapters/google-patents-web/_shared.d.ts +110 -0
  112. package/dist/adapters/google-patents-web/_shared.d.ts.map +1 -0
  113. package/dist/adapters/google-patents-web/_shared.js +164 -0
  114. package/dist/adapters/google-patents-web/_shared.js.map +1 -0
  115. package/dist/adapters/google-patents-web/get.d.ts +36 -0
  116. package/dist/adapters/google-patents-web/get.d.ts.map +1 -0
  117. package/dist/adapters/google-patents-web/get.js +187 -0
  118. package/dist/adapters/google-patents-web/get.js.map +1 -0
  119. package/dist/adapters/google-patents-web/search.d.ts +23 -0
  120. package/dist/adapters/google-patents-web/search.d.ts.map +1 -0
  121. package/dist/adapters/google-patents-web/search.js +169 -0
  122. package/dist/adapters/google-patents-web/search.js.map +1 -0
  123. package/dist/adapters/google-scholar/cite.js +1 -0
  124. package/dist/adapters/google-scholar/cite.js.map +1 -1
  125. package/dist/adapters/google-scholar/profile.js +5 -0
  126. package/dist/adapters/google-scholar/profile.js.map +1 -1
  127. package/dist/adapters/google-scholar/search.js +5 -0
  128. package/dist/adapters/google-scholar/search.js.map +1 -1
  129. package/dist/adapters/hf/paper.js +1 -0
  130. package/dist/adapters/hf/paper.js.map +1 -1
  131. package/dist/adapters/inpi-br/_shared.d.ts +21 -0
  132. package/dist/adapters/inpi-br/_shared.d.ts.map +1 -0
  133. package/dist/adapters/inpi-br/_shared.js +67 -0
  134. package/dist/adapters/inpi-br/_shared.js.map +1 -0
  135. package/dist/adapters/inpi-br/get.d.ts +19 -0
  136. package/dist/adapters/inpi-br/get.d.ts.map +1 -0
  137. package/dist/adapters/inpi-br/get.js +142 -0
  138. package/dist/adapters/inpi-br/get.js.map +1 -0
  139. package/dist/adapters/inpi-br/search.d.ts +20 -0
  140. package/dist/adapters/inpi-br/search.d.ts.map +1 -0
  141. package/dist/adapters/inpi-br/search.js +154 -0
  142. package/dist/adapters/inpi-br/search.js.map +1 -0
  143. package/dist/adapters/instagram/subtitles.d.ts +9 -0
  144. package/dist/adapters/instagram/subtitles.d.ts.map +1 -0
  145. package/dist/adapters/instagram/subtitles.js +42 -0
  146. package/dist/adapters/instagram/subtitles.js.map +1 -0
  147. package/dist/adapters/mastodon/statuses.d.ts +40 -0
  148. package/dist/adapters/mastodon/statuses.d.ts.map +1 -0
  149. package/dist/adapters/mastodon/statuses.js +153 -0
  150. package/dist/adapters/mastodon/statuses.js.map +1 -0
  151. package/dist/adapters/neurips/proceedings.d.ts +17 -0
  152. package/dist/adapters/neurips/proceedings.d.ts.map +1 -0
  153. package/dist/adapters/neurips/proceedings.js +112 -0
  154. package/dist/adapters/neurips/proceedings.js.map +1 -0
  155. package/dist/adapters/openalex/works.d.ts.map +1 -1
  156. package/dist/adapters/openalex/works.js +32 -0
  157. package/dist/adapters/openalex/works.js.map +1 -1
  158. package/dist/adapters/openreview/papers.js +5 -0
  159. package/dist/adapters/openreview/papers.js.map +1 -1
  160. package/dist/adapters/pmlr/proceedings.d.ts +35 -0
  161. package/dist/adapters/pmlr/proceedings.d.ts.map +1 -0
  162. package/dist/adapters/pmlr/proceedings.js +139 -0
  163. package/dist/adapters/pmlr/proceedings.js.map +1 -0
  164. package/dist/adapters/pubmed/articles.js +5 -0
  165. package/dist/adapters/pubmed/articles.js.map +1 -1
  166. package/dist/adapters/reddit/comments.d.ts +9 -0
  167. package/dist/adapters/reddit/comments.d.ts.map +1 -0
  168. package/dist/adapters/reddit/comments.js +124 -0
  169. package/dist/adapters/reddit/comments.js.map +1 -0
  170. package/dist/adapters/semantic-scholar/papers.d.ts +36 -0
  171. package/dist/adapters/semantic-scholar/papers.d.ts.map +1 -0
  172. package/dist/adapters/semantic-scholar/papers.js +214 -0
  173. package/dist/adapters/semantic-scholar/papers.js.map +1 -0
  174. package/dist/adapters/threads/post.d.ts +32 -0
  175. package/dist/adapters/threads/post.d.ts.map +1 -0
  176. package/dist/adapters/threads/post.js +287 -0
  177. package/dist/adapters/threads/post.js.map +1 -0
  178. package/dist/adapters/tiktok/subtitles.d.ts +9 -0
  179. package/dist/adapters/tiktok/subtitles.d.ts.map +1 -0
  180. package/dist/adapters/tiktok/subtitles.js +42 -0
  181. package/dist/adapters/tiktok/subtitles.js.map +1 -0
  182. package/dist/adapters/twitter/accept.js +2 -2
  183. package/dist/adapters/twitter/accept.js.map +1 -1
  184. package/dist/adapters/twitter/browser-fallback.d.ts +26 -0
  185. package/dist/adapters/twitter/browser-fallback.d.ts.map +1 -0
  186. package/dist/adapters/twitter/browser-fallback.js +93 -0
  187. package/dist/adapters/twitter/browser-fallback.js.map +1 -0
  188. package/dist/adapters/twitter/browser-state.d.ts +11 -0
  189. package/dist/adapters/twitter/browser-state.d.ts.map +1 -0
  190. package/dist/adapters/twitter/browser-state.js +46 -0
  191. package/dist/adapters/twitter/browser-state.js.map +1 -0
  192. package/dist/adapters/twitter/client.d.ts.map +1 -1
  193. package/dist/adapters/twitter/client.js +36 -13
  194. package/dist/adapters/twitter/client.js.map +1 -1
  195. package/dist/adapters/twitter/reply-dm.js +2 -2
  196. package/dist/adapters/twitter/reply-dm.js.map +1 -1
  197. package/dist/adapters/twitter/reply.js +1 -0
  198. package/dist/adapters/twitter/reply.js.map +1 -1
  199. package/dist/adapters/twitter/search.js +11 -18
  200. package/dist/adapters/twitter/search.js.map +1 -1
  201. package/dist/adapters/twitter/thread.d.ts +14 -0
  202. package/dist/adapters/twitter/thread.d.ts.map +1 -1
  203. package/dist/adapters/twitter/thread.js +28 -2
  204. package/dist/adapters/twitter/thread.js.map +1 -1
  205. package/dist/adapters/twitter/trending.js +13 -59
  206. package/dist/adapters/twitter/trending.js.map +1 -1
  207. package/dist/adapters/unpaywall/works.d.ts +33 -0
  208. package/dist/adapters/unpaywall/works.d.ts.map +1 -0
  209. package/dist/adapters/unpaywall/works.js +101 -0
  210. package/dist/adapters/unpaywall/works.js.map +1 -0
  211. package/dist/adapters/xiaohongshu/browser-state.d.ts +19 -0
  212. package/dist/adapters/xiaohongshu/browser-state.d.ts.map +1 -0
  213. package/dist/adapters/xiaohongshu/browser-state.js +67 -0
  214. package/dist/adapters/xiaohongshu/browser-state.js.map +1 -0
  215. package/dist/adapters/xiaohongshu/comments.js +28 -5
  216. package/dist/adapters/xiaohongshu/comments.js.map +1 -1
  217. package/dist/adapters/xiaohongshu/download.js +49 -11
  218. package/dist/adapters/xiaohongshu/download.js.map +1 -1
  219. package/dist/adapters/xiaohongshu/search.d.ts.map +1 -1
  220. package/dist/adapters/xiaohongshu/search.js +11 -5
  221. package/dist/adapters/xiaohongshu/search.js.map +1 -1
  222. package/dist/adapters/xiaohongshu/trending.d.ts +9 -0
  223. package/dist/adapters/xiaohongshu/trending.d.ts.map +1 -0
  224. package/dist/adapters/xiaohongshu/trending.js +94 -0
  225. package/dist/adapters/xiaohongshu/trending.js.map +1 -0
  226. package/dist/adapters/youtube/comments.d.ts +80 -0
  227. package/dist/adapters/youtube/comments.d.ts.map +1 -1
  228. package/dist/adapters/youtube/comments.js +108 -12
  229. package/dist/adapters/youtube/comments.js.map +1 -1
  230. package/dist/adapters/youtube/subtitles.d.ts +9 -0
  231. package/dist/adapters/youtube/subtitles.d.ts.map +1 -0
  232. package/dist/adapters/youtube/subtitles.js +42 -0
  233. package/dist/adapters/youtube/subtitles.js.map +1 -0
  234. package/dist/adapters/yt-dlp/subtitles.d.ts +9 -0
  235. package/dist/adapters/yt-dlp/subtitles.d.ts.map +1 -0
  236. package/dist/adapters/yt-dlp/subtitles.js +41 -0
  237. package/dist/adapters/yt-dlp/subtitles.js.map +1 -0
  238. package/dist/adapters/zhihu/answer-detail.d.ts +39 -0
  239. package/dist/adapters/zhihu/answer-detail.d.ts.map +1 -0
  240. package/dist/adapters/zhihu/answer-detail.js +204 -0
  241. package/dist/adapters/zhihu/answer-detail.js.map +1 -0
  242. package/dist/adapters/zhihu/comment.d.ts +9 -0
  243. package/dist/adapters/zhihu/comment.d.ts.map +1 -0
  244. package/dist/adapters/zhihu/comment.js +149 -0
  245. package/dist/adapters/zhihu/comment.js.map +1 -0
  246. package/dist/adapters/zhihu/recommend.d.ts +36 -0
  247. package/dist/adapters/zhihu/recommend.d.ts.map +1 -0
  248. package/dist/adapters/zhihu/recommend.js +151 -0
  249. package/dist/adapters/zhihu/recommend.js.map +1 -0
  250. package/dist/browser/bridge.d.ts.map +1 -1
  251. package/dist/browser/bridge.js +14 -3
  252. package/dist/browser/bridge.js.map +1 -1
  253. package/dist/browser/daemon-client.d.ts +6 -0
  254. package/dist/browser/daemon-client.d.ts.map +1 -1
  255. package/dist/browser/daemon-client.js +75 -15
  256. package/dist/browser/daemon-client.js.map +1 -1
  257. package/dist/browser/daemon.js +39 -15
  258. package/dist/browser/daemon.js.map +1 -1
  259. package/dist/browser/protocol.d.ts +1 -0
  260. package/dist/browser/protocol.d.ts.map +1 -1
  261. package/dist/browser/protocol.js +1 -0
  262. package/dist/browser/protocol.js.map +1 -1
  263. package/dist/cli.d.ts.map +1 -1
  264. package/dist/cli.js +21 -1
  265. package/dist/cli.js.map +1 -1
  266. package/dist/commands/approvals.d.ts.map +1 -1
  267. package/dist/commands/approvals.js +1 -37
  268. package/dist/commands/approvals.js.map +1 -1
  269. package/dist/commands/browser/index.d.ts.map +1 -1
  270. package/dist/commands/browser/index.js +7 -2
  271. package/dist/commands/browser/index.js.map +1 -1
  272. package/dist/commands/daemon.d.ts.map +1 -1
  273. package/dist/commands/daemon.js +7 -3
  274. package/dist/commands/daemon.js.map +1 -1
  275. package/dist/commands/dispatch.d.ts.map +1 -1
  276. package/dist/commands/dispatch.js +27 -3
  277. package/dist/commands/dispatch.js.map +1 -1
  278. package/dist/commands/do.d.ts +30 -0
  279. package/dist/commands/do.d.ts.map +1 -0
  280. package/dist/commands/do.js +248 -0
  281. package/dist/commands/do.js.map +1 -0
  282. package/dist/commands/extract.d.ts +34 -0
  283. package/dist/commands/extract.d.ts.map +1 -0
  284. package/dist/commands/extract.js +316 -0
  285. package/dist/commands/extract.js.map +1 -0
  286. package/dist/commands/patent-doctor.d.ts +48 -0
  287. package/dist/commands/patent-doctor.d.ts.map +1 -0
  288. package/dist/commands/patent-doctor.js +109 -0
  289. package/dist/commands/patent-doctor.js.map +1 -0
  290. package/dist/commands/patent.d.ts +78 -0
  291. package/dist/commands/patent.d.ts.map +1 -0
  292. package/dist/commands/patent.js +919 -0
  293. package/dist/commands/patent.js.map +1 -0
  294. package/dist/commands/scholar.d.ts +33 -0
  295. package/dist/commands/scholar.d.ts.map +1 -0
  296. package/dist/commands/scholar.js +494 -0
  297. package/dist/commands/scholar.js.map +1 -0
  298. package/dist/commands/search.d.ts.map +1 -1
  299. package/dist/commands/search.js +2 -5
  300. package/dist/commands/search.js.map +1 -1
  301. package/dist/commands/social.d.ts +19 -0
  302. package/dist/commands/social.d.ts.map +1 -0
  303. package/dist/commands/social.js +236 -0
  304. package/dist/commands/social.js.map +1 -0
  305. package/dist/core/registry.d.ts +1 -1
  306. package/dist/core/registry.d.ts.map +1 -1
  307. package/dist/core/registry.js +11 -2
  308. package/dist/core/registry.js.map +1 -1
  309. package/dist/discovery/aliases.d.ts +2 -2
  310. package/dist/discovery/aliases.d.ts.map +1 -1
  311. package/dist/discovery/aliases.js +182 -11
  312. package/dist/discovery/aliases.js.map +1 -1
  313. package/dist/discovery/intents.d.ts +10 -0
  314. package/dist/discovery/intents.d.ts.map +1 -0
  315. package/dist/discovery/intents.js +255 -0
  316. package/dist/discovery/intents.js.map +1 -0
  317. package/dist/discovery/loader.d.ts.map +1 -1
  318. package/dist/discovery/loader.js +4 -0
  319. package/dist/discovery/loader.js.map +1 -1
  320. package/dist/discovery/search.d.ts +4 -1
  321. package/dist/discovery/search.d.ts.map +1 -1
  322. package/dist/discovery/search.js +28 -140
  323. package/dist/discovery/search.js.map +1 -1
  324. package/dist/engine/approval-presenter.d.ts +10 -0
  325. package/dist/engine/approval-presenter.d.ts.map +1 -0
  326. package/dist/engine/approval-presenter.js +45 -0
  327. package/dist/engine/approval-presenter.js.map +1 -0
  328. package/dist/engine/approval-store.d.ts +4 -0
  329. package/dist/engine/approval-store.d.ts.map +1 -1
  330. package/dist/engine/approval-store.js +85 -11
  331. package/dist/engine/approval-store.js.map +1 -1
  332. package/dist/engine/auth/oauth2-cc.d.ts +67 -0
  333. package/dist/engine/auth/oauth2-cc.d.ts.map +1 -0
  334. package/dist/engine/auth/oauth2-cc.js +120 -0
  335. package/dist/engine/auth/oauth2-cc.js.map +1 -0
  336. package/dist/engine/cookies.d.ts +10 -0
  337. package/dist/engine/cookies.d.ts.map +1 -1
  338. package/dist/engine/cookies.js +64 -0
  339. package/dist/engine/cookies.js.map +1 -1
  340. package/dist/engine/download.d.ts +5 -0
  341. package/dist/engine/download.d.ts.map +1 -1
  342. package/dist/engine/download.js +11 -4
  343. package/dist/engine/download.js.map +1 -1
  344. package/dist/engine/executor.d.ts +1 -0
  345. package/dist/engine/executor.d.ts.map +1 -1
  346. package/dist/engine/executor.js +25 -0
  347. package/dist/engine/executor.js.map +1 -1
  348. package/dist/engine/framework.d.ts +5 -5
  349. package/dist/engine/framework.js +5 -5
  350. package/dist/engine/harden.d.ts +1 -1
  351. package/dist/engine/harden.js +1 -1
  352. package/dist/engine/kernel/stages.d.ts.map +1 -1
  353. package/dist/engine/kernel/stages.js +2 -1
  354. package/dist/engine/kernel/stages.js.map +1 -1
  355. package/dist/engine/normalizer/patent-envelope.d.ts +61 -0
  356. package/dist/engine/normalizer/patent-envelope.d.ts.map +1 -0
  357. package/dist/engine/normalizer/patent-envelope.js +132 -0
  358. package/dist/engine/normalizer/patent-envelope.js.map +1 -0
  359. package/dist/engine/research.d.ts +5 -7
  360. package/dist/engine/research.d.ts.map +1 -1
  361. package/dist/engine/research.js +6 -9
  362. package/dist/engine/research.js.map +1 -1
  363. package/dist/engine/steps/browser-helpers.d.ts +2 -2
  364. package/dist/engine/steps/browser-helpers.d.ts.map +1 -1
  365. package/dist/engine/steps/browser-helpers.js +39 -16
  366. package/dist/engine/steps/browser-helpers.js.map +1 -1
  367. package/dist/engine/steps/download.d.ts +1 -0
  368. package/dist/engine/steps/download.d.ts.map +1 -1
  369. package/dist/engine/steps/download.js +3 -1
  370. package/dist/engine/steps/download.js.map +1 -1
  371. package/dist/engine/steps/index.d.ts +2 -0
  372. package/dist/engine/steps/index.d.ts.map +1 -1
  373. package/dist/engine/steps/index.js +2 -0
  374. package/dist/engine/steps/index.js.map +1 -1
  375. package/dist/engine/steps/oauth2-token.d.ts +41 -0
  376. package/dist/engine/steps/oauth2-token.d.ts.map +1 -0
  377. package/dist/engine/steps/oauth2-token.js +115 -0
  378. package/dist/engine/steps/oauth2-token.js.map +1 -0
  379. package/dist/engine/steps/select-xml.d.ts +34 -0
  380. package/dist/engine/steps/select-xml.d.ts.map +1 -0
  381. package/dist/engine/steps/select-xml.js +222 -0
  382. package/dist/engine/steps/select-xml.js.map +1 -0
  383. package/dist/engine/template.d.ts.map +1 -1
  384. package/dist/engine/template.js +7 -0
  385. package/dist/engine/template.js.map +1 -1
  386. package/dist/engine/transport/mcp-browser.d.ts +128 -0
  387. package/dist/engine/transport/mcp-browser.d.ts.map +1 -0
  388. package/dist/engine/transport/mcp-browser.js +120 -0
  389. package/dist/engine/transport/mcp-browser.js.map +1 -0
  390. package/dist/fast-path/handlers/approvals.d.ts +11 -0
  391. package/dist/fast-path/handlers/approvals.d.ts.map +1 -0
  392. package/dist/fast-path/handlers/approvals.js +136 -0
  393. package/dist/fast-path/handlers/approvals.js.map +1 -0
  394. package/dist/fast-path/handlers/discovery.d.ts.map +1 -1
  395. package/dist/fast-path/handlers/discovery.js +17 -3
  396. package/dist/fast-path/handlers/discovery.js.map +1 -1
  397. package/dist/fast-path/manifest.d.ts +1 -0
  398. package/dist/fast-path/manifest.d.ts.map +1 -1
  399. package/dist/fast-path/manifest.js.map +1 -1
  400. package/dist/fast-path.d.ts.map +1 -1
  401. package/dist/fast-path.js +3 -0
  402. package/dist/fast-path.js.map +1 -1
  403. package/dist/index.d.ts +23 -0
  404. package/dist/index.d.ts.map +1 -0
  405. package/dist/index.js +38 -0
  406. package/dist/index.js.map +1 -0
  407. package/dist/manifest-compact.txt +13 -11
  408. package/dist/manifest-search.json +1 -1
  409. package/dist/manifest.json +2560 -103
  410. package/dist/mcp/handler.d.ts.map +1 -1
  411. package/dist/mcp/handler.js +14 -2
  412. package/dist/mcp/handler.js.map +1 -1
  413. package/dist/mcp/tools.d.ts.map +1 -1
  414. package/dist/mcp/tools.js +11 -3
  415. package/dist/mcp/tools.js.map +1 -1
  416. package/dist/output/auth-guidance.d.ts +14 -0
  417. package/dist/output/auth-guidance.d.ts.map +1 -0
  418. package/dist/output/auth-guidance.js +50 -0
  419. package/dist/output/auth-guidance.js.map +1 -0
  420. package/dist/output/error-map.d.ts +1 -1
  421. package/dist/output/error-map.d.ts.map +1 -1
  422. package/dist/output/error-map.js +28 -4
  423. package/dist/output/error-map.js.map +1 -1
  424. package/dist/output/next-actions.d.ts.map +1 -1
  425. package/dist/output/next-actions.js +19 -3
  426. package/dist/output/next-actions.js.map +1 -1
  427. package/dist/registry.d.ts +19 -1
  428. package/dist/registry.d.ts.map +1 -1
  429. package/dist/registry.js +10 -0
  430. package/dist/registry.js.map +1 -1
  431. package/dist/social/browser-errors.d.ts +13 -0
  432. package/dist/social/browser-errors.d.ts.map +1 -0
  433. package/dist/social/browser-errors.js +36 -0
  434. package/dist/social/browser-errors.js.map +1 -0
  435. package/dist/social/capabilities.d.ts +29 -0
  436. package/dist/social/capabilities.d.ts.map +1 -0
  437. package/dist/social/capabilities.js +448 -0
  438. package/dist/social/capabilities.js.map +1 -0
  439. package/dist/social/comments.d.ts +26 -0
  440. package/dist/social/comments.d.ts.map +1 -0
  441. package/dist/social/comments.js +97 -0
  442. package/dist/social/comments.js.map +1 -0
  443. package/dist/social/video-text.d.ts +27 -0
  444. package/dist/social/video-text.d.ts.map +1 -0
  445. package/dist/social/video-text.js +140 -0
  446. package/dist/social/video-text.js.map +1 -0
  447. package/dist/types/patent.d.ts +160 -0
  448. package/dist/types/patent.d.ts.map +1 -0
  449. package/dist/types/patent.js +16 -0
  450. package/dist/types/patent.js.map +1 -0
  451. package/dist/types/scholarly.d.ts +49 -0
  452. package/dist/types/scholarly.d.ts.map +1 -0
  453. package/dist/types/scholarly.js +16 -0
  454. package/dist/types/scholarly.js.map +1 -0
  455. package/dist/types.d.ts +12 -0
  456. package/dist/types.d.ts.map +1 -1
  457. package/dist/types.js.map +1 -1
  458. package/package.json +9 -4
  459. package/server.json +3 -3
  460. package/skills/unicli/SKILL.md +1 -1
  461. package/skills/unicli-claude-code/SKILL.md +1 -1
  462. package/skills/unicli-hermes/SKILL.md +1 -1
  463. package/src/adapters/acl-anthology/papers.ts +157 -0
  464. package/src/adapters/arxiv/download.yaml +1 -1
  465. package/src/adapters/arxiv/paper.yaml +1 -1
  466. package/src/adapters/arxiv/papers.ts +2 -0
  467. package/src/adapters/arxiv/search.yaml +1 -1
  468. package/src/adapters/arxiv/trending.yaml +1 -1
  469. package/src/adapters/baidu-scholar/search.ts +5 -0
  470. package/src/adapters/bilibili/comments-tree.test.ts +41 -0
  471. package/src/adapters/bilibili/comments.ts +78 -4
  472. package/src/adapters/bilibili/compat.ts +5 -2
  473. package/src/adapters/bilibili/download.ts +7 -4
  474. package/src/adapters/bilibili/wbi.ts +6 -3
  475. package/src/adapters/brave/search.yaml +53 -0
  476. package/src/adapters/cipo/_shared.ts +98 -0
  477. package/src/adapters/cipo/get.ts +188 -0
  478. package/src/adapters/cipo/legal-status.ts +148 -0
  479. package/src/adapters/cipo/search.ts +195 -0
  480. package/src/adapters/cnipa/_shared.ts +138 -0
  481. package/src/adapters/cnipa/get.ts +199 -0
  482. package/src/adapters/cnipa/legal-status.ts +162 -0
  483. package/src/adapters/cnipa/search.ts +229 -0
  484. package/src/adapters/crossref/works.ts +209 -0
  485. package/src/adapters/cvf/papers.ts +136 -0
  486. package/src/adapters/dblp/publications.ts +4 -0
  487. package/src/adapters/dpma/get.yaml +67 -0
  488. package/src/adapters/dpma/search.yaml +77 -0
  489. package/src/adapters/duckduckgo/search.yaml +54 -0
  490. package/src/adapters/duckduckgo/suggest.yaml +52 -0
  491. package/src/adapters/epo/family.yaml +69 -0
  492. package/src/adapters/epo/get.yaml +74 -0
  493. package/src/adapters/epo/legal-status.yaml +63 -0
  494. package/src/adapters/epo/search.yaml +84 -0
  495. package/src/adapters/espacenet/_shared.ts +98 -0
  496. package/src/adapters/espacenet/family.ts +161 -0
  497. package/src/adapters/espacenet/get.ts +185 -0
  498. package/src/adapters/espacenet/legal-status.ts +151 -0
  499. package/src/adapters/espacenet/search.ts +229 -0
  500. package/src/adapters/facebook/subtitles.ts +44 -0
  501. package/src/adapters/fips/_shared.ts +109 -0
  502. package/src/adapters/fips/get.ts +186 -0
  503. package/src/adapters/fips/search.ts +195 -0
  504. package/src/adapters/freepatentsonline-web/_shared.ts +273 -0
  505. package/src/adapters/freepatentsonline-web/get.ts +144 -0
  506. package/src/adapters/freepatentsonline-web/search.ts +170 -0
  507. package/src/adapters/google-patents-bq/prior-art.yaml +80 -0
  508. package/src/adapters/google-patents-bq/search.yaml +97 -0
  509. package/src/adapters/google-patents-web/_shared.ts +242 -0
  510. package/src/adapters/google-patents-web/get.ts +224 -0
  511. package/src/adapters/google-patents-web/search.ts +196 -0
  512. package/src/adapters/google-scholar/cite.ts +1 -0
  513. package/src/adapters/google-scholar/profile.ts +5 -0
  514. package/src/adapters/google-scholar/search.ts +5 -0
  515. package/src/adapters/hf/paper.test.ts +10 -0
  516. package/src/adapters/hf/paper.ts +1 -0
  517. package/src/adapters/hf/top.yaml +1 -1
  518. package/src/adapters/huggingface-papers/daily.yaml +1 -1
  519. package/src/adapters/huggingface-papers/search.yaml +1 -1
  520. package/src/adapters/inpi-br/_shared.ts +98 -0
  521. package/src/adapters/inpi-br/get.ts +193 -0
  522. package/src/adapters/inpi-br/search.ts +206 -0
  523. package/src/adapters/inpi-fr/get.yaml +62 -0
  524. package/src/adapters/inpi-fr/search.yaml +74 -0
  525. package/src/adapters/instagram/subtitles.ts +44 -0
  526. package/src/adapters/ipaustralia/get.yaml +67 -0
  527. package/src/adapters/ipaustralia/search.yaml +74 -0
  528. package/src/adapters/jpo/get.yaml +63 -0
  529. package/src/adapters/jpo/search.yaml +76 -0
  530. package/src/adapters/kipris/get.yaml +69 -0
  531. package/src/adapters/kipris/legal-status.yaml +58 -0
  532. package/src/adapters/kipris/search.yaml +79 -0
  533. package/src/adapters/lens/get.yaml +64 -0
  534. package/src/adapters/lens/search.yaml +82 -0
  535. package/src/adapters/mastodon/statuses.test.ts +82 -0
  536. package/src/adapters/mastodon/statuses.ts +208 -0
  537. package/src/adapters/neurips/proceedings.ts +126 -0
  538. package/src/adapters/openalex/works.ts +33 -0
  539. package/src/adapters/openreview/papers.ts +5 -0
  540. package/src/adapters/patsnap/get.yaml +65 -0
  541. package/src/adapters/patsnap/search.yaml +77 -0
  542. package/src/adapters/pmlr/proceedings.ts +167 -0
  543. package/src/adapters/pqai/prior-art.yaml +59 -0
  544. package/src/adapters/pqai/search.yaml +60 -0
  545. package/src/adapters/pubmed/articles.ts +5 -0
  546. package/src/adapters/reddit/comments-tree.test.ts +79 -0
  547. package/src/adapters/reddit/comments.ts +159 -0
  548. package/src/adapters/semantic-scholar/papers.ts +268 -0
  549. package/src/adapters/threads/post.test.ts +64 -0
  550. package/src/adapters/threads/post.ts +366 -0
  551. package/src/adapters/threads/user.yaml +73 -0
  552. package/src/adapters/tiktok/subtitles.ts +44 -0
  553. package/src/adapters/twitter/accept.ts +5 -2
  554. package/src/adapters/twitter/browser-fallback.ts +138 -0
  555. package/src/adapters/twitter/browser-state.ts +74 -0
  556. package/src/adapters/twitter/client.ts +51 -21
  557. package/src/adapters/twitter/reply-dm.ts +5 -2
  558. package/src/adapters/twitter/reply.ts +1 -0
  559. package/src/adapters/twitter/search.ts +12 -38
  560. package/src/adapters/twitter/thread.test.ts +43 -0
  561. package/src/adapters/twitter/thread.ts +44 -2
  562. package/src/adapters/twitter/trending.ts +14 -95
  563. package/src/adapters/ukipo/info.yaml +43 -0
  564. package/src/adapters/unpaywall/works.ts +138 -0
  565. package/src/adapters/uspto/get.yaml +67 -0
  566. package/src/adapters/uspto/legal-status.yaml +58 -0
  567. package/src/adapters/uspto/search.yaml +88 -0
  568. package/src/adapters/wipo-patentscope/info.yaml +43 -0
  569. package/src/adapters/xiaohongshu/browser-state.ts +95 -0
  570. package/src/adapters/xiaohongshu/comments.ts +29 -6
  571. package/src/adapters/xiaohongshu/download.ts +60 -11
  572. package/src/adapters/xiaohongshu/search.ts +18 -6
  573. package/src/adapters/xiaohongshu/trending.ts +112 -0
  574. package/src/adapters/yahoo/search.yaml +52 -0
  575. package/src/adapters/youtube/comments-microformat.test.ts +35 -0
  576. package/src/adapters/youtube/comments-tree.test.ts +74 -0
  577. package/src/adapters/youtube/comments.ts +166 -12
  578. package/src/adapters/youtube/subtitles.ts +44 -0
  579. package/src/adapters/yt-dlp/subtitles.ts +43 -0
  580. package/src/adapters/zhihu/answer-detail.test.ts +83 -0
  581. package/src/adapters/zhihu/answer-detail.ts +275 -0
  582. package/src/adapters/zhihu/comment-tree.test.ts +57 -0
  583. package/src/adapters/zhihu/comment.ts +186 -0
  584. package/src/adapters/zhihu/recommend.test.ts +65 -0
  585. package/src/adapters/zhihu/recommend.ts +207 -0
  586. package/src/adapters/zotero/search.yaml +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.220.1",
2
+ "version": "0.221.1",
3
3
  "sites": {
4
4
  "1688": {
5
5
  "commands": [
@@ -480,7 +480,7 @@
480
480
  "target_surface": ""
481
481
  }
482
482
  ],
483
- "category": "other"
483
+ "category": "social"
484
484
  },
485
485
  "36kr": {
486
486
  "commands": [
@@ -817,7 +817,71 @@
817
817
  "target_surface": ""
818
818
  }
819
819
  ],
820
- "category": "other"
820
+ "category": "jobs"
821
+ },
822
+ "acl-anthology": {
823
+ "commands": [
824
+ {
825
+ "name": "paper",
826
+ "description": "Fetch an ACL Anthology paper by anthology id",
827
+ "strategy": "public",
828
+ "type": "web-api",
829
+ "domain": "aclanthology.org",
830
+ "columns": [
831
+ "id",
832
+ "title",
833
+ "authors",
834
+ "year",
835
+ "venue",
836
+ "pdf_url",
837
+ "source_url"
838
+ ],
839
+ "args": [
840
+ {
841
+ "name": "id",
842
+ "type": "str",
843
+ "required": true,
844
+ "positional": true
845
+ }
846
+ ],
847
+ "pipeline_steps": 0,
848
+ "adapter_path": "src/adapters/acl-anthology/papers.ts",
849
+ "target_surface": ""
850
+ },
851
+ {
852
+ "name": "search",
853
+ "description": "Search ACL Anthology papers",
854
+ "strategy": "public",
855
+ "type": "web-api",
856
+ "domain": "aclanthology.org",
857
+ "columns": [
858
+ "id",
859
+ "title",
860
+ "authors",
861
+ "year",
862
+ "venue",
863
+ "pdf_url",
864
+ "source_url"
865
+ ],
866
+ "args": [
867
+ {
868
+ "name": "query",
869
+ "type": "str",
870
+ "required": true,
871
+ "positional": true
872
+ },
873
+ {
874
+ "name": "limit",
875
+ "type": "int",
876
+ "default": 20
877
+ }
878
+ ],
879
+ "pipeline_steps": 0,
880
+ "adapter_path": "src/adapters/acl-anthology/papers.ts",
881
+ "target_surface": ""
882
+ }
883
+ ],
884
+ "category": "scholarly"
821
885
  },
822
886
  "adguardhome": {
823
887
  "commands": [
@@ -2120,7 +2184,7 @@
2120
2184
  "adapter_path": "src/adapters/arxiv/trending.yaml"
2121
2185
  }
2122
2186
  ],
2123
- "category": "reference"
2187
+ "category": "scholarly"
2124
2188
  },
2125
2189
  "audacity": {
2126
2190
  "commands": [
@@ -2415,7 +2479,7 @@
2415
2479
  "adapter_path": "src/adapters/audacity/trim.yaml"
2416
2480
  }
2417
2481
  ],
2418
- "category": "other"
2482
+ "category": "desktop"
2419
2483
  },
2420
2484
  "autoagent": {
2421
2485
  "commands": [
@@ -2573,7 +2637,7 @@
2573
2637
  "target_surface": ""
2574
2638
  }
2575
2639
  ],
2576
- "category": "other"
2640
+ "category": "scholarly"
2577
2641
  },
2578
2642
  "band": {
2579
2643
  "commands": [
@@ -3233,10 +3297,19 @@
3233
3297
  "type": "web-api",
3234
3298
  "domain": "api.bilibili.com",
3235
3299
  "columns": [
3236
- "user",
3237
- "content",
3300
+ "platform",
3301
+ "content_id",
3302
+ "comment_id",
3303
+ "parent_id",
3304
+ "depth",
3305
+ "path",
3306
+ "author",
3307
+ "text",
3238
3308
  "likes",
3239
- "replies"
3309
+ "replies",
3310
+ "created",
3311
+ "user",
3312
+ "content"
3240
3313
  ],
3241
3314
  "args": [
3242
3315
  {
@@ -3250,6 +3323,12 @@
3250
3323
  "type": "int",
3251
3324
  "default": 20,
3252
3325
  "description": "Number of comments"
3326
+ },
3327
+ {
3328
+ "name": "with-replies",
3329
+ "type": "bool",
3330
+ "default": false,
3331
+ "description": "Include nested replies for each root comment"
3253
3332
  }
3254
3333
  ],
3255
3334
  "pipeline_steps": 0,
@@ -5701,6 +5780,44 @@
5701
5780
  ],
5702
5781
  "category": "jobs"
5703
5782
  },
5783
+ "brave": {
5784
+ "commands": [
5785
+ {
5786
+ "name": "search",
5787
+ "description": "Search the public web via Brave Search (no API key needed)",
5788
+ "strategy": "public",
5789
+ "type": "web-api",
5790
+ "domain": "search.brave.com",
5791
+ "browser": false,
5792
+ "quarantined": false,
5793
+ "args": [
5794
+ {
5795
+ "name": "query",
5796
+ "type": "str",
5797
+ "required": true,
5798
+ "positional": true,
5799
+ "description": "Free-text web search query"
5800
+ },
5801
+ {
5802
+ "name": "limit",
5803
+ "type": "int",
5804
+ "required": false,
5805
+ "positional": false,
5806
+ "default": 10,
5807
+ "description": "Maximum results returned (page caps around 20)"
5808
+ }
5809
+ ],
5810
+ "columns": [
5811
+ "title",
5812
+ "url",
5813
+ "snippet"
5814
+ ],
5815
+ "pipeline_steps": 3,
5816
+ "adapter_path": "src/adapters/brave/search.yaml"
5817
+ }
5818
+ ],
5819
+ "category": "other"
5820
+ },
5704
5821
  "chaoxing": {
5705
5822
  "commands": [
5706
5823
  {
@@ -6149,7 +6266,7 @@
6149
6266
  "target_surface": "desktop"
6150
6267
  }
6151
6268
  ],
6152
- "category": "other"
6269
+ "category": "ai"
6153
6270
  },
6154
6271
  "chatwise": {
6155
6272
  "commands": [
@@ -6410,6 +6527,93 @@
6410
6527
  ],
6411
6528
  "category": "other"
6412
6529
  },
6530
+ "cipo": {
6531
+ "commands": [
6532
+ {
6533
+ "name": "get",
6534
+ "description": "Retrieve a single Canadian patent document (CIPO, browser)",
6535
+ "strategy": "public",
6536
+ "type": "web-api",
6537
+ "domain": "cipo.ic.gc.ca",
6538
+ "columns": [
6539
+ "publication_number",
6540
+ "title",
6541
+ "publication_date",
6542
+ "grant_date",
6543
+ "source_url"
6544
+ ],
6545
+ "args": [
6546
+ {
6547
+ "name": "publication_number",
6548
+ "type": "str",
6549
+ "required": true,
6550
+ "positional": true,
6551
+ "description": "CA publication number (with or without CA prefix)"
6552
+ }
6553
+ ],
6554
+ "pipeline_steps": 0,
6555
+ "adapter_path": "src/adapters/cipo/get.ts",
6556
+ "target_surface": ""
6557
+ },
6558
+ {
6559
+ "name": "legal-status",
6560
+ "description": "CIPO Canadian patent administrative-status lookup (browser)",
6561
+ "strategy": "public",
6562
+ "type": "web-api",
6563
+ "domain": "cipo.ic.gc.ca",
6564
+ "columns": [
6565
+ "publication_number",
6566
+ "legal_status",
6567
+ "status_date",
6568
+ "source_url"
6569
+ ],
6570
+ "args": [
6571
+ {
6572
+ "name": "publication_number",
6573
+ "type": "str",
6574
+ "required": true,
6575
+ "positional": true,
6576
+ "description": "CA publication number"
6577
+ }
6578
+ ],
6579
+ "pipeline_steps": 0,
6580
+ "adapter_path": "src/adapters/cipo/legal-status.ts",
6581
+ "target_surface": ""
6582
+ },
6583
+ {
6584
+ "name": "search",
6585
+ "description": "Search the Canadian Patents Database (CIPO, browser, no API)",
6586
+ "strategy": "public",
6587
+ "type": "web-api",
6588
+ "domain": "cipo.ic.gc.ca",
6589
+ "columns": [
6590
+ "publication_number",
6591
+ "title",
6592
+ "publication_date",
6593
+ "source_url"
6594
+ ],
6595
+ "args": [
6596
+ {
6597
+ "name": "query",
6598
+ "type": "str",
6599
+ "required": true,
6600
+ "positional": true,
6601
+ "description": "Free-text query — matched on title/abstract/applicant"
6602
+ },
6603
+ {
6604
+ "name": "limit",
6605
+ "type": "int",
6606
+ "default": 25,
6607
+ "description": "Max results (1-100)"
6608
+ }
6609
+ ],
6610
+ "pipeline_steps": 0,
6611
+ "adapter_path": "src/adapters/cipo/search.ts",
6612
+ "target_surface": ""
6613
+ }
6614
+ ],
6615
+ "category": "patent"
6616
+ },
6413
6617
  "claude": {
6414
6618
  "commands": [
6415
6619
  {
@@ -6849,7 +7053,100 @@
6849
7053
  "adapter_path": "src/adapters/cloudcompare/subsample.yaml"
6850
7054
  }
6851
7055
  ],
6852
- "category": "other"
7056
+ "category": "desktop"
7057
+ },
7058
+ "cnipa": {
7059
+ "commands": [
7060
+ {
7061
+ "name": "get",
7062
+ "description": "Retrieve a single CNIPA patent document by publication number",
7063
+ "strategy": "public",
7064
+ "type": "web-api",
7065
+ "domain": "pss-system.cponline.cnipa.gov.cn",
7066
+ "columns": [
7067
+ "publication_number",
7068
+ "title",
7069
+ "publication_date",
7070
+ "legal_status",
7071
+ "source_url"
7072
+ ],
7073
+ "args": [
7074
+ {
7075
+ "name": "publication_number",
7076
+ "type": "str",
7077
+ "required": true,
7078
+ "positional": true,
7079
+ "description": "ST.16 publication number (e.g. CN114123456A)"
7080
+ }
7081
+ ],
7082
+ "pipeline_steps": 0,
7083
+ "adapter_path": "src/adapters/cnipa/get.ts",
7084
+ "target_surface": ""
7085
+ },
7086
+ {
7087
+ "name": "legal-status",
7088
+ "description": "CNIPA legal-status / prosecution timeline lookup (browser)",
7089
+ "strategy": "public",
7090
+ "type": "web-api",
7091
+ "domain": "pss-system.cponline.cnipa.gov.cn",
7092
+ "columns": [
7093
+ "publication_number",
7094
+ "legal_status",
7095
+ "status_date",
7096
+ "source_url"
7097
+ ],
7098
+ "args": [
7099
+ {
7100
+ "name": "publication_number",
7101
+ "type": "str",
7102
+ "required": true,
7103
+ "positional": true,
7104
+ "description": "ST.16 publication number"
7105
+ }
7106
+ ],
7107
+ "pipeline_steps": 0,
7108
+ "adapter_path": "src/adapters/cnipa/legal-status.ts",
7109
+ "target_surface": ""
7110
+ },
7111
+ {
7112
+ "name": "search",
7113
+ "description": "Search CNIPA via the public 公众查询 browser interface (no API)",
7114
+ "strategy": "public",
7115
+ "type": "web-api",
7116
+ "domain": "pss-system.cponline.cnipa.gov.cn",
7117
+ "columns": [
7118
+ "publication_number",
7119
+ "title",
7120
+ "publication_date",
7121
+ "source_url"
7122
+ ],
7123
+ "args": [
7124
+ {
7125
+ "name": "query",
7126
+ "type": "str",
7127
+ "required": true,
7128
+ "positional": true,
7129
+ "description": "Free-text query — matched against title/abstract/claims"
7130
+ },
7131
+ {
7132
+ "name": "limit",
7133
+ "type": "int",
7134
+ "default": 25,
7135
+ "description": "Maximum results to return (1-100)"
7136
+ },
7137
+ {
7138
+ "name": "offset",
7139
+ "type": "int",
7140
+ "default": 0,
7141
+ "description": "Result offset for pagination"
7142
+ }
7143
+ ],
7144
+ "pipeline_steps": 0,
7145
+ "adapter_path": "src/adapters/cnipa/search.ts",
7146
+ "target_surface": ""
7147
+ }
7148
+ ],
7149
+ "category": "patent"
6853
7150
  },
6854
7151
  "cnki": {
6855
7152
  "commands": [
@@ -6890,7 +7187,7 @@
6890
7187
  "adapter_path": "src/adapters/cnki/search.yaml"
6891
7188
  }
6892
7189
  ],
6893
- "category": "reference"
7190
+ "category": "scholarly"
6894
7191
  },
6895
7192
  "cnn": {
6896
7193
  "commands": [
@@ -7578,7 +7875,7 @@
7578
7875
  "target_surface": ""
7579
7876
  }
7580
7877
  ],
7581
- "category": "other"
7878
+ "category": "finance"
7582
7879
  },
7583
7880
  "comfyui": {
7584
7881
  "commands": [
@@ -7891,7 +8188,7 @@
7891
8188
  "target_surface": ""
7892
8189
  }
7893
8190
  ],
7894
- "category": "other"
8191
+ "category": "dev"
7895
8192
  },
7896
8193
  "crates-io": {
7897
8194
  "commands": [
@@ -7991,6 +8288,70 @@
7991
8288
  ],
7992
8289
  "category": "dev"
7993
8290
  },
8291
+ "crossref": {
8292
+ "commands": [
8293
+ {
8294
+ "name": "search",
8295
+ "description": "Search Crossref Works by title, author, DOI, or bibliographic text",
8296
+ "strategy": "public",
8297
+ "type": "web-api",
8298
+ "domain": "api.crossref.org",
8299
+ "columns": [
8300
+ "id",
8301
+ "title",
8302
+ "authors",
8303
+ "year",
8304
+ "venue",
8305
+ "doi",
8306
+ "source_url"
8307
+ ],
8308
+ "args": [
8309
+ {
8310
+ "name": "query",
8311
+ "type": "str",
8312
+ "required": true,
8313
+ "positional": true
8314
+ },
8315
+ {
8316
+ "name": "limit",
8317
+ "type": "int",
8318
+ "default": 20
8319
+ }
8320
+ ],
8321
+ "pipeline_steps": 0,
8322
+ "adapter_path": "src/adapters/crossref/works.ts",
8323
+ "target_surface": ""
8324
+ },
8325
+ {
8326
+ "name": "work",
8327
+ "description": "Fetch one Crossref Work by DOI",
8328
+ "strategy": "public",
8329
+ "type": "web-api",
8330
+ "domain": "api.crossref.org",
8331
+ "columns": [
8332
+ "id",
8333
+ "title",
8334
+ "authors",
8335
+ "year",
8336
+ "venue",
8337
+ "doi",
8338
+ "source_url"
8339
+ ],
8340
+ "args": [
8341
+ {
8342
+ "name": "doi",
8343
+ "type": "str",
8344
+ "required": true,
8345
+ "positional": true
8346
+ }
8347
+ ],
8348
+ "pipeline_steps": 0,
8349
+ "adapter_path": "src/adapters/crossref/works.ts",
8350
+ "target_surface": ""
8351
+ }
8352
+ ],
8353
+ "category": "scholarly"
8354
+ },
7994
8355
  "ctrip": {
7995
8356
  "commands": [
7996
8357
  {
@@ -8468,6 +8829,53 @@
8468
8829
  ],
8469
8830
  "category": "dev"
8470
8831
  },
8832
+ "cvf": {
8833
+ "commands": [
8834
+ {
8835
+ "name": "search",
8836
+ "description": "Search CVF OpenAccess proceedings (CVPR/ICCV/ECCV/WACV)",
8837
+ "strategy": "public",
8838
+ "type": "web-api",
8839
+ "domain": "openaccess.thecvf.com",
8840
+ "columns": [
8841
+ "id",
8842
+ "title",
8843
+ "authors",
8844
+ "year",
8845
+ "venue",
8846
+ "pdf_url",
8847
+ "source_url"
8848
+ ],
8849
+ "args": [
8850
+ {
8851
+ "name": "query",
8852
+ "type": "str",
8853
+ "required": true,
8854
+ "positional": true
8855
+ },
8856
+ {
8857
+ "name": "venue",
8858
+ "type": "str",
8859
+ "default": "CVPR"
8860
+ },
8861
+ {
8862
+ "name": "year",
8863
+ "type": "str",
8864
+ "default": "2024"
8865
+ },
8866
+ {
8867
+ "name": "limit",
8868
+ "type": "int",
8869
+ "default": 20
8870
+ }
8871
+ ],
8872
+ "pipeline_steps": 0,
8873
+ "adapter_path": "src/adapters/cvf/papers.ts",
8874
+ "target_surface": ""
8875
+ }
8876
+ ],
8877
+ "category": "scholarly"
8878
+ },
8471
8879
  "danbooru": {
8472
8880
  "commands": [
8473
8881
  {
@@ -9013,7 +9421,7 @@
9013
9421
  "target_surface": ""
9014
9422
  }
9015
9423
  ],
9016
- "category": "other"
9424
+ "category": "scholarly"
9017
9425
  },
9018
9426
  "deepseek": {
9019
9427
  "commands": [
@@ -9309,7 +9717,7 @@
9309
9717
  "target_surface": ""
9310
9718
  }
9311
9719
  ],
9312
- "category": "other"
9720
+ "category": "finance"
9313
9721
  },
9314
9722
  "devto": {
9315
9723
  "commands": [
@@ -10730,7 +11138,7 @@
10730
11138
  "target_surface": ""
10731
11139
  }
10732
11140
  ],
10733
- "category": "other"
11141
+ "category": "dev"
10734
11142
  },
10735
11143
  "doctl": {
10736
11144
  "commands": [
@@ -12289,6 +12697,71 @@
12289
12697
  ],
12290
12698
  "category": "video"
12291
12699
  },
12700
+ "dpma": {
12701
+ "commands": [
12702
+ {
12703
+ "name": "get",
12704
+ "description": "Fetch a German patent record by publication number (subscription)",
12705
+ "strategy": "public",
12706
+ "type": "web-api",
12707
+ "domain": "dpmaconnect.dpma.de",
12708
+ "browser": false,
12709
+ "quarantined": false,
12710
+ "args": [
12711
+ {
12712
+ "name": "publication_number",
12713
+ "type": "str",
12714
+ "required": true,
12715
+ "positional": true,
12716
+ "description": "German publication number (e.g. DE102023012345)"
12717
+ }
12718
+ ],
12719
+ "columns": [
12720
+ "publication_number",
12721
+ "title",
12722
+ "filing_date",
12723
+ "publication_date"
12724
+ ],
12725
+ "pipeline_steps": 3,
12726
+ "adapter_path": "src/adapters/dpma/get.yaml"
12727
+ },
12728
+ {
12729
+ "name": "search",
12730
+ "description": "Search German patents via DPMAconnectPlus REST (subscription)",
12731
+ "strategy": "public",
12732
+ "type": "web-api",
12733
+ "domain": "dpmaconnect.dpma.de",
12734
+ "browser": false,
12735
+ "quarantined": false,
12736
+ "args": [
12737
+ {
12738
+ "name": "query",
12739
+ "type": "str",
12740
+ "required": true,
12741
+ "positional": true,
12742
+ "description": "DPMA query (free-text, mapped to title/abstract)"
12743
+ },
12744
+ {
12745
+ "name": "limit",
12746
+ "type": "int",
12747
+ "required": false,
12748
+ "positional": false,
12749
+ "default": 25,
12750
+ "description": "Maximum results"
12751
+ }
12752
+ ],
12753
+ "columns": [
12754
+ "publication_number",
12755
+ "title",
12756
+ "filing_date",
12757
+ "publication_date"
12758
+ ],
12759
+ "pipeline_steps": 4,
12760
+ "adapter_path": "src/adapters/dpma/search.yaml"
12761
+ }
12762
+ ],
12763
+ "category": "patent"
12764
+ },
12292
12765
  "drawio": {
12293
12766
  "commands": [
12294
12767
  {
@@ -12338,6 +12811,75 @@
12338
12811
  ],
12339
12812
  "category": "desktop"
12340
12813
  },
12814
+ "duckduckgo": {
12815
+ "commands": [
12816
+ {
12817
+ "name": "search",
12818
+ "description": "Search the public web via DuckDuckGo (no API key needed)",
12819
+ "strategy": "public",
12820
+ "type": "web-api",
12821
+ "domain": "html.duckduckgo.com",
12822
+ "browser": false,
12823
+ "quarantined": false,
12824
+ "args": [
12825
+ {
12826
+ "name": "query",
12827
+ "type": "str",
12828
+ "required": true,
12829
+ "positional": true,
12830
+ "description": "Free-text web search query"
12831
+ },
12832
+ {
12833
+ "name": "limit",
12834
+ "type": "int",
12835
+ "required": false,
12836
+ "positional": false,
12837
+ "default": 10,
12838
+ "description": "Maximum results returned (DDG lite caps at ~30 per page)"
12839
+ }
12840
+ ],
12841
+ "columns": [
12842
+ "title",
12843
+ "url",
12844
+ "snippet"
12845
+ ],
12846
+ "pipeline_steps": 3,
12847
+ "adapter_path": "src/adapters/duckduckgo/search.yaml"
12848
+ },
12849
+ {
12850
+ "name": "suggest",
12851
+ "description": "Get query autocompletion suggestions from DuckDuckGo",
12852
+ "strategy": "public",
12853
+ "type": "web-api",
12854
+ "domain": "duckduckgo.com",
12855
+ "browser": false,
12856
+ "quarantined": false,
12857
+ "args": [
12858
+ {
12859
+ "name": "query",
12860
+ "type": "str",
12861
+ "required": true,
12862
+ "positional": true,
12863
+ "description": "Partial query prefix to autocomplete"
12864
+ },
12865
+ {
12866
+ "name": "limit",
12867
+ "type": "int",
12868
+ "required": false,
12869
+ "positional": false,
12870
+ "default": 10,
12871
+ "description": "Maximum suggestions returned"
12872
+ }
12873
+ ],
12874
+ "columns": [
12875
+ "phrase"
12876
+ ],
12877
+ "pipeline_steps": 4,
12878
+ "adapter_path": "src/adapters/duckduckgo/suggest.yaml"
12879
+ }
12880
+ ],
12881
+ "category": "other"
12882
+ },
12341
12883
  "eastmoney": {
12342
12884
  "commands": [
12343
12885
  {
@@ -13191,6 +13733,226 @@
13191
13733
  ],
13192
13734
  "category": "other"
13193
13735
  },
13736
+ "epo": {
13737
+ "commands": [
13738
+ {
13739
+ "name": "family",
13740
+ "description": "INPADOC simple family for an EPO publication",
13741
+ "strategy": "public",
13742
+ "type": "web-api",
13743
+ "domain": "ops.epo.org",
13744
+ "browser": false,
13745
+ "quarantined": false,
13746
+ "args": [
13747
+ {
13748
+ "name": "publication_number",
13749
+ "type": "str",
13750
+ "required": true,
13751
+ "positional": true,
13752
+ "description": "Publication number in epodoc format"
13753
+ }
13754
+ ],
13755
+ "columns": [
13756
+ "publication_number",
13757
+ "family_id"
13758
+ ],
13759
+ "pipeline_steps": 4,
13760
+ "adapter_path": "src/adapters/epo/family.yaml"
13761
+ },
13762
+ {
13763
+ "name": "get",
13764
+ "description": "Fetch EPO DOCDB biblio for a single publication number",
13765
+ "strategy": "public",
13766
+ "type": "web-api",
13767
+ "domain": "ops.epo.org",
13768
+ "browser": false,
13769
+ "quarantined": false,
13770
+ "args": [
13771
+ {
13772
+ "name": "publication_number",
13773
+ "type": "str",
13774
+ "required": true,
13775
+ "positional": true,
13776
+ "description": "Publication number in epodoc format (e.g. EP.4123456.A1 or US.20240123456.A1)"
13777
+ }
13778
+ ],
13779
+ "columns": [
13780
+ "publication_number",
13781
+ "title"
13782
+ ],
13783
+ "pipeline_steps": 4,
13784
+ "adapter_path": "src/adapters/epo/get.yaml"
13785
+ },
13786
+ {
13787
+ "name": "legal-status",
13788
+ "description": "INPADOC legal-status events for an EPO publication",
13789
+ "strategy": "public",
13790
+ "type": "web-api",
13791
+ "domain": "ops.epo.org",
13792
+ "browser": false,
13793
+ "quarantined": false,
13794
+ "args": [
13795
+ {
13796
+ "name": "publication_number",
13797
+ "type": "str",
13798
+ "required": true,
13799
+ "positional": true,
13800
+ "description": "Publication number in epodoc format"
13801
+ }
13802
+ ],
13803
+ "columns": [
13804
+ "publication_number",
13805
+ "legal_status"
13806
+ ],
13807
+ "pipeline_steps": 4,
13808
+ "adapter_path": "src/adapters/epo/legal-status.yaml"
13809
+ },
13810
+ {
13811
+ "name": "search",
13812
+ "description": "Search EPO published patents via Open Patent Services v3.2 (CQL)",
13813
+ "strategy": "public",
13814
+ "type": "web-api",
13815
+ "domain": "ops.epo.org",
13816
+ "browser": false,
13817
+ "quarantined": false,
13818
+ "args": [
13819
+ {
13820
+ "name": "query",
13821
+ "type": "str",
13822
+ "required": true,
13823
+ "positional": true,
13824
+ "description": "EPO CQL query (e.g. \"ti=quantum and pa=ibm\")"
13825
+ },
13826
+ {
13827
+ "name": "limit",
13828
+ "type": "int",
13829
+ "required": false,
13830
+ "positional": false,
13831
+ "default": 25,
13832
+ "description": "Maximum results (OPS caps at 100 per page)"
13833
+ }
13834
+ ],
13835
+ "columns": [
13836
+ "publication_number",
13837
+ "title"
13838
+ ],
13839
+ "pipeline_steps": 5,
13840
+ "adapter_path": "src/adapters/epo/search.yaml"
13841
+ }
13842
+ ],
13843
+ "category": "patent"
13844
+ },
13845
+ "espacenet": {
13846
+ "commands": [
13847
+ {
13848
+ "name": "family",
13849
+ "description": "Espacenet DOCDB simple-family lookup (browser)",
13850
+ "strategy": "public",
13851
+ "type": "web-api",
13852
+ "domain": "worldwide.espacenet.com",
13853
+ "columns": [
13854
+ "publication_number",
13855
+ "jurisdiction",
13856
+ "relationship",
13857
+ "publication_date"
13858
+ ],
13859
+ "args": [
13860
+ {
13861
+ "name": "publication_number",
13862
+ "type": "str",
13863
+ "required": true,
13864
+ "positional": true,
13865
+ "description": "ST.16 publication number"
13866
+ }
13867
+ ],
13868
+ "pipeline_steps": 0,
13869
+ "adapter_path": "src/adapters/espacenet/family.ts",
13870
+ "target_surface": ""
13871
+ },
13872
+ {
13873
+ "name": "get",
13874
+ "description": "Retrieve a single Espacenet publication detail (browser, no key)",
13875
+ "strategy": "public",
13876
+ "type": "web-api",
13877
+ "domain": "worldwide.espacenet.com",
13878
+ "columns": [
13879
+ "publication_number",
13880
+ "title",
13881
+ "publication_date",
13882
+ "source_url"
13883
+ ],
13884
+ "args": [
13885
+ {
13886
+ "name": "publication_number",
13887
+ "type": "str",
13888
+ "required": true,
13889
+ "positional": true,
13890
+ "description": "ST.16 publication number (e.g. EP4123456A1)"
13891
+ }
13892
+ ],
13893
+ "pipeline_steps": 0,
13894
+ "adapter_path": "src/adapters/espacenet/get.ts",
13895
+ "target_surface": ""
13896
+ },
13897
+ {
13898
+ "name": "legal-status",
13899
+ "description": "Espacenet INPADOC legal-status lookup (browser)",
13900
+ "strategy": "public",
13901
+ "type": "web-api",
13902
+ "domain": "worldwide.espacenet.com",
13903
+ "columns": [
13904
+ "publication_number",
13905
+ "legal_status",
13906
+ "status_date",
13907
+ "source_url"
13908
+ ],
13909
+ "args": [
13910
+ {
13911
+ "name": "publication_number",
13912
+ "type": "str",
13913
+ "required": true,
13914
+ "positional": true,
13915
+ "description": "ST.16 publication number"
13916
+ }
13917
+ ],
13918
+ "pipeline_steps": 0,
13919
+ "adapter_path": "src/adapters/espacenet/legal-status.ts",
13920
+ "target_surface": ""
13921
+ },
13922
+ {
13923
+ "name": "search",
13924
+ "description": "Search Espacenet (EPO public no-key front end) for worldwide patents",
13925
+ "strategy": "public",
13926
+ "type": "web-api",
13927
+ "domain": "worldwide.espacenet.com",
13928
+ "columns": [
13929
+ "publication_number",
13930
+ "title",
13931
+ "publication_date",
13932
+ "source_url"
13933
+ ],
13934
+ "args": [
13935
+ {
13936
+ "name": "query",
13937
+ "type": "str",
13938
+ "required": true,
13939
+ "positional": true,
13940
+ "description": "Espacenet smart-search query (CQL-lite syntax)"
13941
+ },
13942
+ {
13943
+ "name": "limit",
13944
+ "type": "int",
13945
+ "default": 25,
13946
+ "description": "Max results (1-100)"
13947
+ }
13948
+ ],
13949
+ "pipeline_steps": 0,
13950
+ "adapter_path": "src/adapters/espacenet/search.ts",
13951
+ "target_surface": ""
13952
+ }
13953
+ ],
13954
+ "category": "patent"
13955
+ },
13194
13956
  "excel": {
13195
13957
  "commands": [
13196
13958
  {
@@ -13852,6 +14614,43 @@
13852
14614
  ],
13853
14615
  "pipeline_steps": 3,
13854
14616
  "adapter_path": "src/adapters/facebook/search.yaml"
14617
+ },
14618
+ {
14619
+ "name": "subtitles",
14620
+ "description": "Extract LLM-readable subtitles from a Facebook video URL with optional browser-cookie reuse",
14621
+ "strategy": "public",
14622
+ "type": "web-api",
14623
+ "domain": "www.facebook.com",
14624
+ "columns": [
14625
+ "language",
14626
+ "text",
14627
+ "path"
14628
+ ],
14629
+ "defaultFormat": "json",
14630
+ "args": [
14631
+ {
14632
+ "name": "url",
14633
+ "type": "str",
14634
+ "required": true,
14635
+ "positional": true,
14636
+ "description": "Facebook video URL",
14637
+ "format": "uri"
14638
+ },
14639
+ {
14640
+ "name": "languages",
14641
+ "type": "str",
14642
+ "default": "zh-Hans,zh,en",
14643
+ "description": "Comma-separated subtitle languages"
14644
+ },
14645
+ {
14646
+ "name": "cookies-from-browser",
14647
+ "type": "str",
14648
+ "description": "Browser name for yt-dlp --cookies-from-browser"
14649
+ }
14650
+ ],
14651
+ "pipeline_steps": 0,
14652
+ "adapter_path": "src/adapters/facebook/subtitles.ts",
14653
+ "target_surface": ""
13855
14654
  }
13856
14655
  ],
13857
14656
  "category": "social"
@@ -13972,7 +14771,7 @@
13972
14771
  "adapter_path": "src/adapters/feishu/tasks.yaml"
13973
14772
  }
13974
14773
  ],
13975
- "category": "other"
14774
+ "category": "social"
13976
14775
  },
13977
14776
  "ffmpeg": {
13978
14777
  "commands": [
@@ -14571,6 +15370,68 @@
14571
15370
  ],
14572
15371
  "category": "desktop"
14573
15372
  },
15373
+ "fips": {
15374
+ "commands": [
15375
+ {
15376
+ "name": "get",
15377
+ "description": "Retrieve a single Rospatent FIPS document (browser-only)",
15378
+ "strategy": "public",
15379
+ "type": "web-api",
15380
+ "domain": "www.fips.ru",
15381
+ "columns": [
15382
+ "publication_number",
15383
+ "title",
15384
+ "publication_date",
15385
+ "filing_date",
15386
+ "source_url"
15387
+ ],
15388
+ "args": [
15389
+ {
15390
+ "name": "publication_number",
15391
+ "type": "str",
15392
+ "required": true,
15393
+ "positional": true,
15394
+ "description": "Russian patent publication number"
15395
+ }
15396
+ ],
15397
+ "pipeline_steps": 0,
15398
+ "adapter_path": "src/adapters/fips/get.ts",
15399
+ "target_surface": ""
15400
+ },
15401
+ {
15402
+ "name": "search",
15403
+ "description": "Search Rospatent FIPS Russian patent database (browser, no API)",
15404
+ "strategy": "public",
15405
+ "type": "web-api",
15406
+ "domain": "www.fips.ru",
15407
+ "columns": [
15408
+ "publication_number",
15409
+ "title",
15410
+ "publication_date",
15411
+ "source_url"
15412
+ ],
15413
+ "args": [
15414
+ {
15415
+ "name": "query",
15416
+ "type": "str",
15417
+ "required": true,
15418
+ "positional": true,
15419
+ "description": "Free-text query for FIPS Russian patent search"
15420
+ },
15421
+ {
15422
+ "name": "limit",
15423
+ "type": "int",
15424
+ "default": 25,
15425
+ "description": "Max results (1-100)"
15426
+ }
15427
+ ],
15428
+ "pipeline_steps": 0,
15429
+ "adapter_path": "src/adapters/fips/search.ts",
15430
+ "target_surface": ""
15431
+ }
15432
+ ],
15433
+ "category": "patent"
15434
+ },
14574
15435
  "flathub": {
14575
15436
  "commands": [
14576
15437
  {
@@ -15192,6 +16053,68 @@
15192
16053
  ],
15193
16054
  "category": "desktop"
15194
16055
  },
16056
+ "freepatentsonline-web": {
16057
+ "commands": [
16058
+ {
16059
+ "name": "get",
16060
+ "description": "Retrieve a single FreePatentsOnline bibliographic record (keyless, no Chrome)",
16061
+ "strategy": "public",
16062
+ "type": "web-api",
16063
+ "domain": "www.freepatentsonline.com",
16064
+ "columns": [
16065
+ "publication_number",
16066
+ "title",
16067
+ "publication_date",
16068
+ "assignees",
16069
+ "source_url"
16070
+ ],
16071
+ "args": [
16072
+ {
16073
+ "name": "publication_number",
16074
+ "type": "str",
16075
+ "required": true,
16076
+ "positional": true,
16077
+ "description": "ST.16 publication number, compact or segmented (e.g. US20240220787 or EP3716153A1)"
16078
+ }
16079
+ ],
16080
+ "pipeline_steps": 0,
16081
+ "adapter_path": "src/adapters/freepatentsonline-web/get.ts",
16082
+ "target_surface": ""
16083
+ },
16084
+ {
16085
+ "name": "search",
16086
+ "description": "Keyless FreePatentsOnline search via the public SSR listing (no API key, no Chrome)",
16087
+ "strategy": "public",
16088
+ "type": "web-api",
16089
+ "domain": "www.freepatentsonline.com",
16090
+ "columns": [
16091
+ "publication_number",
16092
+ "title",
16093
+ "abstract",
16094
+ "source_url"
16095
+ ],
16096
+ "args": [
16097
+ {
16098
+ "name": "query",
16099
+ "type": "str",
16100
+ "required": true,
16101
+ "positional": true,
16102
+ "description": "Free-text query (FreePatentsOnline xprtsrch syntax)"
16103
+ },
16104
+ {
16105
+ "name": "limit",
16106
+ "type": "int",
16107
+ "default": 25,
16108
+ "description": "Max results to return (1-50, FPO paginates at 50)"
16109
+ }
16110
+ ],
16111
+ "pipeline_steps": 0,
16112
+ "adapter_path": "src/adapters/freepatentsonline-web/search.ts",
16113
+ "target_surface": ""
16114
+ }
16115
+ ],
16116
+ "category": "patent"
16117
+ },
15195
16118
  "futu": {
15196
16119
  "commands": [
15197
16120
  {
@@ -15670,7 +16593,7 @@
15670
16593
  "adapter_path": "src/adapters/gh/search-repos.yaml"
15671
16594
  }
15672
16595
  ],
15673
- "category": "other"
16596
+ "category": "dev"
15674
16597
  },
15675
16598
  "gimp": {
15676
16599
  "commands": [
@@ -16741,6 +17664,159 @@
16741
17664
  ],
16742
17665
  "category": "reference"
16743
17666
  },
17667
+ "google-patents-bq": {
17668
+ "commands": [
17669
+ {
17670
+ "name": "prior-art",
17671
+ "description": "Keyword-arm of the prior-art fusion against BigQuery public dataset",
17672
+ "strategy": "header",
17673
+ "type": "web-api",
17674
+ "domain": "bigquery.googleapis.com",
17675
+ "browser": false,
17676
+ "quarantined": false,
17677
+ "args": [
17678
+ {
17679
+ "name": "abstract",
17680
+ "type": "str",
17681
+ "required": true,
17682
+ "positional": false,
17683
+ "description": "Candidate abstract — long-form natural language"
17684
+ },
17685
+ {
17686
+ "name": "limit",
17687
+ "type": "int",
17688
+ "required": false,
17689
+ "positional": false,
17690
+ "default": 20
17691
+ },
17692
+ {
17693
+ "name": "project",
17694
+ "type": "str",
17695
+ "required": false,
17696
+ "positional": false,
17697
+ "default": ""
17698
+ }
17699
+ ],
17700
+ "columns": [
17701
+ "publication_number",
17702
+ "title",
17703
+ "abstract"
17704
+ ],
17705
+ "pipeline_steps": 3,
17706
+ "adapter_path": "src/adapters/google-patents-bq/prior-art.yaml"
17707
+ },
17708
+ {
17709
+ "name": "search",
17710
+ "description": "BigQuery search over the Google Patents Public Datasets corpus",
17711
+ "strategy": "header",
17712
+ "type": "web-api",
17713
+ "domain": "bigquery.googleapis.com",
17714
+ "browser": false,
17715
+ "quarantined": false,
17716
+ "args": [
17717
+ {
17718
+ "name": "query",
17719
+ "type": "str",
17720
+ "required": true,
17721
+ "positional": true,
17722
+ "description": "Substring matched against title and abstract (case-insensitive)"
17723
+ },
17724
+ {
17725
+ "name": "limit",
17726
+ "type": "int",
17727
+ "required": false,
17728
+ "positional": false,
17729
+ "default": 20
17730
+ },
17731
+ {
17732
+ "name": "project",
17733
+ "type": "str",
17734
+ "required": false,
17735
+ "positional": false,
17736
+ "default": "",
17737
+ "description": "GCP project ID — falls back to $GCLOUD_PROJECT"
17738
+ }
17739
+ ],
17740
+ "columns": [
17741
+ "publication_number",
17742
+ "title",
17743
+ "publication_date",
17744
+ "source_adapter"
17745
+ ],
17746
+ "pipeline_steps": 3,
17747
+ "adapter_path": "src/adapters/google-patents-bq/search.yaml"
17748
+ }
17749
+ ],
17750
+ "category": "patent"
17751
+ },
17752
+ "google-patents-web": {
17753
+ "commands": [
17754
+ {
17755
+ "name": "get",
17756
+ "description": "Retrieve a single Google Patents bibliographic record (keyless, no Chrome)",
17757
+ "strategy": "public",
17758
+ "type": "web-api",
17759
+ "domain": "patents.google.com",
17760
+ "columns": [
17761
+ "publication_number",
17762
+ "title",
17763
+ "publication_date",
17764
+ "assignees",
17765
+ "source_url"
17766
+ ],
17767
+ "args": [
17768
+ {
17769
+ "name": "publication_number",
17770
+ "type": "str",
17771
+ "required": true,
17772
+ "positional": true,
17773
+ "description": "ST.16 publication number, compact or segmented (e.g. US11741188B2 or US-11741188-B2)"
17774
+ }
17775
+ ],
17776
+ "pipeline_steps": 0,
17777
+ "adapter_path": "src/adapters/google-patents-web/get.ts",
17778
+ "target_surface": ""
17779
+ },
17780
+ {
17781
+ "name": "search",
17782
+ "description": "Keyless Google Patents search via the public XHR endpoint (no API key, no Chrome required)",
17783
+ "strategy": "public",
17784
+ "type": "web-api",
17785
+ "domain": "patents.google.com",
17786
+ "columns": [
17787
+ "publication_number",
17788
+ "title",
17789
+ "publication_date",
17790
+ "assignees",
17791
+ "source_url"
17792
+ ],
17793
+ "args": [
17794
+ {
17795
+ "name": "query",
17796
+ "type": "str",
17797
+ "required": true,
17798
+ "positional": true,
17799
+ "description": "Free-text query (Google Patents smart-search syntax)"
17800
+ },
17801
+ {
17802
+ "name": "limit",
17803
+ "type": "int",
17804
+ "default": 25,
17805
+ "description": "Max results to return (1-100)"
17806
+ },
17807
+ {
17808
+ "name": "since",
17809
+ "type": "str",
17810
+ "description": "Earliest publication year (YYYY); translated to after:publication:YYYY0101"
17811
+ }
17812
+ ],
17813
+ "pipeline_steps": 0,
17814
+ "adapter_path": "src/adapters/google-patents-web/search.ts",
17815
+ "target_surface": ""
17816
+ }
17817
+ ],
17818
+ "category": "patent"
17819
+ },
16744
17820
  "google-scholar": {
16745
17821
  "commands": [
16746
17822
  {
@@ -16844,7 +17920,7 @@
16844
17920
  "target_surface": ""
16845
17921
  }
16846
17922
  ],
16847
- "category": "other"
17923
+ "category": "scholarly"
16848
17924
  },
16849
17925
  "goproxy": {
16850
17926
  "commands": [
@@ -16911,7 +17987,7 @@
16911
17987
  "target_surface": ""
16912
17988
  }
16913
17989
  ],
16914
- "category": "other"
17990
+ "category": "dev"
16915
17991
  },
16916
17992
  "gov-law": {
16917
17993
  "commands": [
@@ -18059,7 +19135,7 @@
18059
19135
  "adapter_path": "src/adapters/huggingface-papers/search.yaml"
18060
19136
  }
18061
19137
  ],
18062
- "category": "ai"
19138
+ "category": "scholarly"
18063
19139
  },
18064
19140
  "hupu": {
18065
19141
  "commands": [
@@ -18868,7 +19944,7 @@
18868
19944
  "adapter_path": "src/adapters/imessage/search.yaml"
18869
19945
  }
18870
19946
  ],
18871
- "category": "other"
19947
+ "category": "social"
18872
19948
  },
18873
19949
  "indeed": {
18874
19950
  "commands": [
@@ -18956,7 +20032,7 @@
18956
20032
  "target_surface": ""
18957
20033
  }
18958
20034
  ],
18959
- "category": "other"
20035
+ "category": "jobs"
18960
20036
  },
18961
20037
  "infoq": {
18962
20038
  "commands": [
@@ -19143,6 +20219,133 @@
19143
20219
  ],
19144
20220
  "category": "desktop"
19145
20221
  },
20222
+ "inpi-br": {
20223
+ "commands": [
20224
+ {
20225
+ "name": "get",
20226
+ "description": "Retrieve a single INPI Brasil patent record (browser-only)",
20227
+ "strategy": "public",
20228
+ "type": "web-api",
20229
+ "domain": "busca.inpi.gov.br",
20230
+ "columns": [
20231
+ "publication_number",
20232
+ "title",
20233
+ "publication_date",
20234
+ "filing_date",
20235
+ "source_url"
20236
+ ],
20237
+ "args": [
20238
+ {
20239
+ "name": "publication_number",
20240
+ "type": "str",
20241
+ "required": true,
20242
+ "positional": true,
20243
+ "description": "Brazil patent application/publication number"
20244
+ }
20245
+ ],
20246
+ "pipeline_steps": 0,
20247
+ "adapter_path": "src/adapters/inpi-br/get.ts",
20248
+ "target_surface": ""
20249
+ },
20250
+ {
20251
+ "name": "search",
20252
+ "description": "Search INPI Brasil patents (browser-only, no upstream API)",
20253
+ "strategy": "public",
20254
+ "type": "web-api",
20255
+ "domain": "busca.inpi.gov.br",
20256
+ "columns": [
20257
+ "publication_number",
20258
+ "title",
20259
+ "publication_date",
20260
+ "source_url"
20261
+ ],
20262
+ "args": [
20263
+ {
20264
+ "name": "query",
20265
+ "type": "str",
20266
+ "required": true,
20267
+ "positional": true,
20268
+ "description": "Free-text query for INPI Brasil patent search"
20269
+ },
20270
+ {
20271
+ "name": "limit",
20272
+ "type": "int",
20273
+ "default": 25,
20274
+ "description": "Max results (1-100)"
20275
+ }
20276
+ ],
20277
+ "pipeline_steps": 0,
20278
+ "adapter_path": "src/adapters/inpi-br/search.ts",
20279
+ "target_surface": ""
20280
+ }
20281
+ ],
20282
+ "category": "patent"
20283
+ },
20284
+ "inpi-fr": {
20285
+ "commands": [
20286
+ {
20287
+ "name": "get",
20288
+ "description": "Fetch a French patent record by publication number (open subset)",
20289
+ "strategy": "public",
20290
+ "type": "web-api",
20291
+ "domain": "api.inpi.fr",
20292
+ "browser": false,
20293
+ "quarantined": false,
20294
+ "args": [
20295
+ {
20296
+ "name": "publication_number",
20297
+ "type": "str",
20298
+ "required": true,
20299
+ "positional": true,
20300
+ "description": "French publication number (e.g. FR3098765)"
20301
+ }
20302
+ ],
20303
+ "columns": [
20304
+ "publication_number",
20305
+ "title",
20306
+ "filing_date",
20307
+ "publication_date"
20308
+ ],
20309
+ "pipeline_steps": 2,
20310
+ "adapter_path": "src/adapters/inpi-fr/get.yaml"
20311
+ },
20312
+ {
20313
+ "name": "search",
20314
+ "description": "Search French patents via the INPI public open-data search API",
20315
+ "strategy": "public",
20316
+ "type": "web-api",
20317
+ "domain": "api.inpi.fr",
20318
+ "browser": false,
20319
+ "quarantined": false,
20320
+ "args": [
20321
+ {
20322
+ "name": "query",
20323
+ "type": "str",
20324
+ "required": true,
20325
+ "positional": true,
20326
+ "description": "Free-text query"
20327
+ },
20328
+ {
20329
+ "name": "limit",
20330
+ "type": "int",
20331
+ "required": false,
20332
+ "positional": false,
20333
+ "default": 25,
20334
+ "description": "Maximum results"
20335
+ }
20336
+ ],
20337
+ "columns": [
20338
+ "publication_number",
20339
+ "title",
20340
+ "filing_date",
20341
+ "publication_date"
20342
+ ],
20343
+ "pipeline_steps": 4,
20344
+ "adapter_path": "src/adapters/inpi-fr/search.yaml"
20345
+ }
20346
+ ],
20347
+ "category": "patent"
20348
+ },
19146
20349
  "instagram": {
19147
20350
  "commands": [
19148
20351
  {
@@ -19776,6 +20979,43 @@
19776
20979
  "adapter_path": "src/adapters/instagram/story.ts",
19777
20980
  "target_surface": ""
19778
20981
  },
20982
+ {
20983
+ "name": "subtitles",
20984
+ "description": "Extract LLM-readable subtitles from an Instagram reel or video URL with optional browser-cookie reuse",
20985
+ "strategy": "public",
20986
+ "type": "web-api",
20987
+ "domain": "www.instagram.com",
20988
+ "columns": [
20989
+ "language",
20990
+ "text",
20991
+ "path"
20992
+ ],
20993
+ "defaultFormat": "json",
20994
+ "args": [
20995
+ {
20996
+ "name": "url",
20997
+ "type": "str",
20998
+ "required": true,
20999
+ "positional": true,
21000
+ "description": "Instagram reel or video URL",
21001
+ "format": "uri"
21002
+ },
21003
+ {
21004
+ "name": "languages",
21005
+ "type": "str",
21006
+ "default": "zh-Hans,zh,en",
21007
+ "description": "Comma-separated subtitle languages"
21008
+ },
21009
+ {
21010
+ "name": "cookies-from-browser",
21011
+ "type": "str",
21012
+ "description": "Browser name for yt-dlp --cookies-from-browser"
21013
+ }
21014
+ ],
21015
+ "pipeline_steps": 0,
21016
+ "adapter_path": "src/adapters/instagram/subtitles.ts",
21017
+ "target_surface": ""
21018
+ },
19779
21019
  {
19780
21020
  "name": "suggested",
19781
21021
  "description": "Get suggested users to follow on Instagram",
@@ -20005,6 +21245,71 @@
20005
21245
  ],
20006
21246
  "category": "utility"
20007
21247
  },
21248
+ "ipaustralia": {
21249
+ "commands": [
21250
+ {
21251
+ "name": "get",
21252
+ "description": "Fetch an Australian patent by application number",
21253
+ "strategy": "public",
21254
+ "type": "web-api",
21255
+ "domain": "api.ipaustralia.gov.au",
21256
+ "browser": false,
21257
+ "quarantined": false,
21258
+ "args": [
21259
+ {
21260
+ "name": "application_number",
21261
+ "type": "str",
21262
+ "required": true,
21263
+ "positional": true,
21264
+ "description": "Australian application number (e.g. 2023000123)"
21265
+ }
21266
+ ],
21267
+ "columns": [
21268
+ "publication_number",
21269
+ "title",
21270
+ "filing_date",
21271
+ "publication_date"
21272
+ ],
21273
+ "pipeline_steps": 3,
21274
+ "adapter_path": "src/adapters/ipaustralia/get.yaml"
21275
+ },
21276
+ {
21277
+ "name": "search",
21278
+ "description": "Search Australian patents via the IP Australia API portal",
21279
+ "strategy": "public",
21280
+ "type": "web-api",
21281
+ "domain": "api.ipaustralia.gov.au",
21282
+ "browser": false,
21283
+ "quarantined": false,
21284
+ "args": [
21285
+ {
21286
+ "name": "query",
21287
+ "type": "str",
21288
+ "required": true,
21289
+ "positional": true,
21290
+ "description": "Free-text query (title/abstract)"
21291
+ },
21292
+ {
21293
+ "name": "limit",
21294
+ "type": "int",
21295
+ "required": false,
21296
+ "positional": false,
21297
+ "default": 25,
21298
+ "description": "Maximum results"
21299
+ }
21300
+ ],
21301
+ "columns": [
21302
+ "publication_number",
21303
+ "title",
21304
+ "filing_date",
21305
+ "publication_date"
21306
+ ],
21307
+ "pipeline_steps": 4,
21308
+ "adapter_path": "src/adapters/ipaustralia/search.yaml"
21309
+ }
21310
+ ],
21311
+ "category": "patent"
21312
+ },
20008
21313
  "itch-io": {
20009
21314
  "commands": [
20010
21315
  {
@@ -21028,7 +22333,72 @@
21028
22333
  "target_surface": ""
21029
22334
  }
21030
22335
  ],
21031
- "category": "other"
22336
+ "category": "ai"
22337
+ },
22338
+ "jpo": {
22339
+ "commands": [
22340
+ {
22341
+ "name": "get",
22342
+ "description": "Fetch a JPO application by application number",
22343
+ "strategy": "public",
22344
+ "type": "web-api",
22345
+ "domain": "ip-data.jpo.go.jp",
22346
+ "browser": false,
22347
+ "quarantined": false,
22348
+ "args": [
22349
+ {
22350
+ "name": "application_number",
22351
+ "type": "str",
22352
+ "required": true,
22353
+ "positional": true,
22354
+ "description": "JPO application number (e.g. 特願2024-012345 numeric form 2024012345)"
22355
+ }
22356
+ ],
22357
+ "columns": [
22358
+ "publication_number",
22359
+ "title",
22360
+ "filing_date",
22361
+ "publication_date"
22362
+ ],
22363
+ "pipeline_steps": 2,
22364
+ "adapter_path": "src/adapters/jpo/get.yaml"
22365
+ },
22366
+ {
22367
+ "name": "search",
22368
+ "description": "Search JPO Patent Information Retrieval API",
22369
+ "strategy": "public",
22370
+ "type": "web-api",
22371
+ "domain": "ip-data.jpo.go.jp",
22372
+ "browser": false,
22373
+ "quarantined": false,
22374
+ "args": [
22375
+ {
22376
+ "name": "query",
22377
+ "type": "str",
22378
+ "required": true,
22379
+ "positional": true,
22380
+ "description": "Free-text query (JPO maps to title/abstract/applicant fields)"
22381
+ },
22382
+ {
22383
+ "name": "limit",
22384
+ "type": "int",
22385
+ "required": false,
22386
+ "positional": false,
22387
+ "default": 25,
22388
+ "description": "Maximum results"
22389
+ }
22390
+ ],
22391
+ "columns": [
22392
+ "publication_number",
22393
+ "title",
22394
+ "filing_date",
22395
+ "publication_date"
22396
+ ],
22397
+ "pipeline_steps": 4,
22398
+ "adapter_path": "src/adapters/jpo/search.yaml"
22399
+ }
22400
+ ],
22401
+ "category": "patent"
21032
22402
  },
21033
22403
  "jq": {
21034
22404
  "commands": [
@@ -21156,7 +22526,7 @@
21156
22526
  "adapter_path": "src/adapters/juejin/search.yaml"
21157
22527
  }
21158
22528
  ],
21159
- "category": "other"
22529
+ "category": "dev"
21160
22530
  },
21161
22531
  "kdenlive": {
21162
22532
  "commands": [
@@ -21246,7 +22616,7 @@
21246
22616
  "adapter_path": "src/adapters/kdenlive/render.yaml"
21247
22617
  }
21248
22618
  ],
21249
- "category": "other"
22619
+ "category": "desktop"
21250
22620
  },
21251
22621
  "ke": {
21252
22622
  "commands": [
@@ -21416,6 +22786,95 @@
21416
22786
  ],
21417
22787
  "category": "other"
21418
22788
  },
22789
+ "kipris": {
22790
+ "commands": [
22791
+ {
22792
+ "name": "get",
22793
+ "description": "Fetch a KIPRIS biblio record by application number",
22794
+ "strategy": "public",
22795
+ "type": "web-api",
22796
+ "domain": "plus.kipris.or.kr",
22797
+ "browser": false,
22798
+ "quarantined": false,
22799
+ "args": [
22800
+ {
22801
+ "name": "application_number",
22802
+ "type": "str",
22803
+ "required": true,
22804
+ "positional": true,
22805
+ "description": "Korean application number (e.g. 1020230012345)"
22806
+ }
22807
+ ],
22808
+ "columns": [
22809
+ "publication_number",
22810
+ "title",
22811
+ "filing_date",
22812
+ "publication_date"
22813
+ ],
22814
+ "pipeline_steps": 3,
22815
+ "adapter_path": "src/adapters/kipris/get.yaml"
22816
+ },
22817
+ {
22818
+ "name": "legal-status",
22819
+ "description": "KIPRIS right-trans / registration events for a Korean application",
22820
+ "strategy": "public",
22821
+ "type": "web-api",
22822
+ "domain": "plus.kipris.or.kr",
22823
+ "browser": false,
22824
+ "quarantined": false,
22825
+ "args": [
22826
+ {
22827
+ "name": "application_number",
22828
+ "type": "str",
22829
+ "required": true,
22830
+ "positional": true,
22831
+ "description": "Korean application number"
22832
+ }
22833
+ ],
22834
+ "columns": [
22835
+ "publication_number",
22836
+ "legal_status"
22837
+ ],
22838
+ "pipeline_steps": 3,
22839
+ "adapter_path": "src/adapters/kipris/legal-status.yaml"
22840
+ },
22841
+ {
22842
+ "name": "search",
22843
+ "description": "Search KIPRIS Plus REST for Korean patents/utility models",
22844
+ "strategy": "public",
22845
+ "type": "web-api",
22846
+ "domain": "plus.kipris.or.kr",
22847
+ "browser": false,
22848
+ "quarantined": false,
22849
+ "args": [
22850
+ {
22851
+ "name": "query",
22852
+ "type": "str",
22853
+ "required": true,
22854
+ "positional": true,
22855
+ "description": "Free-text query (KIPRIS `word` param)"
22856
+ },
22857
+ {
22858
+ "name": "limit",
22859
+ "type": "int",
22860
+ "required": false,
22861
+ "positional": false,
22862
+ "default": 25,
22863
+ "description": "Maximum results (numOfRows)"
22864
+ }
22865
+ ],
22866
+ "columns": [
22867
+ "publication_number",
22868
+ "title",
22869
+ "filing_date",
22870
+ "publication_date"
22871
+ ],
22872
+ "pipeline_steps": 4,
22873
+ "adapter_path": "src/adapters/kipris/search.yaml"
22874
+ }
22875
+ ],
22876
+ "category": "patent"
22877
+ },
21419
22878
  "kitsu": {
21420
22879
  "commands": [
21421
22880
  {
@@ -21781,7 +23240,7 @@
21781
23240
  "adapter_path": "src/adapters/krita/info.yaml"
21782
23241
  }
21783
23242
  ],
21784
- "category": "other"
23243
+ "category": "desktop"
21785
23244
  },
21786
23245
  "kuaishou": {
21787
23246
  "commands": [
@@ -22026,6 +23485,77 @@
22026
23485
  ],
22027
23486
  "category": "other"
22028
23487
  },
23488
+ "lens": {
23489
+ "commands": [
23490
+ {
23491
+ "name": "get",
23492
+ "description": "Retrieve a single Lens.org patent record by publication number",
23493
+ "strategy": "header",
23494
+ "type": "web-api",
23495
+ "domain": "api.lens.org",
23496
+ "browser": false,
23497
+ "quarantined": false,
23498
+ "args": [
23499
+ {
23500
+ "name": "publication_number",
23501
+ "type": "str",
23502
+ "required": true,
23503
+ "positional": true
23504
+ }
23505
+ ],
23506
+ "columns": [
23507
+ "publication_number",
23508
+ "title",
23509
+ "publication_date"
23510
+ ],
23511
+ "pipeline_steps": 4,
23512
+ "adapter_path": "src/adapters/lens/get.yaml"
23513
+ },
23514
+ {
23515
+ "name": "search",
23516
+ "description": "Search Lens.org's combined patent corpus via the Scholarly Works DSL",
23517
+ "strategy": "header",
23518
+ "type": "web-api",
23519
+ "domain": "api.lens.org",
23520
+ "browser": false,
23521
+ "quarantined": false,
23522
+ "args": [
23523
+ {
23524
+ "name": "query",
23525
+ "type": "str",
23526
+ "required": true,
23527
+ "positional": true,
23528
+ "description": "Free-text query — mapped to the Lens DSL `query_string`"
23529
+ },
23530
+ {
23531
+ "name": "limit",
23532
+ "type": "int",
23533
+ "required": false,
23534
+ "positional": false,
23535
+ "default": 20,
23536
+ "description": "Maximum records returned (Lens caps at 1000)"
23537
+ },
23538
+ {
23539
+ "name": "date_from",
23540
+ "type": "str",
23541
+ "required": false,
23542
+ "positional": false,
23543
+ "default": "",
23544
+ "description": "ISO date — minimum publication date"
23545
+ }
23546
+ ],
23547
+ "columns": [
23548
+ "publication_number",
23549
+ "title",
23550
+ "publication_date",
23551
+ "source_adapter"
23552
+ ],
23553
+ "pipeline_steps": 4,
23554
+ "adapter_path": "src/adapters/lens/search.yaml"
23555
+ }
23556
+ ],
23557
+ "category": "other"
23558
+ },
22029
23559
  "lesswrong": {
22030
23560
  "commands": [
22031
23561
  {
@@ -22472,7 +24002,7 @@
22472
24002
  "adapter_path": "src/adapters/lesswrong/user-posts.yaml"
22473
24003
  }
22474
24004
  ],
22475
- "category": "other"
24005
+ "category": "content"
22476
24006
  },
22477
24007
  "libreoffice": {
22478
24008
  "commands": [
@@ -25014,7 +26544,7 @@
25014
26544
  "target_surface": ""
25015
26545
  }
25016
26546
  ],
25017
- "category": "other"
26547
+ "category": "jobs"
25018
26548
  },
25019
26549
  "mangadex": {
25020
26550
  "commands": [
@@ -25225,6 +26755,47 @@
25225
26755
  "pipeline_steps": 4,
25226
26756
  "adapter_path": "src/adapters/mastodon/search.yaml"
25227
26757
  },
26758
+ {
26759
+ "name": "statuses",
26760
+ "description": "Get recent public statuses from a Mastodon account",
26761
+ "strategy": "public",
26762
+ "type": "web-api",
26763
+ "domain": "mastodon.social",
26764
+ "columns": [
26765
+ "rank",
26766
+ "author",
26767
+ "handle",
26768
+ "content",
26769
+ "reblogs",
26770
+ "favorites",
26771
+ "replies",
26772
+ "url",
26773
+ "date"
26774
+ ],
26775
+ "args": [
26776
+ {
26777
+ "name": "account",
26778
+ "required": true,
26779
+ "positional": true,
26780
+ "description": "Account handle, e.g. gargron@mastodon.social"
26781
+ },
26782
+ {
26783
+ "name": "instance",
26784
+ "type": "str",
26785
+ "default": "mastodon.social",
26786
+ "description": "Mastodon instance domain used when account omits one"
26787
+ },
26788
+ {
26789
+ "name": "limit",
26790
+ "type": "int",
26791
+ "default": 20,
26792
+ "description": "Number of statuses, 1-40"
26793
+ }
26794
+ ],
26795
+ "pipeline_steps": 0,
26796
+ "adapter_path": "src/adapters/mastodon/statuses.ts",
26797
+ "target_surface": ""
26798
+ },
25228
26799
  {
25229
26800
  "name": "timeline",
25230
26801
  "description": "Get Mastodon public timeline",
@@ -26694,6 +28265,48 @@
26694
28265
  ],
26695
28266
  "category": "other"
26696
28267
  },
28268
+ "neurips": {
28269
+ "commands": [
28270
+ {
28271
+ "name": "search",
28272
+ "description": "Search NeurIPS proceedings by year",
28273
+ "strategy": "public",
28274
+ "type": "web-api",
28275
+ "domain": "proceedings.neurips.cc",
28276
+ "columns": [
28277
+ "id",
28278
+ "title",
28279
+ "authors",
28280
+ "year",
28281
+ "venue",
28282
+ "pdf_url",
28283
+ "source_url"
28284
+ ],
28285
+ "args": [
28286
+ {
28287
+ "name": "query",
28288
+ "type": "str",
28289
+ "required": true,
28290
+ "positional": true
28291
+ },
28292
+ {
28293
+ "name": "year",
28294
+ "type": "str",
28295
+ "default": "2024"
28296
+ },
28297
+ {
28298
+ "name": "limit",
28299
+ "type": "int",
28300
+ "default": 20
28301
+ }
28302
+ ],
28303
+ "pipeline_steps": 0,
28304
+ "adapter_path": "src/adapters/neurips/proceedings.ts",
28305
+ "target_surface": ""
28306
+ }
28307
+ ],
28308
+ "category": "scholarly"
28309
+ },
26697
28310
  "notebooklm": {
26698
28311
  "commands": [
26699
28312
  {
@@ -27969,7 +29582,7 @@
27969
29582
  "target_surface": ""
27970
29583
  }
27971
29584
  ],
27972
- "category": "other"
29585
+ "category": "jobs"
27973
29586
  },
27974
29587
  "npm": {
27975
29588
  "commands": [
@@ -28641,7 +30254,7 @@
28641
30254
  "adapter_path": "src/adapters/obs/stream-stop.yaml"
28642
30255
  }
28643
30256
  ],
28644
- "category": "other"
30257
+ "category": "desktop"
28645
30258
  },
28646
30259
  "obsidian": {
28647
30260
  "commands": [
@@ -29312,7 +30925,7 @@
29312
30925
  "adapter_path": "src/adapters/ones/worklog.yaml"
29313
30926
  }
29314
30927
  ],
29315
- "category": "other"
30928
+ "category": "productivity"
29316
30929
  },
29317
30930
  "openalex": {
29318
30931
  "commands": [
@@ -29391,7 +31004,7 @@
29391
31004
  "target_surface": ""
29392
31005
  }
29393
31006
  ],
29394
- "category": "other"
31007
+ "category": "scholarly"
29395
31008
  },
29396
31009
  "opencode": {
29397
31010
  "commands": [
@@ -29549,7 +31162,7 @@
29549
31162
  "adapter_path": "src/adapters/openharness/skills-list.yaml"
29550
31163
  }
29551
31164
  ],
29552
- "category": "other"
31165
+ "category": "dev"
29553
31166
  },
29554
31167
  "openreview": {
29555
31168
  "commands": [
@@ -29728,7 +31341,7 @@
29728
31341
  "target_surface": ""
29729
31342
  }
29730
31343
  ],
29731
- "category": "other"
31344
+ "category": "scholarly"
29732
31345
  },
29733
31346
  "openrouter": {
29734
31347
  "commands": [
@@ -29869,7 +31482,7 @@
29869
31482
  "target_surface": ""
29870
31483
  }
29871
31484
  ],
29872
- "category": "other"
31485
+ "category": "dev"
29873
31486
  },
29874
31487
  "packagist": {
29875
31488
  "commands": [
@@ -30176,7 +31789,69 @@
30176
31789
  "adapter_path": "src/adapters/paperreview/submit.yaml"
30177
31790
  }
30178
31791
  ],
30179
- "category": "reference"
31792
+ "category": "scholarly"
31793
+ },
31794
+ "patsnap": {
31795
+ "commands": [
31796
+ {
31797
+ "name": "get",
31798
+ "description": "Retrieve one PatSnap patent record by publication number",
31799
+ "strategy": "header",
31800
+ "type": "web-api",
31801
+ "domain": "connect.zhihuiya.com",
31802
+ "browser": false,
31803
+ "quarantined": false,
31804
+ "args": [
31805
+ {
31806
+ "name": "publication_number",
31807
+ "type": "str",
31808
+ "required": true,
31809
+ "positional": true
31810
+ }
31811
+ ],
31812
+ "columns": [
31813
+ "publication_number",
31814
+ "title",
31815
+ "legal_status",
31816
+ "source_adapter"
31817
+ ],
31818
+ "pipeline_steps": 4,
31819
+ "adapter_path": "src/adapters/patsnap/get.yaml"
31820
+ },
31821
+ {
31822
+ "name": "search",
31823
+ "description": "PatSnap Eureka patent search via OAuth2 client_credentials",
31824
+ "strategy": "header",
31825
+ "type": "web-api",
31826
+ "domain": "connect.zhihuiya.com",
31827
+ "browser": false,
31828
+ "quarantined": false,
31829
+ "args": [
31830
+ {
31831
+ "name": "query",
31832
+ "type": "str",
31833
+ "required": true,
31834
+ "positional": true
31835
+ },
31836
+ {
31837
+ "name": "limit",
31838
+ "type": "int",
31839
+ "required": false,
31840
+ "positional": false,
31841
+ "default": 20
31842
+ }
31843
+ ],
31844
+ "columns": [
31845
+ "publication_number",
31846
+ "title",
31847
+ "publication_date",
31848
+ "source_adapter"
31849
+ ],
31850
+ "pipeline_steps": 5,
31851
+ "adapter_path": "src/adapters/patsnap/search.yaml"
31852
+ }
31853
+ ],
31854
+ "category": "patent"
30180
31855
  },
30181
31856
  "pdf": {
30182
31857
  "commands": [
@@ -30729,6 +32404,80 @@
30729
32404
  ],
30730
32405
  "category": "content"
30731
32406
  },
32407
+ "pmlr": {
32408
+ "commands": [
32409
+ {
32410
+ "name": "paper",
32411
+ "description": "Fetch a PMLR paper by id inside a proceedings volume",
32412
+ "strategy": "public",
32413
+ "type": "web-api",
32414
+ "domain": "proceedings.mlr.press",
32415
+ "columns": [
32416
+ "id",
32417
+ "title",
32418
+ "authors",
32419
+ "year",
32420
+ "venue",
32421
+ "pdf_url",
32422
+ "source_url"
32423
+ ],
32424
+ "args": [
32425
+ {
32426
+ "name": "id",
32427
+ "type": "str",
32428
+ "required": true,
32429
+ "positional": true
32430
+ },
32431
+ {
32432
+ "name": "volume",
32433
+ "type": "str",
32434
+ "default": "235"
32435
+ }
32436
+ ],
32437
+ "pipeline_steps": 0,
32438
+ "adapter_path": "src/adapters/pmlr/proceedings.ts",
32439
+ "target_surface": ""
32440
+ },
32441
+ {
32442
+ "name": "search",
32443
+ "description": "Search a PMLR proceedings volume (e.g. v235 for ICML 2024)",
32444
+ "strategy": "public",
32445
+ "type": "web-api",
32446
+ "domain": "proceedings.mlr.press",
32447
+ "columns": [
32448
+ "id",
32449
+ "title",
32450
+ "authors",
32451
+ "year",
32452
+ "venue",
32453
+ "pdf_url",
32454
+ "source_url"
32455
+ ],
32456
+ "args": [
32457
+ {
32458
+ "name": "query",
32459
+ "type": "str",
32460
+ "required": true,
32461
+ "positional": true
32462
+ },
32463
+ {
32464
+ "name": "volume",
32465
+ "type": "str",
32466
+ "default": "235"
32467
+ },
32468
+ {
32469
+ "name": "limit",
32470
+ "type": "int",
32471
+ "default": 20
32472
+ }
32473
+ ],
32474
+ "pipeline_steps": 0,
32475
+ "adapter_path": "src/adapters/pmlr/proceedings.ts",
32476
+ "target_surface": ""
32477
+ }
32478
+ ],
32479
+ "category": "scholarly"
32480
+ },
30732
32481
  "powerchina": {
30733
32482
  "commands": [
30734
32483
  {
@@ -30953,6 +32702,74 @@
30953
32702
  ],
30954
32703
  "category": "desktop"
30955
32704
  },
32705
+ "pqai": {
32706
+ "commands": [
32707
+ {
32708
+ "name": "prior-art",
32709
+ "description": "Semantic prior-art retrieval via PQAI's embedding-based ranker",
32710
+ "strategy": "public",
32711
+ "type": "web-api",
32712
+ "domain": "api.projectpq.ai",
32713
+ "browser": false,
32714
+ "quarantined": false,
32715
+ "args": [
32716
+ {
32717
+ "name": "abstract",
32718
+ "type": "str",
32719
+ "required": true,
32720
+ "positional": false,
32721
+ "description": "Candidate abstract or claim text"
32722
+ },
32723
+ {
32724
+ "name": "limit",
32725
+ "type": "int",
32726
+ "required": false,
32727
+ "positional": false,
32728
+ "default": 20
32729
+ }
32730
+ ],
32731
+ "columns": [
32732
+ "publication_number",
32733
+ "title",
32734
+ "abstract"
32735
+ ],
32736
+ "pipeline_steps": 4,
32737
+ "adapter_path": "src/adapters/pqai/prior-art.yaml"
32738
+ },
32739
+ {
32740
+ "name": "search",
32741
+ "description": "Keyword + semantic patent search through PQAI's hybrid index",
32742
+ "strategy": "public",
32743
+ "type": "web-api",
32744
+ "domain": "api.projectpq.ai",
32745
+ "browser": false,
32746
+ "quarantined": false,
32747
+ "args": [
32748
+ {
32749
+ "name": "query",
32750
+ "type": "str",
32751
+ "required": true,
32752
+ "positional": true
32753
+ },
32754
+ {
32755
+ "name": "limit",
32756
+ "type": "int",
32757
+ "required": false,
32758
+ "positional": false,
32759
+ "default": 20
32760
+ }
32761
+ ],
32762
+ "columns": [
32763
+ "publication_number",
32764
+ "title",
32765
+ "publication_date"
32766
+ ],
32767
+ "pipeline_steps": 4,
32768
+ "adapter_path": "src/adapters/pqai/search.yaml"
32769
+ }
32770
+ ],
32771
+ "category": "patent"
32772
+ },
30956
32773
  "producthunt": {
30957
32774
  "commands": [
30958
32775
  {
@@ -31369,7 +33186,7 @@
31369
33186
  "target_surface": ""
31370
33187
  }
31371
33188
  ],
31372
- "category": "other"
33189
+ "category": "scholarly"
31373
33190
  },
31374
33191
  "pypi": {
31375
33192
  "commands": [
@@ -31773,7 +33590,7 @@
31773
33590
  "target_surface": ""
31774
33591
  }
31775
33592
  ],
31776
- "category": "other"
33593
+ "category": "productivity"
31777
33594
  },
31778
33595
  "qweather": {
31779
33596
  "commands": [
@@ -32084,7 +33901,7 @@
32084
33901
  "target_surface": ""
32085
33902
  }
32086
33903
  ],
32087
- "category": "other"
33904
+ "category": "ai"
32088
33905
  },
32089
33906
  "railway": {
32090
33907
  "commands": [
@@ -32142,41 +33959,59 @@
32142
33959
  },
32143
33960
  {
32144
33961
  "name": "comments",
32145
- "description": "Reddit post comments",
33962
+ "description": "Reddit post comments with nested reply hierarchy",
32146
33963
  "strategy": "public",
32147
33964
  "type": "web-api",
32148
33965
  "domain": "www.reddit.com",
32149
- "browser": false,
32150
- "quarantined": false,
33966
+ "columns": [
33967
+ "platform",
33968
+ "content_id",
33969
+ "comment_id",
33970
+ "parent_id",
33971
+ "depth",
33972
+ "path",
33973
+ "author",
33974
+ "text",
33975
+ "likes",
33976
+ "replies",
33977
+ "created",
33978
+ "body",
33979
+ "score"
33980
+ ],
32151
33981
  "args": [
32152
33982
  {
32153
33983
  "name": "url",
32154
- "type": "str",
32155
33984
  "required": true,
32156
33985
  "positional": true,
32157
- "description": "Reddit post URL or ID (e.g. /r/sub/comments/id/title)",
32158
- "format": "uri",
33986
+ "description": "Reddit post URL, path, or comments ID",
32159
33987
  "x-unicli-accepts": [
33988
+ "url",
32160
33989
  "id"
32161
33990
  ]
32162
33991
  },
33992
+ {
33993
+ "name": "sort",
33994
+ "default": "top",
33995
+ "choices": [
33996
+ "best",
33997
+ "top",
33998
+ "new",
33999
+ "controversial",
34000
+ "old",
34001
+ "qa"
34002
+ ],
34003
+ "description": "Comment sort order"
34004
+ },
32163
34005
  {
32164
34006
  "name": "limit",
32165
34007
  "type": "int",
32166
- "required": false,
32167
- "positional": false,
32168
34008
  "default": 20,
32169
- "description": "Number of comments"
34009
+ "description": "Number of top-level comments"
32170
34010
  }
32171
34011
  ],
32172
- "columns": [
32173
- "author",
32174
- "body",
32175
- "score",
32176
- "created"
32177
- ],
32178
- "pipeline_steps": 4,
32179
- "adapter_path": "src/adapters/reddit/comments.yaml"
34012
+ "pipeline_steps": 0,
34013
+ "adapter_path": "src/adapters/reddit/comments.ts",
34014
+ "target_surface": ""
32180
34015
  },
32181
34016
  {
32182
34017
  "name": "frontpage",
@@ -33017,7 +34852,7 @@
33017
34852
  "target_surface": ""
33018
34853
  }
33019
34854
  ],
33020
- "category": "other"
34855
+ "category": "social"
33021
34856
  },
33022
34857
  "renderdoc": {
33023
34858
  "commands": [
@@ -33076,7 +34911,7 @@
33076
34911
  "adapter_path": "src/adapters/renderdoc/frame-export.yaml"
33077
34912
  }
33078
34913
  ],
33079
- "category": "other"
34914
+ "category": "desktop"
33080
34915
  },
33081
34916
  "replicate": {
33082
34917
  "commands": [
@@ -33738,6 +35573,72 @@
33738
35573
  ],
33739
35574
  "category": "content"
33740
35575
  },
35576
+ "semantic-scholar": {
35577
+ "commands": [
35578
+ {
35579
+ "name": "paper",
35580
+ "description": "Fetch one Semantic Scholar paper by paperId, DOI, or arXiv id",
35581
+ "strategy": "public",
35582
+ "type": "web-api",
35583
+ "domain": "api.semanticscholar.org",
35584
+ "columns": [
35585
+ "id",
35586
+ "title",
35587
+ "authors",
35588
+ "year",
35589
+ "venue",
35590
+ "doi",
35591
+ "pdf_url",
35592
+ "source_url"
35593
+ ],
35594
+ "args": [
35595
+ {
35596
+ "name": "id",
35597
+ "type": "str",
35598
+ "required": true,
35599
+ "positional": true
35600
+ }
35601
+ ],
35602
+ "pipeline_steps": 0,
35603
+ "adapter_path": "src/adapters/semantic-scholar/papers.ts",
35604
+ "target_surface": ""
35605
+ },
35606
+ {
35607
+ "name": "search",
35608
+ "description": "Search Semantic Scholar papers",
35609
+ "strategy": "public",
35610
+ "type": "web-api",
35611
+ "domain": "api.semanticscholar.org",
35612
+ "columns": [
35613
+ "id",
35614
+ "title",
35615
+ "authors",
35616
+ "year",
35617
+ "venue",
35618
+ "doi",
35619
+ "pdf_url",
35620
+ "source_url"
35621
+ ],
35622
+ "args": [
35623
+ {
35624
+ "name": "query",
35625
+ "type": "str",
35626
+ "required": true,
35627
+ "positional": true
35628
+ },
35629
+ {
35630
+ "name": "limit",
35631
+ "type": "int",
35632
+ "default": 20
35633
+ }
35634
+ ],
35635
+ "pipeline_steps": 0,
35636
+ "adapter_path": "src/adapters/semantic-scholar/papers.ts",
35637
+ "target_surface": ""
35638
+ }
35639
+ ],
35640
+ "category": "scholarly"
35641
+ },
33741
35642
  "shotcut": {
33742
35643
  "commands": [
33743
35644
  {
@@ -33812,7 +35713,7 @@
33812
35713
  "adapter_path": "src/adapters/shotcut/render.yaml"
33813
35714
  }
33814
35715
  ],
33815
- "category": "other"
35716
+ "category": "desktop"
33816
35717
  },
33817
35718
  "sinablog": {
33818
35719
  "commands": [
@@ -33948,7 +35849,7 @@
33948
35849
  "adapter_path": "src/adapters/sinablog/user.yaml"
33949
35850
  }
33950
35851
  ],
33951
- "category": "other"
35852
+ "category": "content"
33952
35853
  },
33953
35854
  "sinafinance": {
33954
35855
  "commands": [
@@ -36502,6 +38403,90 @@
36502
38403
  "pipeline_steps": 3,
36503
38404
  "adapter_path": "src/adapters/threads/hot.yaml"
36504
38405
  },
38406
+ {
38407
+ "name": "media",
38408
+ "description": "List public media exposed by a Threads post",
38409
+ "strategy": "public",
38410
+ "type": "web-api",
38411
+ "domain": "threads.net",
38412
+ "columns": [
38413
+ "rank",
38414
+ "type",
38415
+ "url",
38416
+ "width",
38417
+ "height",
38418
+ "post_url",
38419
+ "shortcode",
38420
+ "source"
38421
+ ],
38422
+ "args": [
38423
+ {
38424
+ "name": "url",
38425
+ "required": true,
38426
+ "positional": true,
38427
+ "description": "Threads post URL, e.g. https://www.threads.net/@zuck/post/DYSAIo_FL77"
38428
+ }
38429
+ ],
38430
+ "pipeline_steps": 0,
38431
+ "adapter_path": "src/adapters/threads/post.ts",
38432
+ "target_surface": ""
38433
+ },
38434
+ {
38435
+ "name": "post",
38436
+ "description": "Get a public Threads post from its metadata",
38437
+ "strategy": "public",
38438
+ "type": "web-api",
38439
+ "domain": "threads.net",
38440
+ "columns": [
38441
+ "author",
38442
+ "handle",
38443
+ "text",
38444
+ "url",
38445
+ "image_url",
38446
+ "image_width",
38447
+ "image_height",
38448
+ "shortcode",
38449
+ "activity_json_url"
38450
+ ],
38451
+ "args": [
38452
+ {
38453
+ "name": "url",
38454
+ "required": true,
38455
+ "positional": true,
38456
+ "description": "Threads post URL, e.g. https://www.threads.net/@zuck/post/DYSAIo_FL77"
38457
+ }
38458
+ ],
38459
+ "pipeline_steps": 0,
38460
+ "adapter_path": "src/adapters/threads/post.ts",
38461
+ "target_surface": ""
38462
+ },
38463
+ {
38464
+ "name": "profile",
38465
+ "description": "Get public Threads profile metadata",
38466
+ "strategy": "public",
38467
+ "type": "web-api",
38468
+ "domain": "threads.net",
38469
+ "columns": [
38470
+ "name",
38471
+ "handle",
38472
+ "followers",
38473
+ "threads",
38474
+ "bio",
38475
+ "url",
38476
+ "avatar_url"
38477
+ ],
38478
+ "args": [
38479
+ {
38480
+ "name": "handle",
38481
+ "required": true,
38482
+ "positional": true,
38483
+ "description": "Threads handle or profile URL, e.g. zuck"
38484
+ }
38485
+ ],
38486
+ "pipeline_steps": 0,
38487
+ "adapter_path": "src/adapters/threads/post.ts",
38488
+ "target_surface": ""
38489
+ },
36505
38490
  {
36506
38491
  "name": "search",
36507
38492
  "description": "Search Threads for posts matching a query",
@@ -36536,9 +38521,45 @@
36536
38521
  ],
36537
38522
  "pipeline_steps": 3,
36538
38523
  "adapter_path": "src/adapters/threads/search.yaml"
38524
+ },
38525
+ {
38526
+ "name": "user",
38527
+ "description": "Get recent posts from a Threads user profile",
38528
+ "strategy": "intercept",
38529
+ "type": "web-api",
38530
+ "domain": "threads.net",
38531
+ "browser": true,
38532
+ "quarantined": false,
38533
+ "args": [
38534
+ {
38535
+ "name": "handle",
38536
+ "type": "str",
38537
+ "required": true,
38538
+ "positional": true,
38539
+ "description": "Threads handle without leading @"
38540
+ },
38541
+ {
38542
+ "name": "limit",
38543
+ "type": "int",
38544
+ "required": false,
38545
+ "positional": false,
38546
+ "default": 20,
38547
+ "description": "Number of posts"
38548
+ }
38549
+ ],
38550
+ "columns": [
38551
+ "rank",
38552
+ "author",
38553
+ "text",
38554
+ "likes",
38555
+ "replies",
38556
+ "url"
38557
+ ],
38558
+ "pipeline_steps": 3,
38559
+ "adapter_path": "src/adapters/threads/user.yaml"
36539
38560
  }
36540
38561
  ],
36541
- "category": "other"
38562
+ "category": "social"
36542
38563
  },
36543
38564
  "ths": {
36544
38565
  "commands": [
@@ -37063,6 +39084,43 @@
37063
39084
  "pipeline_steps": 2,
37064
39085
  "adapter_path": "src/adapters/tiktok/search.yaml"
37065
39086
  },
39087
+ {
39088
+ "name": "subtitles",
39089
+ "description": "Extract LLM-readable subtitles from a TikTok video URL with optional browser-cookie reuse",
39090
+ "strategy": "public",
39091
+ "type": "web-api",
39092
+ "domain": "www.tiktok.com",
39093
+ "columns": [
39094
+ "language",
39095
+ "text",
39096
+ "path"
39097
+ ],
39098
+ "defaultFormat": "json",
39099
+ "args": [
39100
+ {
39101
+ "name": "url",
39102
+ "type": "str",
39103
+ "required": true,
39104
+ "positional": true,
39105
+ "description": "TikTok video URL",
39106
+ "format": "uri"
39107
+ },
39108
+ {
39109
+ "name": "languages",
39110
+ "type": "str",
39111
+ "default": "zh-Hans,zh,en",
39112
+ "description": "Comma-separated subtitle languages"
39113
+ },
39114
+ {
39115
+ "name": "cookies-from-browser",
39116
+ "type": "str",
39117
+ "description": "Browser name for yt-dlp --cookies-from-browser"
39118
+ }
39119
+ ],
39120
+ "pipeline_steps": 0,
39121
+ "adapter_path": "src/adapters/tiktok/subtitles.ts",
39122
+ "target_surface": ""
39123
+ },
37066
39124
  {
37067
39125
  "name": "trending",
37068
39126
  "description": "TikTok trending hashtags and sounds",
@@ -37296,7 +39354,7 @@
37296
39354
  "adapter_path": "src/adapters/toutiao/search.yaml"
37297
39355
  }
37298
39356
  ],
37299
- "category": "other"
39357
+ "category": "content"
37300
39358
  },
37301
39359
  "tvmaze": {
37302
39360
  "commands": [
@@ -38376,6 +40434,7 @@
38376
40434
  "strategy": "cookie",
38377
40435
  "type": "web-api",
38378
40436
  "domain": "x.com",
40437
+ "browser": true,
38379
40438
  "columns": [
38380
40439
  "id",
38381
40440
  "author",
@@ -38391,6 +40450,12 @@
38391
40450
  "required": true,
38392
40451
  "positional": true,
38393
40452
  "description": "Search query"
40453
+ },
40454
+ {
40455
+ "name": "limit",
40456
+ "type": "int",
40457
+ "default": 20,
40458
+ "description": "Number of tweets"
38394
40459
  }
38395
40460
  ],
38396
40461
  "pipeline_steps": 0,
@@ -38434,12 +40499,15 @@
38434
40499
  "domain": "x.com",
38435
40500
  "columns": [
38436
40501
  "id",
40502
+ "parent_id",
38437
40503
  "author",
38438
40504
  "text",
38439
40505
  "likes",
38440
40506
  "retweets",
38441
40507
  "views",
38442
- "url"
40508
+ "url",
40509
+ "depth",
40510
+ "path"
38443
40511
  ],
38444
40512
  "args": [
38445
40513
  {
@@ -38478,12 +40546,21 @@
38478
40546
  "strategy": "cookie",
38479
40547
  "type": "web-api",
38480
40548
  "domain": "x.com",
40549
+ "browser": true,
38481
40550
  "columns": [
38482
40551
  "name",
38483
40552
  "tweet_count",
38484
40553
  "description",
38485
40554
  "url"
38486
40555
  ],
40556
+ "args": [
40557
+ {
40558
+ "name": "limit",
40559
+ "type": "int",
40560
+ "default": 20,
40561
+ "description": "Number of trends"
40562
+ }
40563
+ ],
38487
40564
  "pipeline_steps": 0,
38488
40565
  "adapter_path": "src/adapters/twitter/trending.ts",
38489
40566
  "target_surface": ""
@@ -38762,6 +40839,61 @@
38762
40839
  ],
38763
40840
  "category": "other"
38764
40841
  },
40842
+ "ukipo": {
40843
+ "commands": [
40844
+ {
40845
+ "name": "info",
40846
+ "description": "UK IPO registry placeholder — Ipsum retired 2025-01; OneIPO API on 2026 roadmap",
40847
+ "strategy": "public",
40848
+ "type": "web-api",
40849
+ "domain": "search-for-intellectual-property.service.gov.uk",
40850
+ "browser": false,
40851
+ "quarantined": false,
40852
+ "args": [],
40853
+ "columns": [],
40854
+ "pipeline_steps": 1,
40855
+ "adapter_path": "src/adapters/ukipo/info.yaml"
40856
+ }
40857
+ ],
40858
+ "category": "other"
40859
+ },
40860
+ "unpaywall": {
40861
+ "commands": [
40862
+ {
40863
+ "name": "oa",
40864
+ "description": "Find open-access PDF availability for a DOI via Unpaywall",
40865
+ "strategy": "public",
40866
+ "type": "web-api",
40867
+ "domain": "api.unpaywall.org",
40868
+ "columns": [
40869
+ "id",
40870
+ "title",
40871
+ "doi",
40872
+ "is_open_access",
40873
+ "oa_status",
40874
+ "pdf_url",
40875
+ "source_url"
40876
+ ],
40877
+ "args": [
40878
+ {
40879
+ "name": "doi",
40880
+ "type": "str",
40881
+ "required": true,
40882
+ "positional": true
40883
+ },
40884
+ {
40885
+ "name": "email",
40886
+ "type": "str",
40887
+ "description": "Unpaywall requester email"
40888
+ }
40889
+ ],
40890
+ "pipeline_steps": 0,
40891
+ "adapter_path": "src/adapters/unpaywall/works.ts",
40892
+ "target_surface": ""
40893
+ }
40894
+ ],
40895
+ "category": "scholarly"
40896
+ },
38765
40897
  "unsplash": {
38766
40898
  "commands": [
38767
40899
  {
@@ -38827,6 +40959,104 @@
38827
40959
  ],
38828
40960
  "category": "other"
38829
40961
  },
40962
+ "uspto": {
40963
+ "commands": [
40964
+ {
40965
+ "name": "get",
40966
+ "description": "Fetch a USPTO patent/application by application number",
40967
+ "strategy": "public",
40968
+ "type": "web-api",
40969
+ "domain": "api.uspto.gov",
40970
+ "browser": false,
40971
+ "quarantined": false,
40972
+ "args": [
40973
+ {
40974
+ "name": "application_number",
40975
+ "type": "str",
40976
+ "required": true,
40977
+ "positional": true,
40978
+ "description": "USPTO application number (e.g. 16/123,456 with or without slash)"
40979
+ }
40980
+ ],
40981
+ "columns": [
40982
+ "publication_number",
40983
+ "title",
40984
+ "filing_date",
40985
+ "publication_date"
40986
+ ],
40987
+ "pipeline_steps": 2,
40988
+ "adapter_path": "src/adapters/uspto/get.yaml"
40989
+ },
40990
+ {
40991
+ "name": "legal-status",
40992
+ "description": "Legal-status / transaction history of a USPTO application",
40993
+ "strategy": "public",
40994
+ "type": "web-api",
40995
+ "domain": "api.uspto.gov",
40996
+ "browser": false,
40997
+ "quarantined": false,
40998
+ "args": [
40999
+ {
41000
+ "name": "application_number",
41001
+ "type": "str",
41002
+ "required": true,
41003
+ "positional": true,
41004
+ "description": "USPTO application number"
41005
+ }
41006
+ ],
41007
+ "columns": [
41008
+ "publication_number",
41009
+ "legal_status",
41010
+ "filing_date"
41011
+ ],
41012
+ "pipeline_steps": 3,
41013
+ "adapter_path": "src/adapters/uspto/legal-status.yaml"
41014
+ },
41015
+ {
41016
+ "name": "search",
41017
+ "description": "Search USPTO patents/applications via the Open Data Portal (ODP)",
41018
+ "strategy": "public",
41019
+ "type": "web-api",
41020
+ "domain": "api.uspto.gov",
41021
+ "browser": false,
41022
+ "quarantined": false,
41023
+ "args": [
41024
+ {
41025
+ "name": "query",
41026
+ "type": "str",
41027
+ "required": true,
41028
+ "positional": true,
41029
+ "description": "Free-text query (mapped to ODP `q` field, matches title/abstract/claims)"
41030
+ },
41031
+ {
41032
+ "name": "limit",
41033
+ "type": "int",
41034
+ "required": false,
41035
+ "positional": false,
41036
+ "default": 25,
41037
+ "description": "Maximum results to return (ODP allows up to 500 per page)"
41038
+ },
41039
+ {
41040
+ "name": "offset",
41041
+ "type": "int",
41042
+ "required": false,
41043
+ "positional": false,
41044
+ "default": 0,
41045
+ "description": "Result offset for pagination"
41046
+ }
41047
+ ],
41048
+ "columns": [
41049
+ "publication_number",
41050
+ "title",
41051
+ "filing_date",
41052
+ "publication_date"
41053
+ ],
41054
+ "pipeline_steps": 4,
41055
+ "adapter_path": "src/adapters/uspto/search.yaml"
41056
+ }
41057
+ ],
41058
+ "category": "patent"
41059
+ },
38830
41060
  "v2ex": {
38831
41061
  "commands": [
38832
41062
  {
@@ -39672,7 +41902,7 @@
39672
41902
  "target_surface": ""
39673
41903
  }
39674
41904
  ],
39675
- "category": "other"
41905
+ "category": "scholarly"
39676
41906
  },
39677
41907
  "web": {
39678
41908
  "commands": [
@@ -40310,7 +42540,7 @@
40310
42540
  "adapter_path": "src/adapters/weixin/search.yaml"
40311
42541
  }
40312
42542
  ],
40313
- "category": "other"
42543
+ "category": "social"
40314
42544
  },
40315
42545
  "weread": {
40316
42546
  "commands": [
@@ -40813,6 +43043,24 @@
40813
43043
  ],
40814
43044
  "category": "reference"
40815
43045
  },
43046
+ "wipo-patentscope": {
43047
+ "commands": [
43048
+ {
43049
+ "name": "info",
43050
+ "description": "WIPO PATENTSCOPE registry placeholder — no public REST API; SOAP requires subscription",
43051
+ "strategy": "public",
43052
+ "type": "web-api",
43053
+ "domain": "patentscope.wipo.int",
43054
+ "browser": false,
43055
+ "quarantined": false,
43056
+ "args": [],
43057
+ "columns": [],
43058
+ "pipeline_steps": 1,
43059
+ "adapter_path": "src/adapters/wipo-patentscope/info.yaml"
43060
+ }
43061
+ ],
43062
+ "category": "other"
43063
+ },
40816
43064
  "wiremock": {
40817
43065
  "commands": [
40818
43066
  {
@@ -41014,7 +43262,7 @@
41014
43262
  "adapter_path": "src/adapters/wiremock/verify.yaml"
41015
43263
  }
41016
43264
  ],
41017
- "category": "other"
43265
+ "category": "dev"
41018
43266
  },
41019
43267
  "word": {
41020
43268
  "commands": [
@@ -41611,9 +43859,17 @@
41611
43859
  "browser": true,
41612
43860
  "columns": [
41613
43861
  "rank",
43862
+ "platform",
43863
+ "content_id",
43864
+ "comment_id",
43865
+ "parent_id",
43866
+ "depth",
43867
+ "path",
41614
43868
  "author",
41615
43869
  "text",
41616
43870
  "likes",
43871
+ "replies",
43872
+ "created",
41617
43873
  "time",
41618
43874
  "is_reply",
41619
43875
  "reply_to"
@@ -41782,6 +44038,7 @@
41782
44038
  "columns": [
41783
44039
  "index",
41784
44040
  "type",
44041
+ "path",
41785
44042
  "url"
41786
44043
  ],
41787
44044
  "args": [
@@ -42155,30 +44412,28 @@
42155
44412
  },
42156
44413
  {
42157
44414
  "name": "trending",
42158
- "description": "Xiaohongshu trending searches",
42159
- "strategy": "intercept",
44415
+ "description": "Xiaohongshu trending searches and visible hot notes",
44416
+ "strategy": "cookie",
42160
44417
  "type": "web-api",
42161
44418
  "domain": "www.xiaohongshu.com",
42162
44419
  "browser": true,
42163
- "quarantined": false,
44420
+ "columns": [
44421
+ "rank",
44422
+ "keyword",
44423
+ "score",
44424
+ "url"
44425
+ ],
42164
44426
  "args": [
42165
44427
  {
42166
44428
  "name": "limit",
42167
44429
  "type": "int",
42168
- "required": false,
42169
- "positional": false,
42170
44430
  "default": 20,
42171
44431
  "description": "Number of trending topics"
42172
44432
  }
42173
44433
  ],
42174
- "columns": [
42175
- "rank",
42176
- "keyword",
42177
- "score",
42178
- "url"
42179
- ],
42180
- "pipeline_steps": 3,
42181
- "adapter_path": "src/adapters/xiaohongshu/trending.yaml"
44434
+ "pipeline_steps": 0,
44435
+ "adapter_path": "src/adapters/xiaohongshu/trending.ts",
44436
+ "target_surface": ""
42182
44437
  },
42183
44438
  {
42184
44439
  "name": "unfollow",
@@ -42838,6 +45093,44 @@
42838
45093
  ],
42839
45094
  "category": "finance"
42840
45095
  },
45096
+ "yahoo": {
45097
+ "commands": [
45098
+ {
45099
+ "name": "search",
45100
+ "description": "Search the public web via Yahoo Search (no API key needed)",
45101
+ "strategy": "public",
45102
+ "type": "web-api",
45103
+ "domain": "search.yahoo.com",
45104
+ "browser": false,
45105
+ "quarantined": false,
45106
+ "args": [
45107
+ {
45108
+ "name": "query",
45109
+ "type": "str",
45110
+ "required": true,
45111
+ "positional": true,
45112
+ "description": "Free-text web search query"
45113
+ },
45114
+ {
45115
+ "name": "limit",
45116
+ "type": "int",
45117
+ "required": false,
45118
+ "positional": false,
45119
+ "default": 10,
45120
+ "description": "Maximum results returned (Yahoo paginates at ~10 per page)"
45121
+ }
45122
+ ],
45123
+ "columns": [
45124
+ "title",
45125
+ "url",
45126
+ "snippet"
45127
+ ],
45128
+ "pipeline_steps": 3,
45129
+ "adapter_path": "src/adapters/yahoo/search.yaml"
45130
+ }
45131
+ ],
45132
+ "category": "other"
45133
+ },
42841
45134
  "yahoo-finance": {
42842
45135
  "commands": [
42843
45136
  {
@@ -43493,7 +45786,7 @@
43493
45786
  "adapter_path": "src/adapters/yollomi/video.yaml"
43494
45787
  }
43495
45788
  ],
43496
- "category": "other"
45789
+ "category": "ai"
43497
45790
  },
43498
45791
  "youtube": {
43499
45792
  "commands": [
@@ -43528,10 +45821,17 @@
43528
45821
  "type": "web-api",
43529
45822
  "domain": "www.youtube.com",
43530
45823
  "columns": [
45824
+ "platform",
45825
+ "content_id",
45826
+ "comment_id",
45827
+ "parent_id",
45828
+ "depth",
45829
+ "path",
43531
45830
  "author",
43532
45831
  "text",
43533
45832
  "likes",
43534
- "replies"
45833
+ "replies",
45834
+ "created"
43535
45835
  ],
43536
45836
  "args": [
43537
45837
  {
@@ -43546,6 +45846,12 @@
43546
45846
  "type": "int",
43547
45847
  "default": 20,
43548
45848
  "description": "Max comments to return"
45849
+ },
45850
+ {
45851
+ "name": "with-replies",
45852
+ "type": "bool",
45853
+ "default": false,
45854
+ "description": "Fetch available nested replies"
43549
45855
  }
43550
45856
  ],
43551
45857
  "pipeline_steps": 0,
@@ -43769,6 +46075,43 @@
43769
46075
  "adapter_path": "src/adapters/youtube/personal.ts",
43770
46076
  "target_surface": ""
43771
46077
  },
46078
+ {
46079
+ "name": "subtitles",
46080
+ "description": "Extract LLM-readable subtitles from a YouTube video URL with optional browser-cookie reuse",
46081
+ "strategy": "public",
46082
+ "type": "web-api",
46083
+ "domain": "www.youtube.com",
46084
+ "columns": [
46085
+ "language",
46086
+ "text",
46087
+ "path"
46088
+ ],
46089
+ "defaultFormat": "json",
46090
+ "args": [
46091
+ {
46092
+ "name": "url",
46093
+ "type": "str",
46094
+ "required": true,
46095
+ "positional": true,
46096
+ "description": "YouTube video URL",
46097
+ "format": "uri"
46098
+ },
46099
+ {
46100
+ "name": "languages",
46101
+ "type": "str",
46102
+ "default": "zh-Hans,zh,en",
46103
+ "description": "Comma-separated subtitle languages"
46104
+ },
46105
+ {
46106
+ "name": "cookies-from-browser",
46107
+ "type": "str",
46108
+ "description": "Browser name for yt-dlp --cookies-from-browser"
46109
+ }
46110
+ ],
46111
+ "pipeline_steps": 0,
46112
+ "adapter_path": "src/adapters/youtube/subtitles.ts",
46113
+ "target_surface": ""
46114
+ },
43772
46115
  {
43773
46116
  "name": "transcript",
43774
46117
  "description": "Get YouTube video transcript/subtitles",
@@ -44073,9 +46416,45 @@
44073
46416
  ],
44074
46417
  "pipeline_steps": 2,
44075
46418
  "adapter_path": "src/adapters/yt-dlp/search.yaml"
46419
+ },
46420
+ {
46421
+ "name": "subtitles",
46422
+ "description": "Extract subtitles from any yt-dlp-supported video URL with optional browser-cookie reuse",
46423
+ "strategy": "public",
46424
+ "type": "web-api",
46425
+ "columns": [
46426
+ "language",
46427
+ "text",
46428
+ "path"
46429
+ ],
46430
+ "defaultFormat": "json",
46431
+ "args": [
46432
+ {
46433
+ "name": "url",
46434
+ "type": "str",
46435
+ "required": true,
46436
+ "positional": true,
46437
+ "description": "Video URL",
46438
+ "format": "uri"
46439
+ },
46440
+ {
46441
+ "name": "languages",
46442
+ "type": "str",
46443
+ "default": "zh-Hans,zh,en",
46444
+ "description": "Comma-separated subtitle languages"
46445
+ },
46446
+ {
46447
+ "name": "cookies-from-browser",
46448
+ "type": "str",
46449
+ "description": "Browser name for yt-dlp --cookies-from-browser"
46450
+ }
46451
+ ],
46452
+ "pipeline_steps": 0,
46453
+ "adapter_path": "src/adapters/yt-dlp/subtitles.ts",
46454
+ "target_surface": ""
44076
46455
  }
44077
46456
  ],
44078
- "category": "other"
46457
+ "category": "video"
44079
46458
  },
44080
46459
  "yuanbao": {
44081
46460
  "commands": [
@@ -44298,6 +46677,44 @@
44298
46677
  "pipeline_steps": 2,
44299
46678
  "adapter_path": "src/adapters/zhihu/answer.yaml"
44300
46679
  },
46680
+ {
46681
+ "name": "answer-detail",
46682
+ "description": "知乎单个回答完整内容(按 answer ID 获取)",
46683
+ "strategy": "cookie",
46684
+ "type": "web-api",
46685
+ "domain": "www.zhihu.com",
46686
+ "browser": true,
46687
+ "columns": [
46688
+ "id",
46689
+ "author",
46690
+ "votes",
46691
+ "comments",
46692
+ "question_id",
46693
+ "question_title",
46694
+ "url",
46695
+ "created_at",
46696
+ "updated_at",
46697
+ "content"
46698
+ ],
46699
+ "args": [
46700
+ {
46701
+ "name": "id",
46702
+ "type": "str",
46703
+ "required": true,
46704
+ "positional": true,
46705
+ "description": "Answer ID, full Zhihu answer URL, or typed target"
46706
+ },
46707
+ {
46708
+ "name": "max-content",
46709
+ "type": "int",
46710
+ "default": 0,
46711
+ "description": "Optional cap on stripped content length; 0 returns full content"
46712
+ }
46713
+ ],
46714
+ "pipeline_steps": 0,
46715
+ "adapter_path": "src/adapters/zhihu/answer-detail.ts",
46716
+ "target_surface": ""
46717
+ },
44301
46718
  {
44302
46719
  "name": "answers",
44303
46720
  "description": "List answers by a Zhihu user",
@@ -44527,23 +46944,38 @@
44527
46944
  },
44528
46945
  {
44529
46946
  "name": "comment",
44530
- "description": "Get comments on a Zhihu answer or article",
46947
+ "description": "Get Zhihu comments with normalized nested reply hierarchy",
44531
46948
  "strategy": "cookie",
44532
46949
  "type": "web-api",
44533
46950
  "domain": "www.zhihu.com",
44534
- "browser": false,
44535
- "quarantined": false,
46951
+ "columns": [
46952
+ "platform",
46953
+ "content_id",
46954
+ "comment_id",
46955
+ "parent_id",
46956
+ "depth",
46957
+ "path",
46958
+ "author",
46959
+ "text",
46960
+ "likes",
46961
+ "replies",
46962
+ "created",
46963
+ "content",
46964
+ "reply_to"
46965
+ ],
44536
46966
  "args": [
44537
46967
  {
44538
46968
  "name": "type",
44539
- "type": "str",
44540
46969
  "required": true,
44541
46970
  "positional": true,
46971
+ "choices": [
46972
+ "answer",
46973
+ "article"
46974
+ ],
44542
46975
  "description": "Content type: answer or article"
44543
46976
  },
44544
46977
  {
44545
46978
  "name": "id",
44546
- "type": "str",
44547
46979
  "required": true,
44548
46980
  "positional": true,
44549
46981
  "description": "Answer or article ID",
@@ -44552,21 +46984,19 @@
44552
46984
  {
44553
46985
  "name": "limit",
44554
46986
  "type": "int",
44555
- "required": false,
44556
- "positional": false,
44557
46987
  "default": 20,
44558
- "description": "Number of comments"
46988
+ "description": "Number of root comments"
46989
+ },
46990
+ {
46991
+ "name": "with-replies",
46992
+ "type": "bool",
46993
+ "default": false,
46994
+ "description": "Fetch child replies for root comments that omit child_comments"
44559
46995
  }
44560
46996
  ],
44561
- "columns": [
44562
- "author",
44563
- "content",
44564
- "likes",
44565
- "replies",
44566
- "created"
44567
- ],
44568
- "pipeline_steps": 4,
44569
- "adapter_path": "src/adapters/zhihu/comment.yaml"
46997
+ "pipeline_steps": 0,
46998
+ "adapter_path": "src/adapters/zhihu/comment.ts",
46999
+ "target_surface": ""
44570
47000
  },
44571
47001
  {
44572
47002
  "name": "download",
@@ -44945,6 +47375,33 @@
44945
47375
  "pipeline_steps": 4,
44946
47376
  "adapter_path": "src/adapters/zhihu/question.yaml"
44947
47377
  },
47378
+ {
47379
+ "name": "recommend",
47380
+ "description": "知乎首页推荐",
47381
+ "strategy": "cookie",
47382
+ "type": "web-api",
47383
+ "domain": "www.zhihu.com",
47384
+ "browser": true,
47385
+ "columns": [
47386
+ "rank",
47387
+ "type",
47388
+ "title",
47389
+ "author",
47390
+ "votes",
47391
+ "url"
47392
+ ],
47393
+ "args": [
47394
+ {
47395
+ "name": "limit",
47396
+ "type": "int",
47397
+ "default": 20,
47398
+ "description": "Number of items to return (max 1000; use normal-sized requests)"
47399
+ }
47400
+ ],
47401
+ "pipeline_steps": 0,
47402
+ "adapter_path": "src/adapters/zhihu/recommend.ts",
47403
+ "target_surface": ""
47404
+ },
44948
47405
  {
44949
47406
  "name": "search",
44950
47407
  "description": "Search Zhihu questions and answers",
@@ -45234,7 +47691,7 @@
45234
47691
  "adapter_path": "src/adapters/zoom/toggle-mute.yaml"
45235
47692
  }
45236
47693
  ],
45237
- "category": "other"
47694
+ "category": "social"
45238
47695
  },
45239
47696
  "zotero": {
45240
47697
  "commands": [
@@ -45475,7 +47932,7 @@
45475
47932
  "adapter_path": "src/adapters/zotero/tags.yaml"
45476
47933
  }
45477
47934
  ],
45478
- "category": "other"
47935
+ "category": "scholarly"
45479
47936
  },
45480
47937
  "zsxq": {
45481
47938
  "commands": [