@jackwener/opencli 1.6.2 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1894) hide show
  1. package/README.md +7 -7
  2. package/README.zh-CN.md +9 -9
  3. package/dist/browser/cdp.d.ts +1 -40
  4. package/dist/browser/cdp.js +2 -310
  5. package/dist/browser/page.d.ts +1 -62
  6. package/dist/browser/page.js +2 -304
  7. package/dist/browser/utils.d.ts +1 -10
  8. package/dist/browser/utils.js +2 -27
  9. package/dist/cli-manifest.json +546 -2
  10. package/dist/clis/1688/item.js +3 -3
  11. package/dist/clis/1688/search.js +2 -2
  12. package/dist/clis/1688/shared.d.ts +1 -1
  13. package/dist/clis/1688/shared.js +1 -1
  14. package/dist/clis/1688/store.js +2 -2
  15. package/dist/clis/36kr/article.js +2 -2
  16. package/dist/clis/36kr/hot.js +12 -6
  17. package/dist/clis/36kr/news.js +1 -1
  18. package/dist/clis/36kr/search.js +12 -6
  19. package/dist/clis/_shared/desktop-commands.d.ts +5 -5
  20. package/dist/clis/_shared/desktop-commands.js +1 -1
  21. package/dist/clis/amazon/bestsellers.js +1 -1
  22. package/dist/clis/amazon/discussion.js +2 -2
  23. package/dist/clis/amazon/movers-shakers.js +1 -1
  24. package/dist/clis/amazon/new-releases.js +1 -1
  25. package/dist/clis/amazon/offer.js +2 -2
  26. package/dist/clis/amazon/product.js +2 -2
  27. package/dist/clis/amazon/rankings.d.ts +1 -1
  28. package/dist/clis/amazon/rankings.js +2 -2
  29. package/dist/clis/amazon/search.js +2 -2
  30. package/dist/clis/amazon/shared.d.ts +1 -1
  31. package/dist/clis/amazon/shared.js +1 -1
  32. package/dist/clis/antigravity/dump.d.ts +1 -1
  33. package/dist/clis/antigravity/dump.js +1 -1
  34. package/dist/clis/antigravity/extract-code.d.ts +1 -1
  35. package/dist/clis/antigravity/extract-code.js +1 -1
  36. package/dist/clis/antigravity/model.d.ts +1 -1
  37. package/dist/clis/antigravity/model.js +1 -1
  38. package/dist/clis/antigravity/new.d.ts +1 -1
  39. package/dist/clis/antigravity/new.js +1 -1
  40. package/dist/clis/antigravity/read.d.ts +1 -1
  41. package/dist/clis/antigravity/read.js +1 -1
  42. package/dist/clis/antigravity/send.d.ts +1 -1
  43. package/dist/clis/antigravity/send.js +1 -1
  44. package/dist/clis/antigravity/serve.js +2 -2
  45. package/dist/clis/antigravity/status.d.ts +1 -1
  46. package/dist/clis/antigravity/status.js +1 -1
  47. package/dist/clis/antigravity/watch.d.ts +1 -1
  48. package/dist/clis/antigravity/watch.js +1 -1
  49. package/dist/clis/apple-podcasts/commands.test.js +1 -1
  50. package/dist/clis/apple-podcasts/episodes.js +2 -2
  51. package/dist/clis/apple-podcasts/search.js +2 -2
  52. package/dist/clis/apple-podcasts/top.js +2 -2
  53. package/dist/clis/apple-podcasts/utils.js +1 -1
  54. package/dist/clis/arxiv/paper.js +2 -2
  55. package/dist/clis/arxiv/search.js +2 -2
  56. package/dist/clis/arxiv/utils.js +1 -1
  57. package/dist/clis/band/bands.js +2 -2
  58. package/dist/clis/band/mentions.js +2 -2
  59. package/dist/clis/band/post.js +2 -2
  60. package/dist/clis/band/posts.js +2 -2
  61. package/dist/clis/barchart/flow.js +1 -1
  62. package/dist/clis/barchart/greeks.js +1 -1
  63. package/dist/clis/barchart/options.js +1 -1
  64. package/dist/clis/barchart/quote.js +1 -1
  65. package/dist/clis/bbc/news.js +1 -1
  66. package/dist/clis/bilibili/comments.js +1 -1
  67. package/dist/clis/bilibili/comments.test.js +1 -1
  68. package/dist/clis/bilibili/download.js +1 -1
  69. package/dist/clis/bilibili/dynamic.js +1 -1
  70. package/dist/clis/bilibili/dynamic.test.js +1 -1
  71. package/dist/clis/bilibili/favorite.js +1 -1
  72. package/dist/clis/bilibili/feed.js +1 -1
  73. package/dist/clis/bilibili/following.js +2 -2
  74. package/dist/clis/bilibili/history.js +1 -1
  75. package/dist/clis/bilibili/me.js +1 -1
  76. package/dist/clis/bilibili/ranking.js +1 -1
  77. package/dist/clis/bilibili/search.js +1 -1
  78. package/dist/clis/bilibili/subtitle.js +2 -2
  79. package/dist/clis/bilibili/subtitle.test.js +2 -2
  80. package/dist/clis/bilibili/user-videos.js +1 -1
  81. package/dist/clis/bilibili/utils.d.ts +1 -1
  82. package/dist/clis/bilibili/utils.js +1 -1
  83. package/dist/clis/bloomberg/businessweek.js +1 -1
  84. package/dist/clis/bloomberg/economics.js +1 -1
  85. package/dist/clis/bloomberg/feeds.js +1 -1
  86. package/dist/clis/bloomberg/industries.js +1 -1
  87. package/dist/clis/bloomberg/main.js +1 -1
  88. package/dist/clis/bloomberg/markets.js +1 -1
  89. package/dist/clis/bloomberg/news.js +2 -2
  90. package/dist/clis/bloomberg/opinions.js +1 -1
  91. package/dist/clis/bloomberg/politics.js +1 -1
  92. package/dist/clis/bloomberg/tech.js +1 -1
  93. package/dist/clis/bloomberg/utils.js +1 -1
  94. package/dist/clis/boss/batchgreet.js +1 -1
  95. package/dist/clis/boss/chatlist.js +1 -1
  96. package/dist/clis/boss/chatmsg.js +1 -1
  97. package/dist/clis/boss/detail.js +1 -1
  98. package/dist/clis/boss/exchange.js +1 -1
  99. package/dist/clis/boss/greet.js +1 -1
  100. package/dist/clis/boss/invite.js +1 -1
  101. package/dist/clis/boss/joblist.js +1 -1
  102. package/dist/clis/boss/mark.js +2 -2
  103. package/dist/clis/boss/recommend.js +1 -1
  104. package/dist/clis/boss/resume.js +1 -1
  105. package/dist/clis/boss/search.js +1 -1
  106. package/dist/clis/boss/send.js +2 -2
  107. package/dist/clis/boss/stats.js +1 -1
  108. package/dist/clis/boss/utils.d.ts +1 -1
  109. package/dist/clis/chaoxing/assignments.js +2 -2
  110. package/dist/clis/chaoxing/exams.js +1 -1
  111. package/dist/clis/chaoxing/utils.d.ts +1 -1
  112. package/dist/clis/chatgpt/ask.d.ts +1 -1
  113. package/dist/clis/chatgpt/ask.js +2 -2
  114. package/dist/clis/chatgpt/model.d.ts +1 -1
  115. package/dist/clis/chatgpt/model.js +2 -2
  116. package/dist/clis/chatgpt/new.d.ts +1 -1
  117. package/dist/clis/chatgpt/new.js +2 -2
  118. package/dist/clis/chatgpt/read.d.ts +1 -1
  119. package/dist/clis/chatgpt/read.js +2 -2
  120. package/dist/clis/chatgpt/send.d.ts +1 -1
  121. package/dist/clis/chatgpt/send.js +2 -2
  122. package/dist/clis/chatgpt/status.d.ts +1 -1
  123. package/dist/clis/chatgpt/status.js +2 -2
  124. package/dist/clis/chatwise/ask.d.ts +1 -1
  125. package/dist/clis/chatwise/ask.js +2 -2
  126. package/dist/clis/chatwise/export.d.ts +1 -1
  127. package/dist/clis/chatwise/export.js +1 -1
  128. package/dist/clis/chatwise/history.d.ts +1 -1
  129. package/dist/clis/chatwise/history.js +1 -1
  130. package/dist/clis/chatwise/model.d.ts +1 -1
  131. package/dist/clis/chatwise/model.js +2 -2
  132. package/dist/clis/chatwise/new.d.ts +1 -1
  133. package/dist/clis/chatwise/read.d.ts +1 -1
  134. package/dist/clis/chatwise/read.js +1 -1
  135. package/dist/clis/chatwise/screenshot.d.ts +1 -1
  136. package/dist/clis/chatwise/send.d.ts +1 -1
  137. package/dist/clis/chatwise/send.js +2 -2
  138. package/dist/clis/chatwise/status.d.ts +1 -1
  139. package/dist/clis/codex/ask.d.ts +1 -1
  140. package/dist/clis/codex/ask.js +2 -2
  141. package/dist/clis/codex/dump.d.ts +1 -1
  142. package/dist/clis/codex/export.d.ts +1 -1
  143. package/dist/clis/codex/export.js +1 -1
  144. package/dist/clis/codex/extract-diff.d.ts +1 -1
  145. package/dist/clis/codex/extract-diff.js +1 -1
  146. package/dist/clis/codex/history.d.ts +1 -1
  147. package/dist/clis/codex/history.js +1 -1
  148. package/dist/clis/codex/model.d.ts +1 -1
  149. package/dist/clis/codex/model.js +1 -1
  150. package/dist/clis/codex/new.d.ts +1 -1
  151. package/dist/clis/codex/read.d.ts +1 -1
  152. package/dist/clis/codex/read.js +1 -1
  153. package/dist/clis/codex/screenshot.d.ts +1 -1
  154. package/dist/clis/codex/send.d.ts +1 -1
  155. package/dist/clis/codex/send.js +2 -2
  156. package/dist/clis/codex/status.d.ts +1 -1
  157. package/dist/clis/coupang/add-to-cart.js +1 -1
  158. package/dist/clis/coupang/search.js +1 -1
  159. package/dist/clis/ctrip/search.js +2 -2
  160. package/dist/clis/ctrip/search.test.js +1 -1
  161. package/dist/clis/cursor/ask.d.ts +1 -1
  162. package/dist/clis/cursor/ask.js +2 -2
  163. package/dist/clis/cursor/composer.d.ts +1 -1
  164. package/dist/clis/cursor/composer.js +2 -2
  165. package/dist/clis/cursor/dump.d.ts +1 -1
  166. package/dist/clis/cursor/export.d.ts +1 -1
  167. package/dist/clis/cursor/export.js +1 -1
  168. package/dist/clis/cursor/extract-code.d.ts +1 -1
  169. package/dist/clis/cursor/extract-code.js +1 -1
  170. package/dist/clis/cursor/history.d.ts +1 -1
  171. package/dist/clis/cursor/history.js +1 -1
  172. package/dist/clis/cursor/model.d.ts +1 -1
  173. package/dist/clis/cursor/model.js +1 -1
  174. package/dist/clis/cursor/new.d.ts +1 -1
  175. package/dist/clis/cursor/read.d.ts +1 -1
  176. package/dist/clis/cursor/read.js +2 -2
  177. package/dist/clis/cursor/screenshot.d.ts +1 -1
  178. package/dist/clis/cursor/send.d.ts +1 -1
  179. package/dist/clis/cursor/send.js +2 -2
  180. package/dist/clis/cursor/status.d.ts +1 -1
  181. package/dist/clis/discord-app/channels.d.ts +1 -1
  182. package/dist/clis/discord-app/channels.js +1 -1
  183. package/dist/clis/discord-app/members.d.ts +1 -1
  184. package/dist/clis/discord-app/members.js +1 -1
  185. package/dist/clis/discord-app/read.d.ts +1 -1
  186. package/dist/clis/discord-app/read.js +1 -1
  187. package/dist/clis/discord-app/search.d.ts +1 -1
  188. package/dist/clis/discord-app/search.js +1 -1
  189. package/dist/clis/discord-app/send.d.ts +1 -1
  190. package/dist/clis/discord-app/send.js +1 -1
  191. package/dist/clis/discord-app/servers.d.ts +1 -1
  192. package/dist/clis/discord-app/servers.js +1 -1
  193. package/dist/clis/discord-app/status.d.ts +1 -1
  194. package/dist/clis/discord-app/status.js +1 -1
  195. package/dist/clis/douban/book-hot.js +1 -1
  196. package/dist/clis/douban/download.js +2 -2
  197. package/dist/clis/douban/download.test.js +1 -1
  198. package/dist/clis/douban/marks.js +1 -1
  199. package/dist/clis/douban/movie-hot.js +1 -1
  200. package/dist/clis/douban/photos.js +1 -1
  201. package/dist/clis/douban/reviews.js +1 -1
  202. package/dist/clis/douban/search.js +1 -1
  203. package/dist/clis/douban/utils.d.ts +1 -1
  204. package/dist/clis/douban/utils.js +1 -1
  205. package/dist/clis/doubao/ask.d.ts +1 -1
  206. package/dist/clis/doubao/ask.js +1 -1
  207. package/dist/clis/doubao/detail.d.ts +1 -1
  208. package/dist/clis/doubao/detail.js +1 -1
  209. package/dist/clis/doubao/detail.test.js +1 -1
  210. package/dist/clis/doubao/history.d.ts +1 -1
  211. package/dist/clis/doubao/history.js +1 -1
  212. package/dist/clis/doubao/history.test.js +1 -1
  213. package/dist/clis/doubao/meeting-summary.d.ts +1 -1
  214. package/dist/clis/doubao/meeting-summary.js +1 -1
  215. package/dist/clis/doubao/meeting-transcript.d.ts +1 -1
  216. package/dist/clis/doubao/meeting-transcript.js +1 -1
  217. package/dist/clis/doubao/new.d.ts +1 -1
  218. package/dist/clis/doubao/new.js +1 -1
  219. package/dist/clis/doubao/read.d.ts +1 -1
  220. package/dist/clis/doubao/read.js +1 -1
  221. package/dist/clis/doubao/send.d.ts +1 -1
  222. package/dist/clis/doubao/send.js +1 -1
  223. package/dist/clis/doubao/status.d.ts +1 -1
  224. package/dist/clis/doubao/status.js +1 -1
  225. package/dist/clis/doubao/utils.d.ts +1 -1
  226. package/dist/clis/doubao-app/ask.d.ts +1 -1
  227. package/dist/clis/doubao-app/ask.js +1 -1
  228. package/dist/clis/doubao-app/dump.d.ts +1 -1
  229. package/dist/clis/doubao-app/dump.js +1 -1
  230. package/dist/clis/doubao-app/new.d.ts +1 -1
  231. package/dist/clis/doubao-app/new.js +1 -1
  232. package/dist/clis/doubao-app/read.d.ts +1 -1
  233. package/dist/clis/doubao-app/read.js +1 -1
  234. package/dist/clis/doubao-app/screenshot.d.ts +1 -1
  235. package/dist/clis/doubao-app/screenshot.js +1 -1
  236. package/dist/clis/doubao-app/send.d.ts +1 -1
  237. package/dist/clis/doubao-app/send.js +1 -1
  238. package/dist/clis/doubao-app/status.d.ts +1 -1
  239. package/dist/clis/doubao-app/status.js +1 -1
  240. package/dist/clis/douyin/_shared/browser-fetch.d.ts +1 -1
  241. package/dist/clis/douyin/_shared/browser-fetch.js +1 -1
  242. package/dist/clis/douyin/_shared/imagex-upload.js +1 -1
  243. package/dist/clis/douyin/_shared/imagex-upload.test.js +1 -1
  244. package/dist/clis/douyin/_shared/public-api.d.ts +1 -1
  245. package/dist/clis/douyin/_shared/sts2.d.ts +1 -1
  246. package/dist/clis/douyin/_shared/sts2.js +1 -1
  247. package/dist/clis/douyin/_shared/sts2.test.js +1 -1
  248. package/dist/clis/douyin/_shared/tos-upload-short-read.test.js +1 -1
  249. package/dist/clis/douyin/_shared/tos-upload.js +1 -1
  250. package/dist/clis/douyin/_shared/transcode.d.ts +1 -1
  251. package/dist/clis/douyin/_shared/transcode.js +1 -1
  252. package/dist/clis/douyin/_shared/transcode.test.js +1 -1
  253. package/dist/clis/douyin/activities.js +1 -1
  254. package/dist/clis/douyin/activities.test.js +1 -1
  255. package/dist/clis/douyin/collections.js +1 -1
  256. package/dist/clis/douyin/collections.test.js +1 -1
  257. package/dist/clis/douyin/delete.js +1 -1
  258. package/dist/clis/douyin/delete.test.js +1 -1
  259. package/dist/clis/douyin/draft.js +2 -2
  260. package/dist/clis/douyin/draft.test.js +1 -1
  261. package/dist/clis/douyin/drafts.js +1 -1
  262. package/dist/clis/douyin/drafts.test.js +1 -1
  263. package/dist/clis/douyin/hashtag.js +2 -2
  264. package/dist/clis/douyin/hashtag.test.js +1 -1
  265. package/dist/clis/douyin/location.js +1 -1
  266. package/dist/clis/douyin/location.test.js +1 -1
  267. package/dist/clis/douyin/profile.js +2 -2
  268. package/dist/clis/douyin/profile.test.js +1 -1
  269. package/dist/clis/douyin/publish.js +2 -2
  270. package/dist/clis/douyin/publish.test.js +1 -1
  271. package/dist/clis/douyin/stats.js +1 -1
  272. package/dist/clis/douyin/stats.test.js +1 -1
  273. package/dist/clis/douyin/update.js +2 -2
  274. package/dist/clis/douyin/update.test.js +1 -1
  275. package/dist/clis/douyin/user-videos.js +1 -1
  276. package/dist/clis/douyin/user-videos.test.js +1 -1
  277. package/dist/clis/douyin/videos.js +1 -1
  278. package/dist/clis/douyin/videos.test.js +1 -1
  279. package/dist/clis/gemini/ask.d.ts +1 -1
  280. package/dist/clis/gemini/ask.js +1 -1
  281. package/dist/clis/gemini/deep-research-result.d.ts +1 -0
  282. package/dist/clis/gemini/deep-research-result.js +91 -0
  283. package/dist/clis/gemini/deep-research-result.test.js +154 -0
  284. package/dist/clis/gemini/deep-research.d.ts +1 -0
  285. package/dist/clis/gemini/deep-research.js +98 -0
  286. package/dist/clis/gemini/deep-research.test.js +184 -0
  287. package/dist/clis/gemini/image.d.ts +1 -1
  288. package/dist/clis/gemini/image.js +2 -2
  289. package/dist/clis/gemini/new.d.ts +1 -1
  290. package/dist/clis/gemini/new.js +1 -1
  291. package/dist/clis/gemini/reply-state.test.js +30 -0
  292. package/dist/clis/gemini/utils.d.ts +30 -1
  293. package/dist/clis/gemini/utils.js +1014 -2
  294. package/dist/clis/gemini/utils.test.js +21 -1
  295. package/dist/clis/google/news.js +2 -2
  296. package/dist/clis/google/search.js +2 -2
  297. package/dist/clis/google/suggest.js +2 -2
  298. package/dist/clis/google/trends.js +2 -2
  299. package/dist/clis/grok/ask.d.ts +2 -2
  300. package/dist/clis/grok/ask.js +1 -1
  301. package/dist/clis/hf/top.js +2 -2
  302. package/dist/clis/hupu/detail.js +1 -1
  303. package/dist/clis/hupu/like.js +2 -2
  304. package/dist/clis/hupu/mentions.js +159 -0
  305. package/dist/clis/hupu/reply.js +2 -2
  306. package/dist/clis/hupu/search.js +1 -1
  307. package/dist/clis/hupu/unlike.js +2 -2
  308. package/dist/clis/hupu/utils.d.ts +1 -1
  309. package/dist/clis/hupu/utils.js +1 -1
  310. package/dist/clis/imdb/person.js +2 -2
  311. package/dist/clis/imdb/reviews.js +2 -2
  312. package/dist/clis/imdb/search.js +2 -2
  313. package/dist/clis/imdb/title.js +2 -2
  314. package/dist/clis/imdb/top.js +2 -2
  315. package/dist/clis/imdb/trending.js +2 -2
  316. package/dist/clis/imdb/utils.d.ts +1 -1
  317. package/dist/clis/imdb/utils.js +1 -1
  318. package/dist/clis/instagram/_shared/private-publish.d.ts +1 -1
  319. package/dist/clis/instagram/_shared/private-publish.js +1 -1
  320. package/dist/clis/instagram/_shared/protocol-capture.d.ts +1 -1
  321. package/dist/clis/instagram/_shared/runtime-info.d.ts +1 -1
  322. package/dist/clis/instagram/download.js +2 -2
  323. package/dist/clis/instagram/download.test.js +2 -2
  324. package/dist/clis/instagram/note.js +2 -2
  325. package/dist/clis/instagram/note.test.js +2 -2
  326. package/dist/clis/instagram/post.js +2 -2
  327. package/dist/clis/instagram/post.test.js +2 -2
  328. package/dist/clis/instagram/reel.js +2 -2
  329. package/dist/clis/instagram/reel.test.js +2 -2
  330. package/dist/clis/instagram/story.js +2 -2
  331. package/dist/clis/instagram/story.test.js +2 -2
  332. package/dist/clis/jd/item.js +1 -1
  333. package/dist/clis/jd/item.test.js +1 -1
  334. package/dist/clis/jike/comment.js +1 -1
  335. package/dist/clis/jike/create.js +1 -1
  336. package/dist/clis/jike/feed.js +1 -1
  337. package/dist/clis/jike/like.js +1 -1
  338. package/dist/clis/jike/notifications.js +1 -1
  339. package/dist/clis/jike/repost.js +1 -1
  340. package/dist/clis/jike/search.js +1 -1
  341. package/dist/clis/lesswrong/_helpers.d.ts +15 -0
  342. package/dist/clis/lesswrong/_helpers.js +75 -0
  343. package/dist/clis/lesswrong/comments.js +64 -0
  344. package/dist/clis/lesswrong/curated.js +30 -0
  345. package/dist/clis/lesswrong/frontpage.js +30 -0
  346. package/dist/clis/lesswrong/new.js +30 -0
  347. package/dist/clis/lesswrong/read.js +45 -0
  348. package/dist/clis/lesswrong/sequences.js +27 -0
  349. package/dist/clis/lesswrong/shortform.js +30 -0
  350. package/dist/clis/lesswrong/tag.js +45 -0
  351. package/dist/clis/lesswrong/tags.js +27 -0
  352. package/dist/clis/lesswrong/top-month.js +30 -0
  353. package/dist/clis/lesswrong/top-week.js +30 -0
  354. package/dist/clis/lesswrong/top-year.js +30 -0
  355. package/dist/clis/lesswrong/top.js +30 -0
  356. package/dist/clis/lesswrong/user-posts.js +41 -0
  357. package/dist/clis/lesswrong/user.js +44 -0
  358. package/dist/clis/linkedin/search.js +2 -2
  359. package/dist/clis/linkedin/timeline.js +2 -2
  360. package/dist/clis/linkedin/timeline.test.js +1 -1
  361. package/dist/clis/linux-do/category.js +1 -1
  362. package/dist/clis/linux-do/feed.d.ts +2 -2
  363. package/dist/clis/linux-do/feed.js +2 -2
  364. package/dist/clis/linux-do/hot.js +1 -1
  365. package/dist/clis/linux-do/latest.js +1 -1
  366. package/dist/clis/medium/feed.js +1 -1
  367. package/dist/clis/medium/search.js +1 -1
  368. package/dist/clis/medium/user.js +1 -1
  369. package/dist/clis/medium/utils.d.ts +1 -1
  370. package/dist/clis/medium/utils.js +1 -1
  371. package/dist/clis/notebooklm/compat.test.js +1 -1
  372. package/dist/clis/notebooklm/current.js +2 -2
  373. package/dist/clis/notebooklm/get.js +2 -2
  374. package/dist/clis/notebooklm/history.js +2 -2
  375. package/dist/clis/notebooklm/history.test.js +1 -1
  376. package/dist/clis/notebooklm/list.js +2 -2
  377. package/dist/clis/notebooklm/note-list.js +2 -2
  378. package/dist/clis/notebooklm/note-list.test.js +1 -1
  379. package/dist/clis/notebooklm/notes-get.js +2 -2
  380. package/dist/clis/notebooklm/notes-get.test.js +1 -1
  381. package/dist/clis/notebooklm/open.js +2 -2
  382. package/dist/clis/notebooklm/open.test.js +1 -1
  383. package/dist/clis/notebooklm/rpc.d.ts +1 -1
  384. package/dist/clis/notebooklm/rpc.js +1 -1
  385. package/dist/clis/notebooklm/rpc.test.js +1 -1
  386. package/dist/clis/notebooklm/source-fulltext.js +2 -2
  387. package/dist/clis/notebooklm/source-fulltext.test.js +1 -1
  388. package/dist/clis/notebooklm/source-get.js +2 -2
  389. package/dist/clis/notebooklm/source-get.test.js +1 -1
  390. package/dist/clis/notebooklm/source-guide.js +2 -2
  391. package/dist/clis/notebooklm/source-guide.test.js +1 -1
  392. package/dist/clis/notebooklm/source-list.js +2 -2
  393. package/dist/clis/notebooklm/status.js +1 -1
  394. package/dist/clis/notebooklm/summary.js +2 -2
  395. package/dist/clis/notebooklm/summary.test.js +1 -1
  396. package/dist/clis/notebooklm/utils.d.ts +1 -1
  397. package/dist/clis/notebooklm/utils.js +1 -1
  398. package/dist/clis/notion/export.d.ts +1 -1
  399. package/dist/clis/notion/export.js +1 -1
  400. package/dist/clis/notion/favorites.d.ts +1 -1
  401. package/dist/clis/notion/favorites.js +1 -1
  402. package/dist/clis/notion/new.d.ts +1 -1
  403. package/dist/clis/notion/new.js +1 -1
  404. package/dist/clis/notion/read.d.ts +1 -1
  405. package/dist/clis/notion/read.js +1 -1
  406. package/dist/clis/notion/search.d.ts +1 -1
  407. package/dist/clis/notion/search.js +1 -1
  408. package/dist/clis/notion/sidebar.d.ts +1 -1
  409. package/dist/clis/notion/sidebar.js +1 -1
  410. package/dist/clis/notion/status.d.ts +1 -1
  411. package/dist/clis/notion/status.js +1 -1
  412. package/dist/clis/notion/write.d.ts +1 -1
  413. package/dist/clis/notion/write.js +1 -1
  414. package/dist/clis/ones/common.d.ts +1 -1
  415. package/dist/clis/ones/common.js +1 -1
  416. package/dist/clis/ones/enrich-tasks.d.ts +1 -1
  417. package/dist/clis/ones/login.js +2 -2
  418. package/dist/clis/ones/logout.js +1 -1
  419. package/dist/clis/ones/me.js +2 -2
  420. package/dist/clis/ones/my-tasks.js +2 -2
  421. package/dist/clis/ones/resolve-labels.d.ts +1 -1
  422. package/dist/clis/ones/task-helpers.js +1 -1
  423. package/dist/clis/ones/task.js +2 -2
  424. package/dist/clis/ones/tasks.js +2 -2
  425. package/dist/clis/ones/token-info.js +2 -2
  426. package/dist/clis/ones/worklog.js +2 -2
  427. package/dist/clis/paperreview/commands.test.js +1 -1
  428. package/dist/clis/paperreview/feedback.js +2 -2
  429. package/dist/clis/paperreview/review.js +2 -2
  430. package/dist/clis/paperreview/submit.js +2 -2
  431. package/dist/clis/paperreview/utils.js +1 -1
  432. package/dist/clis/paperreview/utils.test.js +1 -1
  433. package/dist/clis/pixiv/download.js +2 -2
  434. package/dist/clis/pixiv/download.test.js +2 -2
  435. package/dist/clis/pixiv/illusts.js +2 -2
  436. package/dist/clis/pixiv/illusts.test.js +2 -2
  437. package/dist/clis/pixiv/search.js +1 -1
  438. package/dist/clis/pixiv/search.test.js +2 -2
  439. package/dist/clis/pixiv/test-utils.d.ts +1 -1
  440. package/dist/clis/pixiv/utils.d.ts +1 -1
  441. package/dist/clis/pixiv/utils.js +1 -1
  442. package/dist/clis/producthunt/browse.js +2 -2
  443. package/dist/clis/producthunt/hot.js +2 -2
  444. package/dist/clis/producthunt/posts.js +1 -1
  445. package/dist/clis/producthunt/today.js +1 -1
  446. package/dist/clis/reddit/comment.js +2 -2
  447. package/dist/clis/reddit/read.js +2 -2
  448. package/dist/clis/reddit/read.test.js +1 -1
  449. package/dist/clis/reddit/save.js +2 -2
  450. package/dist/clis/reddit/saved.js +2 -2
  451. package/dist/clis/reddit/subscribe.js +2 -2
  452. package/dist/clis/reddit/upvote.js +2 -2
  453. package/dist/clis/reddit/upvoted.js +2 -2
  454. package/dist/clis/reuters/search.js +1 -1
  455. package/dist/clis/sinablog/article.js +1 -1
  456. package/dist/clis/sinablog/hot.js +1 -1
  457. package/dist/clis/sinablog/search.js +1 -1
  458. package/dist/clis/sinablog/user.js +1 -1
  459. package/dist/clis/sinablog/utils.d.ts +1 -1
  460. package/dist/clis/sinafinance/news.js +2 -2
  461. package/dist/clis/sinafinance/rolling-news.js +1 -1
  462. package/dist/clis/sinafinance/stock-rank.js +1 -1
  463. package/dist/clis/sinafinance/stock.js +2 -2
  464. package/dist/clis/smzdm/search.js +1 -1
  465. package/dist/clis/spotify/spotify.js +2 -2
  466. package/dist/clis/spotify/utils.js +1 -1
  467. package/dist/clis/substack/feed.js +1 -1
  468. package/dist/clis/substack/publication.js +1 -1
  469. package/dist/clis/substack/search.js +2 -2
  470. package/dist/clis/substack/utils.d.ts +1 -1
  471. package/dist/clis/substack/utils.js +1 -1
  472. package/dist/clis/tieba/commands.test.js +1 -1
  473. package/dist/clis/tieba/hot.js +2 -2
  474. package/dist/clis/tieba/posts.js +2 -2
  475. package/dist/clis/tieba/read.js +2 -2
  476. package/dist/clis/tieba/search.js +2 -2
  477. package/dist/clis/twitter/accept.js +2 -2
  478. package/dist/clis/twitter/article.js +2 -2
  479. package/dist/clis/twitter/block.js +2 -2
  480. package/dist/clis/twitter/bookmark.js +2 -2
  481. package/dist/clis/twitter/bookmarks.js +2 -2
  482. package/dist/clis/twitter/delete.d.ts +6 -0
  483. package/dist/clis/twitter/delete.js +82 -47
  484. package/dist/clis/twitter/delete.test.d.ts +1 -0
  485. package/dist/clis/twitter/delete.test.js +73 -0
  486. package/dist/clis/twitter/download.js +1 -1
  487. package/dist/clis/twitter/follow.js +2 -2
  488. package/dist/clis/twitter/followers.js +2 -2
  489. package/dist/clis/twitter/following.js +2 -2
  490. package/dist/clis/twitter/hide-reply.js +2 -2
  491. package/dist/clis/twitter/like.js +2 -2
  492. package/dist/clis/twitter/likes.js +2 -2
  493. package/dist/clis/twitter/notifications.js +2 -2
  494. package/dist/clis/twitter/post.js +2 -2
  495. package/dist/clis/twitter/post.test.js +1 -1
  496. package/dist/clis/twitter/profile.js +2 -2
  497. package/dist/clis/twitter/reply-dm.js +2 -2
  498. package/dist/clis/twitter/reply.js +2 -2
  499. package/dist/clis/twitter/reply.test.js +1 -1
  500. package/dist/clis/twitter/search.js +2 -2
  501. package/dist/clis/twitter/search.test.js +1 -1
  502. package/dist/clis/twitter/shared.d.ts +1 -1
  503. package/dist/clis/twitter/thread.js +2 -2
  504. package/dist/clis/twitter/timeline.js +2 -2
  505. package/dist/clis/twitter/trending.js +2 -2
  506. package/dist/clis/twitter/unblock.js +2 -2
  507. package/dist/clis/twitter/unbookmark.js +2 -2
  508. package/dist/clis/twitter/unfollow.js +2 -2
  509. package/dist/clis/v2ex/daily.js +2 -2
  510. package/dist/clis/v2ex/me.js +2 -2
  511. package/dist/clis/v2ex/notifications.js +2 -2
  512. package/dist/clis/web/read.js +1 -1
  513. package/dist/clis/weibo/comments.js +1 -1
  514. package/dist/clis/weibo/feed.js +1 -1
  515. package/dist/clis/weibo/hot.js +1 -1
  516. package/dist/clis/weibo/me.js +2 -2
  517. package/dist/clis/weibo/post.js +2 -2
  518. package/dist/clis/weibo/search.js +2 -2
  519. package/dist/clis/weibo/user.js +2 -2
  520. package/dist/clis/weibo/utils.d.ts +1 -1
  521. package/dist/clis/weibo/utils.js +1 -1
  522. package/dist/clis/weixin/download.js +1 -1
  523. package/dist/clis/weread/book.js +2 -2
  524. package/dist/clis/weread/commands.test.js +2 -2
  525. package/dist/clis/weread/highlights.js +1 -1
  526. package/dist/clis/weread/notebooks.js +1 -1
  527. package/dist/clis/weread/notes.js +1 -1
  528. package/dist/clis/weread/private-api-regression.test.js +2 -2
  529. package/dist/clis/weread/ranking.js +1 -1
  530. package/dist/clis/weread/search-regression.test.js +1 -1
  531. package/dist/clis/weread/search.js +1 -1
  532. package/dist/clis/weread/shelf.js +3 -3
  533. package/dist/clis/weread/utils.d.ts +1 -1
  534. package/dist/clis/weread/utils.js +1 -1
  535. package/dist/clis/wikipedia/random.js +2 -2
  536. package/dist/clis/wikipedia/search.js +2 -2
  537. package/dist/clis/wikipedia/summary.js +2 -2
  538. package/dist/clis/wikipedia/trending.js +2 -2
  539. package/dist/clis/wikipedia/utils.js +1 -1
  540. package/dist/clis/xianyu/chat.js +2 -2
  541. package/dist/clis/xianyu/item.js +2 -2
  542. package/dist/clis/xianyu/item.test.js +2 -2
  543. package/dist/clis/xianyu/search.js +2 -2
  544. package/dist/clis/xianyu/utils.js +1 -1
  545. package/dist/clis/xiaohongshu/comments.js +2 -2
  546. package/dist/clis/xiaohongshu/comments.test.js +3 -3
  547. package/dist/clis/xiaohongshu/creator-note-detail.d.ts +1 -1
  548. package/dist/clis/xiaohongshu/creator-note-detail.js +1 -1
  549. package/dist/clis/xiaohongshu/creator-note-detail.test.js +1 -1
  550. package/dist/clis/xiaohongshu/creator-notes-summary.js +1 -1
  551. package/dist/clis/xiaohongshu/creator-notes.d.ts +1 -1
  552. package/dist/clis/xiaohongshu/creator-notes.js +1 -1
  553. package/dist/clis/xiaohongshu/creator-notes.test.js +1 -1
  554. package/dist/clis/xiaohongshu/creator-profile.js +1 -1
  555. package/dist/clis/xiaohongshu/creator-stats.js +1 -1
  556. package/dist/clis/xiaohongshu/download.js +1 -1
  557. package/dist/clis/xiaohongshu/download.test.js +1 -1
  558. package/dist/clis/xiaohongshu/note-helpers.d.ts +2 -2
  559. package/dist/clis/xiaohongshu/note-helpers.js +5 -3
  560. package/dist/clis/xiaohongshu/note.d.ts +4 -0
  561. package/dist/clis/xiaohongshu/note.js +10 -12
  562. package/dist/clis/xiaohongshu/note.test.js +6 -6
  563. package/dist/clis/xiaohongshu/publish.js +1 -1
  564. package/dist/clis/xiaohongshu/publish.test.js +1 -1
  565. package/dist/clis/xiaohongshu/search.js +2 -2
  566. package/dist/clis/xiaohongshu/search.test.js +1 -1
  567. package/dist/clis/xiaohongshu/user.js +1 -1
  568. package/dist/clis/xiaoyuzhou/episode.js +2 -2
  569. package/dist/clis/xiaoyuzhou/podcast-episodes.js +2 -2
  570. package/dist/clis/xiaoyuzhou/podcast.js +2 -2
  571. package/dist/clis/xiaoyuzhou/utils.js +1 -1
  572. package/dist/clis/xueqiu/comments.d.ts +1 -1
  573. package/dist/clis/xueqiu/comments.js +4 -4
  574. package/dist/clis/xueqiu/comments.test.js +3 -3
  575. package/dist/clis/xueqiu/danjuan-utils.d.ts +1 -1
  576. package/dist/clis/xueqiu/fund-holdings.js +1 -1
  577. package/dist/clis/xueqiu/fund-snapshot.js +1 -1
  578. package/dist/clis/yahoo-finance/quote.js +1 -1
  579. package/dist/clis/yollomi/background.js +2 -2
  580. package/dist/clis/yollomi/edit.js +2 -2
  581. package/dist/clis/yollomi/face-swap.js +2 -2
  582. package/dist/clis/yollomi/generate.js +2 -2
  583. package/dist/clis/yollomi/models.js +1 -1
  584. package/dist/clis/yollomi/object-remover.js +2 -2
  585. package/dist/clis/yollomi/remove-bg.js +2 -2
  586. package/dist/clis/yollomi/restore.js +2 -2
  587. package/dist/clis/yollomi/try-on.js +2 -2
  588. package/dist/clis/yollomi/upload.js +2 -2
  589. package/dist/clis/yollomi/upscale.js +2 -2
  590. package/dist/clis/yollomi/utils.d.ts +1 -1
  591. package/dist/clis/yollomi/utils.js +1 -1
  592. package/dist/clis/yollomi/video.js +2 -2
  593. package/dist/clis/youtube/channel.js +2 -2
  594. package/dist/clis/youtube/comments.js +2 -2
  595. package/dist/clis/youtube/search.js +1 -1
  596. package/dist/clis/youtube/transcript.js +2 -2
  597. package/dist/clis/youtube/utils.d.ts +1 -1
  598. package/dist/clis/youtube/video.js +2 -2
  599. package/dist/clis/yuanbao/ask.d.ts +1 -1
  600. package/dist/clis/yuanbao/ask.js +2 -2
  601. package/dist/clis/yuanbao/ask.test.js +1 -1
  602. package/dist/clis/yuanbao/new.d.ts +1 -1
  603. package/dist/clis/yuanbao/new.js +1 -1
  604. package/dist/clis/yuanbao/new.test.js +1 -1
  605. package/dist/clis/yuanbao/shared.d.ts +2 -2
  606. package/dist/clis/yuanbao/shared.js +1 -1
  607. package/dist/clis/zhihu/download.js +1 -1
  608. package/dist/clis/zhihu/question.js +2 -2
  609. package/dist/clis/zhihu/question.test.js +2 -2
  610. package/dist/clis/zsxq/dynamics.js +1 -1
  611. package/dist/clis/zsxq/groups.js +1 -1
  612. package/dist/clis/zsxq/search.js +1 -1
  613. package/dist/clis/zsxq/search.test.js +1 -1
  614. package/dist/clis/zsxq/topic.js +2 -2
  615. package/dist/clis/zsxq/topic.test.js +1 -1
  616. package/dist/clis/zsxq/topics.js +1 -1
  617. package/dist/clis/zsxq/topics.test.js +1 -1
  618. package/dist/clis/zsxq/utils.d.ts +1 -1
  619. package/dist/clis/zsxq/utils.js +1 -1
  620. package/dist/download/article-download.d.ts +1 -59
  621. package/dist/download/article-download.js +2 -178
  622. package/dist/download/index.d.ts +1 -71
  623. package/dist/download/index.js +2 -345
  624. package/dist/download/media-download.d.ts +1 -49
  625. package/dist/download/media-download.js +2 -114
  626. package/dist/download/progress.d.ts +1 -36
  627. package/dist/download/progress.js +2 -111
  628. package/dist/pipeline/index.d.ts +1 -5
  629. package/dist/pipeline/index.js +2 -5
  630. package/dist/src/browser/cdp.d.ts +40 -0
  631. package/dist/src/browser/cdp.js +310 -0
  632. package/dist/src/browser/page.d.ts +62 -0
  633. package/dist/src/browser/page.js +304 -0
  634. package/dist/src/browser/utils.d.ts +10 -0
  635. package/dist/src/browser/utils.js +27 -0
  636. package/dist/{build-manifest.js → src/build-manifest.js} +5 -4
  637. package/dist/{cascade.js → src/cascade.js} +16 -31
  638. package/dist/src/cli.d.ts +22 -0
  639. package/dist/{cli.js → src/cli.js} +78 -8
  640. package/dist/{cli.test.js → src/cli.test.js} +84 -1
  641. package/dist/{commanderAdapter.d.ts → src/commanderAdapter.d.ts} +1 -0
  642. package/dist/{commanderAdapter.js → src/commanderAdapter.js} +26 -46
  643. package/dist/{discovery.d.ts → src/discovery.d.ts} +11 -2
  644. package/dist/{discovery.js → src/discovery.js} +96 -12
  645. package/dist/src/doctor.test.d.ts +1 -0
  646. package/dist/src/download/article-download.d.ts +59 -0
  647. package/dist/src/download/article-download.js +178 -0
  648. package/dist/src/download/index.d.ts +71 -0
  649. package/dist/src/download/index.js +345 -0
  650. package/dist/src/download/index.test.d.ts +1 -0
  651. package/dist/src/download/media-download.d.ts +49 -0
  652. package/dist/src/download/media-download.js +114 -0
  653. package/dist/src/download/progress.d.ts +36 -0
  654. package/dist/src/download/progress.js +111 -0
  655. package/dist/src/electron-apps.test.d.ts +1 -0
  656. package/dist/src/engine.test.d.ts +1 -0
  657. package/dist/src/errors.test.d.ts +1 -0
  658. package/dist/src/execution.test.d.ts +1 -0
  659. package/dist/src/extension-manifest-regression.test.d.ts +1 -0
  660. package/dist/src/external.test.d.ts +1 -0
  661. package/dist/{interceptor.d.ts → src/interceptor.d.ts} +2 -0
  662. package/dist/{interceptor.js → src/interceptor.js} +3 -6
  663. package/dist/src/launcher.test.d.ts +1 -0
  664. package/dist/{main.js → src/main.js} +3 -2
  665. package/dist/src/node-network.test.d.ts +1 -0
  666. package/dist/src/output.test.d.ts +1 -0
  667. package/{src/pipeline/index.ts → dist/src/pipeline/index.d.ts} +0 -1
  668. package/dist/src/pipeline/index.js +5 -0
  669. package/dist/src/pipeline/steps/download.test.d.ts +1 -0
  670. package/dist/src/pipeline/steps/fetch.test.d.ts +1 -0
  671. package/dist/{record.js → src/record.js} +1 -1
  672. package/dist/src/record.test.d.ts +1 -0
  673. package/dist/src/runtime-detect.test.d.ts +1 -0
  674. package/dist/src/serialization.test.d.ts +1 -0
  675. package/dist/{synthesize.d.ts → src/synthesize.d.ts} +0 -4
  676. package/dist/{synthesize.js → src/synthesize.js} +4 -15
  677. package/dist/src/tui.test.d.ts +1 -0
  678. package/dist/src/weixin-download.test.d.ts +1 -0
  679. package/dist/{weixin-download.test.js → src/weixin-download.test.js} +1 -1
  680. package/package.json +26 -9
  681. package/scripts/check-doc-coverage.sh +2 -2
  682. package/scripts/copy-yaml.cjs +4 -4
  683. package/scripts/fetch-adapters.js +157 -0
  684. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -83
  685. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  686. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -42
  687. package/.github/ISSUE_TEMPLATE/new_site_adapter.yml +0 -57
  688. package/.github/actions/setup-chrome/action.yml +0 -27
  689. package/.github/dependabot.yml +0 -27
  690. package/.github/pull_request_template.md +0 -33
  691. package/.github/workflows/build-extension.yml +0 -67
  692. package/.github/workflows/ci.yml +0 -147
  693. package/.github/workflows/doc-check.yml +0 -36
  694. package/.github/workflows/docs.yml +0 -17
  695. package/.github/workflows/e2e-headed.yml +0 -74
  696. package/.github/workflows/release.yml +0 -44
  697. package/.github/workflows/security.yml +0 -33
  698. package/CHANGELOG.md +0 -321
  699. package/CONTRIBUTING.md +0 -208
  700. package/PRIVACY.md +0 -57
  701. package/TESTING.md +0 -252
  702. package/autoresearch/baseline-browse.txt +0 -1
  703. package/autoresearch/baseline-skill.txt +0 -1
  704. package/autoresearch/browse-tasks.json +0 -686
  705. package/autoresearch/commands/debug.ts +0 -163
  706. package/autoresearch/commands/fix.ts +0 -145
  707. package/autoresearch/commands/plan.ts +0 -88
  708. package/autoresearch/commands/run.ts +0 -138
  709. package/autoresearch/config.ts +0 -82
  710. package/autoresearch/engine.ts +0 -359
  711. package/autoresearch/eval-all.ts +0 -127
  712. package/autoresearch/eval-browse.ts +0 -185
  713. package/autoresearch/eval-publish.ts +0 -238
  714. package/autoresearch/eval-save.ts +0 -249
  715. package/autoresearch/eval-skill.ts +0 -254
  716. package/autoresearch/eval-v2ex.ts +0 -220
  717. package/autoresearch/eval-zhihu.ts +0 -230
  718. package/autoresearch/logger.ts +0 -69
  719. package/autoresearch/presets/combined-reliability.ts +0 -27
  720. package/autoresearch/presets/index.ts +0 -23
  721. package/autoresearch/presets/operate-reliability.ts +0 -24
  722. package/autoresearch/presets/save-reliability.ts +0 -26
  723. package/autoresearch/presets/skill-quality.ts +0 -20
  724. package/autoresearch/presets/v2ex-reliability.ts +0 -24
  725. package/autoresearch/presets/zhihu-reliability.ts +0 -25
  726. package/autoresearch/publish-tasks.json +0 -345
  727. package/autoresearch/run-browse.sh +0 -9
  728. package/autoresearch/run-save.sh +0 -11
  729. package/autoresearch/run-skill.sh +0 -9
  730. package/autoresearch/save-adapters/xhs-explore-deep.ts +0 -64
  731. package/autoresearch/save-adapters/xhs-note-comments.ts +0 -61
  732. package/autoresearch/save-adapters/xhs-search-full.ts +0 -62
  733. package/autoresearch/save-adapters/zhihu-hot-detail.ts +0 -52
  734. package/autoresearch/save-adapters/zhihu-question-full.ts +0 -57
  735. package/autoresearch/save-adapters/zhihu-search-detail.ts +0 -53
  736. package/autoresearch/save-tasks.json +0 -281
  737. package/autoresearch/v2ex-tasks.json +0 -899
  738. package/autoresearch/zhihu-tasks.json +0 -848
  739. package/bun.lock +0 -615
  740. package/dist/cli.d.ts +0 -9
  741. package/docs/.vitepress/config.mts +0 -238
  742. package/docs/adapters/browser/1688.md +0 -52
  743. package/docs/adapters/browser/36kr.md +0 -48
  744. package/docs/adapters/browser/amazon.md +0 -53
  745. package/docs/adapters/browser/apple-podcasts.md +0 -28
  746. package/docs/adapters/browser/arxiv.md +0 -27
  747. package/docs/adapters/browser/band.md +0 -63
  748. package/docs/adapters/browser/barchart.md +0 -33
  749. package/docs/adapters/browser/bbc.md +0 -26
  750. package/docs/adapters/browser/bilibili.md +0 -47
  751. package/docs/adapters/browser/bloomberg.md +0 -70
  752. package/docs/adapters/browser/bluesky.md +0 -53
  753. package/docs/adapters/browser/boss.md +0 -28
  754. package/docs/adapters/browser/chaoxing.md +0 -39
  755. package/docs/adapters/browser/coupang.md +0 -28
  756. package/docs/adapters/browser/ctrip.md +0 -27
  757. package/docs/adapters/browser/devto.md +0 -35
  758. package/docs/adapters/browser/dictionary.md +0 -27
  759. package/docs/adapters/browser/douban.md +0 -62
  760. package/docs/adapters/browser/doubao.md +0 -39
  761. package/docs/adapters/browser/douyin.md +0 -75
  762. package/docs/adapters/browser/facebook.md +0 -36
  763. package/docs/adapters/browser/gemini.md +0 -72
  764. package/docs/adapters/browser/google.md +0 -62
  765. package/docs/adapters/browser/grok.md +0 -53
  766. package/docs/adapters/browser/hackernews.md +0 -42
  767. package/docs/adapters/browser/hf.md +0 -42
  768. package/docs/adapters/browser/hupu.md +0 -53
  769. package/docs/adapters/browser/imdb.md +0 -47
  770. package/docs/adapters/browser/instagram.md +0 -46
  771. package/docs/adapters/browser/jd.md +0 -27
  772. package/docs/adapters/browser/jike.md +0 -45
  773. package/docs/adapters/browser/jimeng.md +0 -39
  774. package/docs/adapters/browser/linkedin.md +0 -33
  775. package/docs/adapters/browser/linux-do.md +0 -206
  776. package/docs/adapters/browser/lobsters.md +0 -32
  777. package/docs/adapters/browser/medium.md +0 -32
  778. package/docs/adapters/browser/notebooklm.md +0 -69
  779. package/docs/adapters/browser/ones.md +0 -59
  780. package/docs/adapters/browser/paperreview.md +0 -43
  781. package/docs/adapters/browser/pixiv.md +0 -92
  782. package/docs/adapters/browser/producthunt.md +0 -49
  783. package/docs/adapters/browser/reddit.md +0 -50
  784. package/docs/adapters/browser/reuters.md +0 -27
  785. package/docs/adapters/browser/sinablog.md +0 -36
  786. package/docs/adapters/browser/sinafinance.md +0 -115
  787. package/docs/adapters/browser/smzdm.md +0 -27
  788. package/docs/adapters/browser/spotify.md +0 -62
  789. package/docs/adapters/browser/stackoverflow.md +0 -35
  790. package/docs/adapters/browser/steam.md +0 -26
  791. package/docs/adapters/browser/substack.md +0 -38
  792. package/docs/adapters/browser/tieba.md +0 -45
  793. package/docs/adapters/browser/tiktok.md +0 -68
  794. package/docs/adapters/browser/twitter.md +0 -56
  795. package/docs/adapters/browser/v2ex.md +0 -53
  796. package/docs/adapters/browser/web.md +0 -30
  797. package/docs/adapters/browser/weibo.md +0 -36
  798. package/docs/adapters/browser/weixin.md +0 -33
  799. package/docs/adapters/browser/weread.md +0 -48
  800. package/docs/adapters/browser/wikipedia.md +0 -32
  801. package/docs/adapters/browser/xianyu.md +0 -42
  802. package/docs/adapters/browser/xiaoe.md +0 -44
  803. package/docs/adapters/browser/xiaohongshu.md +0 -47
  804. package/docs/adapters/browser/xiaoyuzhou.md +0 -28
  805. package/docs/adapters/browser/xueqiu.md +0 -65
  806. package/docs/adapters/browser/yahoo-finance.md +0 -27
  807. package/docs/adapters/browser/yollomi.md +0 -69
  808. package/docs/adapters/browser/youtube.md +0 -29
  809. package/docs/adapters/browser/yuanbao.md +0 -64
  810. package/docs/adapters/browser/zhihu.md +0 -30
  811. package/docs/adapters/browser/zsxq.md +0 -49
  812. package/docs/adapters/desktop/antigravity.md +0 -49
  813. package/docs/adapters/desktop/chatgpt.md +0 -49
  814. package/docs/adapters/desktop/chatwise.md +0 -38
  815. package/docs/adapters/desktop/codex.md +0 -36
  816. package/docs/adapters/desktop/cursor.md +0 -37
  817. package/docs/adapters/desktop/discord.md +0 -28
  818. package/docs/adapters/desktop/doubao-app.md +0 -35
  819. package/docs/adapters/desktop/notion.md +0 -29
  820. package/docs/adapters/index.md +0 -96
  821. package/docs/adapters-doc/ones.md +0 -32
  822. package/docs/advanced/cdp.md +0 -103
  823. package/docs/advanced/download.md +0 -71
  824. package/docs/advanced/electron.md +0 -125
  825. package/docs/advanced/rate-limiter-plugin.md +0 -99
  826. package/docs/advanced/remote-chrome.md +0 -72
  827. package/docs/comparison.md +0 -125
  828. package/docs/developer/ai-workflow.md +0 -66
  829. package/docs/developer/architecture.md +0 -103
  830. package/docs/developer/contributing.md +0 -155
  831. package/docs/developer/testing.md +0 -263
  832. package/docs/developer/ts-adapter.md +0 -105
  833. package/docs/developer/yaml-adapter.md +0 -124
  834. package/docs/guide/browser-bridge.md +0 -49
  835. package/docs/guide/electron-app-cli.md +0 -200
  836. package/docs/guide/getting-started.md +0 -79
  837. package/docs/guide/installation.md +0 -37
  838. package/docs/guide/plugins.md +0 -261
  839. package/docs/guide/troubleshooting.md +0 -72
  840. package/docs/index.md +0 -35
  841. package/docs/superpowers/plans/2026-03-28-perf-smart-wait.md +0 -1143
  842. package/docs/superpowers/plans/2026-03-31-daemon-lifecycle-redesign.md +0 -857
  843. package/docs/superpowers/specs/2026-03-28-perf-smart-wait-design.md +0 -170
  844. package/docs/superpowers/specs/2026-03-31-daemon-lifecycle-redesign.md +0 -208
  845. package/docs/superpowers/specs/2026-04-02-browse-skill-testing-design.md +0 -144
  846. package/docs/superpowers/specs/2026-04-03-v2ex-autoresearch-design.md +0 -41
  847. package/docs/zh/adapters/index.md +0 -5
  848. package/docs/zh/advanced/cdp.md +0 -3
  849. package/docs/zh/developer/contributing.md +0 -24
  850. package/docs/zh/guide/browser-bridge.md +0 -36
  851. package/docs/zh/guide/electron-app-cli.md +0 -188
  852. package/docs/zh/guide/getting-started.md +0 -62
  853. package/docs/zh/guide/installation.md +0 -37
  854. package/docs/zh/guide/plugins.md +0 -183
  855. package/docs/zh/index.md +0 -29
  856. package/extension/dist/background.js +0 -1127
  857. package/extension/icons/icon-128.png +0 -0
  858. package/extension/icons/icon-16.png +0 -0
  859. package/extension/icons/icon-32.png +0 -0
  860. package/extension/icons/icon-48.png +0 -0
  861. package/extension/manifest.json +0 -39
  862. package/extension/package-lock.json +0 -1156
  863. package/extension/package.json +0 -17
  864. package/extension/popup.html +0 -84
  865. package/extension/popup.js +0 -25
  866. package/extension/scripts/package-release.mjs +0 -179
  867. package/extension/src/background.test.ts +0 -279
  868. package/extension/src/background.ts +0 -878
  869. package/extension/src/cdp.test.ts +0 -75
  870. package/extension/src/cdp.ts +0 -440
  871. package/extension/src/protocol.ts +0 -87
  872. package/extension/store-assets/screenshot-1280x800.png +0 -0
  873. package/extension/tsconfig.json +0 -15
  874. package/extension/vite.config.ts +0 -18
  875. package/skills/opencli-explorer/SKILL.md +0 -853
  876. package/skills/opencli-oneshot/SKILL.md +0 -222
  877. package/skills/opencli-operate/SKILL.md +0 -306
  878. package/skills/opencli-usage/SKILL.md +0 -163
  879. package/skills/opencli-usage/browser.md +0 -527
  880. package/skills/opencli-usage/desktop.md +0 -118
  881. package/skills/opencli-usage/plugins.md +0 -82
  882. package/skills/opencli-usage/public-api.md +0 -178
  883. package/skills/smart-search/SKILL.md +0 -156
  884. package/skills/smart-search/references/sources-ai.md +0 -74
  885. package/skills/smart-search/references/sources-info.md +0 -43
  886. package/skills/smart-search/references/sources-media.md +0 -50
  887. package/skills/smart-search/references/sources-other.md +0 -42
  888. package/skills/smart-search/references/sources-shopping.md +0 -31
  889. package/skills/smart-search/references/sources-social.md +0 -51
  890. package/skills/smart-search/references/sources-tech.md +0 -42
  891. package/skills/smart-search/references/sources-travel.md +0 -20
  892. package/src/analysis.ts +0 -170
  893. package/src/browser/base-page.ts +0 -232
  894. package/src/browser/bridge.ts +0 -129
  895. package/src/browser/cdp.test.ts +0 -66
  896. package/src/browser/cdp.ts +0 -341
  897. package/src/browser/daemon-client.test.ts +0 -103
  898. package/src/browser/daemon-client.ts +0 -175
  899. package/src/browser/discover.ts +0 -26
  900. package/src/browser/dom-helpers.test.ts +0 -114
  901. package/src/browser/dom-helpers.ts +0 -238
  902. package/src/browser/dom-snapshot.test.ts +0 -291
  903. package/src/browser/dom-snapshot.ts +0 -845
  904. package/src/browser/errors.ts +0 -63
  905. package/src/browser/index.ts +0 -14
  906. package/src/browser/page.test.ts +0 -58
  907. package/src/browser/page.ts +0 -315
  908. package/src/browser/stealth.test.ts +0 -153
  909. package/src/browser/stealth.ts +0 -354
  910. package/src/browser/tabs.ts +0 -76
  911. package/src/browser/utils.ts +0 -27
  912. package/src/browser.test.ts +0 -195
  913. package/src/build-manifest.test.ts +0 -200
  914. package/src/build-manifest.ts +0 -279
  915. package/src/capabilityRouting.test.ts +0 -47
  916. package/src/capabilityRouting.ts +0 -29
  917. package/src/cascade.ts +0 -192
  918. package/src/cli.test.ts +0 -133
  919. package/src/cli.ts +0 -1012
  920. package/src/clis/1688/item.test.ts +0 -69
  921. package/src/clis/1688/item.ts +0 -282
  922. package/src/clis/1688/search.test.ts +0 -81
  923. package/src/clis/1688/search.ts +0 -402
  924. package/src/clis/1688/shared.test.ts +0 -75
  925. package/src/clis/1688/shared.ts +0 -623
  926. package/src/clis/1688/store.test.ts +0 -69
  927. package/src/clis/1688/store.ts +0 -300
  928. package/src/clis/36kr/article.ts +0 -69
  929. package/src/clis/36kr/hot.test.ts +0 -19
  930. package/src/clis/36kr/hot.ts +0 -100
  931. package/src/clis/36kr/news.test.ts +0 -90
  932. package/src/clis/36kr/news.ts +0 -54
  933. package/src/clis/36kr/search.ts +0 -78
  934. package/src/clis/_shared/common.ts +0 -11
  935. package/src/clis/_shared/desktop-commands.ts +0 -121
  936. package/src/clis/amazon/bestsellers.test.ts +0 -31
  937. package/src/clis/amazon/bestsellers.ts +0 -8
  938. package/src/clis/amazon/discussion.test.ts +0 -38
  939. package/src/clis/amazon/discussion.ts +0 -131
  940. package/src/clis/amazon/movers-shakers.ts +0 -8
  941. package/src/clis/amazon/new-releases.ts +0 -8
  942. package/src/clis/amazon/offer.test.ts +0 -35
  943. package/src/clis/amazon/offer.ts +0 -185
  944. package/src/clis/amazon/product.test.ts +0 -26
  945. package/src/clis/amazon/product.ts +0 -131
  946. package/src/clis/amazon/rankings.test.ts +0 -47
  947. package/src/clis/amazon/rankings.ts +0 -312
  948. package/src/clis/amazon/search.test.ts +0 -24
  949. package/src/clis/amazon/search.ts +0 -128
  950. package/src/clis/amazon/shared.test.ts +0 -53
  951. package/src/clis/amazon/shared.ts +0 -438
  952. package/src/clis/antigravity/SKILL.md +0 -38
  953. package/src/clis/antigravity/dump.ts +0 -30
  954. package/src/clis/antigravity/extract-code.ts +0 -34
  955. package/src/clis/antigravity/model.ts +0 -47
  956. package/src/clis/antigravity/new.ts +0 -28
  957. package/src/clis/antigravity/read.ts +0 -36
  958. package/src/clis/antigravity/send.ts +0 -40
  959. package/src/clis/antigravity/serve.ts +0 -600
  960. package/src/clis/antigravity/status.ts +0 -19
  961. package/src/clis/antigravity/watch.ts +0 -45
  962. package/src/clis/apple-podcasts/commands.test.ts +0 -123
  963. package/src/clis/apple-podcasts/episodes.ts +0 -28
  964. package/src/clis/apple-podcasts/search.ts +0 -30
  965. package/src/clis/apple-podcasts/top.ts +0 -47
  966. package/src/clis/apple-podcasts/utils.test.ts +0 -72
  967. package/src/clis/apple-podcasts/utils.ts +0 -37
  968. package/src/clis/arxiv/paper.ts +0 -21
  969. package/src/clis/arxiv/search.ts +0 -24
  970. package/src/clis/arxiv/utils.ts +0 -63
  971. package/src/clis/band/bands.ts +0 -76
  972. package/src/clis/band/mentions.ts +0 -134
  973. package/src/clis/band/post.ts +0 -187
  974. package/src/clis/band/posts.ts +0 -106
  975. package/src/clis/barchart/flow.ts +0 -120
  976. package/src/clis/barchart/greeks.ts +0 -123
  977. package/src/clis/barchart/options.ts +0 -110
  978. package/src/clis/barchart/quote.ts +0 -137
  979. package/src/clis/bbc/news.ts +0 -41
  980. package/src/clis/bilibili/comments.test.ts +0 -103
  981. package/src/clis/bilibili/comments.ts +0 -44
  982. package/src/clis/bilibili/download.ts +0 -93
  983. package/src/clis/bilibili/dynamic.test.ts +0 -79
  984. package/src/clis/bilibili/dynamic.ts +0 -34
  985. package/src/clis/bilibili/favorite.ts +0 -45
  986. package/src/clis/bilibili/feed.ts +0 -71
  987. package/src/clis/bilibili/following.ts +0 -51
  988. package/src/clis/bilibili/history.ts +0 -48
  989. package/src/clis/bilibili/hot.yaml +0 -38
  990. package/src/clis/bilibili/me.ts +0 -14
  991. package/src/clis/bilibili/ranking.ts +0 -25
  992. package/src/clis/bilibili/search.ts +0 -25
  993. package/src/clis/bilibili/subtitle.test.ts +0 -61
  994. package/src/clis/bilibili/subtitle.ts +0 -106
  995. package/src/clis/bilibili/user-videos.ts +0 -42
  996. package/src/clis/bilibili/utils.test.ts +0 -21
  997. package/src/clis/bilibili/utils.ts +0 -143
  998. package/src/clis/bloomberg/businessweek.ts +0 -18
  999. package/src/clis/bloomberg/economics.ts +0 -18
  1000. package/src/clis/bloomberg/feeds.ts +0 -16
  1001. package/src/clis/bloomberg/industries.ts +0 -18
  1002. package/src/clis/bloomberg/main.ts +0 -18
  1003. package/src/clis/bloomberg/markets.ts +0 -18
  1004. package/src/clis/bloomberg/news.ts +0 -136
  1005. package/src/clis/bloomberg/opinions.ts +0 -18
  1006. package/src/clis/bloomberg/politics.ts +0 -18
  1007. package/src/clis/bloomberg/tech.ts +0 -18
  1008. package/src/clis/bloomberg/utils.test.ts +0 -135
  1009. package/src/clis/bloomberg/utils.ts +0 -429
  1010. package/src/clis/bluesky/feeds.yaml +0 -29
  1011. package/src/clis/bluesky/followers.yaml +0 -33
  1012. package/src/clis/bluesky/following.yaml +0 -33
  1013. package/src/clis/bluesky/profile.yaml +0 -27
  1014. package/src/clis/bluesky/search.yaml +0 -34
  1015. package/src/clis/bluesky/starter-packs.yaml +0 -34
  1016. package/src/clis/bluesky/thread.yaml +0 -32
  1017. package/src/clis/bluesky/trending.yaml +0 -27
  1018. package/src/clis/bluesky/user.yaml +0 -34
  1019. package/src/clis/boss/batchgreet.ts +0 -75
  1020. package/src/clis/boss/chatlist.ts +0 -36
  1021. package/src/clis/boss/chatmsg.ts +0 -46
  1022. package/src/clis/boss/detail.ts +0 -69
  1023. package/src/clis/boss/exchange.ts +0 -52
  1024. package/src/clis/boss/greet.ts +0 -61
  1025. package/src/clis/boss/invite.ts +0 -80
  1026. package/src/clis/boss/joblist.ts +0 -34
  1027. package/src/clis/boss/mark.ts +0 -75
  1028. package/src/clis/boss/recommend.ts +0 -49
  1029. package/src/clis/boss/resume.ts +0 -157
  1030. package/src/clis/boss/search.ts +0 -162
  1031. package/src/clis/boss/send.ts +0 -54
  1032. package/src/clis/boss/stats.ts +0 -75
  1033. package/src/clis/boss/utils.ts +0 -287
  1034. package/src/clis/chaoxing/assignments.ts +0 -89
  1035. package/src/clis/chaoxing/exams.ts +0 -88
  1036. package/src/clis/chaoxing/utils.test.ts +0 -53
  1037. package/src/clis/chaoxing/utils.ts +0 -266
  1038. package/src/clis/chatgpt/ask.ts +0 -95
  1039. package/src/clis/chatgpt/ax.ts +0 -260
  1040. package/src/clis/chatgpt/model.ts +0 -27
  1041. package/src/clis/chatgpt/new.ts +0 -29
  1042. package/src/clis/chatgpt/read.ts +0 -35
  1043. package/src/clis/chatgpt/send.ts +0 -59
  1044. package/src/clis/chatgpt/status.ts +0 -27
  1045. package/src/clis/chatwise/ask.ts +0 -90
  1046. package/src/clis/chatwise/export.ts +0 -51
  1047. package/src/clis/chatwise/history.ts +0 -61
  1048. package/src/clis/chatwise/model.ts +0 -89
  1049. package/src/clis/chatwise/new.ts +0 -3
  1050. package/src/clis/chatwise/read.ts +0 -42
  1051. package/src/clis/chatwise/screenshot.ts +0 -3
  1052. package/src/clis/chatwise/send.ts +0 -53
  1053. package/src/clis/chatwise/status.ts +0 -3
  1054. package/src/clis/codex/ask.ts +0 -80
  1055. package/src/clis/codex/dump.ts +0 -3
  1056. package/src/clis/codex/export.ts +0 -42
  1057. package/src/clis/codex/extract-diff.ts +0 -48
  1058. package/src/clis/codex/history.ts +0 -47
  1059. package/src/clis/codex/model.ts +0 -59
  1060. package/src/clis/codex/new.ts +0 -3
  1061. package/src/clis/codex/read.ts +0 -37
  1062. package/src/clis/codex/screenshot.ts +0 -3
  1063. package/src/clis/codex/send.ts +0 -48
  1064. package/src/clis/codex/status.ts +0 -3
  1065. package/src/clis/coupang/add-to-cart.ts +0 -148
  1066. package/src/clis/coupang/search.ts +0 -464
  1067. package/src/clis/coupang/utils.test.ts +0 -78
  1068. package/src/clis/coupang/utils.ts +0 -302
  1069. package/src/clis/ctrip/search.test.ts +0 -73
  1070. package/src/clis/ctrip/search.ts +0 -111
  1071. package/src/clis/cursor/ask.ts +0 -82
  1072. package/src/clis/cursor/composer.ts +0 -51
  1073. package/src/clis/cursor/dump.ts +0 -3
  1074. package/src/clis/cursor/export.ts +0 -57
  1075. package/src/clis/cursor/extract-code.ts +0 -39
  1076. package/src/clis/cursor/history.ts +0 -47
  1077. package/src/clis/cursor/model.ts +0 -57
  1078. package/src/clis/cursor/new.ts +0 -3
  1079. package/src/clis/cursor/read.ts +0 -48
  1080. package/src/clis/cursor/screenshot.ts +0 -3
  1081. package/src/clis/cursor/send.ts +0 -48
  1082. package/src/clis/cursor/status.ts +0 -3
  1083. package/src/clis/devto/tag.yaml +0 -34
  1084. package/src/clis/devto/top.yaml +0 -29
  1085. package/src/clis/devto/user.yaml +0 -33
  1086. package/src/clis/dictionary/examples.yaml +0 -25
  1087. package/src/clis/dictionary/search.yaml +0 -27
  1088. package/src/clis/dictionary/synonyms.yaml +0 -25
  1089. package/src/clis/discord-app/channels.ts +0 -60
  1090. package/src/clis/discord-app/members.ts +0 -41
  1091. package/src/clis/discord-app/read.ts +0 -49
  1092. package/src/clis/discord-app/search.ts +0 -64
  1093. package/src/clis/discord-app/send.ts +0 -32
  1094. package/src/clis/discord-app/servers.ts +0 -39
  1095. package/src/clis/discord-app/status.ts +0 -18
  1096. package/src/clis/douban/book-hot.ts +0 -15
  1097. package/src/clis/douban/download.test.ts +0 -196
  1098. package/src/clis/douban/download.ts +0 -78
  1099. package/src/clis/douban/marks.ts +0 -135
  1100. package/src/clis/douban/movie-hot.ts +0 -15
  1101. package/src/clis/douban/photos.ts +0 -36
  1102. package/src/clis/douban/reviews.ts +0 -127
  1103. package/src/clis/douban/search.ts +0 -17
  1104. package/src/clis/douban/subject.yaml +0 -107
  1105. package/src/clis/douban/top250.yaml +0 -70
  1106. package/src/clis/douban/utils.test.ts +0 -97
  1107. package/src/clis/douban/utils.ts +0 -472
  1108. package/src/clis/doubao/ask.ts +0 -40
  1109. package/src/clis/doubao/detail.test.ts +0 -53
  1110. package/src/clis/doubao/detail.ts +0 -41
  1111. package/src/clis/doubao/history.test.ts +0 -45
  1112. package/src/clis/doubao/history.ts +0 -32
  1113. package/src/clis/doubao/meeting-summary.ts +0 -53
  1114. package/src/clis/doubao/meeting-transcript.ts +0 -48
  1115. package/src/clis/doubao/new.ts +0 -22
  1116. package/src/clis/doubao/read.ts +0 -20
  1117. package/src/clis/doubao/send.ts +0 -25
  1118. package/src/clis/doubao/status.ts +0 -27
  1119. package/src/clis/doubao/utils.test.ts +0 -45
  1120. package/src/clis/doubao/utils.ts +0 -1010
  1121. package/src/clis/doubao-app/ask.ts +0 -60
  1122. package/src/clis/doubao-app/dump.ts +0 -28
  1123. package/src/clis/doubao-app/new.ts +0 -21
  1124. package/src/clis/doubao-app/read.ts +0 -21
  1125. package/src/clis/doubao-app/screenshot.ts +0 -19
  1126. package/src/clis/doubao-app/send.ts +0 -30
  1127. package/src/clis/doubao-app/status.ts +0 -17
  1128. package/src/clis/doubao-app/utils.ts +0 -116
  1129. package/src/clis/douyin/_shared/browser-fetch.test.ts +0 -37
  1130. package/src/clis/douyin/_shared/browser-fetch.ts +0 -45
  1131. package/src/clis/douyin/_shared/creation-id.test.ts +0 -26
  1132. package/src/clis/douyin/_shared/creation-id.ts +0 -8
  1133. package/src/clis/douyin/_shared/imagex-upload.test.ts +0 -113
  1134. package/src/clis/douyin/_shared/imagex-upload.ts +0 -76
  1135. package/src/clis/douyin/_shared/public-api.ts +0 -84
  1136. package/src/clis/douyin/_shared/sts2.test.ts +0 -31
  1137. package/src/clis/douyin/_shared/sts2.ts +0 -28
  1138. package/src/clis/douyin/_shared/text-extra.test.ts +0 -42
  1139. package/src/clis/douyin/_shared/text-extra.ts +0 -33
  1140. package/src/clis/douyin/_shared/timing.test.ts +0 -38
  1141. package/src/clis/douyin/_shared/timing.ts +0 -22
  1142. package/src/clis/douyin/_shared/tos-upload-short-read.test.ts +0 -102
  1143. package/src/clis/douyin/_shared/tos-upload.test.ts +0 -281
  1144. package/src/clis/douyin/_shared/tos-upload.ts +0 -444
  1145. package/src/clis/douyin/_shared/transcode.test.ts +0 -115
  1146. package/src/clis/douyin/_shared/transcode.ts +0 -78
  1147. package/src/clis/douyin/_shared/types.ts +0 -29
  1148. package/src/clis/douyin/activities.test.ts +0 -65
  1149. package/src/clis/douyin/activities.ts +0 -32
  1150. package/src/clis/douyin/collections.test.ts +0 -59
  1151. package/src/clis/douyin/collections.ts +0 -25
  1152. package/src/clis/douyin/delete.test.ts +0 -12
  1153. package/src/clis/douyin/delete.ts +0 -20
  1154. package/src/clis/douyin/draft.test.ts +0 -452
  1155. package/src/clis/douyin/draft.ts +0 -446
  1156. package/src/clis/douyin/drafts.test.ts +0 -12
  1157. package/src/clis/douyin/drafts.ts +0 -27
  1158. package/src/clis/douyin/hashtag.test.ts +0 -68
  1159. package/src/clis/douyin/hashtag.ts +0 -64
  1160. package/src/clis/douyin/location.test.ts +0 -26
  1161. package/src/clis/douyin/location.ts +0 -27
  1162. package/src/clis/douyin/profile.test.ts +0 -54
  1163. package/src/clis/douyin/profile.ts +0 -44
  1164. package/src/clis/douyin/publish.test.ts +0 -45
  1165. package/src/clis/douyin/publish.ts +0 -340
  1166. package/src/clis/douyin/stats.test.ts +0 -25
  1167. package/src/clis/douyin/stats.ts +0 -30
  1168. package/src/clis/douyin/update.test.ts +0 -12
  1169. package/src/clis/douyin/update.ts +0 -43
  1170. package/src/clis/douyin/user-videos.test.ts +0 -122
  1171. package/src/clis/douyin/user-videos.ts +0 -101
  1172. package/src/clis/douyin/videos.test.ts +0 -62
  1173. package/src/clis/douyin/videos.ts +0 -83
  1174. package/src/clis/facebook/add-friend.yaml +0 -43
  1175. package/src/clis/facebook/events.yaml +0 -44
  1176. package/src/clis/facebook/feed.yaml +0 -63
  1177. package/src/clis/facebook/friends.yaml +0 -42
  1178. package/src/clis/facebook/groups.yaml +0 -50
  1179. package/src/clis/facebook/join-group.yaml +0 -44
  1180. package/src/clis/facebook/memories.yaml +0 -39
  1181. package/src/clis/facebook/notifications.yaml +0 -40
  1182. package/src/clis/facebook/profile.yaml +0 -37
  1183. package/src/clis/facebook/search.test.ts +0 -68
  1184. package/src/clis/facebook/search.yaml +0 -47
  1185. package/src/clis/gemini/ask.test.ts +0 -116
  1186. package/src/clis/gemini/ask.ts +0 -53
  1187. package/src/clis/gemini/image.ts +0 -115
  1188. package/src/clis/gemini/new.ts +0 -22
  1189. package/src/clis/gemini/reply-state.test.ts +0 -708
  1190. package/src/clis/gemini/utils.test.ts +0 -218
  1191. package/src/clis/gemini/utils.ts +0 -1051
  1192. package/src/clis/google/news.ts +0 -66
  1193. package/src/clis/google/search.ts +0 -133
  1194. package/src/clis/google/suggest.ts +0 -40
  1195. package/src/clis/google/trends.ts +0 -44
  1196. package/src/clis/google/utils.test.ts +0 -82
  1197. package/src/clis/google/utils.ts +0 -24
  1198. package/src/clis/grok/ask.test.ts +0 -78
  1199. package/src/clis/grok/ask.ts +0 -334
  1200. package/src/clis/hackernews/ask.yaml +0 -38
  1201. package/src/clis/hackernews/best.yaml +0 -38
  1202. package/src/clis/hackernews/jobs.yaml +0 -36
  1203. package/src/clis/hackernews/new.yaml +0 -38
  1204. package/src/clis/hackernews/search.yaml +0 -44
  1205. package/src/clis/hackernews/show.yaml +0 -38
  1206. package/src/clis/hackernews/top.yaml +0 -38
  1207. package/src/clis/hackernews/user.yaml +0 -25
  1208. package/src/clis/hf/top.ts +0 -141
  1209. package/src/clis/hupu/detail.ts +0 -126
  1210. package/src/clis/hupu/hot.yaml +0 -43
  1211. package/src/clis/hupu/like.ts +0 -76
  1212. package/src/clis/hupu/reply.ts +0 -76
  1213. package/src/clis/hupu/search.ts +0 -95
  1214. package/src/clis/hupu/unlike.ts +0 -76
  1215. package/src/clis/hupu/utils.ts +0 -381
  1216. package/src/clis/imdb/person.ts +0 -232
  1217. package/src/clis/imdb/reviews.ts +0 -111
  1218. package/src/clis/imdb/search.ts +0 -179
  1219. package/src/clis/imdb/title.ts +0 -121
  1220. package/src/clis/imdb/top.ts +0 -67
  1221. package/src/clis/imdb/trending.ts +0 -66
  1222. package/src/clis/imdb/utils.test.ts +0 -117
  1223. package/src/clis/imdb/utils.ts +0 -305
  1224. package/src/clis/instagram/_shared/private-publish.test.ts +0 -827
  1225. package/src/clis/instagram/_shared/private-publish.ts +0 -1303
  1226. package/src/clis/instagram/_shared/protocol-capture.test.ts +0 -148
  1227. package/src/clis/instagram/_shared/protocol-capture.ts +0 -321
  1228. package/src/clis/instagram/_shared/runtime-info.ts +0 -91
  1229. package/src/clis/instagram/comment.yaml +0 -52
  1230. package/src/clis/instagram/download.test.ts +0 -159
  1231. package/src/clis/instagram/download.ts +0 -286
  1232. package/src/clis/instagram/explore.yaml +0 -43
  1233. package/src/clis/instagram/follow.yaml +0 -41
  1234. package/src/clis/instagram/followers.yaml +0 -51
  1235. package/src/clis/instagram/following.yaml +0 -51
  1236. package/src/clis/instagram/like.yaml +0 -46
  1237. package/src/clis/instagram/note.test.ts +0 -96
  1238. package/src/clis/instagram/note.ts +0 -254
  1239. package/src/clis/instagram/post.test.ts +0 -1716
  1240. package/src/clis/instagram/post.ts +0 -1620
  1241. package/src/clis/instagram/profile.yaml +0 -42
  1242. package/src/clis/instagram/reel.test.ts +0 -191
  1243. package/src/clis/instagram/reel.ts +0 -886
  1244. package/src/clis/instagram/save.yaml +0 -46
  1245. package/src/clis/instagram/saved.yaml +0 -40
  1246. package/src/clis/instagram/search.yaml +0 -44
  1247. package/src/clis/instagram/story.test.ts +0 -191
  1248. package/src/clis/instagram/story.ts +0 -151
  1249. package/src/clis/instagram/unfollow.yaml +0 -38
  1250. package/src/clis/instagram/unlike.yaml +0 -46
  1251. package/src/clis/instagram/unsave.yaml +0 -46
  1252. package/src/clis/instagram/user.yaml +0 -54
  1253. package/src/clis/jd/item.test.ts +0 -52
  1254. package/src/clis/jd/item.ts +0 -104
  1255. package/src/clis/jike/comment.ts +0 -112
  1256. package/src/clis/jike/create.ts +0 -112
  1257. package/src/clis/jike/feed.ts +0 -73
  1258. package/src/clis/jike/like.ts +0 -64
  1259. package/src/clis/jike/notifications.ts +0 -184
  1260. package/src/clis/jike/post.yaml +0 -59
  1261. package/src/clis/jike/repost.ts +0 -113
  1262. package/src/clis/jike/search.ts +0 -73
  1263. package/src/clis/jike/topic.yaml +0 -53
  1264. package/src/clis/jike/user.yaml +0 -52
  1265. package/src/clis/jike/utils.ts +0 -36
  1266. package/src/clis/jimeng/generate.yaml +0 -85
  1267. package/src/clis/jimeng/history.yaml +0 -46
  1268. package/src/clis/linkedin/search.ts +0 -417
  1269. package/src/clis/linkedin/timeline.test.ts +0 -99
  1270. package/src/clis/linkedin/timeline.ts +0 -532
  1271. package/src/clis/linux-do/categories.yaml +0 -70
  1272. package/src/clis/linux-do/category.ts +0 -37
  1273. package/src/clis/linux-do/feed.test.ts +0 -132
  1274. package/src/clis/linux-do/feed.ts +0 -501
  1275. package/src/clis/linux-do/hot.ts +0 -26
  1276. package/src/clis/linux-do/latest.ts +0 -19
  1277. package/src/clis/linux-do/search.yaml +0 -48
  1278. package/src/clis/linux-do/tags.yaml +0 -41
  1279. package/src/clis/linux-do/topic.yaml +0 -77
  1280. package/src/clis/linux-do/user-posts.yaml +0 -67
  1281. package/src/clis/linux-do/user-topics.yaml +0 -54
  1282. package/src/clis/lobsters/active.yaml +0 -29
  1283. package/src/clis/lobsters/hot.yaml +0 -29
  1284. package/src/clis/lobsters/newest.yaml +0 -29
  1285. package/src/clis/lobsters/tag.yaml +0 -34
  1286. package/src/clis/medium/feed.ts +0 -16
  1287. package/src/clis/medium/search.ts +0 -16
  1288. package/src/clis/medium/user.ts +0 -16
  1289. package/src/clis/medium/utils.ts +0 -84
  1290. package/src/clis/notebooklm/compat.test.ts +0 -19
  1291. package/src/clis/notebooklm/current.ts +0 -37
  1292. package/src/clis/notebooklm/get.ts +0 -51
  1293. package/src/clis/notebooklm/history.test.ts +0 -70
  1294. package/src/clis/notebooklm/history.ts +0 -34
  1295. package/src/clis/notebooklm/list.ts +0 -40
  1296. package/src/clis/notebooklm/note-list.test.ts +0 -64
  1297. package/src/clis/notebooklm/note-list.ts +0 -40
  1298. package/src/clis/notebooklm/notes-get.test.ts +0 -88
  1299. package/src/clis/notebooklm/notes-get.ts +0 -65
  1300. package/src/clis/notebooklm/open.test.ts +0 -78
  1301. package/src/clis/notebooklm/open.ts +0 -61
  1302. package/src/clis/notebooklm/rpc.test.ts +0 -126
  1303. package/src/clis/notebooklm/rpc.ts +0 -286
  1304. package/src/clis/notebooklm/shared.ts +0 -98
  1305. package/src/clis/notebooklm/source-fulltext.test.ts +0 -123
  1306. package/src/clis/notebooklm/source-fulltext.ts +0 -67
  1307. package/src/clis/notebooklm/source-get.test.ts +0 -100
  1308. package/src/clis/notebooklm/source-get.ts +0 -58
  1309. package/src/clis/notebooklm/source-guide.test.ts +0 -121
  1310. package/src/clis/notebooklm/source-guide.ts +0 -67
  1311. package/src/clis/notebooklm/source-list.ts +0 -43
  1312. package/src/clis/notebooklm/status.ts +0 -33
  1313. package/src/clis/notebooklm/summary.test.ts +0 -94
  1314. package/src/clis/notebooklm/summary.ts +0 -43
  1315. package/src/clis/notebooklm/utils.test.ts +0 -446
  1316. package/src/clis/notebooklm/utils.ts +0 -902
  1317. package/src/clis/notion/export.ts +0 -36
  1318. package/src/clis/notion/favorites.ts +0 -87
  1319. package/src/clis/notion/new.ts +0 -39
  1320. package/src/clis/notion/read.ts +0 -33
  1321. package/src/clis/notion/search.ts +0 -54
  1322. package/src/clis/notion/sidebar.ts +0 -44
  1323. package/src/clis/notion/status.ts +0 -18
  1324. package/src/clis/notion/write.ts +0 -45
  1325. package/src/clis/ones/common.ts +0 -187
  1326. package/src/clis/ones/enrich-tasks.ts +0 -47
  1327. package/src/clis/ones/login.ts +0 -103
  1328. package/src/clis/ones/logout.ts +0 -19
  1329. package/src/clis/ones/me.ts +0 -34
  1330. package/src/clis/ones/my-tasks.ts +0 -148
  1331. package/src/clis/ones/resolve-labels.ts +0 -80
  1332. package/src/clis/ones/task-helpers.test.ts +0 -14
  1333. package/src/clis/ones/task-helpers.ts +0 -214
  1334. package/src/clis/ones/task.ts +0 -79
  1335. package/src/clis/ones/tasks.ts +0 -92
  1336. package/src/clis/ones/token-info.ts +0 -46
  1337. package/src/clis/ones/worklog.test.ts +0 -24
  1338. package/src/clis/ones/worklog.ts +0 -306
  1339. package/src/clis/paperreview/commands.test.ts +0 -283
  1340. package/src/clis/paperreview/feedback.ts +0 -64
  1341. package/src/clis/paperreview/review.ts +0 -47
  1342. package/src/clis/paperreview/submit.ts +0 -119
  1343. package/src/clis/paperreview/utils.test.ts +0 -68
  1344. package/src/clis/paperreview/utils.ts +0 -276
  1345. package/src/clis/pixiv/detail.yaml +0 -49
  1346. package/src/clis/pixiv/download.test.ts +0 -114
  1347. package/src/clis/pixiv/download.ts +0 -91
  1348. package/src/clis/pixiv/illusts.test.ts +0 -115
  1349. package/src/clis/pixiv/illusts.ts +0 -78
  1350. package/src/clis/pixiv/ranking.yaml +0 -53
  1351. package/src/clis/pixiv/search.test.ts +0 -97
  1352. package/src/clis/pixiv/search.ts +0 -53
  1353. package/src/clis/pixiv/test-utils.ts +0 -29
  1354. package/src/clis/pixiv/user.yaml +0 -46
  1355. package/src/clis/pixiv/utils.ts +0 -62
  1356. package/src/clis/producthunt/browse.ts +0 -109
  1357. package/src/clis/producthunt/hot.ts +0 -127
  1358. package/src/clis/producthunt/posts.ts +0 -29
  1359. package/src/clis/producthunt/today.ts +0 -37
  1360. package/src/clis/producthunt/utils.test.ts +0 -72
  1361. package/src/clis/producthunt/utils.ts +0 -122
  1362. package/src/clis/reddit/comment.ts +0 -60
  1363. package/src/clis/reddit/frontpage.yaml +0 -30
  1364. package/src/clis/reddit/hot.yaml +0 -47
  1365. package/src/clis/reddit/popular.yaml +0 -40
  1366. package/src/clis/reddit/read.test.ts +0 -34
  1367. package/src/clis/reddit/read.ts +0 -186
  1368. package/src/clis/reddit/save.ts +0 -54
  1369. package/src/clis/reddit/saved.ts +0 -51
  1370. package/src/clis/reddit/search.yaml +0 -61
  1371. package/src/clis/reddit/subreddit.yaml +0 -50
  1372. package/src/clis/reddit/subscribe.ts +0 -53
  1373. package/src/clis/reddit/upvote.ts +0 -67
  1374. package/src/clis/reddit/upvoted.ts +0 -51
  1375. package/src/clis/reddit/user-comments.yaml +0 -46
  1376. package/src/clis/reddit/user-posts.yaml +0 -44
  1377. package/src/clis/reddit/user.yaml +0 -40
  1378. package/src/clis/reuters/search.ts +0 -51
  1379. package/src/clis/sinablog/article.ts +0 -15
  1380. package/src/clis/sinablog/hot.ts +0 -15
  1381. package/src/clis/sinablog/search.ts +0 -56
  1382. package/src/clis/sinablog/user.ts +0 -16
  1383. package/src/clis/sinablog/utils.ts +0 -197
  1384. package/src/clis/sinafinance/news.ts +0 -76
  1385. package/src/clis/sinafinance/rolling-news.ts +0 -42
  1386. package/src/clis/sinafinance/stock-rank.ts +0 -68
  1387. package/src/clis/sinafinance/stock.ts +0 -127
  1388. package/src/clis/smzdm/search.ts +0 -56
  1389. package/src/clis/spotify/spotify.ts +0 -328
  1390. package/src/clis/spotify/utils.test.ts +0 -87
  1391. package/src/clis/spotify/utils.ts +0 -92
  1392. package/src/clis/stackoverflow/bounties.yaml +0 -29
  1393. package/src/clis/stackoverflow/hot.yaml +0 -28
  1394. package/src/clis/stackoverflow/search.yaml +0 -33
  1395. package/src/clis/stackoverflow/unanswered.yaml +0 -28
  1396. package/src/clis/steam/top-sellers.yaml +0 -29
  1397. package/src/clis/substack/feed.ts +0 -16
  1398. package/src/clis/substack/publication.ts +0 -16
  1399. package/src/clis/substack/search.ts +0 -92
  1400. package/src/clis/substack/utils.test.ts +0 -52
  1401. package/src/clis/substack/utils.ts +0 -141
  1402. package/src/clis/tieba/commands.test.ts +0 -86
  1403. package/src/clis/tieba/hot.ts +0 -52
  1404. package/src/clis/tieba/posts.ts +0 -108
  1405. package/src/clis/tieba/read.ts +0 -158
  1406. package/src/clis/tieba/search.ts +0 -119
  1407. package/src/clis/tieba/utils.test.ts +0 -322
  1408. package/src/clis/tieba/utils.ts +0 -348
  1409. package/src/clis/tiktok/comment.yaml +0 -66
  1410. package/src/clis/tiktok/explore.yaml +0 -39
  1411. package/src/clis/tiktok/follow.yaml +0 -39
  1412. package/src/clis/tiktok/following.yaml +0 -46
  1413. package/src/clis/tiktok/friends.yaml +0 -47
  1414. package/src/clis/tiktok/like.yaml +0 -38
  1415. package/src/clis/tiktok/live.yaml +0 -51
  1416. package/src/clis/tiktok/notifications.yaml +0 -52
  1417. package/src/clis/tiktok/profile.yaml +0 -45
  1418. package/src/clis/tiktok/save.yaml +0 -34
  1419. package/src/clis/tiktok/search.yaml +0 -47
  1420. package/src/clis/tiktok/unfollow.yaml +0 -44
  1421. package/src/clis/tiktok/unlike.yaml +0 -38
  1422. package/src/clis/tiktok/unsave.yaml +0 -36
  1423. package/src/clis/tiktok/user.yaml +0 -44
  1424. package/src/clis/twitter/accept.ts +0 -214
  1425. package/src/clis/twitter/article.ts +0 -170
  1426. package/src/clis/twitter/block.ts +0 -93
  1427. package/src/clis/twitter/bookmark.ts +0 -68
  1428. package/src/clis/twitter/bookmarks.ts +0 -202
  1429. package/src/clis/twitter/delete.ts +0 -78
  1430. package/src/clis/twitter/download.ts +0 -118
  1431. package/src/clis/twitter/follow.ts +0 -70
  1432. package/src/clis/twitter/followers.ts +0 -116
  1433. package/src/clis/twitter/following.ts +0 -109
  1434. package/src/clis/twitter/hide-reply.ts +0 -71
  1435. package/src/clis/twitter/like.ts +0 -74
  1436. package/src/clis/twitter/likes.test.ts +0 -91
  1437. package/src/clis/twitter/likes.ts +0 -256
  1438. package/src/clis/twitter/notifications.ts +0 -136
  1439. package/src/clis/twitter/post.test.ts +0 -157
  1440. package/src/clis/twitter/post.ts +0 -110
  1441. package/src/clis/twitter/profile.ts +0 -108
  1442. package/src/clis/twitter/reply-dm.ts +0 -194
  1443. package/src/clis/twitter/reply.test.ts +0 -177
  1444. package/src/clis/twitter/reply.ts +0 -309
  1445. package/src/clis/twitter/search.test.ts +0 -265
  1446. package/src/clis/twitter/search.ts +0 -185
  1447. package/src/clis/twitter/shared.ts +0 -45
  1448. package/src/clis/twitter/thread.ts +0 -182
  1449. package/src/clis/twitter/timeline.test.ts +0 -109
  1450. package/src/clis/twitter/timeline.ts +0 -248
  1451. package/src/clis/twitter/trending.ts +0 -66
  1452. package/src/clis/twitter/unblock.ts +0 -76
  1453. package/src/clis/twitter/unbookmark.ts +0 -67
  1454. package/src/clis/twitter/unfollow.ts +0 -76
  1455. package/src/clis/v2ex/daily.ts +0 -106
  1456. package/src/clis/v2ex/hot.yaml +0 -28
  1457. package/src/clis/v2ex/latest.yaml +0 -28
  1458. package/src/clis/v2ex/me.ts +0 -104
  1459. package/src/clis/v2ex/member.yaml +0 -29
  1460. package/src/clis/v2ex/node.yaml +0 -34
  1461. package/src/clis/v2ex/nodes.yaml +0 -31
  1462. package/src/clis/v2ex/notifications.ts +0 -76
  1463. package/src/clis/v2ex/replies.yaml +0 -32
  1464. package/src/clis/v2ex/topic.yaml +0 -33
  1465. package/src/clis/v2ex/user.yaml +0 -34
  1466. package/src/clis/web/read.ts +0 -210
  1467. package/src/clis/weibo/comments.ts +0 -54
  1468. package/src/clis/weibo/feed.ts +0 -57
  1469. package/src/clis/weibo/hot.ts +0 -39
  1470. package/src/clis/weibo/me.ts +0 -77
  1471. package/src/clis/weibo/post.ts +0 -77
  1472. package/src/clis/weibo/search.ts +0 -78
  1473. package/src/clis/weibo/user.ts +0 -64
  1474. package/src/clis/weibo/utils.ts +0 -32
  1475. package/src/clis/weixin/download.ts +0 -382
  1476. package/src/clis/weread/book.ts +0 -271
  1477. package/src/clis/weread/commands.test.ts +0 -466
  1478. package/src/clis/weread/highlights.ts +0 -25
  1479. package/src/clis/weread/notebooks.ts +0 -23
  1480. package/src/clis/weread/notes.ts +0 -31
  1481. package/src/clis/weread/private-api-regression.test.ts +0 -435
  1482. package/src/clis/weread/ranking.ts +0 -29
  1483. package/src/clis/weread/search-regression.test.ts +0 -440
  1484. package/src/clis/weread/search.ts +0 -207
  1485. package/src/clis/weread/shelf.ts +0 -84
  1486. package/src/clis/weread/utils.test.ts +0 -153
  1487. package/src/clis/weread/utils.ts +0 -390
  1488. package/src/clis/wikipedia/random.ts +0 -19
  1489. package/src/clis/wikipedia/search.ts +0 -38
  1490. package/src/clis/wikipedia/summary.ts +0 -23
  1491. package/src/clis/wikipedia/trending.ts +0 -41
  1492. package/src/clis/wikipedia/utils.ts +0 -51
  1493. package/src/clis/xianyu/chat.test.ts +0 -20
  1494. package/src/clis/xianyu/chat.ts +0 -175
  1495. package/src/clis/xianyu/item.test.ts +0 -67
  1496. package/src/clis/xianyu/item.ts +0 -172
  1497. package/src/clis/xianyu/search.test.ts +0 -22
  1498. package/src/clis/xianyu/search.ts +0 -151
  1499. package/src/clis/xianyu/utils.ts +0 -9
  1500. package/src/clis/xiaoe/catalog.yaml +0 -129
  1501. package/src/clis/xiaoe/content.yaml +0 -43
  1502. package/src/clis/xiaoe/courses.yaml +0 -73
  1503. package/src/clis/xiaoe/detail.yaml +0 -39
  1504. package/src/clis/xiaoe/play-url.yaml +0 -124
  1505. package/src/clis/xiaohongshu/comments.test.ts +0 -171
  1506. package/src/clis/xiaohongshu/comments.ts +0 -140
  1507. package/src/clis/xiaohongshu/creator-note-detail.test.ts +0 -273
  1508. package/src/clis/xiaohongshu/creator-note-detail.ts +0 -447
  1509. package/src/clis/xiaohongshu/creator-notes-summary.test.ts +0 -54
  1510. package/src/clis/xiaohongshu/creator-notes-summary.ts +0 -120
  1511. package/src/clis/xiaohongshu/creator-notes.test.ts +0 -212
  1512. package/src/clis/xiaohongshu/creator-notes.ts +0 -295
  1513. package/src/clis/xiaohongshu/creator-profile.ts +0 -59
  1514. package/src/clis/xiaohongshu/creator-stats.ts +0 -80
  1515. package/src/clis/xiaohongshu/download.test.ts +0 -94
  1516. package/src/clis/xiaohongshu/download.ts +0 -174
  1517. package/src/clis/xiaohongshu/feed.yaml +0 -31
  1518. package/src/clis/xiaohongshu/note-helpers.ts +0 -25
  1519. package/src/clis/xiaohongshu/note.test.ts +0 -213
  1520. package/src/clis/xiaohongshu/note.ts +0 -104
  1521. package/src/clis/xiaohongshu/notifications.yaml +0 -37
  1522. package/src/clis/xiaohongshu/publish.test.ts +0 -228
  1523. package/src/clis/xiaohongshu/publish.ts +0 -598
  1524. package/src/clis/xiaohongshu/search.test.ts +0 -191
  1525. package/src/clis/xiaohongshu/search.ts +0 -143
  1526. package/src/clis/xiaohongshu/user-helpers.test.ts +0 -129
  1527. package/src/clis/xiaohongshu/user-helpers.ts +0 -89
  1528. package/src/clis/xiaohongshu/user.ts +0 -64
  1529. package/src/clis/xiaoyuzhou/episode.ts +0 -28
  1530. package/src/clis/xiaoyuzhou/podcast-episodes.ts +0 -36
  1531. package/src/clis/xiaoyuzhou/podcast.ts +0 -27
  1532. package/src/clis/xiaoyuzhou/utils.test.ts +0 -122
  1533. package/src/clis/xiaoyuzhou/utils.ts +0 -65
  1534. package/src/clis/xueqiu/comments.test.ts +0 -823
  1535. package/src/clis/xueqiu/comments.ts +0 -461
  1536. package/src/clis/xueqiu/danjuan-utils.test.ts +0 -49
  1537. package/src/clis/xueqiu/danjuan-utils.ts +0 -176
  1538. package/src/clis/xueqiu/earnings-date.yaml +0 -69
  1539. package/src/clis/xueqiu/feed.yaml +0 -53
  1540. package/src/clis/xueqiu/fund-holdings.ts +0 -32
  1541. package/src/clis/xueqiu/fund-snapshot.ts +0 -27
  1542. package/src/clis/xueqiu/hot-stock.yaml +0 -49
  1543. package/src/clis/xueqiu/hot.yaml +0 -46
  1544. package/src/clis/xueqiu/search.yaml +0 -55
  1545. package/src/clis/xueqiu/stock.yaml +0 -69
  1546. package/src/clis/xueqiu/watchlist.yaml +0 -46
  1547. package/src/clis/yahoo-finance/quote.ts +0 -72
  1548. package/src/clis/yollomi/background.ts +0 -48
  1549. package/src/clis/yollomi/edit.ts +0 -58
  1550. package/src/clis/yollomi/face-swap.ts +0 -45
  1551. package/src/clis/yollomi/generate.ts +0 -95
  1552. package/src/clis/yollomi/models.ts +0 -38
  1553. package/src/clis/yollomi/object-remover.ts +0 -44
  1554. package/src/clis/yollomi/remove-bg.ts +0 -40
  1555. package/src/clis/yollomi/restore.ts +0 -40
  1556. package/src/clis/yollomi/try-on.ts +0 -48
  1557. package/src/clis/yollomi/upload.ts +0 -78
  1558. package/src/clis/yollomi/upscale.ts +0 -49
  1559. package/src/clis/yollomi/utils.ts +0 -202
  1560. package/src/clis/yollomi/video.ts +0 -61
  1561. package/src/clis/youtube/channel.ts +0 -155
  1562. package/src/clis/youtube/comments.ts +0 -97
  1563. package/src/clis/youtube/search.ts +0 -99
  1564. package/src/clis/youtube/transcript-group.test.ts +0 -108
  1565. package/src/clis/youtube/transcript-group.ts +0 -287
  1566. package/src/clis/youtube/transcript.ts +0 -279
  1567. package/src/clis/youtube/utils.test.ts +0 -43
  1568. package/src/clis/youtube/utils.ts +0 -97
  1569. package/src/clis/youtube/video.ts +0 -118
  1570. package/src/clis/yuanbao/ask.test.ts +0 -156
  1571. package/src/clis/yuanbao/ask.ts +0 -522
  1572. package/src/clis/yuanbao/new.test.ts +0 -36
  1573. package/src/clis/yuanbao/new.ts +0 -81
  1574. package/src/clis/yuanbao/shared.ts +0 -57
  1575. package/src/clis/zhihu/download.test.ts +0 -14
  1576. package/src/clis/zhihu/download.ts +0 -87
  1577. package/src/clis/zhihu/hot.yaml +0 -46
  1578. package/src/clis/zhihu/question.test.ts +0 -96
  1579. package/src/clis/zhihu/question.ts +0 -63
  1580. package/src/clis/zhihu/search.yaml +0 -59
  1581. package/src/clis/zsxq/dynamics.ts +0 -60
  1582. package/src/clis/zsxq/groups.ts +0 -41
  1583. package/src/clis/zsxq/search.test.ts +0 -29
  1584. package/src/clis/zsxq/search.ts +0 -54
  1585. package/src/clis/zsxq/topic.test.ts +0 -34
  1586. package/src/clis/zsxq/topic.ts +0 -68
  1587. package/src/clis/zsxq/topics.test.ts +0 -29
  1588. package/src/clis/zsxq/topics.ts +0 -36
  1589. package/src/clis/zsxq/utils.ts +0 -351
  1590. package/src/commanderAdapter.test.ts +0 -315
  1591. package/src/commanderAdapter.ts +0 -319
  1592. package/src/commands/daemon.test.ts +0 -204
  1593. package/src/commands/daemon.ts +0 -87
  1594. package/src/completion.test.ts +0 -30
  1595. package/src/completion.ts +0 -132
  1596. package/src/constants.ts +0 -41
  1597. package/src/daemon.test.ts +0 -88
  1598. package/src/daemon.ts +0 -339
  1599. package/src/discovery.ts +0 -328
  1600. package/src/doctor.test.ts +0 -111
  1601. package/src/doctor.ts +0 -163
  1602. package/src/download/article-download.ts +0 -272
  1603. package/src/download/index.test.ts +0 -135
  1604. package/src/download/index.ts +0 -422
  1605. package/src/download/media-download.ts +0 -180
  1606. package/src/download/progress.ts +0 -125
  1607. package/src/electron-apps.test.ts +0 -50
  1608. package/src/electron-apps.ts +0 -97
  1609. package/src/engine.test.ts +0 -323
  1610. package/src/errors.test.ts +0 -79
  1611. package/src/errors.ts +0 -162
  1612. package/src/execution.test.ts +0 -47
  1613. package/src/execution.ts +0 -235
  1614. package/src/explore.ts +0 -502
  1615. package/src/extension-manifest-regression.test.ts +0 -18
  1616. package/src/external-clis.yaml +0 -56
  1617. package/src/external.test.ts +0 -97
  1618. package/src/external.ts +0 -246
  1619. package/src/generate.ts +0 -161
  1620. package/src/hooks.test.ts +0 -126
  1621. package/src/hooks.ts +0 -91
  1622. package/src/idle-manager.ts +0 -60
  1623. package/src/interceptor.test.ts +0 -94
  1624. package/src/interceptor.ts +0 -204
  1625. package/src/launcher.test.ts +0 -181
  1626. package/src/launcher.ts +0 -263
  1627. package/src/logger.ts +0 -57
  1628. package/src/main.ts +0 -66
  1629. package/src/node-network.test.ts +0 -93
  1630. package/src/node-network.ts +0 -213
  1631. package/src/output.test.ts +0 -69
  1632. package/src/output.ts +0 -145
  1633. package/src/pipeline/executor.test.ts +0 -191
  1634. package/src/pipeline/executor.ts +0 -110
  1635. package/src/pipeline/registry.ts +0 -62
  1636. package/src/pipeline/steps/browser.ts +0 -76
  1637. package/src/pipeline/steps/download.test.ts +0 -135
  1638. package/src/pipeline/steps/download.ts +0 -320
  1639. package/src/pipeline/steps/fetch.test.ts +0 -179
  1640. package/src/pipeline/steps/fetch.ts +0 -160
  1641. package/src/pipeline/steps/intercept.ts +0 -55
  1642. package/src/pipeline/steps/tap.ts +0 -100
  1643. package/src/pipeline/steps/transform.ts +0 -71
  1644. package/src/pipeline/template.test.ts +0 -177
  1645. package/src/pipeline/template.ts +0 -269
  1646. package/src/pipeline/transform.test.ts +0 -140
  1647. package/src/plugin-manifest.test.ts +0 -223
  1648. package/src/plugin-manifest.ts +0 -206
  1649. package/src/plugin-scaffold.test.ts +0 -98
  1650. package/src/plugin-scaffold.ts +0 -170
  1651. package/src/plugin.test.ts +0 -1427
  1652. package/src/plugin.ts +0 -1537
  1653. package/src/record.test.ts +0 -362
  1654. package/src/record.ts +0 -824
  1655. package/src/registry-api.ts +0 -14
  1656. package/src/registry.test.ts +0 -133
  1657. package/src/registry.ts +0 -160
  1658. package/src/runtime-detect.test.ts +0 -30
  1659. package/src/runtime-detect.ts +0 -36
  1660. package/src/runtime.ts +0 -86
  1661. package/src/scripts/framework.ts +0 -20
  1662. package/src/scripts/interact.ts +0 -22
  1663. package/src/scripts/store.ts +0 -40
  1664. package/src/serialization.test.ts +0 -44
  1665. package/src/serialization.ts +0 -92
  1666. package/src/snapshotFormatter.test.ts +0 -579
  1667. package/src/snapshotFormatter.ts +0 -359
  1668. package/src/synthesize.ts +0 -296
  1669. package/src/tui.test.ts +0 -23
  1670. package/src/tui.ts +0 -237
  1671. package/src/types.ts +0 -95
  1672. package/src/update-check.ts +0 -114
  1673. package/src/utils.ts +0 -44
  1674. package/src/validate.ts +0 -103
  1675. package/src/verify.ts +0 -93
  1676. package/src/version.ts +0 -18
  1677. package/src/weixin-download.test.ts +0 -91
  1678. package/src/yaml-schema.ts +0 -48
  1679. package/tests/e2e/band-auth.test.ts +0 -20
  1680. package/tests/e2e/browser-auth-helpers.ts +0 -18
  1681. package/tests/e2e/browser-auth.test.ts +0 -150
  1682. package/tests/e2e/browser-public-extended.test.ts +0 -166
  1683. package/tests/e2e/browser-public.test.ts +0 -417
  1684. package/tests/e2e/helpers.ts +0 -64
  1685. package/tests/e2e/management.test.ts +0 -106
  1686. package/tests/e2e/output-formats.test.ts +0 -44
  1687. package/tests/e2e/plugin-management.test.ts +0 -140
  1688. package/tests/e2e/public-commands.test.ts +0 -569
  1689. package/tests/smoke/api-health.test.ts +0 -131
  1690. package/tsconfig.json +0 -17
  1691. package/vitest.config.ts +0 -50
  1692. /package/dist/{browser.test.d.ts → clis/gemini/deep-research-result.test.d.ts} +0 -0
  1693. /package/dist/{browser/cdp.test.d.ts → clis/gemini/deep-research.test.d.ts} +0 -0
  1694. /package/dist/{browser/daemon-client.test.d.ts → clis/hupu/mentions.d.ts} +0 -0
  1695. /package/dist/{browser/dom-helpers.test.d.ts → clis/lesswrong/comments.d.ts} +0 -0
  1696. /package/dist/{browser/page.test.d.ts → clis/lesswrong/curated.d.ts} +0 -0
  1697. /package/dist/{browser/stealth.test.d.ts → clis/lesswrong/frontpage.d.ts} +0 -0
  1698. /package/dist/{build-manifest.test.d.ts → clis/lesswrong/new.d.ts} +0 -0
  1699. /package/dist/{capabilityRouting.test.d.ts → clis/lesswrong/read.d.ts} +0 -0
  1700. /package/dist/{cli.test.d.ts → clis/lesswrong/sequences.d.ts} +0 -0
  1701. /package/dist/{commanderAdapter.test.d.ts → clis/lesswrong/shortform.d.ts} +0 -0
  1702. /package/dist/{commands/daemon.test.d.ts → clis/lesswrong/tag.d.ts} +0 -0
  1703. /package/dist/{completion.test.d.ts → clis/lesswrong/tags.d.ts} +0 -0
  1704. /package/dist/{daemon.test.d.ts → clis/lesswrong/top-month.d.ts} +0 -0
  1705. /package/dist/{doctor.test.d.ts → clis/lesswrong/top-week.d.ts} +0 -0
  1706. /package/dist/{download/index.test.d.ts → clis/lesswrong/top-year.d.ts} +0 -0
  1707. /package/dist/{electron-apps.test.d.ts → clis/lesswrong/top.d.ts} +0 -0
  1708. /package/dist/{engine.test.d.ts → clis/lesswrong/user-posts.d.ts} +0 -0
  1709. /package/dist/{errors.test.d.ts → clis/lesswrong/user.d.ts} +0 -0
  1710. /package/dist/{analysis.d.ts → src/analysis.d.ts} +0 -0
  1711. /package/dist/{analysis.js → src/analysis.js} +0 -0
  1712. /package/dist/{browser → src/browser}/base-page.d.ts +0 -0
  1713. /package/dist/{browser → src/browser}/base-page.js +0 -0
  1714. /package/dist/{browser → src/browser}/bridge.d.ts +0 -0
  1715. /package/dist/{browser → src/browser}/bridge.js +0 -0
  1716. /package/dist/{extension-manifest-regression.test.d.ts → src/browser/cdp.test.d.ts} +0 -0
  1717. /package/dist/{browser → src/browser}/cdp.test.js +0 -0
  1718. /package/dist/{browser → src/browser}/daemon-client.d.ts +0 -0
  1719. /package/dist/{browser → src/browser}/daemon-client.js +0 -0
  1720. /package/dist/{external.test.d.ts → src/browser/daemon-client.test.d.ts} +0 -0
  1721. /package/dist/{browser → src/browser}/daemon-client.test.js +0 -0
  1722. /package/dist/{browser → src/browser}/discover.d.ts +0 -0
  1723. /package/dist/{browser → src/browser}/discover.js +0 -0
  1724. /package/dist/{browser → src/browser}/dom-helpers.d.ts +0 -0
  1725. /package/dist/{browser → src/browser}/dom-helpers.js +0 -0
  1726. /package/dist/{launcher.test.d.ts → src/browser/dom-helpers.test.d.ts} +0 -0
  1727. /package/dist/{browser → src/browser}/dom-helpers.test.js +0 -0
  1728. /package/dist/{browser → src/browser}/dom-snapshot.d.ts +0 -0
  1729. /package/dist/{browser → src/browser}/dom-snapshot.js +0 -0
  1730. /package/dist/{browser → src/browser}/dom-snapshot.test.d.ts +0 -0
  1731. /package/dist/{browser → src/browser}/dom-snapshot.test.js +0 -0
  1732. /package/dist/{browser → src/browser}/errors.d.ts +0 -0
  1733. /package/dist/{browser → src/browser}/errors.js +0 -0
  1734. /package/dist/{browser → src/browser}/index.d.ts +0 -0
  1735. /package/dist/{browser → src/browser}/index.js +0 -0
  1736. /package/dist/{node-network.test.d.ts → src/browser/page.test.d.ts} +0 -0
  1737. /package/dist/{browser → src/browser}/page.test.js +0 -0
  1738. /package/dist/{browser → src/browser}/stealth.d.ts +0 -0
  1739. /package/dist/{browser → src/browser}/stealth.js +0 -0
  1740. /package/dist/{output.test.d.ts → src/browser/stealth.test.d.ts} +0 -0
  1741. /package/dist/{browser → src/browser}/stealth.test.js +0 -0
  1742. /package/dist/{browser → src/browser}/tabs.d.ts +0 -0
  1743. /package/dist/{browser → src/browser}/tabs.js +0 -0
  1744. /package/dist/{execution.test.d.ts → src/browser.test.d.ts} +0 -0
  1745. /package/dist/{browser.test.js → src/browser.test.js} +0 -0
  1746. /package/dist/{build-manifest.d.ts → src/build-manifest.d.ts} +0 -0
  1747. /package/dist/{pipeline/steps/download.test.d.ts → src/build-manifest.test.d.ts} +0 -0
  1748. /package/dist/{build-manifest.test.js → src/build-manifest.test.js} +0 -0
  1749. /package/dist/{capabilityRouting.d.ts → src/capabilityRouting.d.ts} +0 -0
  1750. /package/dist/{capabilityRouting.js → src/capabilityRouting.js} +0 -0
  1751. /package/dist/{pipeline/steps/fetch.test.d.ts → src/capabilityRouting.test.d.ts} +0 -0
  1752. /package/dist/{capabilityRouting.test.js → src/capabilityRouting.test.js} +0 -0
  1753. /package/dist/{cascade.d.ts → src/cascade.d.ts} +0 -0
  1754. /package/dist/{record.test.d.ts → src/cli.test.d.ts} +0 -0
  1755. /package/dist/{runtime-detect.test.d.ts → src/commanderAdapter.test.d.ts} +0 -0
  1756. /package/dist/{commanderAdapter.test.js → src/commanderAdapter.test.js} +0 -0
  1757. /package/dist/{commands → src/commands}/daemon.d.ts +0 -0
  1758. /package/dist/{commands → src/commands}/daemon.js +0 -0
  1759. /package/dist/{serialization.test.d.ts → src/commands/daemon.test.d.ts} +0 -0
  1760. /package/dist/{commands → src/commands}/daemon.test.js +0 -0
  1761. /package/dist/{completion.d.ts → src/completion.d.ts} +0 -0
  1762. /package/dist/{completion.js → src/completion.js} +0 -0
  1763. /package/dist/{tui.test.d.ts → src/completion.test.d.ts} +0 -0
  1764. /package/dist/{completion.test.js → src/completion.test.js} +0 -0
  1765. /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
  1766. /package/dist/{constants.js → src/constants.js} +0 -0
  1767. /package/dist/{daemon.d.ts → src/daemon.d.ts} +0 -0
  1768. /package/dist/{daemon.js → src/daemon.js} +0 -0
  1769. /package/dist/{weixin-download.test.d.ts → src/daemon.test.d.ts} +0 -0
  1770. /package/dist/{daemon.test.js → src/daemon.test.js} +0 -0
  1771. /package/dist/{doctor.d.ts → src/doctor.d.ts} +0 -0
  1772. /package/dist/{doctor.js → src/doctor.js} +0 -0
  1773. /package/dist/{doctor.test.js → src/doctor.test.js} +0 -0
  1774. /package/dist/{download → src/download}/index.test.js +0 -0
  1775. /package/dist/{electron-apps.d.ts → src/electron-apps.d.ts} +0 -0
  1776. /package/dist/{electron-apps.js → src/electron-apps.js} +0 -0
  1777. /package/dist/{electron-apps.test.js → src/electron-apps.test.js} +0 -0
  1778. /package/dist/{engine.test.js → src/engine.test.js} +0 -0
  1779. /package/dist/{errors.d.ts → src/errors.d.ts} +0 -0
  1780. /package/dist/{errors.js → src/errors.js} +0 -0
  1781. /package/dist/{errors.test.js → src/errors.test.js} +0 -0
  1782. /package/dist/{execution.d.ts → src/execution.d.ts} +0 -0
  1783. /package/dist/{execution.js → src/execution.js} +0 -0
  1784. /package/dist/{execution.test.js → src/execution.test.js} +0 -0
  1785. /package/dist/{explore.d.ts → src/explore.d.ts} +0 -0
  1786. /package/dist/{explore.js → src/explore.js} +0 -0
  1787. /package/dist/{extension-manifest-regression.test.js → src/extension-manifest-regression.test.js} +0 -0
  1788. /package/dist/{external-clis.yaml → src/external-clis.yaml} +0 -0
  1789. /package/dist/{external.d.ts → src/external.d.ts} +0 -0
  1790. /package/dist/{external.js → src/external.js} +0 -0
  1791. /package/dist/{external.test.js → src/external.test.js} +0 -0
  1792. /package/dist/{generate.d.ts → src/generate.d.ts} +0 -0
  1793. /package/dist/{generate.js → src/generate.js} +0 -0
  1794. /package/dist/{hooks.d.ts → src/hooks.d.ts} +0 -0
  1795. /package/dist/{hooks.js → src/hooks.js} +0 -0
  1796. /package/dist/{hooks.test.d.ts → src/hooks.test.d.ts} +0 -0
  1797. /package/dist/{hooks.test.js → src/hooks.test.js} +0 -0
  1798. /package/dist/{idle-manager.d.ts → src/idle-manager.d.ts} +0 -0
  1799. /package/dist/{idle-manager.js → src/idle-manager.js} +0 -0
  1800. /package/dist/{interceptor.test.d.ts → src/interceptor.test.d.ts} +0 -0
  1801. /package/dist/{interceptor.test.js → src/interceptor.test.js} +0 -0
  1802. /package/dist/{launcher.d.ts → src/launcher.d.ts} +0 -0
  1803. /package/dist/{launcher.js → src/launcher.js} +0 -0
  1804. /package/dist/{launcher.test.js → src/launcher.test.js} +0 -0
  1805. /package/dist/{logger.d.ts → src/logger.d.ts} +0 -0
  1806. /package/dist/{logger.js → src/logger.js} +0 -0
  1807. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  1808. /package/dist/{node-network.d.ts → src/node-network.d.ts} +0 -0
  1809. /package/dist/{node-network.js → src/node-network.js} +0 -0
  1810. /package/dist/{node-network.test.js → src/node-network.test.js} +0 -0
  1811. /package/dist/{output.d.ts → src/output.d.ts} +0 -0
  1812. /package/dist/{output.js → src/output.js} +0 -0
  1813. /package/dist/{output.test.js → src/output.test.js} +0 -0
  1814. /package/dist/{pipeline → src/pipeline}/executor.d.ts +0 -0
  1815. /package/dist/{pipeline → src/pipeline}/executor.js +0 -0
  1816. /package/dist/{pipeline → src/pipeline}/executor.test.d.ts +0 -0
  1817. /package/dist/{pipeline → src/pipeline}/executor.test.js +0 -0
  1818. /package/dist/{pipeline → src/pipeline}/registry.d.ts +0 -0
  1819. /package/dist/{pipeline → src/pipeline}/registry.js +0 -0
  1820. /package/dist/{pipeline → src/pipeline}/steps/browser.d.ts +0 -0
  1821. /package/dist/{pipeline → src/pipeline}/steps/browser.js +0 -0
  1822. /package/dist/{pipeline → src/pipeline}/steps/download.d.ts +0 -0
  1823. /package/dist/{pipeline → src/pipeline}/steps/download.js +0 -0
  1824. /package/dist/{pipeline → src/pipeline}/steps/download.test.js +0 -0
  1825. /package/dist/{pipeline → src/pipeline}/steps/fetch.d.ts +0 -0
  1826. /package/dist/{pipeline → src/pipeline}/steps/fetch.js +0 -0
  1827. /package/dist/{pipeline → src/pipeline}/steps/fetch.test.js +0 -0
  1828. /package/dist/{pipeline → src/pipeline}/steps/intercept.d.ts +0 -0
  1829. /package/dist/{pipeline → src/pipeline}/steps/intercept.js +0 -0
  1830. /package/dist/{pipeline → src/pipeline}/steps/tap.d.ts +0 -0
  1831. /package/dist/{pipeline → src/pipeline}/steps/tap.js +0 -0
  1832. /package/dist/{pipeline → src/pipeline}/steps/transform.d.ts +0 -0
  1833. /package/dist/{pipeline → src/pipeline}/steps/transform.js +0 -0
  1834. /package/dist/{pipeline → src/pipeline}/template.d.ts +0 -0
  1835. /package/dist/{pipeline → src/pipeline}/template.js +0 -0
  1836. /package/dist/{pipeline → src/pipeline}/template.test.d.ts +0 -0
  1837. /package/dist/{pipeline → src/pipeline}/template.test.js +0 -0
  1838. /package/dist/{pipeline → src/pipeline}/transform.test.d.ts +0 -0
  1839. /package/dist/{pipeline → src/pipeline}/transform.test.js +0 -0
  1840. /package/dist/{plugin-manifest.d.ts → src/plugin-manifest.d.ts} +0 -0
  1841. /package/dist/{plugin-manifest.js → src/plugin-manifest.js} +0 -0
  1842. /package/dist/{plugin-manifest.test.d.ts → src/plugin-manifest.test.d.ts} +0 -0
  1843. /package/dist/{plugin-manifest.test.js → src/plugin-manifest.test.js} +0 -0
  1844. /package/dist/{plugin-scaffold.d.ts → src/plugin-scaffold.d.ts} +0 -0
  1845. /package/dist/{plugin-scaffold.js → src/plugin-scaffold.js} +0 -0
  1846. /package/dist/{plugin-scaffold.test.d.ts → src/plugin-scaffold.test.d.ts} +0 -0
  1847. /package/dist/{plugin-scaffold.test.js → src/plugin-scaffold.test.js} +0 -0
  1848. /package/dist/{plugin.d.ts → src/plugin.d.ts} +0 -0
  1849. /package/dist/{plugin.js → src/plugin.js} +0 -0
  1850. /package/dist/{plugin.test.d.ts → src/plugin.test.d.ts} +0 -0
  1851. /package/dist/{plugin.test.js → src/plugin.test.js} +0 -0
  1852. /package/dist/{record.d.ts → src/record.d.ts} +0 -0
  1853. /package/dist/{record.test.js → src/record.test.js} +0 -0
  1854. /package/dist/{registry-api.d.ts → src/registry-api.d.ts} +0 -0
  1855. /package/dist/{registry-api.js → src/registry-api.js} +0 -0
  1856. /package/dist/{registry.d.ts → src/registry.d.ts} +0 -0
  1857. /package/dist/{registry.js → src/registry.js} +0 -0
  1858. /package/dist/{registry.test.d.ts → src/registry.test.d.ts} +0 -0
  1859. /package/dist/{registry.test.js → src/registry.test.js} +0 -0
  1860. /package/dist/{runtime-detect.d.ts → src/runtime-detect.d.ts} +0 -0
  1861. /package/dist/{runtime-detect.js → src/runtime-detect.js} +0 -0
  1862. /package/dist/{runtime-detect.test.js → src/runtime-detect.test.js} +0 -0
  1863. /package/dist/{runtime.d.ts → src/runtime.d.ts} +0 -0
  1864. /package/dist/{runtime.js → src/runtime.js} +0 -0
  1865. /package/dist/{scripts → src/scripts}/framework.d.ts +0 -0
  1866. /package/dist/{scripts → src/scripts}/framework.js +0 -0
  1867. /package/dist/{scripts → src/scripts}/interact.d.ts +0 -0
  1868. /package/dist/{scripts → src/scripts}/interact.js +0 -0
  1869. /package/dist/{scripts → src/scripts}/store.d.ts +0 -0
  1870. /package/dist/{scripts → src/scripts}/store.js +0 -0
  1871. /package/dist/{serialization.d.ts → src/serialization.d.ts} +0 -0
  1872. /package/dist/{serialization.js → src/serialization.js} +0 -0
  1873. /package/dist/{serialization.test.js → src/serialization.test.js} +0 -0
  1874. /package/dist/{snapshotFormatter.d.ts → src/snapshotFormatter.d.ts} +0 -0
  1875. /package/dist/{snapshotFormatter.js → src/snapshotFormatter.js} +0 -0
  1876. /package/dist/{snapshotFormatter.test.d.ts → src/snapshotFormatter.test.d.ts} +0 -0
  1877. /package/dist/{snapshotFormatter.test.js → src/snapshotFormatter.test.js} +0 -0
  1878. /package/dist/{tui.d.ts → src/tui.d.ts} +0 -0
  1879. /package/dist/{tui.js → src/tui.js} +0 -0
  1880. /package/dist/{tui.test.js → src/tui.test.js} +0 -0
  1881. /package/dist/{types.d.ts → src/types.d.ts} +0 -0
  1882. /package/dist/{types.js → src/types.js} +0 -0
  1883. /package/dist/{update-check.d.ts → src/update-check.d.ts} +0 -0
  1884. /package/dist/{update-check.js → src/update-check.js} +0 -0
  1885. /package/dist/{utils.d.ts → src/utils.d.ts} +0 -0
  1886. /package/dist/{utils.js → src/utils.js} +0 -0
  1887. /package/dist/{validate.d.ts → src/validate.d.ts} +0 -0
  1888. /package/dist/{validate.js → src/validate.js} +0 -0
  1889. /package/dist/{verify.d.ts → src/verify.d.ts} +0 -0
  1890. /package/dist/{verify.js → src/verify.js} +0 -0
  1891. /package/dist/{version.d.ts → src/version.d.ts} +0 -0
  1892. /package/dist/{version.js → src/version.js} +0 -0
  1893. /package/dist/{yaml-schema.d.ts → src/yaml-schema.d.ts} +0 -0
  1894. /package/dist/{yaml-schema.js → src/yaml-schema.js} +0 -0
