@jackwener/opencli 1.6.2 → 1.6.4

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} +101 -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/{version.js → src/version.js} +7 -1
  679. package/dist/src/weixin-download.test.d.ts +1 -0
  680. package/dist/{weixin-download.test.js → src/weixin-download.test.js} +1 -1
  681. package/package.json +26 -9
  682. package/scripts/check-doc-coverage.sh +2 -2
  683. package/scripts/copy-yaml.cjs +4 -4
  684. package/scripts/fetch-adapters.js +157 -0
  685. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -83
  686. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  687. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -42
  688. package/.github/ISSUE_TEMPLATE/new_site_adapter.yml +0 -57
  689. package/.github/actions/setup-chrome/action.yml +0 -27
  690. package/.github/dependabot.yml +0 -27
  691. package/.github/pull_request_template.md +0 -33
  692. package/.github/workflows/build-extension.yml +0 -67
  693. package/.github/workflows/ci.yml +0 -147
  694. package/.github/workflows/doc-check.yml +0 -36
  695. package/.github/workflows/docs.yml +0 -17
  696. package/.github/workflows/e2e-headed.yml +0 -74
  697. package/.github/workflows/release.yml +0 -44
  698. package/.github/workflows/security.yml +0 -33
  699. package/CHANGELOG.md +0 -321
  700. package/CONTRIBUTING.md +0 -208
  701. package/PRIVACY.md +0 -57
  702. package/TESTING.md +0 -252
  703. package/autoresearch/baseline-browse.txt +0 -1
  704. package/autoresearch/baseline-skill.txt +0 -1
  705. package/autoresearch/browse-tasks.json +0 -686
  706. package/autoresearch/commands/debug.ts +0 -163
  707. package/autoresearch/commands/fix.ts +0 -145
  708. package/autoresearch/commands/plan.ts +0 -88
  709. package/autoresearch/commands/run.ts +0 -138
  710. package/autoresearch/config.ts +0 -82
  711. package/autoresearch/engine.ts +0 -359
  712. package/autoresearch/eval-all.ts +0 -127
  713. package/autoresearch/eval-browse.ts +0 -185
  714. package/autoresearch/eval-publish.ts +0 -238
  715. package/autoresearch/eval-save.ts +0 -249
  716. package/autoresearch/eval-skill.ts +0 -254
  717. package/autoresearch/eval-v2ex.ts +0 -220
  718. package/autoresearch/eval-zhihu.ts +0 -230
  719. package/autoresearch/logger.ts +0 -69
  720. package/autoresearch/presets/combined-reliability.ts +0 -27
  721. package/autoresearch/presets/index.ts +0 -23
  722. package/autoresearch/presets/operate-reliability.ts +0 -24
  723. package/autoresearch/presets/save-reliability.ts +0 -26
  724. package/autoresearch/presets/skill-quality.ts +0 -20
  725. package/autoresearch/presets/v2ex-reliability.ts +0 -24
  726. package/autoresearch/presets/zhihu-reliability.ts +0 -25
  727. package/autoresearch/publish-tasks.json +0 -345
  728. package/autoresearch/run-browse.sh +0 -9
  729. package/autoresearch/run-save.sh +0 -11
  730. package/autoresearch/run-skill.sh +0 -9
  731. package/autoresearch/save-adapters/xhs-explore-deep.ts +0 -64
  732. package/autoresearch/save-adapters/xhs-note-comments.ts +0 -61
  733. package/autoresearch/save-adapters/xhs-search-full.ts +0 -62
  734. package/autoresearch/save-adapters/zhihu-hot-detail.ts +0 -52
  735. package/autoresearch/save-adapters/zhihu-question-full.ts +0 -57
  736. package/autoresearch/save-adapters/zhihu-search-detail.ts +0 -53
  737. package/autoresearch/save-tasks.json +0 -281
  738. package/autoresearch/v2ex-tasks.json +0 -899
  739. package/autoresearch/zhihu-tasks.json +0 -848
  740. package/bun.lock +0 -615
  741. package/dist/cli.d.ts +0 -9
  742. package/docs/.vitepress/config.mts +0 -238
  743. package/docs/adapters/browser/1688.md +0 -52
  744. package/docs/adapters/browser/36kr.md +0 -48
  745. package/docs/adapters/browser/amazon.md +0 -53
  746. package/docs/adapters/browser/apple-podcasts.md +0 -28
  747. package/docs/adapters/browser/arxiv.md +0 -27
  748. package/docs/adapters/browser/band.md +0 -63
  749. package/docs/adapters/browser/barchart.md +0 -33
  750. package/docs/adapters/browser/bbc.md +0 -26
  751. package/docs/adapters/browser/bilibili.md +0 -47
  752. package/docs/adapters/browser/bloomberg.md +0 -70
  753. package/docs/adapters/browser/bluesky.md +0 -53
  754. package/docs/adapters/browser/boss.md +0 -28
  755. package/docs/adapters/browser/chaoxing.md +0 -39
  756. package/docs/adapters/browser/coupang.md +0 -28
  757. package/docs/adapters/browser/ctrip.md +0 -27
  758. package/docs/adapters/browser/devto.md +0 -35
  759. package/docs/adapters/browser/dictionary.md +0 -27
  760. package/docs/adapters/browser/douban.md +0 -62
  761. package/docs/adapters/browser/doubao.md +0 -39
  762. package/docs/adapters/browser/douyin.md +0 -75
  763. package/docs/adapters/browser/facebook.md +0 -36
  764. package/docs/adapters/browser/gemini.md +0 -72
  765. package/docs/adapters/browser/google.md +0 -62
  766. package/docs/adapters/browser/grok.md +0 -53
  767. package/docs/adapters/browser/hackernews.md +0 -42
  768. package/docs/adapters/browser/hf.md +0 -42
  769. package/docs/adapters/browser/hupu.md +0 -53
  770. package/docs/adapters/browser/imdb.md +0 -47
  771. package/docs/adapters/browser/instagram.md +0 -46
  772. package/docs/adapters/browser/jd.md +0 -27
  773. package/docs/adapters/browser/jike.md +0 -45
  774. package/docs/adapters/browser/jimeng.md +0 -39
  775. package/docs/adapters/browser/linkedin.md +0 -33
  776. package/docs/adapters/browser/linux-do.md +0 -206
  777. package/docs/adapters/browser/lobsters.md +0 -32
  778. package/docs/adapters/browser/medium.md +0 -32
  779. package/docs/adapters/browser/notebooklm.md +0 -69
  780. package/docs/adapters/browser/ones.md +0 -59
  781. package/docs/adapters/browser/paperreview.md +0 -43
  782. package/docs/adapters/browser/pixiv.md +0 -92
  783. package/docs/adapters/browser/producthunt.md +0 -49
  784. package/docs/adapters/browser/reddit.md +0 -50
  785. package/docs/adapters/browser/reuters.md +0 -27
  786. package/docs/adapters/browser/sinablog.md +0 -36
  787. package/docs/adapters/browser/sinafinance.md +0 -115
  788. package/docs/adapters/browser/smzdm.md +0 -27
  789. package/docs/adapters/browser/spotify.md +0 -62
  790. package/docs/adapters/browser/stackoverflow.md +0 -35
  791. package/docs/adapters/browser/steam.md +0 -26
  792. package/docs/adapters/browser/substack.md +0 -38
  793. package/docs/adapters/browser/tieba.md +0 -45
  794. package/docs/adapters/browser/tiktok.md +0 -68
  795. package/docs/adapters/browser/twitter.md +0 -56
  796. package/docs/adapters/browser/v2ex.md +0 -53
  797. package/docs/adapters/browser/web.md +0 -30
  798. package/docs/adapters/browser/weibo.md +0 -36
  799. package/docs/adapters/browser/weixin.md +0 -33
  800. package/docs/adapters/browser/weread.md +0 -48
  801. package/docs/adapters/browser/wikipedia.md +0 -32
  802. package/docs/adapters/browser/xianyu.md +0 -42
  803. package/docs/adapters/browser/xiaoe.md +0 -44
  804. package/docs/adapters/browser/xiaohongshu.md +0 -47
  805. package/docs/adapters/browser/xiaoyuzhou.md +0 -28
  806. package/docs/adapters/browser/xueqiu.md +0 -65
  807. package/docs/adapters/browser/yahoo-finance.md +0 -27
  808. package/docs/adapters/browser/yollomi.md +0 -69
  809. package/docs/adapters/browser/youtube.md +0 -29
  810. package/docs/adapters/browser/yuanbao.md +0 -64
  811. package/docs/adapters/browser/zhihu.md +0 -30
  812. package/docs/adapters/browser/zsxq.md +0 -49
  813. package/docs/adapters/desktop/antigravity.md +0 -49
  814. package/docs/adapters/desktop/chatgpt.md +0 -49
  815. package/docs/adapters/desktop/chatwise.md +0 -38
  816. package/docs/adapters/desktop/codex.md +0 -36
  817. package/docs/adapters/desktop/cursor.md +0 -37
  818. package/docs/adapters/desktop/discord.md +0 -28
  819. package/docs/adapters/desktop/doubao-app.md +0 -35
  820. package/docs/adapters/desktop/notion.md +0 -29
  821. package/docs/adapters/index.md +0 -96
  822. package/docs/adapters-doc/ones.md +0 -32
  823. package/docs/advanced/cdp.md +0 -103
  824. package/docs/advanced/download.md +0 -71
  825. package/docs/advanced/electron.md +0 -125
  826. package/docs/advanced/rate-limiter-plugin.md +0 -99
  827. package/docs/advanced/remote-chrome.md +0 -72
  828. package/docs/comparison.md +0 -125
  829. package/docs/developer/ai-workflow.md +0 -66
  830. package/docs/developer/architecture.md +0 -103
  831. package/docs/developer/contributing.md +0 -155
  832. package/docs/developer/testing.md +0 -263
  833. package/docs/developer/ts-adapter.md +0 -105
  834. package/docs/developer/yaml-adapter.md +0 -124
  835. package/docs/guide/browser-bridge.md +0 -49
  836. package/docs/guide/electron-app-cli.md +0 -200
  837. package/docs/guide/getting-started.md +0 -79
  838. package/docs/guide/installation.md +0 -37
  839. package/docs/guide/plugins.md +0 -261
  840. package/docs/guide/troubleshooting.md +0 -72
  841. package/docs/index.md +0 -35
  842. package/docs/superpowers/plans/2026-03-28-perf-smart-wait.md +0 -1143
  843. package/docs/superpowers/plans/2026-03-31-daemon-lifecycle-redesign.md +0 -857
  844. package/docs/superpowers/specs/2026-03-28-perf-smart-wait-design.md +0 -170
  845. package/docs/superpowers/specs/2026-03-31-daemon-lifecycle-redesign.md +0 -208
  846. package/docs/superpowers/specs/2026-04-02-browse-skill-testing-design.md +0 -144
  847. package/docs/superpowers/specs/2026-04-03-v2ex-autoresearch-design.md +0 -41
  848. package/docs/zh/adapters/index.md +0 -5
  849. package/docs/zh/advanced/cdp.md +0 -3
  850. package/docs/zh/developer/contributing.md +0 -24
  851. package/docs/zh/guide/browser-bridge.md +0 -36
  852. package/docs/zh/guide/electron-app-cli.md +0 -188
  853. package/docs/zh/guide/getting-started.md +0 -62
  854. package/docs/zh/guide/installation.md +0 -37
  855. package/docs/zh/guide/plugins.md +0 -183
  856. package/docs/zh/index.md +0 -29
  857. package/extension/dist/background.js +0 -1127
  858. package/extension/icons/icon-128.png +0 -0
  859. package/extension/icons/icon-16.png +0 -0
  860. package/extension/icons/icon-32.png +0 -0
  861. package/extension/icons/icon-48.png +0 -0
  862. package/extension/manifest.json +0 -39
  863. package/extension/package-lock.json +0 -1156
  864. package/extension/package.json +0 -17
  865. package/extension/popup.html +0 -84
  866. package/extension/popup.js +0 -25
  867. package/extension/scripts/package-release.mjs +0 -179
  868. package/extension/src/background.test.ts +0 -279
  869. package/extension/src/background.ts +0 -878
  870. package/extension/src/cdp.test.ts +0 -75
  871. package/extension/src/cdp.ts +0 -440
  872. package/extension/src/protocol.ts +0 -87
  873. package/extension/store-assets/screenshot-1280x800.png +0 -0
  874. package/extension/tsconfig.json +0 -15
  875. package/extension/vite.config.ts +0 -18
  876. package/skills/opencli-explorer/SKILL.md +0 -853
  877. package/skills/opencli-oneshot/SKILL.md +0 -222
  878. package/skills/opencli-operate/SKILL.md +0 -306
  879. package/skills/opencli-usage/SKILL.md +0 -163
  880. package/skills/opencli-usage/browser.md +0 -527
  881. package/skills/opencli-usage/desktop.md +0 -118
  882. package/skills/opencli-usage/plugins.md +0 -82
  883. package/skills/opencli-usage/public-api.md +0 -178
  884. package/skills/smart-search/SKILL.md +0 -156
  885. package/skills/smart-search/references/sources-ai.md +0 -74
  886. package/skills/smart-search/references/sources-info.md +0 -43
  887. package/skills/smart-search/references/sources-media.md +0 -50
  888. package/skills/smart-search/references/sources-other.md +0 -42
  889. package/skills/smart-search/references/sources-shopping.md +0 -31
  890. package/skills/smart-search/references/sources-social.md +0 -51
  891. package/skills/smart-search/references/sources-tech.md +0 -42
  892. package/skills/smart-search/references/sources-travel.md +0 -20
  893. package/src/analysis.ts +0 -170
  894. package/src/browser/base-page.ts +0 -232
  895. package/src/browser/bridge.ts +0 -129
  896. package/src/browser/cdp.test.ts +0 -66
  897. package/src/browser/cdp.ts +0 -341
  898. package/src/browser/daemon-client.test.ts +0 -103
  899. package/src/browser/daemon-client.ts +0 -175
  900. package/src/browser/discover.ts +0 -26
  901. package/src/browser/dom-helpers.test.ts +0 -114
  902. package/src/browser/dom-helpers.ts +0 -238
  903. package/src/browser/dom-snapshot.test.ts +0 -291
  904. package/src/browser/dom-snapshot.ts +0 -845
  905. package/src/browser/errors.ts +0 -63
  906. package/src/browser/index.ts +0 -14
  907. package/src/browser/page.test.ts +0 -58
  908. package/src/browser/page.ts +0 -315
  909. package/src/browser/stealth.test.ts +0 -153
  910. package/src/browser/stealth.ts +0 -354
  911. package/src/browser/tabs.ts +0 -76
  912. package/src/browser/utils.ts +0 -27
  913. package/src/browser.test.ts +0 -195
  914. package/src/build-manifest.test.ts +0 -200
  915. package/src/build-manifest.ts +0 -279
  916. package/src/capabilityRouting.test.ts +0 -47
  917. package/src/capabilityRouting.ts +0 -29
  918. package/src/cascade.ts +0 -192
  919. package/src/cli.test.ts +0 -133
  920. package/src/cli.ts +0 -1012
  921. package/src/clis/1688/item.test.ts +0 -69
  922. package/src/clis/1688/item.ts +0 -282
  923. package/src/clis/1688/search.test.ts +0 -81
  924. package/src/clis/1688/search.ts +0 -402
  925. package/src/clis/1688/shared.test.ts +0 -75
  926. package/src/clis/1688/shared.ts +0 -623
  927. package/src/clis/1688/store.test.ts +0 -69
  928. package/src/clis/1688/store.ts +0 -300
  929. package/src/clis/36kr/article.ts +0 -69
  930. package/src/clis/36kr/hot.test.ts +0 -19
  931. package/src/clis/36kr/hot.ts +0 -100
  932. package/src/clis/36kr/news.test.ts +0 -90
  933. package/src/clis/36kr/news.ts +0 -54
  934. package/src/clis/36kr/search.ts +0 -78
  935. package/src/clis/_shared/common.ts +0 -11
  936. package/src/clis/_shared/desktop-commands.ts +0 -121
  937. package/src/clis/amazon/bestsellers.test.ts +0 -31
  938. package/src/clis/amazon/bestsellers.ts +0 -8
  939. package/src/clis/amazon/discussion.test.ts +0 -38
  940. package/src/clis/amazon/discussion.ts +0 -131
  941. package/src/clis/amazon/movers-shakers.ts +0 -8
  942. package/src/clis/amazon/new-releases.ts +0 -8
  943. package/src/clis/amazon/offer.test.ts +0 -35
  944. package/src/clis/amazon/offer.ts +0 -185
  945. package/src/clis/amazon/product.test.ts +0 -26
  946. package/src/clis/amazon/product.ts +0 -131
  947. package/src/clis/amazon/rankings.test.ts +0 -47
  948. package/src/clis/amazon/rankings.ts +0 -312
  949. package/src/clis/amazon/search.test.ts +0 -24
  950. package/src/clis/amazon/search.ts +0 -128
  951. package/src/clis/amazon/shared.test.ts +0 -53
  952. package/src/clis/amazon/shared.ts +0 -438
  953. package/src/clis/antigravity/SKILL.md +0 -38
  954. package/src/clis/antigravity/dump.ts +0 -30
  955. package/src/clis/antigravity/extract-code.ts +0 -34
  956. package/src/clis/antigravity/model.ts +0 -47
  957. package/src/clis/antigravity/new.ts +0 -28
  958. package/src/clis/antigravity/read.ts +0 -36
  959. package/src/clis/antigravity/send.ts +0 -40
  960. package/src/clis/antigravity/serve.ts +0 -600
  961. package/src/clis/antigravity/status.ts +0 -19
  962. package/src/clis/antigravity/watch.ts +0 -45
  963. package/src/clis/apple-podcasts/commands.test.ts +0 -123
  964. package/src/clis/apple-podcasts/episodes.ts +0 -28
  965. package/src/clis/apple-podcasts/search.ts +0 -30
  966. package/src/clis/apple-podcasts/top.ts +0 -47
  967. package/src/clis/apple-podcasts/utils.test.ts +0 -72
  968. package/src/clis/apple-podcasts/utils.ts +0 -37
  969. package/src/clis/arxiv/paper.ts +0 -21
  970. package/src/clis/arxiv/search.ts +0 -24
  971. package/src/clis/arxiv/utils.ts +0 -63
  972. package/src/clis/band/bands.ts +0 -76
  973. package/src/clis/band/mentions.ts +0 -134
  974. package/src/clis/band/post.ts +0 -187
  975. package/src/clis/band/posts.ts +0 -106
  976. package/src/clis/barchart/flow.ts +0 -120
  977. package/src/clis/barchart/greeks.ts +0 -123
  978. package/src/clis/barchart/options.ts +0 -110
  979. package/src/clis/barchart/quote.ts +0 -137
  980. package/src/clis/bbc/news.ts +0 -41
  981. package/src/clis/bilibili/comments.test.ts +0 -103
  982. package/src/clis/bilibili/comments.ts +0 -44
  983. package/src/clis/bilibili/download.ts +0 -93
  984. package/src/clis/bilibili/dynamic.test.ts +0 -79
  985. package/src/clis/bilibili/dynamic.ts +0 -34
  986. package/src/clis/bilibili/favorite.ts +0 -45
  987. package/src/clis/bilibili/feed.ts +0 -71
  988. package/src/clis/bilibili/following.ts +0 -51
  989. package/src/clis/bilibili/history.ts +0 -48
  990. package/src/clis/bilibili/hot.yaml +0 -38
  991. package/src/clis/bilibili/me.ts +0 -14
  992. package/src/clis/bilibili/ranking.ts +0 -25
  993. package/src/clis/bilibili/search.ts +0 -25
  994. package/src/clis/bilibili/subtitle.test.ts +0 -61
  995. package/src/clis/bilibili/subtitle.ts +0 -106
  996. package/src/clis/bilibili/user-videos.ts +0 -42
  997. package/src/clis/bilibili/utils.test.ts +0 -21
  998. package/src/clis/bilibili/utils.ts +0 -143
  999. package/src/clis/bloomberg/businessweek.ts +0 -18
  1000. package/src/clis/bloomberg/economics.ts +0 -18
  1001. package/src/clis/bloomberg/feeds.ts +0 -16
  1002. package/src/clis/bloomberg/industries.ts +0 -18
  1003. package/src/clis/bloomberg/main.ts +0 -18
  1004. package/src/clis/bloomberg/markets.ts +0 -18
  1005. package/src/clis/bloomberg/news.ts +0 -136
  1006. package/src/clis/bloomberg/opinions.ts +0 -18
  1007. package/src/clis/bloomberg/politics.ts +0 -18
  1008. package/src/clis/bloomberg/tech.ts +0 -18
  1009. package/src/clis/bloomberg/utils.test.ts +0 -135
  1010. package/src/clis/bloomberg/utils.ts +0 -429
  1011. package/src/clis/bluesky/feeds.yaml +0 -29
  1012. package/src/clis/bluesky/followers.yaml +0 -33
  1013. package/src/clis/bluesky/following.yaml +0 -33
  1014. package/src/clis/bluesky/profile.yaml +0 -27
  1015. package/src/clis/bluesky/search.yaml +0 -34
  1016. package/src/clis/bluesky/starter-packs.yaml +0 -34
  1017. package/src/clis/bluesky/thread.yaml +0 -32
  1018. package/src/clis/bluesky/trending.yaml +0 -27
  1019. package/src/clis/bluesky/user.yaml +0 -34
  1020. package/src/clis/boss/batchgreet.ts +0 -75
  1021. package/src/clis/boss/chatlist.ts +0 -36
  1022. package/src/clis/boss/chatmsg.ts +0 -46
  1023. package/src/clis/boss/detail.ts +0 -69
  1024. package/src/clis/boss/exchange.ts +0 -52
  1025. package/src/clis/boss/greet.ts +0 -61
  1026. package/src/clis/boss/invite.ts +0 -80
  1027. package/src/clis/boss/joblist.ts +0 -34
  1028. package/src/clis/boss/mark.ts +0 -75
  1029. package/src/clis/boss/recommend.ts +0 -49
  1030. package/src/clis/boss/resume.ts +0 -157
  1031. package/src/clis/boss/search.ts +0 -162
  1032. package/src/clis/boss/send.ts +0 -54
  1033. package/src/clis/boss/stats.ts +0 -75
  1034. package/src/clis/boss/utils.ts +0 -287
  1035. package/src/clis/chaoxing/assignments.ts +0 -89
  1036. package/src/clis/chaoxing/exams.ts +0 -88
  1037. package/src/clis/chaoxing/utils.test.ts +0 -53
  1038. package/src/clis/chaoxing/utils.ts +0 -266
  1039. package/src/clis/chatgpt/ask.ts +0 -95
  1040. package/src/clis/chatgpt/ax.ts +0 -260
  1041. package/src/clis/chatgpt/model.ts +0 -27
  1042. package/src/clis/chatgpt/new.ts +0 -29
  1043. package/src/clis/chatgpt/read.ts +0 -35
  1044. package/src/clis/chatgpt/send.ts +0 -59
  1045. package/src/clis/chatgpt/status.ts +0 -27
  1046. package/src/clis/chatwise/ask.ts +0 -90
  1047. package/src/clis/chatwise/export.ts +0 -51
  1048. package/src/clis/chatwise/history.ts +0 -61
  1049. package/src/clis/chatwise/model.ts +0 -89
  1050. package/src/clis/chatwise/new.ts +0 -3
  1051. package/src/clis/chatwise/read.ts +0 -42
  1052. package/src/clis/chatwise/screenshot.ts +0 -3
  1053. package/src/clis/chatwise/send.ts +0 -53
  1054. package/src/clis/chatwise/status.ts +0 -3
  1055. package/src/clis/codex/ask.ts +0 -80
  1056. package/src/clis/codex/dump.ts +0 -3
  1057. package/src/clis/codex/export.ts +0 -42
  1058. package/src/clis/codex/extract-diff.ts +0 -48
  1059. package/src/clis/codex/history.ts +0 -47
  1060. package/src/clis/codex/model.ts +0 -59
  1061. package/src/clis/codex/new.ts +0 -3
  1062. package/src/clis/codex/read.ts +0 -37
  1063. package/src/clis/codex/screenshot.ts +0 -3
  1064. package/src/clis/codex/send.ts +0 -48
  1065. package/src/clis/codex/status.ts +0 -3
  1066. package/src/clis/coupang/add-to-cart.ts +0 -148
  1067. package/src/clis/coupang/search.ts +0 -464
  1068. package/src/clis/coupang/utils.test.ts +0 -78
  1069. package/src/clis/coupang/utils.ts +0 -302
  1070. package/src/clis/ctrip/search.test.ts +0 -73
  1071. package/src/clis/ctrip/search.ts +0 -111
  1072. package/src/clis/cursor/ask.ts +0 -82
  1073. package/src/clis/cursor/composer.ts +0 -51
  1074. package/src/clis/cursor/dump.ts +0 -3
  1075. package/src/clis/cursor/export.ts +0 -57
  1076. package/src/clis/cursor/extract-code.ts +0 -39
  1077. package/src/clis/cursor/history.ts +0 -47
  1078. package/src/clis/cursor/model.ts +0 -57
  1079. package/src/clis/cursor/new.ts +0 -3
  1080. package/src/clis/cursor/read.ts +0 -48
  1081. package/src/clis/cursor/screenshot.ts +0 -3
  1082. package/src/clis/cursor/send.ts +0 -48
  1083. package/src/clis/cursor/status.ts +0 -3
  1084. package/src/clis/devto/tag.yaml +0 -34
  1085. package/src/clis/devto/top.yaml +0 -29
  1086. package/src/clis/devto/user.yaml +0 -33
  1087. package/src/clis/dictionary/examples.yaml +0 -25
  1088. package/src/clis/dictionary/search.yaml +0 -27
  1089. package/src/clis/dictionary/synonyms.yaml +0 -25
  1090. package/src/clis/discord-app/channels.ts +0 -60
  1091. package/src/clis/discord-app/members.ts +0 -41
  1092. package/src/clis/discord-app/read.ts +0 -49
  1093. package/src/clis/discord-app/search.ts +0 -64
  1094. package/src/clis/discord-app/send.ts +0 -32
  1095. package/src/clis/discord-app/servers.ts +0 -39
  1096. package/src/clis/discord-app/status.ts +0 -18
  1097. package/src/clis/douban/book-hot.ts +0 -15
  1098. package/src/clis/douban/download.test.ts +0 -196
  1099. package/src/clis/douban/download.ts +0 -78
  1100. package/src/clis/douban/marks.ts +0 -135
  1101. package/src/clis/douban/movie-hot.ts +0 -15
  1102. package/src/clis/douban/photos.ts +0 -36
  1103. package/src/clis/douban/reviews.ts +0 -127
  1104. package/src/clis/douban/search.ts +0 -17
  1105. package/src/clis/douban/subject.yaml +0 -107
  1106. package/src/clis/douban/top250.yaml +0 -70
  1107. package/src/clis/douban/utils.test.ts +0 -97
  1108. package/src/clis/douban/utils.ts +0 -472
  1109. package/src/clis/doubao/ask.ts +0 -40
  1110. package/src/clis/doubao/detail.test.ts +0 -53
  1111. package/src/clis/doubao/detail.ts +0 -41
  1112. package/src/clis/doubao/history.test.ts +0 -45
  1113. package/src/clis/doubao/history.ts +0 -32
  1114. package/src/clis/doubao/meeting-summary.ts +0 -53
  1115. package/src/clis/doubao/meeting-transcript.ts +0 -48
  1116. package/src/clis/doubao/new.ts +0 -22
  1117. package/src/clis/doubao/read.ts +0 -20
  1118. package/src/clis/doubao/send.ts +0 -25
  1119. package/src/clis/doubao/status.ts +0 -27
  1120. package/src/clis/doubao/utils.test.ts +0 -45
  1121. package/src/clis/doubao/utils.ts +0 -1010
  1122. package/src/clis/doubao-app/ask.ts +0 -60
  1123. package/src/clis/doubao-app/dump.ts +0 -28
  1124. package/src/clis/doubao-app/new.ts +0 -21
  1125. package/src/clis/doubao-app/read.ts +0 -21
  1126. package/src/clis/doubao-app/screenshot.ts +0 -19
  1127. package/src/clis/doubao-app/send.ts +0 -30
  1128. package/src/clis/doubao-app/status.ts +0 -17
  1129. package/src/clis/doubao-app/utils.ts +0 -116
  1130. package/src/clis/douyin/_shared/browser-fetch.test.ts +0 -37
  1131. package/src/clis/douyin/_shared/browser-fetch.ts +0 -45
  1132. package/src/clis/douyin/_shared/creation-id.test.ts +0 -26
  1133. package/src/clis/douyin/_shared/creation-id.ts +0 -8
  1134. package/src/clis/douyin/_shared/imagex-upload.test.ts +0 -113
  1135. package/src/clis/douyin/_shared/imagex-upload.ts +0 -76
  1136. package/src/clis/douyin/_shared/public-api.ts +0 -84
  1137. package/src/clis/douyin/_shared/sts2.test.ts +0 -31
  1138. package/src/clis/douyin/_shared/sts2.ts +0 -28
  1139. package/src/clis/douyin/_shared/text-extra.test.ts +0 -42
  1140. package/src/clis/douyin/_shared/text-extra.ts +0 -33
  1141. package/src/clis/douyin/_shared/timing.test.ts +0 -38
  1142. package/src/clis/douyin/_shared/timing.ts +0 -22
  1143. package/src/clis/douyin/_shared/tos-upload-short-read.test.ts +0 -102
  1144. package/src/clis/douyin/_shared/tos-upload.test.ts +0 -281
  1145. package/src/clis/douyin/_shared/tos-upload.ts +0 -444
  1146. package/src/clis/douyin/_shared/transcode.test.ts +0 -115
  1147. package/src/clis/douyin/_shared/transcode.ts +0 -78
  1148. package/src/clis/douyin/_shared/types.ts +0 -29
  1149. package/src/clis/douyin/activities.test.ts +0 -65
  1150. package/src/clis/douyin/activities.ts +0 -32
  1151. package/src/clis/douyin/collections.test.ts +0 -59
  1152. package/src/clis/douyin/collections.ts +0 -25
  1153. package/src/clis/douyin/delete.test.ts +0 -12
  1154. package/src/clis/douyin/delete.ts +0 -20
  1155. package/src/clis/douyin/draft.test.ts +0 -452
  1156. package/src/clis/douyin/draft.ts +0 -446
  1157. package/src/clis/douyin/drafts.test.ts +0 -12
  1158. package/src/clis/douyin/drafts.ts +0 -27
  1159. package/src/clis/douyin/hashtag.test.ts +0 -68
  1160. package/src/clis/douyin/hashtag.ts +0 -64
  1161. package/src/clis/douyin/location.test.ts +0 -26
  1162. package/src/clis/douyin/location.ts +0 -27
  1163. package/src/clis/douyin/profile.test.ts +0 -54
  1164. package/src/clis/douyin/profile.ts +0 -44
  1165. package/src/clis/douyin/publish.test.ts +0 -45
  1166. package/src/clis/douyin/publish.ts +0 -340
  1167. package/src/clis/douyin/stats.test.ts +0 -25
  1168. package/src/clis/douyin/stats.ts +0 -30
  1169. package/src/clis/douyin/update.test.ts +0 -12
  1170. package/src/clis/douyin/update.ts +0 -43
  1171. package/src/clis/douyin/user-videos.test.ts +0 -122
  1172. package/src/clis/douyin/user-videos.ts +0 -101
  1173. package/src/clis/douyin/videos.test.ts +0 -62
  1174. package/src/clis/douyin/videos.ts +0 -83
  1175. package/src/clis/facebook/add-friend.yaml +0 -43
  1176. package/src/clis/facebook/events.yaml +0 -44
  1177. package/src/clis/facebook/feed.yaml +0 -63
  1178. package/src/clis/facebook/friends.yaml +0 -42
  1179. package/src/clis/facebook/groups.yaml +0 -50
  1180. package/src/clis/facebook/join-group.yaml +0 -44
  1181. package/src/clis/facebook/memories.yaml +0 -39
  1182. package/src/clis/facebook/notifications.yaml +0 -40
  1183. package/src/clis/facebook/profile.yaml +0 -37
  1184. package/src/clis/facebook/search.test.ts +0 -68
  1185. package/src/clis/facebook/search.yaml +0 -47
  1186. package/src/clis/gemini/ask.test.ts +0 -116
  1187. package/src/clis/gemini/ask.ts +0 -53
  1188. package/src/clis/gemini/image.ts +0 -115
  1189. package/src/clis/gemini/new.ts +0 -22
  1190. package/src/clis/gemini/reply-state.test.ts +0 -708
  1191. package/src/clis/gemini/utils.test.ts +0 -218
  1192. package/src/clis/gemini/utils.ts +0 -1051
  1193. package/src/clis/google/news.ts +0 -66
  1194. package/src/clis/google/search.ts +0 -133
  1195. package/src/clis/google/suggest.ts +0 -40
  1196. package/src/clis/google/trends.ts +0 -44
  1197. package/src/clis/google/utils.test.ts +0 -82
  1198. package/src/clis/google/utils.ts +0 -24
  1199. package/src/clis/grok/ask.test.ts +0 -78
  1200. package/src/clis/grok/ask.ts +0 -334
  1201. package/src/clis/hackernews/ask.yaml +0 -38
  1202. package/src/clis/hackernews/best.yaml +0 -38
  1203. package/src/clis/hackernews/jobs.yaml +0 -36
  1204. package/src/clis/hackernews/new.yaml +0 -38
  1205. package/src/clis/hackernews/search.yaml +0 -44
  1206. package/src/clis/hackernews/show.yaml +0 -38
  1207. package/src/clis/hackernews/top.yaml +0 -38
  1208. package/src/clis/hackernews/user.yaml +0 -25
  1209. package/src/clis/hf/top.ts +0 -141
  1210. package/src/clis/hupu/detail.ts +0 -126
  1211. package/src/clis/hupu/hot.yaml +0 -43
  1212. package/src/clis/hupu/like.ts +0 -76
  1213. package/src/clis/hupu/reply.ts +0 -76
  1214. package/src/clis/hupu/search.ts +0 -95
  1215. package/src/clis/hupu/unlike.ts +0 -76
  1216. package/src/clis/hupu/utils.ts +0 -381
  1217. package/src/clis/imdb/person.ts +0 -232
  1218. package/src/clis/imdb/reviews.ts +0 -111
  1219. package/src/clis/imdb/search.ts +0 -179
  1220. package/src/clis/imdb/title.ts +0 -121
  1221. package/src/clis/imdb/top.ts +0 -67
  1222. package/src/clis/imdb/trending.ts +0 -66
  1223. package/src/clis/imdb/utils.test.ts +0 -117
  1224. package/src/clis/imdb/utils.ts +0 -305
  1225. package/src/clis/instagram/_shared/private-publish.test.ts +0 -827
  1226. package/src/clis/instagram/_shared/private-publish.ts +0 -1303
  1227. package/src/clis/instagram/_shared/protocol-capture.test.ts +0 -148
  1228. package/src/clis/instagram/_shared/protocol-capture.ts +0 -321
  1229. package/src/clis/instagram/_shared/runtime-info.ts +0 -91
  1230. package/src/clis/instagram/comment.yaml +0 -52
  1231. package/src/clis/instagram/download.test.ts +0 -159
  1232. package/src/clis/instagram/download.ts +0 -286
  1233. package/src/clis/instagram/explore.yaml +0 -43
  1234. package/src/clis/instagram/follow.yaml +0 -41
  1235. package/src/clis/instagram/followers.yaml +0 -51
  1236. package/src/clis/instagram/following.yaml +0 -51
  1237. package/src/clis/instagram/like.yaml +0 -46
  1238. package/src/clis/instagram/note.test.ts +0 -96
  1239. package/src/clis/instagram/note.ts +0 -254
  1240. package/src/clis/instagram/post.test.ts +0 -1716
  1241. package/src/clis/instagram/post.ts +0 -1620
  1242. package/src/clis/instagram/profile.yaml +0 -42
  1243. package/src/clis/instagram/reel.test.ts +0 -191
  1244. package/src/clis/instagram/reel.ts +0 -886
  1245. package/src/clis/instagram/save.yaml +0 -46
  1246. package/src/clis/instagram/saved.yaml +0 -40
  1247. package/src/clis/instagram/search.yaml +0 -44
  1248. package/src/clis/instagram/story.test.ts +0 -191
  1249. package/src/clis/instagram/story.ts +0 -151
  1250. package/src/clis/instagram/unfollow.yaml +0 -38
  1251. package/src/clis/instagram/unlike.yaml +0 -46
  1252. package/src/clis/instagram/unsave.yaml +0 -46
  1253. package/src/clis/instagram/user.yaml +0 -54
  1254. package/src/clis/jd/item.test.ts +0 -52
  1255. package/src/clis/jd/item.ts +0 -104
  1256. package/src/clis/jike/comment.ts +0 -112
  1257. package/src/clis/jike/create.ts +0 -112
  1258. package/src/clis/jike/feed.ts +0 -73
  1259. package/src/clis/jike/like.ts +0 -64
  1260. package/src/clis/jike/notifications.ts +0 -184
  1261. package/src/clis/jike/post.yaml +0 -59
  1262. package/src/clis/jike/repost.ts +0 -113
  1263. package/src/clis/jike/search.ts +0 -73
  1264. package/src/clis/jike/topic.yaml +0 -53
  1265. package/src/clis/jike/user.yaml +0 -52
  1266. package/src/clis/jike/utils.ts +0 -36
  1267. package/src/clis/jimeng/generate.yaml +0 -85
  1268. package/src/clis/jimeng/history.yaml +0 -46
  1269. package/src/clis/linkedin/search.ts +0 -417
  1270. package/src/clis/linkedin/timeline.test.ts +0 -99
  1271. package/src/clis/linkedin/timeline.ts +0 -532
  1272. package/src/clis/linux-do/categories.yaml +0 -70
  1273. package/src/clis/linux-do/category.ts +0 -37
  1274. package/src/clis/linux-do/feed.test.ts +0 -132
  1275. package/src/clis/linux-do/feed.ts +0 -501
  1276. package/src/clis/linux-do/hot.ts +0 -26
  1277. package/src/clis/linux-do/latest.ts +0 -19
  1278. package/src/clis/linux-do/search.yaml +0 -48
  1279. package/src/clis/linux-do/tags.yaml +0 -41
  1280. package/src/clis/linux-do/topic.yaml +0 -77
  1281. package/src/clis/linux-do/user-posts.yaml +0 -67
  1282. package/src/clis/linux-do/user-topics.yaml +0 -54
  1283. package/src/clis/lobsters/active.yaml +0 -29
  1284. package/src/clis/lobsters/hot.yaml +0 -29
  1285. package/src/clis/lobsters/newest.yaml +0 -29
  1286. package/src/clis/lobsters/tag.yaml +0 -34
  1287. package/src/clis/medium/feed.ts +0 -16
  1288. package/src/clis/medium/search.ts +0 -16
  1289. package/src/clis/medium/user.ts +0 -16
  1290. package/src/clis/medium/utils.ts +0 -84
  1291. package/src/clis/notebooklm/compat.test.ts +0 -19
  1292. package/src/clis/notebooklm/current.ts +0 -37
  1293. package/src/clis/notebooklm/get.ts +0 -51
  1294. package/src/clis/notebooklm/history.test.ts +0 -70
  1295. package/src/clis/notebooklm/history.ts +0 -34
  1296. package/src/clis/notebooklm/list.ts +0 -40
  1297. package/src/clis/notebooklm/note-list.test.ts +0 -64
  1298. package/src/clis/notebooklm/note-list.ts +0 -40
  1299. package/src/clis/notebooklm/notes-get.test.ts +0 -88
  1300. package/src/clis/notebooklm/notes-get.ts +0 -65
  1301. package/src/clis/notebooklm/open.test.ts +0 -78
  1302. package/src/clis/notebooklm/open.ts +0 -61
  1303. package/src/clis/notebooklm/rpc.test.ts +0 -126
  1304. package/src/clis/notebooklm/rpc.ts +0 -286
  1305. package/src/clis/notebooklm/shared.ts +0 -98
  1306. package/src/clis/notebooklm/source-fulltext.test.ts +0 -123
  1307. package/src/clis/notebooklm/source-fulltext.ts +0 -67
  1308. package/src/clis/notebooklm/source-get.test.ts +0 -100
  1309. package/src/clis/notebooklm/source-get.ts +0 -58
  1310. package/src/clis/notebooklm/source-guide.test.ts +0 -121
  1311. package/src/clis/notebooklm/source-guide.ts +0 -67
  1312. package/src/clis/notebooklm/source-list.ts +0 -43
  1313. package/src/clis/notebooklm/status.ts +0 -33
  1314. package/src/clis/notebooklm/summary.test.ts +0 -94
  1315. package/src/clis/notebooklm/summary.ts +0 -43
  1316. package/src/clis/notebooklm/utils.test.ts +0 -446
  1317. package/src/clis/notebooklm/utils.ts +0 -902
  1318. package/src/clis/notion/export.ts +0 -36
  1319. package/src/clis/notion/favorites.ts +0 -87
  1320. package/src/clis/notion/new.ts +0 -39
  1321. package/src/clis/notion/read.ts +0 -33
  1322. package/src/clis/notion/search.ts +0 -54
  1323. package/src/clis/notion/sidebar.ts +0 -44
  1324. package/src/clis/notion/status.ts +0 -18
  1325. package/src/clis/notion/write.ts +0 -45
  1326. package/src/clis/ones/common.ts +0 -187
  1327. package/src/clis/ones/enrich-tasks.ts +0 -47
  1328. package/src/clis/ones/login.ts +0 -103
  1329. package/src/clis/ones/logout.ts +0 -19
  1330. package/src/clis/ones/me.ts +0 -34
  1331. package/src/clis/ones/my-tasks.ts +0 -148
  1332. package/src/clis/ones/resolve-labels.ts +0 -80
  1333. package/src/clis/ones/task-helpers.test.ts +0 -14
  1334. package/src/clis/ones/task-helpers.ts +0 -214
  1335. package/src/clis/ones/task.ts +0 -79
  1336. package/src/clis/ones/tasks.ts +0 -92
  1337. package/src/clis/ones/token-info.ts +0 -46
  1338. package/src/clis/ones/worklog.test.ts +0 -24
  1339. package/src/clis/ones/worklog.ts +0 -306
  1340. package/src/clis/paperreview/commands.test.ts +0 -283
  1341. package/src/clis/paperreview/feedback.ts +0 -64
  1342. package/src/clis/paperreview/review.ts +0 -47
  1343. package/src/clis/paperreview/submit.ts +0 -119
  1344. package/src/clis/paperreview/utils.test.ts +0 -68
  1345. package/src/clis/paperreview/utils.ts +0 -276
  1346. package/src/clis/pixiv/detail.yaml +0 -49
  1347. package/src/clis/pixiv/download.test.ts +0 -114
  1348. package/src/clis/pixiv/download.ts +0 -91
  1349. package/src/clis/pixiv/illusts.test.ts +0 -115
  1350. package/src/clis/pixiv/illusts.ts +0 -78
  1351. package/src/clis/pixiv/ranking.yaml +0 -53
  1352. package/src/clis/pixiv/search.test.ts +0 -97
  1353. package/src/clis/pixiv/search.ts +0 -53
  1354. package/src/clis/pixiv/test-utils.ts +0 -29
  1355. package/src/clis/pixiv/user.yaml +0 -46
  1356. package/src/clis/pixiv/utils.ts +0 -62
  1357. package/src/clis/producthunt/browse.ts +0 -109
  1358. package/src/clis/producthunt/hot.ts +0 -127
  1359. package/src/clis/producthunt/posts.ts +0 -29
  1360. package/src/clis/producthunt/today.ts +0 -37
  1361. package/src/clis/producthunt/utils.test.ts +0 -72
  1362. package/src/clis/producthunt/utils.ts +0 -122
  1363. package/src/clis/reddit/comment.ts +0 -60
  1364. package/src/clis/reddit/frontpage.yaml +0 -30
  1365. package/src/clis/reddit/hot.yaml +0 -47
  1366. package/src/clis/reddit/popular.yaml +0 -40
  1367. package/src/clis/reddit/read.test.ts +0 -34
  1368. package/src/clis/reddit/read.ts +0 -186
  1369. package/src/clis/reddit/save.ts +0 -54
  1370. package/src/clis/reddit/saved.ts +0 -51
  1371. package/src/clis/reddit/search.yaml +0 -61
  1372. package/src/clis/reddit/subreddit.yaml +0 -50
  1373. package/src/clis/reddit/subscribe.ts +0 -53
  1374. package/src/clis/reddit/upvote.ts +0 -67
  1375. package/src/clis/reddit/upvoted.ts +0 -51
  1376. package/src/clis/reddit/user-comments.yaml +0 -46
  1377. package/src/clis/reddit/user-posts.yaml +0 -44
  1378. package/src/clis/reddit/user.yaml +0 -40
  1379. package/src/clis/reuters/search.ts +0 -51
  1380. package/src/clis/sinablog/article.ts +0 -15
  1381. package/src/clis/sinablog/hot.ts +0 -15
  1382. package/src/clis/sinablog/search.ts +0 -56
  1383. package/src/clis/sinablog/user.ts +0 -16
  1384. package/src/clis/sinablog/utils.ts +0 -197
  1385. package/src/clis/sinafinance/news.ts +0 -76
  1386. package/src/clis/sinafinance/rolling-news.ts +0 -42
  1387. package/src/clis/sinafinance/stock-rank.ts +0 -68
  1388. package/src/clis/sinafinance/stock.ts +0 -127
  1389. package/src/clis/smzdm/search.ts +0 -56
  1390. package/src/clis/spotify/spotify.ts +0 -328
  1391. package/src/clis/spotify/utils.test.ts +0 -87
  1392. package/src/clis/spotify/utils.ts +0 -92
  1393. package/src/clis/stackoverflow/bounties.yaml +0 -29
  1394. package/src/clis/stackoverflow/hot.yaml +0 -28
  1395. package/src/clis/stackoverflow/search.yaml +0 -33
  1396. package/src/clis/stackoverflow/unanswered.yaml +0 -28
  1397. package/src/clis/steam/top-sellers.yaml +0 -29
  1398. package/src/clis/substack/feed.ts +0 -16
  1399. package/src/clis/substack/publication.ts +0 -16
  1400. package/src/clis/substack/search.ts +0 -92
  1401. package/src/clis/substack/utils.test.ts +0 -52
  1402. package/src/clis/substack/utils.ts +0 -141
  1403. package/src/clis/tieba/commands.test.ts +0 -86
  1404. package/src/clis/tieba/hot.ts +0 -52
  1405. package/src/clis/tieba/posts.ts +0 -108
  1406. package/src/clis/tieba/read.ts +0 -158
  1407. package/src/clis/tieba/search.ts +0 -119
  1408. package/src/clis/tieba/utils.test.ts +0 -322
  1409. package/src/clis/tieba/utils.ts +0 -348
  1410. package/src/clis/tiktok/comment.yaml +0 -66
  1411. package/src/clis/tiktok/explore.yaml +0 -39
  1412. package/src/clis/tiktok/follow.yaml +0 -39
  1413. package/src/clis/tiktok/following.yaml +0 -46
  1414. package/src/clis/tiktok/friends.yaml +0 -47
  1415. package/src/clis/tiktok/like.yaml +0 -38
  1416. package/src/clis/tiktok/live.yaml +0 -51
  1417. package/src/clis/tiktok/notifications.yaml +0 -52
  1418. package/src/clis/tiktok/profile.yaml +0 -45
  1419. package/src/clis/tiktok/save.yaml +0 -34
  1420. package/src/clis/tiktok/search.yaml +0 -47
  1421. package/src/clis/tiktok/unfollow.yaml +0 -44
  1422. package/src/clis/tiktok/unlike.yaml +0 -38
  1423. package/src/clis/tiktok/unsave.yaml +0 -36
  1424. package/src/clis/tiktok/user.yaml +0 -44
  1425. package/src/clis/twitter/accept.ts +0 -214
  1426. package/src/clis/twitter/article.ts +0 -170
  1427. package/src/clis/twitter/block.ts +0 -93
  1428. package/src/clis/twitter/bookmark.ts +0 -68
  1429. package/src/clis/twitter/bookmarks.ts +0 -202
  1430. package/src/clis/twitter/delete.ts +0 -78
  1431. package/src/clis/twitter/download.ts +0 -118
  1432. package/src/clis/twitter/follow.ts +0 -70
  1433. package/src/clis/twitter/followers.ts +0 -116
  1434. package/src/clis/twitter/following.ts +0 -109
  1435. package/src/clis/twitter/hide-reply.ts +0 -71
  1436. package/src/clis/twitter/like.ts +0 -74
  1437. package/src/clis/twitter/likes.test.ts +0 -91
  1438. package/src/clis/twitter/likes.ts +0 -256
  1439. package/src/clis/twitter/notifications.ts +0 -136
  1440. package/src/clis/twitter/post.test.ts +0 -157
  1441. package/src/clis/twitter/post.ts +0 -110
  1442. package/src/clis/twitter/profile.ts +0 -108
  1443. package/src/clis/twitter/reply-dm.ts +0 -194
  1444. package/src/clis/twitter/reply.test.ts +0 -177
  1445. package/src/clis/twitter/reply.ts +0 -309
  1446. package/src/clis/twitter/search.test.ts +0 -265
  1447. package/src/clis/twitter/search.ts +0 -185
  1448. package/src/clis/twitter/shared.ts +0 -45
  1449. package/src/clis/twitter/thread.ts +0 -182
  1450. package/src/clis/twitter/timeline.test.ts +0 -109
  1451. package/src/clis/twitter/timeline.ts +0 -248
  1452. package/src/clis/twitter/trending.ts +0 -66
  1453. package/src/clis/twitter/unblock.ts +0 -76
  1454. package/src/clis/twitter/unbookmark.ts +0 -67
  1455. package/src/clis/twitter/unfollow.ts +0 -76
  1456. package/src/clis/v2ex/daily.ts +0 -106
  1457. package/src/clis/v2ex/hot.yaml +0 -28
  1458. package/src/clis/v2ex/latest.yaml +0 -28
  1459. package/src/clis/v2ex/me.ts +0 -104
  1460. package/src/clis/v2ex/member.yaml +0 -29
  1461. package/src/clis/v2ex/node.yaml +0 -34
  1462. package/src/clis/v2ex/nodes.yaml +0 -31
  1463. package/src/clis/v2ex/notifications.ts +0 -76
  1464. package/src/clis/v2ex/replies.yaml +0 -32
  1465. package/src/clis/v2ex/topic.yaml +0 -33
  1466. package/src/clis/v2ex/user.yaml +0 -34
  1467. package/src/clis/web/read.ts +0 -210
  1468. package/src/clis/weibo/comments.ts +0 -54
  1469. package/src/clis/weibo/feed.ts +0 -57
  1470. package/src/clis/weibo/hot.ts +0 -39
  1471. package/src/clis/weibo/me.ts +0 -77
  1472. package/src/clis/weibo/post.ts +0 -77
  1473. package/src/clis/weibo/search.ts +0 -78
  1474. package/src/clis/weibo/user.ts +0 -64
  1475. package/src/clis/weibo/utils.ts +0 -32
  1476. package/src/clis/weixin/download.ts +0 -382
  1477. package/src/clis/weread/book.ts +0 -271
  1478. package/src/clis/weread/commands.test.ts +0 -466
  1479. package/src/clis/weread/highlights.ts +0 -25
  1480. package/src/clis/weread/notebooks.ts +0 -23
  1481. package/src/clis/weread/notes.ts +0 -31
  1482. package/src/clis/weread/private-api-regression.test.ts +0 -435
  1483. package/src/clis/weread/ranking.ts +0 -29
  1484. package/src/clis/weread/search-regression.test.ts +0 -440
  1485. package/src/clis/weread/search.ts +0 -207
  1486. package/src/clis/weread/shelf.ts +0 -84
  1487. package/src/clis/weread/utils.test.ts +0 -153
  1488. package/src/clis/weread/utils.ts +0 -390
  1489. package/src/clis/wikipedia/random.ts +0 -19
  1490. package/src/clis/wikipedia/search.ts +0 -38
  1491. package/src/clis/wikipedia/summary.ts +0 -23
  1492. package/src/clis/wikipedia/trending.ts +0 -41
  1493. package/src/clis/wikipedia/utils.ts +0 -51
  1494. package/src/clis/xianyu/chat.test.ts +0 -20
  1495. package/src/clis/xianyu/chat.ts +0 -175
  1496. package/src/clis/xianyu/item.test.ts +0 -67
  1497. package/src/clis/xianyu/item.ts +0 -172
  1498. package/src/clis/xianyu/search.test.ts +0 -22
  1499. package/src/clis/xianyu/search.ts +0 -151
  1500. package/src/clis/xianyu/utils.ts +0 -9
  1501. package/src/clis/xiaoe/catalog.yaml +0 -129
  1502. package/src/clis/xiaoe/content.yaml +0 -43
  1503. package/src/clis/xiaoe/courses.yaml +0 -73
  1504. package/src/clis/xiaoe/detail.yaml +0 -39
  1505. package/src/clis/xiaoe/play-url.yaml +0 -124
  1506. package/src/clis/xiaohongshu/comments.test.ts +0 -171
  1507. package/src/clis/xiaohongshu/comments.ts +0 -140
  1508. package/src/clis/xiaohongshu/creator-note-detail.test.ts +0 -273
  1509. package/src/clis/xiaohongshu/creator-note-detail.ts +0 -447
  1510. package/src/clis/xiaohongshu/creator-notes-summary.test.ts +0 -54
  1511. package/src/clis/xiaohongshu/creator-notes-summary.ts +0 -120
  1512. package/src/clis/xiaohongshu/creator-notes.test.ts +0 -212
  1513. package/src/clis/xiaohongshu/creator-notes.ts +0 -295
  1514. package/src/clis/xiaohongshu/creator-profile.ts +0 -59
  1515. package/src/clis/xiaohongshu/creator-stats.ts +0 -80
  1516. package/src/clis/xiaohongshu/download.test.ts +0 -94
  1517. package/src/clis/xiaohongshu/download.ts +0 -174
  1518. package/src/clis/xiaohongshu/feed.yaml +0 -31
  1519. package/src/clis/xiaohongshu/note-helpers.ts +0 -25
  1520. package/src/clis/xiaohongshu/note.test.ts +0 -213
  1521. package/src/clis/xiaohongshu/note.ts +0 -104
  1522. package/src/clis/xiaohongshu/notifications.yaml +0 -37
  1523. package/src/clis/xiaohongshu/publish.test.ts +0 -228
  1524. package/src/clis/xiaohongshu/publish.ts +0 -598
  1525. package/src/clis/xiaohongshu/search.test.ts +0 -191
  1526. package/src/clis/xiaohongshu/search.ts +0 -143
  1527. package/src/clis/xiaohongshu/user-helpers.test.ts +0 -129
  1528. package/src/clis/xiaohongshu/user-helpers.ts +0 -89
  1529. package/src/clis/xiaohongshu/user.ts +0 -64
  1530. package/src/clis/xiaoyuzhou/episode.ts +0 -28
  1531. package/src/clis/xiaoyuzhou/podcast-episodes.ts +0 -36
  1532. package/src/clis/xiaoyuzhou/podcast.ts +0 -27
  1533. package/src/clis/xiaoyuzhou/utils.test.ts +0 -122
  1534. package/src/clis/xiaoyuzhou/utils.ts +0 -65
  1535. package/src/clis/xueqiu/comments.test.ts +0 -823
  1536. package/src/clis/xueqiu/comments.ts +0 -461
  1537. package/src/clis/xueqiu/danjuan-utils.test.ts +0 -49
  1538. package/src/clis/xueqiu/danjuan-utils.ts +0 -176
  1539. package/src/clis/xueqiu/earnings-date.yaml +0 -69
  1540. package/src/clis/xueqiu/feed.yaml +0 -53
  1541. package/src/clis/xueqiu/fund-holdings.ts +0 -32
  1542. package/src/clis/xueqiu/fund-snapshot.ts +0 -27
  1543. package/src/clis/xueqiu/hot-stock.yaml +0 -49
  1544. package/src/clis/xueqiu/hot.yaml +0 -46
  1545. package/src/clis/xueqiu/search.yaml +0 -55
  1546. package/src/clis/xueqiu/stock.yaml +0 -69
  1547. package/src/clis/xueqiu/watchlist.yaml +0 -46
  1548. package/src/clis/yahoo-finance/quote.ts +0 -72
  1549. package/src/clis/yollomi/background.ts +0 -48
  1550. package/src/clis/yollomi/edit.ts +0 -58
  1551. package/src/clis/yollomi/face-swap.ts +0 -45
  1552. package/src/clis/yollomi/generate.ts +0 -95
  1553. package/src/clis/yollomi/models.ts +0 -38
  1554. package/src/clis/yollomi/object-remover.ts +0 -44
  1555. package/src/clis/yollomi/remove-bg.ts +0 -40
  1556. package/src/clis/yollomi/restore.ts +0 -40
  1557. package/src/clis/yollomi/try-on.ts +0 -48
  1558. package/src/clis/yollomi/upload.ts +0 -78
  1559. package/src/clis/yollomi/upscale.ts +0 -49
  1560. package/src/clis/yollomi/utils.ts +0 -202
  1561. package/src/clis/yollomi/video.ts +0 -61
  1562. package/src/clis/youtube/channel.ts +0 -155
  1563. package/src/clis/youtube/comments.ts +0 -97
  1564. package/src/clis/youtube/search.ts +0 -99
  1565. package/src/clis/youtube/transcript-group.test.ts +0 -108
  1566. package/src/clis/youtube/transcript-group.ts +0 -287
  1567. package/src/clis/youtube/transcript.ts +0 -279
  1568. package/src/clis/youtube/utils.test.ts +0 -43
  1569. package/src/clis/youtube/utils.ts +0 -97
  1570. package/src/clis/youtube/video.ts +0 -118
  1571. package/src/clis/yuanbao/ask.test.ts +0 -156
  1572. package/src/clis/yuanbao/ask.ts +0 -522
  1573. package/src/clis/yuanbao/new.test.ts +0 -36
  1574. package/src/clis/yuanbao/new.ts +0 -81
  1575. package/src/clis/yuanbao/shared.ts +0 -57
  1576. package/src/clis/zhihu/download.test.ts +0 -14
  1577. package/src/clis/zhihu/download.ts +0 -87
  1578. package/src/clis/zhihu/hot.yaml +0 -46
  1579. package/src/clis/zhihu/question.test.ts +0 -96
  1580. package/src/clis/zhihu/question.ts +0 -63
  1581. package/src/clis/zhihu/search.yaml +0 -59
  1582. package/src/clis/zsxq/dynamics.ts +0 -60
  1583. package/src/clis/zsxq/groups.ts +0 -41
  1584. package/src/clis/zsxq/search.test.ts +0 -29
  1585. package/src/clis/zsxq/search.ts +0 -54
  1586. package/src/clis/zsxq/topic.test.ts +0 -34
  1587. package/src/clis/zsxq/topic.ts +0 -68
  1588. package/src/clis/zsxq/topics.test.ts +0 -29
  1589. package/src/clis/zsxq/topics.ts +0 -36
  1590. package/src/clis/zsxq/utils.ts +0 -351
  1591. package/src/commanderAdapter.test.ts +0 -315
  1592. package/src/commanderAdapter.ts +0 -319
  1593. package/src/commands/daemon.test.ts +0 -204
  1594. package/src/commands/daemon.ts +0 -87
  1595. package/src/completion.test.ts +0 -30
  1596. package/src/completion.ts +0 -132
  1597. package/src/constants.ts +0 -41
  1598. package/src/daemon.test.ts +0 -88
  1599. package/src/daemon.ts +0 -339
  1600. package/src/discovery.ts +0 -328
  1601. package/src/doctor.test.ts +0 -111
  1602. package/src/doctor.ts +0 -163
  1603. package/src/download/article-download.ts +0 -272
  1604. package/src/download/index.test.ts +0 -135
  1605. package/src/download/index.ts +0 -422
  1606. package/src/download/media-download.ts +0 -180
  1607. package/src/download/progress.ts +0 -125
  1608. package/src/electron-apps.test.ts +0 -50
  1609. package/src/electron-apps.ts +0 -97
  1610. package/src/engine.test.ts +0 -323
  1611. package/src/errors.test.ts +0 -79
  1612. package/src/errors.ts +0 -162
  1613. package/src/execution.test.ts +0 -47
  1614. package/src/execution.ts +0 -235
  1615. package/src/explore.ts +0 -502
  1616. package/src/extension-manifest-regression.test.ts +0 -18
  1617. package/src/external-clis.yaml +0 -56
  1618. package/src/external.test.ts +0 -97
  1619. package/src/external.ts +0 -246
  1620. package/src/generate.ts +0 -161
  1621. package/src/hooks.test.ts +0 -126
  1622. package/src/hooks.ts +0 -91
  1623. package/src/idle-manager.ts +0 -60
  1624. package/src/interceptor.test.ts +0 -94
  1625. package/src/interceptor.ts +0 -204
  1626. package/src/launcher.test.ts +0 -181
  1627. package/src/launcher.ts +0 -263
  1628. package/src/logger.ts +0 -57
  1629. package/src/main.ts +0 -66
  1630. package/src/node-network.test.ts +0 -93
  1631. package/src/node-network.ts +0 -213
  1632. package/src/output.test.ts +0 -69
  1633. package/src/output.ts +0 -145
  1634. package/src/pipeline/executor.test.ts +0 -191
  1635. package/src/pipeline/executor.ts +0 -110
  1636. package/src/pipeline/registry.ts +0 -62
  1637. package/src/pipeline/steps/browser.ts +0 -76
  1638. package/src/pipeline/steps/download.test.ts +0 -135
  1639. package/src/pipeline/steps/download.ts +0 -320
  1640. package/src/pipeline/steps/fetch.test.ts +0 -179
  1641. package/src/pipeline/steps/fetch.ts +0 -160
  1642. package/src/pipeline/steps/intercept.ts +0 -55
  1643. package/src/pipeline/steps/tap.ts +0 -100
  1644. package/src/pipeline/steps/transform.ts +0 -71
  1645. package/src/pipeline/template.test.ts +0 -177
  1646. package/src/pipeline/template.ts +0 -269
  1647. package/src/pipeline/transform.test.ts +0 -140
  1648. package/src/plugin-manifest.test.ts +0 -223
  1649. package/src/plugin-manifest.ts +0 -206
  1650. package/src/plugin-scaffold.test.ts +0 -98
  1651. package/src/plugin-scaffold.ts +0 -170
  1652. package/src/plugin.test.ts +0 -1427
  1653. package/src/plugin.ts +0 -1537
  1654. package/src/record.test.ts +0 -362
  1655. package/src/record.ts +0 -824
  1656. package/src/registry-api.ts +0 -14
  1657. package/src/registry.test.ts +0 -133
  1658. package/src/registry.ts +0 -160
  1659. package/src/runtime-detect.test.ts +0 -30
  1660. package/src/runtime-detect.ts +0 -36
  1661. package/src/runtime.ts +0 -86
  1662. package/src/scripts/framework.ts +0 -20
  1663. package/src/scripts/interact.ts +0 -22
  1664. package/src/scripts/store.ts +0 -40
  1665. package/src/serialization.test.ts +0 -44
  1666. package/src/serialization.ts +0 -92
  1667. package/src/snapshotFormatter.test.ts +0 -579
  1668. package/src/snapshotFormatter.ts +0 -359
  1669. package/src/synthesize.ts +0 -296
  1670. package/src/tui.test.ts +0 -23
  1671. package/src/tui.ts +0 -237
  1672. package/src/types.ts +0 -95
  1673. package/src/update-check.ts +0 -114
  1674. package/src/utils.ts +0 -44
  1675. package/src/validate.ts +0 -103
  1676. package/src/verify.ts +0 -93
  1677. package/src/version.ts +0 -18
  1678. package/src/weixin-download.test.ts +0 -91
  1679. package/src/yaml-schema.ts +0 -48
  1680. package/tests/e2e/band-auth.test.ts +0 -20
  1681. package/tests/e2e/browser-auth-helpers.ts +0 -18
  1682. package/tests/e2e/browser-auth.test.ts +0 -150
  1683. package/tests/e2e/browser-public-extended.test.ts +0 -166
  1684. package/tests/e2e/browser-public.test.ts +0 -417
  1685. package/tests/e2e/helpers.ts +0 -64
  1686. package/tests/e2e/management.test.ts +0 -106
  1687. package/tests/e2e/output-formats.test.ts +0 -44
  1688. package/tests/e2e/plugin-management.test.ts +0 -140
  1689. package/tests/e2e/public-commands.test.ts +0 -569
  1690. package/tests/smoke/api-health.test.ts +0 -131
  1691. package/tsconfig.json +0 -17
  1692. package/vitest.config.ts +0 -50
  1693. /package/dist/{browser.test.d.ts → clis/gemini/deep-research-result.test.d.ts} +0 -0
  1694. /package/dist/{browser/cdp.test.d.ts → clis/gemini/deep-research.test.d.ts} +0 -0
  1695. /package/dist/{browser/daemon-client.test.d.ts → clis/hupu/mentions.d.ts} +0 -0
  1696. /package/dist/{browser/dom-helpers.test.d.ts → clis/lesswrong/comments.d.ts} +0 -0
  1697. /package/dist/{browser/page.test.d.ts → clis/lesswrong/curated.d.ts} +0 -0
  1698. /package/dist/{browser/stealth.test.d.ts → clis/lesswrong/frontpage.d.ts} +0 -0
  1699. /package/dist/{build-manifest.test.d.ts → clis/lesswrong/new.d.ts} +0 -0
  1700. /package/dist/{capabilityRouting.test.d.ts → clis/lesswrong/read.d.ts} +0 -0
  1701. /package/dist/{cli.test.d.ts → clis/lesswrong/sequences.d.ts} +0 -0
  1702. /package/dist/{commanderAdapter.test.d.ts → clis/lesswrong/shortform.d.ts} +0 -0
  1703. /package/dist/{commands/daemon.test.d.ts → clis/lesswrong/tag.d.ts} +0 -0
  1704. /package/dist/{completion.test.d.ts → clis/lesswrong/tags.d.ts} +0 -0
  1705. /package/dist/{daemon.test.d.ts → clis/lesswrong/top-month.d.ts} +0 -0
  1706. /package/dist/{doctor.test.d.ts → clis/lesswrong/top-week.d.ts} +0 -0
  1707. /package/dist/{download/index.test.d.ts → clis/lesswrong/top-year.d.ts} +0 -0
  1708. /package/dist/{electron-apps.test.d.ts → clis/lesswrong/top.d.ts} +0 -0
  1709. /package/dist/{engine.test.d.ts → clis/lesswrong/user-posts.d.ts} +0 -0
  1710. /package/dist/{errors.test.d.ts → clis/lesswrong/user.d.ts} +0 -0
  1711. /package/dist/{analysis.d.ts → src/analysis.d.ts} +0 -0
  1712. /package/dist/{analysis.js → src/analysis.js} +0 -0
  1713. /package/dist/{browser → src/browser}/base-page.d.ts +0 -0
  1714. /package/dist/{browser → src/browser}/base-page.js +0 -0
  1715. /package/dist/{browser → src/browser}/bridge.d.ts +0 -0
  1716. /package/dist/{browser → src/browser}/bridge.js +0 -0
  1717. /package/dist/{extension-manifest-regression.test.d.ts → src/browser/cdp.test.d.ts} +0 -0
  1718. /package/dist/{browser → src/browser}/cdp.test.js +0 -0
  1719. /package/dist/{browser → src/browser}/daemon-client.d.ts +0 -0
  1720. /package/dist/{browser → src/browser}/daemon-client.js +0 -0
  1721. /package/dist/{external.test.d.ts → src/browser/daemon-client.test.d.ts} +0 -0
  1722. /package/dist/{browser → src/browser}/daemon-client.test.js +0 -0
  1723. /package/dist/{browser → src/browser}/discover.d.ts +0 -0
  1724. /package/dist/{browser → src/browser}/discover.js +0 -0
  1725. /package/dist/{browser → src/browser}/dom-helpers.d.ts +0 -0
  1726. /package/dist/{browser → src/browser}/dom-helpers.js +0 -0
  1727. /package/dist/{launcher.test.d.ts → src/browser/dom-helpers.test.d.ts} +0 -0
  1728. /package/dist/{browser → src/browser}/dom-helpers.test.js +0 -0
  1729. /package/dist/{browser → src/browser}/dom-snapshot.d.ts +0 -0
  1730. /package/dist/{browser → src/browser}/dom-snapshot.js +0 -0
  1731. /package/dist/{browser → src/browser}/dom-snapshot.test.d.ts +0 -0
  1732. /package/dist/{browser → src/browser}/dom-snapshot.test.js +0 -0
  1733. /package/dist/{browser → src/browser}/errors.d.ts +0 -0
  1734. /package/dist/{browser → src/browser}/errors.js +0 -0
  1735. /package/dist/{browser → src/browser}/index.d.ts +0 -0
  1736. /package/dist/{browser → src/browser}/index.js +0 -0
  1737. /package/dist/{node-network.test.d.ts → src/browser/page.test.d.ts} +0 -0
  1738. /package/dist/{browser → src/browser}/page.test.js +0 -0
  1739. /package/dist/{browser → src/browser}/stealth.d.ts +0 -0
  1740. /package/dist/{browser → src/browser}/stealth.js +0 -0
  1741. /package/dist/{output.test.d.ts → src/browser/stealth.test.d.ts} +0 -0
  1742. /package/dist/{browser → src/browser}/stealth.test.js +0 -0
  1743. /package/dist/{browser → src/browser}/tabs.d.ts +0 -0
  1744. /package/dist/{browser → src/browser}/tabs.js +0 -0
  1745. /package/dist/{execution.test.d.ts → src/browser.test.d.ts} +0 -0
  1746. /package/dist/{browser.test.js → src/browser.test.js} +0 -0
  1747. /package/dist/{build-manifest.d.ts → src/build-manifest.d.ts} +0 -0
  1748. /package/dist/{pipeline/steps/download.test.d.ts → src/build-manifest.test.d.ts} +0 -0
  1749. /package/dist/{build-manifest.test.js → src/build-manifest.test.js} +0 -0
  1750. /package/dist/{capabilityRouting.d.ts → src/capabilityRouting.d.ts} +0 -0
  1751. /package/dist/{capabilityRouting.js → src/capabilityRouting.js} +0 -0
  1752. /package/dist/{pipeline/steps/fetch.test.d.ts → src/capabilityRouting.test.d.ts} +0 -0
  1753. /package/dist/{capabilityRouting.test.js → src/capabilityRouting.test.js} +0 -0
  1754. /package/dist/{cascade.d.ts → src/cascade.d.ts} +0 -0
  1755. /package/dist/{record.test.d.ts → src/cli.test.d.ts} +0 -0
  1756. /package/dist/{runtime-detect.test.d.ts → src/commanderAdapter.test.d.ts} +0 -0
  1757. /package/dist/{commanderAdapter.test.js → src/commanderAdapter.test.js} +0 -0
  1758. /package/dist/{commands → src/commands}/daemon.d.ts +0 -0
  1759. /package/dist/{commands → src/commands}/daemon.js +0 -0
  1760. /package/dist/{serialization.test.d.ts → src/commands/daemon.test.d.ts} +0 -0
  1761. /package/dist/{commands → src/commands}/daemon.test.js +0 -0
  1762. /package/dist/{completion.d.ts → src/completion.d.ts} +0 -0
  1763. /package/dist/{completion.js → src/completion.js} +0 -0
  1764. /package/dist/{tui.test.d.ts → src/completion.test.d.ts} +0 -0
  1765. /package/dist/{completion.test.js → src/completion.test.js} +0 -0
  1766. /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
  1767. /package/dist/{constants.js → src/constants.js} +0 -0
  1768. /package/dist/{daemon.d.ts → src/daemon.d.ts} +0 -0
  1769. /package/dist/{daemon.js → src/daemon.js} +0 -0
  1770. /package/dist/{weixin-download.test.d.ts → src/daemon.test.d.ts} +0 -0
  1771. /package/dist/{daemon.test.js → src/daemon.test.js} +0 -0
  1772. /package/dist/{doctor.d.ts → src/doctor.d.ts} +0 -0
  1773. /package/dist/{doctor.js → src/doctor.js} +0 -0
  1774. /package/dist/{doctor.test.js → src/doctor.test.js} +0 -0
  1775. /package/dist/{download → src/download}/index.test.js +0 -0
  1776. /package/dist/{electron-apps.d.ts → src/electron-apps.d.ts} +0 -0
  1777. /package/dist/{electron-apps.js → src/electron-apps.js} +0 -0
  1778. /package/dist/{electron-apps.test.js → src/electron-apps.test.js} +0 -0
  1779. /package/dist/{engine.test.js → src/engine.test.js} +0 -0
  1780. /package/dist/{errors.d.ts → src/errors.d.ts} +0 -0
  1781. /package/dist/{errors.js → src/errors.js} +0 -0
  1782. /package/dist/{errors.test.js → src/errors.test.js} +0 -0
  1783. /package/dist/{execution.d.ts → src/execution.d.ts} +0 -0
  1784. /package/dist/{execution.js → src/execution.js} +0 -0
  1785. /package/dist/{execution.test.js → src/execution.test.js} +0 -0
  1786. /package/dist/{explore.d.ts → src/explore.d.ts} +0 -0
  1787. /package/dist/{explore.js → src/explore.js} +0 -0
  1788. /package/dist/{extension-manifest-regression.test.js → src/extension-manifest-regression.test.js} +0 -0
  1789. /package/dist/{external-clis.yaml → src/external-clis.yaml} +0 -0
  1790. /package/dist/{external.d.ts → src/external.d.ts} +0 -0
  1791. /package/dist/{external.js → src/external.js} +0 -0
  1792. /package/dist/{external.test.js → src/external.test.js} +0 -0
  1793. /package/dist/{generate.d.ts → src/generate.d.ts} +0 -0
  1794. /package/dist/{generate.js → src/generate.js} +0 -0
  1795. /package/dist/{hooks.d.ts → src/hooks.d.ts} +0 -0
  1796. /package/dist/{hooks.js → src/hooks.js} +0 -0
  1797. /package/dist/{hooks.test.d.ts → src/hooks.test.d.ts} +0 -0
  1798. /package/dist/{hooks.test.js → src/hooks.test.js} +0 -0
  1799. /package/dist/{idle-manager.d.ts → src/idle-manager.d.ts} +0 -0
  1800. /package/dist/{idle-manager.js → src/idle-manager.js} +0 -0
  1801. /package/dist/{interceptor.test.d.ts → src/interceptor.test.d.ts} +0 -0
  1802. /package/dist/{interceptor.test.js → src/interceptor.test.js} +0 -0
  1803. /package/dist/{launcher.d.ts → src/launcher.d.ts} +0 -0
  1804. /package/dist/{launcher.js → src/launcher.js} +0 -0
  1805. /package/dist/{launcher.test.js → src/launcher.test.js} +0 -0
  1806. /package/dist/{logger.d.ts → src/logger.d.ts} +0 -0
  1807. /package/dist/{logger.js → src/logger.js} +0 -0
  1808. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  1809. /package/dist/{node-network.d.ts → src/node-network.d.ts} +0 -0
  1810. /package/dist/{node-network.js → src/node-network.js} +0 -0
  1811. /package/dist/{node-network.test.js → src/node-network.test.js} +0 -0
  1812. /package/dist/{output.d.ts → src/output.d.ts} +0 -0
  1813. /package/dist/{output.js → src/output.js} +0 -0
  1814. /package/dist/{output.test.js → src/output.test.js} +0 -0
  1815. /package/dist/{pipeline → src/pipeline}/executor.d.ts +0 -0
  1816. /package/dist/{pipeline → src/pipeline}/executor.js +0 -0
  1817. /package/dist/{pipeline → src/pipeline}/executor.test.d.ts +0 -0
  1818. /package/dist/{pipeline → src/pipeline}/executor.test.js +0 -0
  1819. /package/dist/{pipeline → src/pipeline}/registry.d.ts +0 -0
  1820. /package/dist/{pipeline → src/pipeline}/registry.js +0 -0
  1821. /package/dist/{pipeline → src/pipeline}/steps/browser.d.ts +0 -0
  1822. /package/dist/{pipeline → src/pipeline}/steps/browser.js +0 -0
  1823. /package/dist/{pipeline → src/pipeline}/steps/download.d.ts +0 -0
  1824. /package/dist/{pipeline → src/pipeline}/steps/download.js +0 -0
  1825. /package/dist/{pipeline → src/pipeline}/steps/download.test.js +0 -0
  1826. /package/dist/{pipeline → src/pipeline}/steps/fetch.d.ts +0 -0
  1827. /package/dist/{pipeline → src/pipeline}/steps/fetch.js +0 -0
  1828. /package/dist/{pipeline → src/pipeline}/steps/fetch.test.js +0 -0
  1829. /package/dist/{pipeline → src/pipeline}/steps/intercept.d.ts +0 -0
  1830. /package/dist/{pipeline → src/pipeline}/steps/intercept.js +0 -0
  1831. /package/dist/{pipeline → src/pipeline}/steps/tap.d.ts +0 -0
  1832. /package/dist/{pipeline → src/pipeline}/steps/tap.js +0 -0
  1833. /package/dist/{pipeline → src/pipeline}/steps/transform.d.ts +0 -0
  1834. /package/dist/{pipeline → src/pipeline}/steps/transform.js +0 -0
  1835. /package/dist/{pipeline → src/pipeline}/template.d.ts +0 -0
  1836. /package/dist/{pipeline → src/pipeline}/template.js +0 -0
  1837. /package/dist/{pipeline → src/pipeline}/template.test.d.ts +0 -0
  1838. /package/dist/{pipeline → src/pipeline}/template.test.js +0 -0
  1839. /package/dist/{pipeline → src/pipeline}/transform.test.d.ts +0 -0
  1840. /package/dist/{pipeline → src/pipeline}/transform.test.js +0 -0
  1841. /package/dist/{plugin-manifest.d.ts → src/plugin-manifest.d.ts} +0 -0
  1842. /package/dist/{plugin-manifest.js → src/plugin-manifest.js} +0 -0
  1843. /package/dist/{plugin-manifest.test.d.ts → src/plugin-manifest.test.d.ts} +0 -0
  1844. /package/dist/{plugin-manifest.test.js → src/plugin-manifest.test.js} +0 -0
  1845. /package/dist/{plugin-scaffold.d.ts → src/plugin-scaffold.d.ts} +0 -0
  1846. /package/dist/{plugin-scaffold.js → src/plugin-scaffold.js} +0 -0
  1847. /package/dist/{plugin-scaffold.test.d.ts → src/plugin-scaffold.test.d.ts} +0 -0
  1848. /package/dist/{plugin-scaffold.test.js → src/plugin-scaffold.test.js} +0 -0
  1849. /package/dist/{plugin.d.ts → src/plugin.d.ts} +0 -0
  1850. /package/dist/{plugin.js → src/plugin.js} +0 -0
  1851. /package/dist/{plugin.test.d.ts → src/plugin.test.d.ts} +0 -0
  1852. /package/dist/{plugin.test.js → src/plugin.test.js} +0 -0
  1853. /package/dist/{record.d.ts → src/record.d.ts} +0 -0
  1854. /package/dist/{record.test.js → src/record.test.js} +0 -0
  1855. /package/dist/{registry-api.d.ts → src/registry-api.d.ts} +0 -0
  1856. /package/dist/{registry-api.js → src/registry-api.js} +0 -0
  1857. /package/dist/{registry.d.ts → src/registry.d.ts} +0 -0
  1858. /package/dist/{registry.js → src/registry.js} +0 -0
  1859. /package/dist/{registry.test.d.ts → src/registry.test.d.ts} +0 -0
  1860. /package/dist/{registry.test.js → src/registry.test.js} +0 -0
  1861. /package/dist/{runtime-detect.d.ts → src/runtime-detect.d.ts} +0 -0
  1862. /package/dist/{runtime-detect.js → src/runtime-detect.js} +0 -0
  1863. /package/dist/{runtime-detect.test.js → src/runtime-detect.test.js} +0 -0
  1864. /package/dist/{runtime.d.ts → src/runtime.d.ts} +0 -0
  1865. /package/dist/{runtime.js → src/runtime.js} +0 -0
  1866. /package/dist/{scripts → src/scripts}/framework.d.ts +0 -0
  1867. /package/dist/{scripts → src/scripts}/framework.js +0 -0
  1868. /package/dist/{scripts → src/scripts}/interact.d.ts +0 -0
  1869. /package/dist/{scripts → src/scripts}/interact.js +0 -0
  1870. /package/dist/{scripts → src/scripts}/store.d.ts +0 -0
  1871. /package/dist/{scripts → src/scripts}/store.js +0 -0
  1872. /package/dist/{serialization.d.ts → src/serialization.d.ts} +0 -0
  1873. /package/dist/{serialization.js → src/serialization.js} +0 -0
  1874. /package/dist/{serialization.test.js → src/serialization.test.js} +0 -0
  1875. /package/dist/{snapshotFormatter.d.ts → src/snapshotFormatter.d.ts} +0 -0
  1876. /package/dist/{snapshotFormatter.js → src/snapshotFormatter.js} +0 -0
  1877. /package/dist/{snapshotFormatter.test.d.ts → src/snapshotFormatter.test.d.ts} +0 -0
  1878. /package/dist/{snapshotFormatter.test.js → src/snapshotFormatter.test.js} +0 -0
  1879. /package/dist/{tui.d.ts → src/tui.d.ts} +0 -0
  1880. /package/dist/{tui.js → src/tui.js} +0 -0
  1881. /package/dist/{tui.test.js → src/tui.test.js} +0 -0
  1882. /package/dist/{types.d.ts → src/types.d.ts} +0 -0
  1883. /package/dist/{types.js → src/types.js} +0 -0
  1884. /package/dist/{update-check.d.ts → src/update-check.d.ts} +0 -0
  1885. /package/dist/{update-check.js → src/update-check.js} +0 -0
  1886. /package/dist/{utils.d.ts → src/utils.d.ts} +0 -0
  1887. /package/dist/{utils.js → src/utils.js} +0 -0
  1888. /package/dist/{validate.d.ts → src/validate.d.ts} +0 -0
  1889. /package/dist/{validate.js → src/validate.js} +0 -0
  1890. /package/dist/{verify.d.ts → src/verify.d.ts} +0 -0
  1891. /package/dist/{verify.js → src/verify.js} +0 -0
  1892. /package/dist/{version.d.ts → src/version.d.ts} +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
- ```