@@ -1,857 +0,0 @@
1
- # Daemon Lifecycle Redesign Implementation Plan
2
-
3
- > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
-
5
- **Goal:** Replace the daemon's aggressive 5-minute idle timeout with a long-lived model (4h default) that requires both CLI inactivity AND Extension disconnection before exiting, plus add `daemon status/stop/restart` CLI commands.
6
-
7
- **Architecture:** The daemon keeps its existing HTTP + WebSocket bridge architecture. We change the idle timeout logic to track two independent activity signals (CLI requests and Extension connection), add `/status` and `/shutdown` HTTP endpoints, reduce the Extension reconnect backoff cap, and register new CLI commands via Commander.js.
8
-
9
- **Tech Stack:** Node.js, TypeScript, Commander.js, ws, Vitest
10
-
11
- ---
12
-
13
- ## File Structure
14
-
15
- | File | Action | Responsibility |
16
- |------|--------|----------------|
17
- | `src/constants.ts` | Modify | Add `DEFAULT_DAEMON_IDLE_TIMEOUT` constant |
18
- | `src/daemon.ts` | Modify | Dual-condition idle timer, `/status` endpoint, `/shutdown` endpoint |
19
- | `src/daemon.test.ts` | Create | Unit tests for idle timer logic, `/status`, `/shutdown` |
20
- | `extension/src/protocol.ts` | Modify | Change `WS_RECONNECT_MAX_DELAY` from 60000 to 5000 |
21
- | `src/cli.ts` | Modify | Register `daemon` subcommand group |
22
- | `src/commands/daemon.ts` | Create | `status`, `stop`, `restart` subcommand implementations |
23
- | `src/commands/daemon.test.ts` | Create | Unit tests for daemon commands |
24
- | `src/browser/mcp.ts` | Modify | Better connection-waiting UX messages, 200ms poll interval |
25
-
26
- ---
27
-
28
- ### Task 1: Add `DEFAULT_DAEMON_IDLE_TIMEOUT` constant
29
-
30
- **Files:**
31
- - Modify: `src/constants.ts`
32
-
33
- - [ ] **Step 1: Add the constant**
34
-
35
- In `src/constants.ts`, add after the `DEFAULT_DAEMON_PORT` line:
36
-
37
- ```typescript
38
- /** Default idle timeout before daemon auto-exits (ms). Override via OPENCLI_DAEMON_TIMEOUT env var. */
39
- export const DEFAULT_DAEMON_IDLE_TIMEOUT = 4 * 60 * 60 * 1000; // 4 hours
40
- ```
41
-
42
- - [ ] **Step 2: Commit**
43
-
44
- ```bash
45
- git add src/constants.ts
46
- git commit -m "feat(daemon): add DEFAULT_DAEMON_IDLE_TIMEOUT constant (4 hours)"
47
- ```
48
-
49
- ---
50
-
51
- ### Task 2: Implement dual-condition idle timer in daemon
52
-
53
- **Files:**
54
- - Modify: `src/daemon.ts:27,29-57,116-123,196-198,245-262,265-269`
55
- - Test: `src/daemon.test.ts` (create)
56
-
57
- - [ ] **Step 1: Write failing tests for the new idle timer logic**
58
-
59
- Create `src/daemon.test.ts`:
60
-
61
- ```typescript
62
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
63
-
64
- // We test the idle timer logic by extracting it into testable functions.
65
- // The daemon module has side effects (starts server), so we test the logic unit directly.
66
-
67
- describe('IdleManager', () => {
68
- beforeEach(() => {
69
- vi.useFakeTimers();
70
- });
71
-
72
- afterEach(() => {
73
- vi.useRealTimers();
74
- });
75
-
76
- it('does not start timer when extension is connected', async () => {
77
- const { IdleManager } = await import('./daemon.js');
78
- const exit = vi.fn();
79
- const mgr = new IdleManager(300_000, exit); // 5 min for fast test
80
-
81
- mgr.setExtensionConnected(true);
82
- mgr.onCliRequest();
83
-
84
- vi.advanceTimersByTime(300_000 + 1000);
85
- expect(exit).not.toHaveBeenCalled();
86
- });
87
-
88
- it('starts timer when extension disconnects and CLI is idle', async () => {
89
- const { IdleManager } = await import('./daemon.js');
90
- const exit = vi.fn();
91
- const mgr = new IdleManager(300_000, exit);
92
-
93
- mgr.onCliRequest(); // CLI was active
94
- mgr.setExtensionConnected(true);
95
- mgr.setExtensionConnected(false); // Extension disconnects
96
-
97
- // Should not exit immediately — CLI was just active
98
- expect(exit).not.toHaveBeenCalled();
99
-
100
- // Advance past timeout
101
- vi.advanceTimersByTime(300_000 + 1000);
102
- expect(exit).toHaveBeenCalledTimes(1);
103
- });
104
-
105
- it('exits immediately on extension disconnect if CLI has been idle past timeout', async () => {
106
- const { IdleManager } = await import('./daemon.js');
107
- const exit = vi.fn();
108
- const mgr = new IdleManager(300_000, exit);
109
-
110
- mgr.onCliRequest(); // Last CLI activity
111
- vi.advanceTimersByTime(400_000); // 400s elapsed — past 300s timeout
112
-
113
- mgr.setExtensionConnected(true);
114
- mgr.setExtensionConnected(false);
115
-
116
- expect(exit).toHaveBeenCalledTimes(1);
117
- });
118
-
119
- it('resets timer on new CLI request', async () => {
120
- const { IdleManager } = await import('./daemon.js');
121
- const exit = vi.fn();
122
- const mgr = new IdleManager(300_000, exit);
123
-
124
- mgr.onCliRequest();
125
- vi.advanceTimersByTime(200_000); // 200s elapsed
126
- mgr.onCliRequest(); // Reset
127
-
128
- vi.advanceTimersByTime(200_000); // 200s more — only 200s since last request
129
- expect(exit).not.toHaveBeenCalled();
130
-
131
- vi.advanceTimersByTime(100_001); // Now 300s+ since last request
132
- expect(exit).toHaveBeenCalledTimes(1);
133
- });
134
-
135
- it('does not exit when timeout is 0 (disabled)', async () => {
136
- const { IdleManager } = await import('./daemon.js');
137
- const exit = vi.fn();
138
- const mgr = new IdleManager(0, exit);
139
-
140
- mgr.onCliRequest();
141
- vi.advanceTimersByTime(24 * 60 * 60 * 1000); // 24 hours
142
- expect(exit).not.toHaveBeenCalled();
143
- });
144
-
145
- it('clears timer when extension connects', async () => {
146
- const { IdleManager } = await import('./daemon.js');
147
- const exit = vi.fn();
148
- const mgr = new IdleManager(300_000, exit);
149
-
150
- mgr.onCliRequest();
151
- vi.advanceTimersByTime(200_000); // Timer running
152
-
153
- mgr.setExtensionConnected(true); // Should clear timer
154
- vi.advanceTimersByTime(200_000); // Would have fired
155
- expect(exit).not.toHaveBeenCalled();
156
- });
157
- });
158
- ```
159
-
160
- - [ ] **Step 2: Run tests to verify they fail**
161
-
162
- ```bash
163
- npx vitest run src/daemon.test.ts
164
- ```
165
-
166
- Expected: FAIL — `IdleManager` is not exported from `./daemon.js`
167
-
168
- - [ ] **Step 3: Extract IdleManager class and refactor daemon.ts**
169
-
170
- In `src/daemon.ts`, replace the idle timeout section (lines 27, 29-57) with:
171
-
172
- Replace the `IDLE_TIMEOUT` constant (line 27):
173
- ```typescript
174
- import { DEFAULT_DAEMON_PORT, DEFAULT_DAEMON_IDLE_TIMEOUT } from './constants.js';
175
-
176
- const PORT = parseInt(process.env.OPENCLI_DAEMON_PORT ?? String(DEFAULT_DAEMON_PORT), 10);
177
- const IDLE_TIMEOUT = Number(process.env.OPENCLI_DAEMON_TIMEOUT ?? DEFAULT_DAEMON_IDLE_TIMEOUT);
178
- ```
179
-
180
- Replace the idle timer state and `resetIdleTimer` function (lines 37, 49-57) with the `IdleManager` class:
181
-
182
- ```typescript
183
- /**
184
- * Manages daemon idle timeout with dual-condition logic:
185
- * exits only when BOTH CLI is idle AND Extension is disconnected.
186
- */
187
- export class IdleManager {
188
- private _timer: ReturnType<typeof setTimeout> | null = null;
189
- private _lastCliRequestTime = Date.now();
190
- private _extensionConnected = false;
191
- private _timeoutMs: number;
192
- private _onExit: () => void;
193
-
194
- constructor(timeoutMs: number, onExit: () => void) {
195
- this._timeoutMs = timeoutMs;
196
- this._onExit = onExit;
197
- }
198
-
199
- /** Call when an HTTP request arrives from CLI */
200
- onCliRequest(): void {
201
- this._lastCliRequestTime = Date.now();
202
- this._resetTimer();
203
- }
204
-
205
- /** Call when Extension WebSocket connects or disconnects */
206
- setExtensionConnected(connected: boolean): void {
207
- this._extensionConnected = connected;
208
- if (connected) {
209
- // Extension is alive — clear any pending exit timer
210
- this._clearTimer();
211
- } else {
212
- // Extension gone — check if CLI has also been idle long enough
213
- this._resetTimer();
214
- }
215
- }
216
-
217
- private _clearTimer(): void {
218
- if (this._timer) {
219
- clearTimeout(this._timer);
220
- this._timer = null;
221
- }
222
- }
223
-
224
- private _resetTimer(): void {
225
- this._clearTimer();
226
-
227
- // Timeout disabled
228
- if (this._timeoutMs <= 0) return;
229
-
230
- // Extension connected — don't start timer
231
- if (this._extensionConnected) return;
232
-
233
- const elapsed = Date.now() - this._lastCliRequestTime;
234
- if (elapsed >= this._timeoutMs) {
235
- // CLI has been idle past the timeout already
236
- this._onExit();
237
- return;
238
- }
239
-
240
- // Start timer for remaining duration
241
- this._timer = setTimeout(() => {
242
- this._onExit();
243
- }, this._timeoutMs - elapsed);
244
- }
245
- }
246
- ```
247
-
248
- Then create the global `idleManager` instance after the class definition:
249
-
250
- ```typescript
251
- const idleManager = new IdleManager(IDLE_TIMEOUT, () => {
252
- console.error('[daemon] Idle timeout (no CLI requests + no Extension), shutting down');
253
- process.exit(0);
254
- });
255
- ```
256
-
257
- - [ ] **Step 4: Wire IdleManager into existing daemon code**
258
-
259
- In the `handleRequest` function, replace `resetIdleTimer()` (line 142) with:
260
- ```typescript
261
- idleManager.onCliRequest();
262
- ```
263
-
264
- In the `wss.on('connection')` handler (around line 196-198), add after `extensionWs = ws;`:
265
- ```typescript
266
- idleManager.setExtensionConnected(true);
267
- ```
268
-
269
- In the `ws.on('close')` handler (around line 245-249), add after `extensionWs = null;`:
270
- ```typescript
271
- idleManager.setExtensionConnected(false);
272
- ```
273
-
274
- In the `ws.on('error')` handler (around line 259-261), add after `extensionWs = null;`:
275
- ```typescript
276
- idleManager.setExtensionConnected(false);
277
- ```
278
-
279
- In the `httpServer.listen` callback (line 268-269), replace `resetIdleTimer()` with:
280
- ```typescript
281
- idleManager.onCliRequest(); // Start initial idle countdown
282
- ```
283
-
284
- Remove the old `resetIdleTimer` function and `idleTimer` variable entirely.
285
-
286
- - [ ] **Step 5: Run tests to verify they pass**
287
-
288
- ```bash
289
- npx vitest run src/daemon.test.ts
290
- ```
291
-
292
- Expected: All 6 tests PASS
293
-
294
- - [ ] **Step 6: Commit**
295
-
296
- ```bash
297
- git add src/daemon.ts src/daemon.test.ts
298
- git commit -m "feat(daemon): replace fixed 5min timeout with dual-condition idle manager (4h default)"
299
- ```
300
-
301
- ---
302
-
303
- ### Task 3: Add `/status` and `/shutdown` endpoints to daemon
304
-
305
- **Files:**
306
- - Modify: `src/daemon.ts:116-123`
307
-
308
- - [ ] **Step 1: Add tests for /status and /shutdown endpoints**
309
-
310
- Append to `src/daemon.test.ts`:
311
-
312
- ```typescript
313
- describe('/status endpoint', () => {
314
- it('returns daemon status with correct fields', async () => {
315
- // This is an integration test — tested via the daemon command tests.
316
- // Here we just verify the shape of the status response type.
317
- expect(true).toBe(true); // Placeholder — real coverage in Task 6
318
- });
319
- });
320
- ```
321
-
322
- Note: The `/status` and `/shutdown` endpoints run inside the daemon process, which makes them hard to unit test in isolation. They are integration-tested via the `opencli daemon status/stop` commands in Task 6.
323
-
324
- - [ ] **Step 2: Enhance the existing `/status` endpoint**
325
-
326
- In `src/daemon.ts`, replace the existing `/status` handler (lines 116-123) with:
327
-
328
- ```typescript
329
- if (req.method === 'GET' && pathname === '/status') {
330
- const uptime = process.uptime();
331
- const mem = process.memoryUsage();
332
- jsonResponse(res, 200, {
333
- ok: true,
334
- pid: process.pid,
335
- uptime,
336
- extensionConnected: extensionWs?.readyState === WebSocket.OPEN,
337
- pending: pending.size,
338
- lastCliRequestTime: idleManager.lastCliRequestTime,
339
- memoryMB: Math.round(mem.rss / 1024 / 1024 * 10) / 10,
340
- port: PORT,
341
- });
342
- return;
343
- }
344
- ```
345
-
346
- Also add a public getter to `IdleManager`:
347
-
348
- ```typescript
349
- get lastCliRequestTime(): number {
350
- return this._lastCliRequestTime;
351
- }
352
- ```
353
-
354
- - [ ] **Step 3: Add the `/shutdown` endpoint**
355
-
356
- In `src/daemon.ts`, add before the `POST /command` handler:
357
-
358
- ```typescript
359
- if (req.method === 'POST' && pathname === '/shutdown') {
360
- jsonResponse(res, 200, { ok: true, message: 'Shutting down' });
361
- // Graceful shutdown after response is sent
362
- setTimeout(() => shutdown(), 100);
363
- return;
364
- }
365
- ```
366
-
367
- - [ ] **Step 4: Run all tests**
368
-
369
- ```bash
370
- npx vitest run src/daemon.test.ts
371
- ```
372
-
373
- Expected: PASS
374
-
375
- - [ ] **Step 5: Commit**
376
-
377
- ```bash
378
- git add src/daemon.ts src/daemon.test.ts
379
- git commit -m "feat(daemon): enhance /status endpoint, add /shutdown endpoint"
380
- ```
381
-
382
- ---
383
-
384
- ### Task 4: Reduce Extension WebSocket reconnect backoff cap
385
-
386
- **Files:**
387
- - Modify: `extension/src/protocol.ts:57`
388
-
389
- - [ ] **Step 1: Change the constant**
390
-
391
- In `extension/src/protocol.ts`, change line 57:
392
-
393
- ```typescript
394
- /** Max reconnect delay (ms) — kept short since daemon is long-lived */
395
- export const WS_RECONNECT_MAX_DELAY = 5000;
396
- ```
397
-
398
- - [ ] **Step 2: Commit**
399
-
400
- ```bash
401
- git add extension/src/protocol.ts
402
- git commit -m "feat(extension): reduce WS reconnect backoff cap from 60s to 5s"
403
- ```
404
-
405
- ---
406
-
407
- ### Task 5: Implement `daemon status/stop/restart` CLI commands
408
-
409
- **Files:**
410
- - Create: `src/commands/daemon.ts`
411
- - Modify: `src/cli.ts`
412
-
413
- - [ ] **Step 1: Create daemon command module**
414
-
415
- Create `src/commands/daemon.ts`:
416
-
417
- ```typescript
418
- /**
419
- * CLI commands for daemon lifecycle management:
420
- * opencli daemon status — show daemon state
421
- * opencli daemon stop — graceful shutdown
422
- * opencli daemon restart — stop + respawn
423
- */
424
-
425
- import chalk from 'chalk';
426
- import { DEFAULT_DAEMON_PORT } from '../constants.js';
427
-
428
- const DAEMON_PORT = parseInt(process.env.OPENCLI_DAEMON_PORT ?? String(DEFAULT_DAEMON_PORT), 10);
429
- const DAEMON_URL = `http://127.0.0.1:${DAEMON_PORT}`;
430
-
431
- interface DaemonStatus {
432
- ok: boolean;
433
- pid: number;
434
- uptime: number;
435
- extensionConnected: boolean;
436
- pending: number;
437
- lastCliRequestTime: number;
438
- memoryMB: number;
439
- port: number;
440
- }
441
-
442
- async function fetchStatus(): Promise<DaemonStatus | null> {
443
- try {
444
- const controller = new AbortController();
445
- const timer = setTimeout(() => controller.abort(), 2000);
446
- const res = await fetch(`${DAEMON_URL}/status`, {
447
- headers: { 'X-OpenCLI': '1' },
448
- signal: controller.signal,
449
- });
450
- clearTimeout(timer);
451
- if (!res.ok) return null;
452
- return await res.json() as DaemonStatus;
453
- } catch {
454
- return null;
455
- }
456
- }
457
-
458
- async function requestShutdown(): Promise<boolean> {
459
- try {
460
- const controller = new AbortController();
461
- const timer = setTimeout(() => controller.abort(), 5000);
462
- const res = await fetch(`${DAEMON_URL}/shutdown`, {
463
- method: 'POST',
464
- headers: { 'X-OpenCLI': '1' },
465
- signal: controller.signal,
466
- });
467
- clearTimeout(timer);
468
- return res.ok;
469
- } catch {
470
- return false;
471
- }
472
- }
473
-
474
- function formatUptime(seconds: number): string {
475
- const h = Math.floor(seconds / 3600);
476
- const m = Math.floor((seconds % 3600) / 60);
477
- if (h > 0) return `${h}h ${m}m`;
478
- if (m > 0) return `${m}m`;
479
- return `${Math.floor(seconds)}s`;
480
- }
481
-
482
- function formatTimeSince(timestampMs: number): string {
483
- const seconds = (Date.now() - timestampMs) / 1000;
484
- if (seconds < 60) return `${Math.floor(seconds)}s ago`;
485
- const m = Math.floor(seconds / 60);
486
- if (m < 60) return `${m} min ago`;
487
- const h = Math.floor(m / 60);
488
- return `${h}h ${m % 60}m ago`;
489
- }
490
-
491
- export async function daemonStatus(): Promise<void> {
492
- const status = await fetchStatus();
493
- if (!status) {
494
- console.log(`Daemon: ${chalk.dim('not running')}`);
495
- return;
496
- }
497
-
498
- console.log(`Daemon: ${chalk.green('running')} (PID ${status.pid})`);
499
- console.log(`Uptime: ${formatUptime(status.uptime)}`);
500
- console.log(`Extension: ${status.extensionConnected ? chalk.green('connected') : chalk.yellow('disconnected')}`);
501
- console.log(`Last CLI request: ${formatTimeSince(status.lastCliRequestTime)}`);
502
- console.log(`Memory: ${status.memoryMB} MB`);
503
- console.log(`Port: ${status.port}`);
504
- }
505
-
506
- export async function daemonStop(): Promise<void> {
507
- const status = await fetchStatus();
508
- if (!status) {
509
- console.log(chalk.dim('Daemon is not running.'));
510
- return;
511
- }
512
-
513
- const ok = await requestShutdown();
514
- if (ok) {
515
- console.log(chalk.green('Daemon stopped.'));
516
- } else {
517
- console.error(chalk.red('Failed to stop daemon.'));
518
- process.exitCode = 1;
519
- }
520
- }
521
-
522
- export async function daemonRestart(): Promise<void> {
523
- const status = await fetchStatus();
524
- if (status) {
525
- const ok = await requestShutdown();
526
- if (!ok) {
527
- console.error(chalk.red('Failed to stop daemon.'));
528
- process.exitCode = 1;
529
- return;
530
- }
531
- // Wait for daemon to exit
532
- await new Promise(r => setTimeout(r, 500));
533
- }
534
-
535
- // Import BrowserBridge to spawn a new daemon
536
- const { BrowserBridge } = await import('../browser/mcp.js');
537
- const bridge = new BrowserBridge();
538
- try {
539
- console.log('Starting daemon...');
540
- await bridge.connect({ timeout: 10 });
541
- console.log(chalk.green('Daemon restarted.'));
542
- } catch (err) {
543
- console.error(chalk.red(`Failed to restart daemon: ${err instanceof Error ? err.message : err}`));
544
- process.exitCode = 1;
545
- }
546
- }
547
- ```
548
-
549
- - [ ] **Step 2: Register daemon commands in cli.ts**
550
-
551
- In `src/cli.ts`, add the import at the top:
552
-
553
- ```typescript
554
- import { daemonStatus, daemonStop, daemonRestart } from './commands/daemon.js';
555
- ```
556
-
557
- Add the daemon subcommand group before the `// ── External CLIs` section (around line 380):
558
-
559
- ```typescript
560
- // ── Built-in: daemon ──────────────────────────────────────────────────────
561
- const daemonCmd = program.command('daemon').description('Manage the opencli daemon');
562
- daemonCmd
563
- .command('status')
564
- .description('Show daemon status')
565
- .action(async () => { await daemonStatus(); });
566
- daemonCmd
567
- .command('stop')
568
- .description('Stop the daemon')
569
- .action(async () => { await daemonStop(); });
570
- daemonCmd
571
- .command('restart')
572
- .description('Restart the daemon')
573
- .action(async () => { await daemonRestart(); });
574
- ```
575
-
576
- - [ ] **Step 3: Run linter/type check**
577
-
578
- ```bash
579
- npx tsc --noEmit
580
- ```
581
-
582
- Expected: No errors
583
-
584
- - [ ] **Step 4: Commit**
585
-
586
- ```bash
587
- git add src/commands/daemon.ts src/cli.ts
588
- git commit -m "feat(daemon): add opencli daemon status/stop/restart commands"
589
- ```
590
-
591
- ---
592
-
593
- ### Task 6: Write tests for daemon commands
594
-
595
- **Files:**
596
- - Create: `src/commands/daemon.test.ts`
597
-
598
- - [ ] **Step 1: Write tests**
599
-
600
- Create `src/commands/daemon.test.ts`:
601
-
602
- ```typescript
603
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
604
-
605
- // Mock fetch globally for all tests
606
- const mockFetch = vi.fn();
607
- vi.stubGlobal('fetch', mockFetch);
608
-
609
- // Mock chalk to avoid ANSI in assertions
610
- vi.mock('chalk', () => ({
611
- default: {
612
- green: (s: string) => s,
613
- yellow: (s: string) => s,
614
- red: (s: string) => s,
615
- dim: (s: string) => s,
616
- },
617
- }));
618
-
619
- describe('daemonStatus', () => {
620
- let consoleSpy: ReturnType<typeof vi.spyOn>;
621
-
622
- beforeEach(() => {
623
- consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {});
624
- });
625
-
626
- afterEach(() => {
627
- consoleSpy.mockRestore();
628
- mockFetch.mockReset();
629
- });
630
-
631
- it('shows "not running" when daemon is unreachable', async () => {
632
- mockFetch.mockRejectedValue(new TypeError('fetch failed'));
633
-
634
- const { daemonStatus } = await import('./daemon.js');
635
- await daemonStatus();
636
-
637
- expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('not running'));
638
- });
639
-
640
- it('shows daemon info when running', async () => {
641
- mockFetch.mockResolvedValue({
642
- ok: true,
643
- json: async () => ({
644
- ok: true,
645
- pid: 12345,
646
- uptime: 7200,
647
- extensionConnected: true,
648
- pending: 0,
649
- lastCliRequestTime: Date.now() - 60_000,
650
- memoryMB: 12.3,
651
- port: 19825,
652
- }),
653
- });
654
-
655
- const { daemonStatus } = await import('./daemon.js');
656
- await daemonStatus();
657
-
658
- expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('running'));
659
- expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('12345'));
660
- });
661
- });
662
-
663
- describe('daemonStop', () => {
664
- let consoleSpy: ReturnType<typeof vi.spyOn>;
665
- let consoleErrSpy: ReturnType<typeof vi.spyOn>;
666
-
667
- beforeEach(() => {
668
- consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => {});
669
- consoleErrSpy = vi.spyOn(console, 'error').mockImplementation(() => {});
670
- });
671
-
672
- afterEach(() => {
673
- consoleSpy.mockRestore();
674
- consoleErrSpy.mockRestore();
675
- mockFetch.mockReset();
676
- });
677
-
678
- it('reports when daemon is not running', async () => {
679
- mockFetch.mockRejectedValue(new TypeError('fetch failed'));
680
-
681
- const { daemonStop } = await import('./daemon.js');
682
- await daemonStop();
683
-
684
- expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('not running'));
685
- });
686
-
687
- it('sends shutdown and reports success', async () => {
688
- // First call: fetchStatus
689
- // Second call: requestShutdown
690
- mockFetch
691
- .mockResolvedValueOnce({
692
- ok: true,
693
- json: async () => ({ ok: true, pid: 123, uptime: 100, extensionConnected: false, pending: 0, lastCliRequestTime: Date.now(), memoryMB: 10, port: 19825 }),
694
- })
695
- .mockResolvedValueOnce({ ok: true });
696
-
697
- const { daemonStop } = await import('./daemon.js');
698
- await daemonStop();
699
-
700
- expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining('stopped'));
701
- });
702
- });
703
- ```
704
-
705
- - [ ] **Step 2: Run tests**
706
-
707
- ```bash
708
- npx vitest run src/commands/daemon.test.ts
709
- ```
710
-
711
- Expected: PASS
712
-
713
- - [ ] **Step 3: Commit**
714
-
715
- ```bash
716
- git add src/commands/daemon.test.ts
717
- git commit -m "test(daemon): add tests for daemon status/stop commands"
718
- ```
719
-
720
- ---
721
-
722
- ### Task 7: Improve CLI connection-waiting UX
723
-
724
- **Files:**
725
- - Modify: `src/browser/mcp.ts:58-118`
726
-
727
- - [ ] **Step 1: Improve error messages and poll interval**
728
-
729
- In `src/browser/mcp.ts`, replace the `_ensureDaemon` method (lines 58-118) with:
730
-
731
- ```typescript
732
- private async _ensureDaemon(timeoutSeconds?: number): Promise<void> {
733
- const effectiveSeconds = (timeoutSeconds && timeoutSeconds > 0) ? timeoutSeconds : Math.ceil(DAEMON_SPAWN_TIMEOUT / 1000);
734
- const timeoutMs = effectiveSeconds * 1000;
735
-
736
- // Fast path: extension already connected
737
- if (await isExtensionConnected()) return;
738
-
739
- // Daemon running but no extension — wait for extension with progress
740
- if (await isDaemonRunning()) {
741
- if (process.env.OPENCLI_VERBOSE || process.stderr.isTTY) {
742
- process.stderr.write('⏳ Waiting for Chrome extension to connect...\n');
743
- process.stderr.write(' Make sure Chrome is open and the OpenCLI extension is enabled.\n');
744
- }
745
- const deadline = Date.now() + timeoutMs;
746
- while (Date.now() < deadline) {
747
- await new Promise(resolve => setTimeout(resolve, 200));
748
- if (await isExtensionConnected()) return;
749
- }
750
- throw new Error(
751
- 'Daemon is running but the Browser Extension is not connected.\n' +
752
- 'Please install and enable the opencli Browser Bridge extension in Chrome.',
753
- );
754
- }
755
-
756
- // No daemon — spawn one
757
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
758
- const parentDir = path.resolve(__dirname, '..');
759
- const daemonTs = path.join(parentDir, 'daemon.ts');
760
- const daemonJs = path.join(parentDir, 'daemon.js');
761
- const isTs = fs.existsSync(daemonTs);
762
- const daemonPath = isTs ? daemonTs : daemonJs;
763
-
764
- if (process.env.OPENCLI_VERBOSE || process.stderr.isTTY) {
765
- process.stderr.write('⏳ Starting daemon...\n');
766
- }
767
-
768
- const spawnArgs = isTs
769
- ? [process.execPath, '--import', 'tsx/esm', daemonPath]
770
- : [process.execPath, daemonPath];
771
-
772
- this._daemonProc = spawn(spawnArgs[0], spawnArgs.slice(1), {
773
- detached: true,
774
- stdio: 'ignore',
775
- env: { ...process.env },
776
- });
777
- this._daemonProc.unref();
778
-
779
- // Wait for daemon + extension with faster polling
780
- const deadline = Date.now() + timeoutMs;
781
- while (Date.now() < deadline) {
782
- await new Promise(resolve => setTimeout(resolve, 200));
783
- if (await isExtensionConnected()) return;
784
- }
785
-
786
- if (await isDaemonRunning()) {
787
- throw new Error(
788
- 'Daemon is running but the Browser Extension is not connected.\n' +
789
- 'Please install and enable the opencli Browser Bridge extension in Chrome.',
790
- );
791
- }
792
-
793
- throw new Error(
794
- 'Failed to start opencli daemon. Try running manually:\n' +
795
- ` node ${daemonPath}\n` +
796
- `Make sure port ${DEFAULT_DAEMON_PORT} is available.`,
797
- );
798
- }
799
- ```
800
-
801
- - [ ] **Step 2: Run existing browser tests to check for regressions**
802
-
803
- ```bash
804
- npx vitest run src/browser.test.ts
805
- ```
806
-
807
- Expected: PASS
808
-
809
- - [ ] **Step 3: Commit**
810
-
811
- ```bash
812
- git add src/browser/mcp.ts
813
- git commit -m "feat(daemon): improve CLI connection-waiting UX with progress messages and 200ms polling"
814
- ```
815
-
816
- ---
817
-
818
- ### Task 8: Run full test suite and verify
819
-
820
- - [ ] **Step 1: Run type check**
821
-
822
- ```bash
823
- npx tsc --noEmit
824
- ```
825
-
826
- Expected: No errors
827
-
828
- - [ ] **Step 2: Run all tests**
829
-
830
- ```bash
831
- npx vitest run
832
- ```
833
-
834
- Expected: All tests pass, no regressions
835
-
836
- - [ ] **Step 3: Manual smoke test**
837
-
838
- ```bash
839
- # Check daemon status (should be "not running" if daemon isn't started)
840
- npx tsx src/main.ts daemon status
841
-
842
- # Start daemon by running any browser command, then check status
843
- npx tsx src/main.ts daemon status
844
-
845
- # Stop daemon
846
- npx tsx src/main.ts daemon stop
847
-
848
- # Verify stopped
849
- npx tsx src/main.ts daemon status
850
- ```
851
-
852
- - [ ] **Step 4: Final commit if any fixes needed**
853
-
854
- ```bash
855
- git add -A
856
- git commit -m "fix: address issues found during smoke testing"
857
- ```