@jackwener/opencli 1.6.4 → 1.6.5
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.
- package/dist/clis/1688/item.js +3 -3
- package/dist/clis/1688/search.js +2 -2
- package/dist/clis/1688/shared.d.ts +1 -1
- package/dist/clis/1688/shared.js +1 -1
- package/dist/clis/1688/store.js +2 -2
- package/dist/clis/36kr/article.js +2 -2
- package/dist/clis/36kr/hot.js +2 -2
- package/dist/clis/36kr/news.js +1 -1
- package/dist/clis/36kr/search.js +2 -2
- package/dist/clis/_shared/desktop-commands.d.ts +5 -5
- package/dist/clis/_shared/desktop-commands.js +1 -1
- package/dist/clis/amazon/bestsellers.js +1 -1
- package/dist/clis/amazon/discussion.js +2 -2
- package/dist/clis/amazon/movers-shakers.js +1 -1
- package/dist/clis/amazon/new-releases.js +1 -1
- package/dist/clis/amazon/offer.js +2 -2
- package/dist/clis/amazon/product.js +2 -2
- package/dist/clis/amazon/rankings.d.ts +1 -1
- package/dist/clis/amazon/rankings.js +2 -2
- package/dist/clis/amazon/search.js +2 -2
- package/dist/clis/amazon/shared.d.ts +1 -1
- package/dist/clis/amazon/shared.js +1 -1
- package/dist/clis/antigravity/dump.d.ts +1 -1
- package/dist/clis/antigravity/dump.js +1 -1
- package/dist/clis/antigravity/extract-code.d.ts +1 -1
- package/dist/clis/antigravity/extract-code.js +1 -1
- package/dist/clis/antigravity/model.d.ts +1 -1
- package/dist/clis/antigravity/model.js +1 -1
- package/dist/clis/antigravity/new.d.ts +1 -1
- package/dist/clis/antigravity/new.js +1 -1
- package/dist/clis/antigravity/read.d.ts +1 -1
- package/dist/clis/antigravity/read.js +1 -1
- package/dist/clis/antigravity/send.d.ts +1 -1
- package/dist/clis/antigravity/send.js +1 -1
- package/dist/clis/antigravity/serve.js +3 -3
- package/dist/clis/antigravity/status.d.ts +1 -1
- package/dist/clis/antigravity/status.js +1 -1
- package/dist/clis/antigravity/watch.d.ts +1 -1
- package/dist/clis/antigravity/watch.js +1 -1
- package/dist/clis/apple-podcasts/commands.test.js +1 -1
- package/dist/clis/apple-podcasts/episodes.js +2 -2
- package/dist/clis/apple-podcasts/search.js +2 -2
- package/dist/clis/apple-podcasts/top.js +2 -2
- package/dist/clis/apple-podcasts/utils.js +1 -1
- package/dist/clis/arxiv/paper.js +2 -2
- package/dist/clis/arxiv/search.js +2 -2
- package/dist/clis/arxiv/utils.js +1 -1
- package/dist/clis/band/bands.js +2 -2
- package/dist/clis/band/mentions.js +2 -2
- package/dist/clis/band/post.js +4 -4
- package/dist/clis/band/posts.js +2 -2
- package/dist/clis/barchart/flow.js +1 -1
- package/dist/clis/barchart/greeks.js +1 -1
- package/dist/clis/barchart/options.js +1 -1
- package/dist/clis/barchart/quote.js +1 -1
- package/dist/clis/bbc/news.js +1 -1
- package/dist/clis/bilibili/comments.js +1 -1
- package/dist/clis/bilibili/comments.test.js +1 -1
- package/dist/clis/bilibili/download.js +3 -3
- package/dist/clis/bilibili/dynamic.js +1 -1
- package/dist/clis/bilibili/dynamic.test.js +1 -1
- package/dist/clis/bilibili/favorite.js +1 -1
- package/dist/clis/bilibili/feed.js +1 -1
- package/dist/clis/bilibili/following.js +2 -2
- package/dist/clis/bilibili/history.js +1 -1
- package/dist/clis/bilibili/me.js +1 -1
- package/dist/clis/bilibili/ranking.js +1 -1
- package/dist/clis/bilibili/search.js +1 -1
- package/dist/clis/bilibili/subtitle.js +2 -2
- package/dist/clis/bilibili/subtitle.test.js +2 -2
- package/dist/clis/bilibili/user-videos.js +1 -1
- package/dist/clis/bilibili/utils.d.ts +1 -1
- package/dist/clis/bilibili/utils.js +1 -1
- package/dist/clis/bloomberg/businessweek.js +1 -1
- package/dist/clis/bloomberg/economics.js +1 -1
- package/dist/clis/bloomberg/feeds.js +1 -1
- package/dist/clis/bloomberg/industries.js +1 -1
- package/dist/clis/bloomberg/main.js +1 -1
- package/dist/clis/bloomberg/markets.js +1 -1
- package/dist/clis/bloomberg/news.js +2 -2
- package/dist/clis/bloomberg/opinions.js +1 -1
- package/dist/clis/bloomberg/politics.js +1 -1
- package/dist/clis/bloomberg/tech.js +1 -1
- package/dist/clis/bloomberg/utils.js +1 -1
- package/dist/clis/boss/batchgreet.js +1 -1
- package/dist/clis/boss/chatlist.js +1 -1
- package/dist/clis/boss/chatmsg.js +1 -1
- package/dist/clis/boss/detail.js +1 -1
- package/dist/clis/boss/exchange.js +1 -1
- package/dist/clis/boss/greet.js +1 -1
- package/dist/clis/boss/invite.js +1 -1
- package/dist/clis/boss/joblist.js +1 -1
- package/dist/clis/boss/mark.js +2 -2
- package/dist/clis/boss/recommend.js +1 -1
- package/dist/clis/boss/resume.js +1 -1
- package/dist/clis/boss/search.js +1 -1
- package/dist/clis/boss/send.js +2 -2
- package/dist/clis/boss/stats.js +1 -1
- package/dist/clis/boss/utils.d.ts +1 -1
- package/dist/clis/chaoxing/assignments.js +2 -2
- package/dist/clis/chaoxing/exams.js +1 -1
- package/dist/clis/chaoxing/utils.d.ts +1 -1
- package/dist/clis/chatgpt/ask.d.ts +1 -1
- package/dist/clis/chatgpt/ask.js +2 -2
- package/dist/clis/chatgpt/model.d.ts +1 -1
- package/dist/clis/chatgpt/model.js +2 -2
- package/dist/clis/chatgpt/new.d.ts +1 -1
- package/dist/clis/chatgpt/new.js +2 -2
- package/dist/clis/chatgpt/read.d.ts +1 -1
- package/dist/clis/chatgpt/read.js +2 -2
- package/dist/clis/chatgpt/send.d.ts +1 -1
- package/dist/clis/chatgpt/send.js +2 -2
- package/dist/clis/chatgpt/status.d.ts +1 -1
- package/dist/clis/chatgpt/status.js +2 -2
- package/dist/clis/chatwise/ask.d.ts +1 -1
- package/dist/clis/chatwise/ask.js +2 -2
- package/dist/clis/chatwise/export.d.ts +1 -1
- package/dist/clis/chatwise/export.js +1 -1
- package/dist/clis/chatwise/history.d.ts +1 -1
- package/dist/clis/chatwise/history.js +1 -1
- package/dist/clis/chatwise/model.d.ts +1 -1
- package/dist/clis/chatwise/model.js +2 -2
- package/dist/clis/chatwise/read.d.ts +1 -1
- package/dist/clis/chatwise/read.js +1 -1
- package/dist/clis/chatwise/send.d.ts +1 -1
- package/dist/clis/chatwise/send.js +2 -2
- package/dist/clis/codex/ask.d.ts +1 -1
- package/dist/clis/codex/ask.js +2 -2
- package/dist/clis/codex/export.d.ts +1 -1
- package/dist/clis/codex/export.js +1 -1
- package/dist/clis/codex/extract-diff.d.ts +1 -1
- package/dist/clis/codex/extract-diff.js +1 -1
- package/dist/clis/codex/history.d.ts +1 -1
- package/dist/clis/codex/history.js +1 -1
- package/dist/clis/codex/model.d.ts +1 -1
- package/dist/clis/codex/model.js +1 -1
- package/dist/clis/codex/read.d.ts +1 -1
- package/dist/clis/codex/read.js +1 -1
- package/dist/clis/codex/send.d.ts +1 -1
- package/dist/clis/codex/send.js +2 -2
- package/dist/clis/coupang/add-to-cart.js +1 -1
- package/dist/clis/coupang/search.js +1 -1
- package/dist/clis/ctrip/search.js +2 -2
- package/dist/clis/ctrip/search.test.js +1 -1
- package/dist/clis/cursor/ask.d.ts +1 -1
- package/dist/clis/cursor/ask.js +2 -2
- package/dist/clis/cursor/composer.d.ts +1 -1
- package/dist/clis/cursor/composer.js +2 -2
- package/dist/clis/cursor/export.d.ts +1 -1
- package/dist/clis/cursor/export.js +1 -1
- package/dist/clis/cursor/extract-code.d.ts +1 -1
- package/dist/clis/cursor/extract-code.js +1 -1
- package/dist/clis/cursor/history.d.ts +1 -1
- package/dist/clis/cursor/history.js +1 -1
- package/dist/clis/cursor/model.d.ts +1 -1
- package/dist/clis/cursor/model.js +1 -1
- package/dist/clis/cursor/read.d.ts +1 -1
- package/dist/clis/cursor/read.js +2 -2
- package/dist/clis/cursor/send.d.ts +1 -1
- package/dist/clis/cursor/send.js +2 -2
- package/dist/clis/discord-app/channels.d.ts +1 -1
- package/dist/clis/discord-app/channels.js +1 -1
- package/dist/clis/discord-app/members.d.ts +1 -1
- package/dist/clis/discord-app/members.js +1 -1
- package/dist/clis/discord-app/read.d.ts +1 -1
- package/dist/clis/discord-app/read.js +1 -1
- package/dist/clis/discord-app/search.d.ts +1 -1
- package/dist/clis/discord-app/search.js +1 -1
- package/dist/clis/discord-app/send.d.ts +1 -1
- package/dist/clis/discord-app/send.js +1 -1
- package/dist/clis/discord-app/servers.d.ts +1 -1
- package/dist/clis/discord-app/servers.js +1 -1
- package/dist/clis/discord-app/status.d.ts +1 -1
- package/dist/clis/discord-app/status.js +1 -1
- package/dist/clis/douban/book-hot.js +1 -1
- package/dist/clis/douban/download.js +4 -4
- package/dist/clis/douban/download.test.js +3 -3
- package/dist/clis/douban/marks.js +1 -1
- package/dist/clis/douban/movie-hot.js +1 -1
- package/dist/clis/douban/photos.js +1 -1
- package/dist/clis/douban/reviews.js +1 -1
- package/dist/clis/douban/search.js +1 -1
- package/dist/clis/douban/utils.d.ts +1 -1
- package/dist/clis/douban/utils.js +1 -1
- package/dist/clis/doubao/ask.d.ts +1 -1
- package/dist/clis/doubao/ask.js +1 -1
- package/dist/clis/doubao/detail.d.ts +1 -1
- package/dist/clis/doubao/detail.js +1 -1
- package/dist/clis/doubao/detail.test.js +1 -1
- package/dist/clis/doubao/history.d.ts +1 -1
- package/dist/clis/doubao/history.js +1 -1
- package/dist/clis/doubao/history.test.js +1 -1
- package/dist/clis/doubao/meeting-summary.d.ts +1 -1
- package/dist/clis/doubao/meeting-summary.js +1 -1
- package/dist/clis/doubao/meeting-transcript.d.ts +1 -1
- package/dist/clis/doubao/meeting-transcript.js +1 -1
- package/dist/clis/doubao/new.d.ts +1 -1
- package/dist/clis/doubao/new.js +1 -1
- package/dist/clis/doubao/read.d.ts +1 -1
- package/dist/clis/doubao/read.js +1 -1
- package/dist/clis/doubao/send.d.ts +1 -1
- package/dist/clis/doubao/send.js +1 -1
- package/dist/clis/doubao/status.d.ts +1 -1
- package/dist/clis/doubao/status.js +1 -1
- package/dist/clis/doubao/utils.d.ts +1 -1
- package/dist/clis/doubao-app/ask.d.ts +1 -1
- package/dist/clis/doubao-app/ask.js +1 -1
- package/dist/clis/doubao-app/dump.d.ts +1 -1
- package/dist/clis/doubao-app/dump.js +1 -1
- package/dist/clis/doubao-app/new.d.ts +1 -1
- package/dist/clis/doubao-app/new.js +1 -1
- package/dist/clis/doubao-app/read.d.ts +1 -1
- package/dist/clis/doubao-app/read.js +1 -1
- package/dist/clis/doubao-app/screenshot.d.ts +1 -1
- package/dist/clis/doubao-app/screenshot.js +1 -1
- package/dist/clis/doubao-app/send.d.ts +1 -1
- package/dist/clis/doubao-app/send.js +1 -1
- package/dist/clis/doubao-app/status.d.ts +1 -1
- package/dist/clis/doubao-app/status.js +1 -1
- package/dist/clis/douyin/_shared/browser-fetch.d.ts +1 -1
- package/dist/clis/douyin/_shared/browser-fetch.js +1 -1
- package/dist/clis/douyin/_shared/imagex-upload.js +1 -1
- package/dist/clis/douyin/_shared/imagex-upload.test.js +1 -1
- package/dist/clis/douyin/_shared/public-api.d.ts +1 -1
- package/dist/clis/douyin/_shared/sts2.d.ts +1 -1
- package/dist/clis/douyin/_shared/sts2.js +1 -1
- package/dist/clis/douyin/_shared/sts2.test.js +1 -1
- package/dist/clis/douyin/_shared/tos-upload-short-read.test.js +1 -1
- package/dist/clis/douyin/_shared/tos-upload.js +1 -1
- package/dist/clis/douyin/_shared/transcode.d.ts +1 -1
- package/dist/clis/douyin/_shared/transcode.js +1 -1
- package/dist/clis/douyin/_shared/transcode.test.js +1 -1
- package/dist/clis/douyin/activities.js +1 -1
- package/dist/clis/douyin/activities.test.js +1 -1
- package/dist/clis/douyin/collections.js +1 -1
- package/dist/clis/douyin/collections.test.js +1 -1
- package/dist/clis/douyin/delete.js +1 -1
- package/dist/clis/douyin/delete.test.js +1 -1
- package/dist/clis/douyin/draft.js +2 -2
- package/dist/clis/douyin/draft.test.js +2 -2
- package/dist/clis/douyin/drafts.js +1 -1
- package/dist/clis/douyin/drafts.test.js +1 -1
- package/dist/clis/douyin/hashtag.js +2 -2
- package/dist/clis/douyin/hashtag.test.js +1 -1
- package/dist/clis/douyin/location.js +1 -1
- package/dist/clis/douyin/location.test.js +1 -1
- package/dist/clis/douyin/profile.js +2 -2
- package/dist/clis/douyin/profile.test.js +1 -1
- package/dist/clis/douyin/publish.js +2 -2
- package/dist/clis/douyin/publish.test.js +1 -1
- package/dist/clis/douyin/stats.js +1 -1
- package/dist/clis/douyin/stats.test.js +1 -1
- package/dist/clis/douyin/update.js +2 -2
- package/dist/clis/douyin/update.test.js +1 -1
- package/dist/clis/douyin/user-videos.js +1 -1
- package/dist/clis/douyin/user-videos.test.js +1 -1
- package/dist/clis/douyin/videos.js +1 -1
- package/dist/clis/douyin/videos.test.js +1 -1
- package/dist/clis/facebook/search.test.js +1 -1
- package/dist/clis/gemini/ask.d.ts +1 -1
- package/dist/clis/gemini/ask.js +1 -1
- package/dist/clis/gemini/deep-research-result.d.ts +1 -1
- package/dist/clis/gemini/deep-research-result.js +1 -1
- package/dist/clis/gemini/deep-research.d.ts +1 -1
- package/dist/clis/gemini/deep-research.js +1 -1
- package/dist/clis/gemini/image.d.ts +1 -1
- package/dist/clis/gemini/image.js +2 -2
- package/dist/clis/gemini/new.d.ts +1 -1
- package/dist/clis/gemini/new.js +1 -1
- package/dist/clis/gemini/utils.d.ts +1 -1
- package/dist/clis/gemini/utils.js +1 -1
- package/dist/clis/google/news.js +2 -2
- package/dist/clis/google/search.js +2 -2
- package/dist/clis/google/suggest.js +2 -2
- package/dist/clis/google/trends.js +2 -2
- package/dist/clis/grok/ask.d.ts +2 -2
- package/dist/clis/grok/ask.js +1 -1
- package/dist/clis/hf/top.js +2 -2
- package/dist/clis/hupu/detail.js +1 -1
- package/dist/clis/hupu/like.js +2 -2
- package/dist/clis/hupu/mentions.js +2 -2
- package/dist/clis/hupu/reply.js +2 -2
- package/dist/clis/hupu/search.js +1 -1
- package/dist/clis/hupu/unlike.js +2 -2
- package/dist/clis/hupu/utils.d.ts +1 -1
- package/dist/clis/hupu/utils.js +1 -1
- package/dist/clis/imdb/person.js +2 -2
- package/dist/clis/imdb/reviews.js +2 -2
- package/dist/clis/imdb/search.js +2 -2
- package/dist/clis/imdb/title.js +2 -2
- package/dist/clis/imdb/top.js +2 -2
- package/dist/clis/imdb/trending.js +2 -2
- package/dist/clis/imdb/utils.d.ts +1 -1
- package/dist/clis/imdb/utils.js +1 -1
- package/dist/clis/instagram/_shared/private-publish.d.ts +1 -1
- package/dist/clis/instagram/_shared/private-publish.js +1 -1
- package/dist/clis/instagram/_shared/protocol-capture.d.ts +1 -1
- package/dist/clis/instagram/_shared/runtime-info.d.ts +1 -1
- package/dist/clis/instagram/download.js +3 -3
- package/dist/clis/instagram/download.test.js +4 -4
- package/dist/clis/instagram/note.js +2 -2
- package/dist/clis/instagram/note.test.js +2 -2
- package/dist/clis/instagram/post.js +2 -2
- package/dist/clis/instagram/post.test.js +2 -2
- package/dist/clis/instagram/reel.js +3 -3
- package/dist/clis/instagram/reel.test.js +2 -2
- package/dist/clis/instagram/story.js +2 -2
- package/dist/clis/instagram/story.test.js +2 -2
- package/dist/clis/jd/item.js +1 -1
- package/dist/clis/jd/item.test.js +1 -1
- package/dist/clis/jike/comment.js +1 -1
- package/dist/clis/jike/create.js +1 -1
- package/dist/clis/jike/feed.js +1 -1
- package/dist/clis/jike/like.js +1 -1
- package/dist/clis/jike/notifications.js +1 -1
- package/dist/clis/jike/repost.js +1 -1
- package/dist/clis/jike/search.js +1 -1
- package/dist/clis/lesswrong/_helpers.js +1 -1
- package/dist/clis/lesswrong/comments.js +2 -2
- package/dist/clis/lesswrong/curated.js +1 -1
- package/dist/clis/lesswrong/frontpage.js +1 -1
- package/dist/clis/lesswrong/new.js +1 -1
- package/dist/clis/lesswrong/read.js +2 -2
- package/dist/clis/lesswrong/sequences.js +1 -1
- package/dist/clis/lesswrong/shortform.js +1 -1
- package/dist/clis/lesswrong/tag.js +2 -2
- package/dist/clis/lesswrong/tags.js +1 -1
- package/dist/clis/lesswrong/top-month.js +1 -1
- package/dist/clis/lesswrong/top-week.js +1 -1
- package/dist/clis/lesswrong/top-year.js +1 -1
- package/dist/clis/lesswrong/top.js +1 -1
- package/dist/clis/lesswrong/user-posts.js +1 -1
- package/dist/clis/lesswrong/user.js +2 -2
- package/dist/clis/linkedin/search.js +2 -2
- package/dist/clis/linkedin/timeline.js +2 -2
- package/dist/clis/linkedin/timeline.test.js +1 -1
- package/dist/clis/linux-do/category.js +1 -1
- package/dist/clis/linux-do/feed.d.ts +2 -2
- package/dist/clis/linux-do/feed.js +2 -2
- package/dist/clis/linux-do/hot.js +1 -1
- package/dist/clis/linux-do/latest.js +1 -1
- package/dist/clis/medium/feed.js +1 -1
- package/dist/clis/medium/search.js +1 -1
- package/dist/clis/medium/user.js +1 -1
- package/dist/clis/medium/utils.d.ts +1 -1
- package/dist/clis/medium/utils.js +1 -1
- package/dist/clis/notebooklm/compat.test.js +1 -1
- package/dist/clis/notebooklm/current.js +2 -2
- package/dist/clis/notebooklm/get.js +2 -2
- package/dist/clis/notebooklm/history.js +2 -2
- package/dist/clis/notebooklm/history.test.js +1 -1
- package/dist/clis/notebooklm/list.js +2 -2
- package/dist/clis/notebooklm/note-list.js +2 -2
- package/dist/clis/notebooklm/note-list.test.js +1 -1
- package/dist/clis/notebooklm/notes-get.js +2 -2
- package/dist/clis/notebooklm/notes-get.test.js +1 -1
- package/dist/clis/notebooklm/open.js +2 -2
- package/dist/clis/notebooklm/open.test.js +1 -1
- package/dist/clis/notebooklm/rpc.d.ts +1 -1
- package/dist/clis/notebooklm/rpc.js +1 -1
- package/dist/clis/notebooklm/rpc.test.js +1 -1
- package/dist/clis/notebooklm/source-fulltext.js +2 -2
- package/dist/clis/notebooklm/source-fulltext.test.js +1 -1
- package/dist/clis/notebooklm/source-get.js +2 -2
- package/dist/clis/notebooklm/source-get.test.js +1 -1
- package/dist/clis/notebooklm/source-guide.js +2 -2
- package/dist/clis/notebooklm/source-guide.test.js +1 -1
- package/dist/clis/notebooklm/source-list.js +2 -2
- package/dist/clis/notebooklm/status.js +1 -1
- package/dist/clis/notebooklm/summary.js +2 -2
- package/dist/clis/notebooklm/summary.test.js +1 -1
- package/dist/clis/notebooklm/utils.d.ts +1 -1
- package/dist/clis/notebooklm/utils.js +1 -1
- package/dist/clis/notion/export.d.ts +1 -1
- package/dist/clis/notion/export.js +1 -1
- package/dist/clis/notion/favorites.d.ts +1 -1
- package/dist/clis/notion/favorites.js +1 -1
- package/dist/clis/notion/new.d.ts +1 -1
- package/dist/clis/notion/new.js +1 -1
- package/dist/clis/notion/read.d.ts +1 -1
- package/dist/clis/notion/read.js +1 -1
- package/dist/clis/notion/search.d.ts +1 -1
- package/dist/clis/notion/search.js +1 -1
- package/dist/clis/notion/sidebar.d.ts +1 -1
- package/dist/clis/notion/sidebar.js +1 -1
- package/dist/clis/notion/status.d.ts +1 -1
- package/dist/clis/notion/status.js +1 -1
- package/dist/clis/notion/write.d.ts +1 -1
- package/dist/clis/notion/write.js +1 -1
- package/dist/clis/ones/common.d.ts +1 -1
- package/dist/clis/ones/common.js +1 -1
- package/dist/clis/ones/enrich-tasks.d.ts +1 -1
- package/dist/clis/ones/login.js +2 -2
- package/dist/clis/ones/logout.js +1 -1
- package/dist/clis/ones/me.js +2 -2
- package/dist/clis/ones/my-tasks.js +2 -2
- package/dist/clis/ones/resolve-labels.d.ts +1 -1
- package/dist/clis/ones/task-helpers.js +1 -1
- package/dist/clis/ones/task.js +2 -2
- package/dist/clis/ones/tasks.js +2 -2
- package/dist/clis/ones/token-info.js +2 -2
- package/dist/clis/ones/worklog.js +2 -2
- package/dist/clis/paperreview/commands.test.js +1 -1
- package/dist/clis/paperreview/feedback.js +2 -2
- package/dist/clis/paperreview/review.js +2 -2
- package/dist/clis/paperreview/submit.js +2 -2
- package/dist/clis/paperreview/utils.js +1 -1
- package/dist/clis/paperreview/utils.test.js +1 -1
- package/dist/clis/pixiv/download.js +4 -4
- package/dist/clis/pixiv/download.test.js +3 -3
- package/dist/clis/pixiv/illusts.js +2 -2
- package/dist/clis/pixiv/illusts.test.js +2 -2
- package/dist/clis/pixiv/search.js +1 -1
- package/dist/clis/pixiv/search.test.js +2 -2
- package/dist/clis/pixiv/test-utils.d.ts +1 -1
- package/dist/clis/pixiv/utils.d.ts +1 -1
- package/dist/clis/pixiv/utils.js +1 -1
- package/dist/clis/producthunt/browse.js +2 -2
- package/dist/clis/producthunt/hot.js +2 -2
- package/dist/clis/producthunt/posts.js +1 -1
- package/dist/clis/producthunt/today.js +1 -1
- package/dist/clis/reddit/comment.js +2 -2
- package/dist/clis/reddit/read.js +2 -2
- package/dist/clis/reddit/read.test.js +1 -1
- package/dist/clis/reddit/save.js +2 -2
- package/dist/clis/reddit/saved.js +2 -2
- package/dist/clis/reddit/subscribe.js +2 -2
- package/dist/clis/reddit/upvote.js +2 -2
- package/dist/clis/reddit/upvoted.js +2 -2
- package/dist/clis/reuters/search.js +1 -1
- package/dist/clis/sinablog/article.js +1 -1
- package/dist/clis/sinablog/hot.js +1 -1
- package/dist/clis/sinablog/search.js +1 -1
- package/dist/clis/sinablog/user.js +1 -1
- package/dist/clis/sinablog/utils.d.ts +1 -1
- package/dist/clis/sinafinance/news.js +2 -2
- package/dist/clis/sinafinance/rolling-news.js +1 -1
- package/dist/clis/sinafinance/stock-rank.js +1 -1
- package/dist/clis/sinafinance/stock.js +2 -2
- package/dist/clis/smzdm/search.js +1 -1
- package/dist/clis/spotify/spotify.js +2 -2
- package/dist/clis/spotify/utils.js +1 -1
- package/dist/clis/substack/feed.js +1 -1
- package/dist/clis/substack/publication.js +1 -1
- package/dist/clis/substack/search.js +2 -2
- package/dist/clis/substack/utils.d.ts +1 -1
- package/dist/clis/substack/utils.js +1 -1
- package/dist/clis/tieba/commands.test.js +1 -1
- package/dist/clis/tieba/hot.js +2 -2
- package/dist/clis/tieba/posts.js +2 -2
- package/dist/clis/tieba/read.js +2 -2
- package/dist/clis/tieba/search.js +2 -2
- package/dist/clis/twitter/accept.js +2 -2
- package/dist/clis/twitter/article.js +2 -2
- package/dist/clis/twitter/block.js +2 -2
- package/dist/clis/twitter/bookmark.js +2 -2
- package/dist/clis/twitter/bookmarks.js +2 -2
- package/dist/clis/twitter/delete.js +2 -2
- package/dist/clis/twitter/delete.test.js +2 -2
- package/dist/clis/twitter/download.js +3 -3
- package/dist/clis/twitter/follow.js +2 -2
- package/dist/clis/twitter/followers.js +2 -2
- package/dist/clis/twitter/following.js +2 -2
- package/dist/clis/twitter/hide-reply.js +2 -2
- package/dist/clis/twitter/like.js +2 -2
- package/dist/clis/twitter/likes.js +2 -2
- package/dist/clis/twitter/notifications.js +2 -2
- package/dist/clis/twitter/post.js +2 -2
- package/dist/clis/twitter/post.test.js +1 -1
- package/dist/clis/twitter/profile.js +2 -2
- package/dist/clis/twitter/reply-dm.js +2 -2
- package/dist/clis/twitter/reply.js +2 -2
- package/dist/clis/twitter/reply.test.js +1 -1
- package/dist/clis/twitter/search.js +2 -2
- package/dist/clis/twitter/search.test.js +1 -1
- package/dist/clis/twitter/shared.d.ts +1 -1
- package/dist/clis/twitter/thread.js +2 -2
- package/dist/clis/twitter/timeline.js +2 -2
- package/dist/clis/twitter/trending.js +2 -2
- package/dist/clis/twitter/unblock.js +2 -2
- package/dist/clis/twitter/unbookmark.js +2 -2
- package/dist/clis/twitter/unfollow.js +2 -2
- package/dist/clis/v2ex/daily.js +2 -2
- package/dist/clis/v2ex/me.js +2 -2
- package/dist/clis/v2ex/notifications.js +2 -2
- package/dist/clis/web/read.js +2 -2
- package/dist/clis/weibo/comments.js +1 -1
- package/dist/clis/weibo/feed.js +1 -1
- package/dist/clis/weibo/hot.js +1 -1
- package/dist/clis/weibo/me.js +2 -2
- package/dist/clis/weibo/post.js +2 -2
- package/dist/clis/weibo/search.js +2 -2
- package/dist/clis/weibo/user.js +2 -2
- package/dist/clis/weibo/utils.d.ts +1 -1
- package/dist/clis/weibo/utils.js +1 -1
- package/dist/clis/weixin/download.js +2 -2
- package/dist/clis/weread/book.js +2 -2
- package/dist/clis/weread/commands.test.js +2 -2
- package/dist/clis/weread/highlights.js +1 -1
- package/dist/clis/weread/notebooks.js +1 -1
- package/dist/clis/weread/notes.js +1 -1
- package/dist/clis/weread/private-api-regression.test.js +2 -2
- package/dist/clis/weread/ranking.js +1 -1
- package/dist/clis/weread/search-regression.test.js +1 -1
- package/dist/clis/weread/search.js +1 -1
- package/dist/clis/weread/shelf.js +3 -3
- package/dist/clis/weread/utils.d.ts +1 -1
- package/dist/clis/weread/utils.js +1 -1
- package/dist/clis/wikipedia/random.js +2 -2
- package/dist/clis/wikipedia/search.js +2 -2
- package/dist/clis/wikipedia/summary.js +2 -2
- package/dist/clis/wikipedia/trending.js +2 -2
- package/dist/clis/wikipedia/utils.js +1 -1
- package/dist/clis/xianyu/chat.js +2 -2
- package/dist/clis/xianyu/item.js +2 -2
- package/dist/clis/xianyu/item.test.js +2 -2
- package/dist/clis/xianyu/search.js +2 -2
- package/dist/clis/xianyu/utils.js +1 -1
- package/dist/clis/xiaohongshu/comments.js +2 -2
- package/dist/clis/xiaohongshu/comments.test.js +1 -1
- package/dist/clis/xiaohongshu/creator-note-detail.d.ts +1 -1
- package/dist/clis/xiaohongshu/creator-note-detail.js +1 -1
- package/dist/clis/xiaohongshu/creator-note-detail.test.js +1 -1
- package/dist/clis/xiaohongshu/creator-notes-summary.js +1 -1
- package/dist/clis/xiaohongshu/creator-notes.d.ts +1 -1
- package/dist/clis/xiaohongshu/creator-notes.js +1 -1
- package/dist/clis/xiaohongshu/creator-notes.test.js +1 -1
- package/dist/clis/xiaohongshu/creator-profile.js +1 -1
- package/dist/clis/xiaohongshu/creator-stats.js +1 -1
- package/dist/clis/xiaohongshu/download.js +3 -3
- package/dist/clis/xiaohongshu/download.test.js +3 -3
- package/dist/clis/xiaohongshu/note.js +2 -2
- package/dist/clis/xiaohongshu/note.test.js +1 -1
- package/dist/clis/xiaohongshu/publish.js +1 -1
- package/dist/clis/xiaohongshu/publish.test.js +1 -1
- package/dist/clis/xiaohongshu/search.js +2 -2
- package/dist/clis/xiaohongshu/search.test.js +1 -1
- package/dist/clis/xiaohongshu/user.js +1 -1
- package/dist/clis/xiaoyuzhou/episode.js +2 -2
- package/dist/clis/xiaoyuzhou/podcast-episodes.js +2 -2
- package/dist/clis/xiaoyuzhou/podcast.js +2 -2
- package/dist/clis/xiaoyuzhou/utils.js +1 -1
- package/dist/clis/xueqiu/comments.d.ts +1 -1
- package/dist/clis/xueqiu/comments.js +4 -4
- package/dist/clis/xueqiu/comments.test.js +3 -3
- package/dist/clis/xueqiu/danjuan-utils.d.ts +1 -1
- package/dist/clis/xueqiu/fund-holdings.js +1 -1
- package/dist/clis/xueqiu/fund-snapshot.js +1 -1
- package/dist/clis/yahoo-finance/quote.js +1 -1
- package/dist/clis/yollomi/background.js +2 -2
- package/dist/clis/yollomi/edit.js +2 -2
- package/dist/clis/yollomi/face-swap.js +2 -2
- package/dist/clis/yollomi/generate.js +2 -2
- package/dist/clis/yollomi/models.js +1 -1
- package/dist/clis/yollomi/object-remover.js +2 -2
- package/dist/clis/yollomi/remove-bg.js +2 -2
- package/dist/clis/yollomi/restore.js +2 -2
- package/dist/clis/yollomi/try-on.js +2 -2
- package/dist/clis/yollomi/upload.js +2 -2
- package/dist/clis/yollomi/upscale.js +2 -2
- package/dist/clis/yollomi/utils.d.ts +1 -1
- package/dist/clis/yollomi/utils.js +1 -1
- package/dist/clis/yollomi/video.js +2 -2
- package/dist/clis/youtube/channel.js +2 -2
- package/dist/clis/youtube/comments.js +2 -2
- package/dist/clis/youtube/search.js +1 -1
- package/dist/clis/youtube/transcript.js +2 -2
- package/dist/clis/youtube/utils.d.ts +1 -1
- package/dist/clis/youtube/video.js +2 -2
- package/dist/clis/yuanbao/ask.d.ts +1 -1
- package/dist/clis/yuanbao/ask.js +2 -2
- package/dist/clis/yuanbao/ask.test.js +1 -1
- package/dist/clis/yuanbao/new.d.ts +1 -1
- package/dist/clis/yuanbao/new.js +1 -1
- package/dist/clis/yuanbao/new.test.js +1 -1
- package/dist/clis/yuanbao/shared.d.ts +2 -2
- package/dist/clis/yuanbao/shared.js +1 -1
- package/dist/clis/zhihu/download.js +2 -2
- package/dist/clis/zhihu/question.js +2 -2
- package/dist/clis/zhihu/question.test.js +2 -2
- package/dist/clis/zsxq/dynamics.js +1 -1
- package/dist/clis/zsxq/groups.js +1 -1
- package/dist/clis/zsxq/search.js +1 -1
- package/dist/clis/zsxq/search.test.js +1 -1
- package/dist/clis/zsxq/topic.js +2 -2
- package/dist/clis/zsxq/topic.test.js +1 -1
- package/dist/clis/zsxq/topics.js +1 -1
- package/dist/clis/zsxq/topics.test.js +1 -1
- package/dist/clis/zsxq/utils.d.ts +1 -1
- package/dist/clis/zsxq/utils.js +1 -1
- package/dist/src/discovery.d.ts +5 -5
- package/dist/src/discovery.js +22 -75
- package/dist/src/engine.test.js +3 -3
- package/dist/src/package-exports.test.d.ts +1 -0
- package/dist/src/package-exports.test.js +75 -0
- package/dist/src/registry-api.d.ts +1 -1
- package/package.json +15 -11
- package/dist/browser/cdp.d.ts +0 -1
- package/dist/browser/cdp.js +0 -2
- package/dist/browser/page.d.ts +0 -1
- package/dist/browser/page.js +0 -2
- package/dist/browser/utils.d.ts +0 -1
- package/dist/browser/utils.js +0 -2
- package/dist/download/article-download.d.ts +0 -1
- package/dist/download/article-download.js +0 -2
- package/dist/download/index.d.ts +0 -1
- package/dist/download/index.js +0 -2
- package/dist/download/media-download.d.ts +0 -1
- package/dist/download/media-download.js +0 -2
- package/dist/download/progress.d.ts +0 -1
- package/dist/download/progress.js +0 -2
- package/dist/pipeline/index.d.ts +0 -1
- package/dist/pipeline/index.js +0 -2
package/dist/clis/weibo/post.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Weibo post — get a single post by ID.
|
|
3
3
|
*/
|
|
4
|
-
import { cli, Strategy } from '
|
|
5
|
-
import { CommandExecutionError } from '
|
|
4
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
5
|
+
import { CommandExecutionError } from '@jackwener/opencli/errors';
|
|
6
6
|
cli({
|
|
7
7
|
site: 'weibo',
|
|
8
8
|
name: 'post',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Weibo search — browser DOM extraction from search results.
|
|
3
3
|
*/
|
|
4
|
-
import { cli, Strategy } from '
|
|
5
|
-
import { CliError } from '
|
|
4
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
5
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
6
6
|
cli({
|
|
7
7
|
site: 'weibo',
|
|
8
8
|
name: 'search',
|
package/dist/clis/weibo/user.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Weibo user — get user profile by uid or screen_name.
|
|
3
3
|
*/
|
|
4
|
-
import { cli, Strategy } from '
|
|
5
|
-
import { CommandExecutionError } from '
|
|
4
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
5
|
+
import { CommandExecutionError } from '@jackwener/opencli/errors';
|
|
6
6
|
cli({
|
|
7
7
|
site: 'weibo',
|
|
8
8
|
name: 'user',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared Weibo utilities — uid extraction.
|
|
3
3
|
*/
|
|
4
|
-
import type { IPage } from '
|
|
4
|
+
import type { IPage } from '@jackwener/opencli/types';
|
|
5
5
|
/** Get the currently logged-in user's uid from Vue store or config API. */
|
|
6
6
|
export declare function getSelfUid(page: IPage): Promise<string>;
|
package/dist/clis/weibo/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared Weibo utilities — uid extraction.
|
|
3
3
|
*/
|
|
4
|
-
import { AuthRequiredError } from '
|
|
4
|
+
import { AuthRequiredError } from '@jackwener/opencli/errors';
|
|
5
5
|
/** Get the currently logged-in user's uid from Vue store or config API. */
|
|
6
6
|
export async function getSelfUid(page) {
|
|
7
7
|
const uid = await page.evaluate(`
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* Usage:
|
|
7
7
|
* opencli weixin download --url "https://mp.weixin.qq.com/s/xxx" --output ./weixin
|
|
8
8
|
*/
|
|
9
|
-
import { cli, Strategy } from '
|
|
10
|
-
import { downloadArticle } from '
|
|
9
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
10
|
+
import { downloadArticle } from '@jackwener/opencli/download/article-download';
|
|
11
11
|
// ============================================================
|
|
12
12
|
// URL Normalization
|
|
13
13
|
// ============================================================
|
package/dist/clis/weread/book.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cli, Strategy } from '
|
|
2
|
-
import { CliError } from '
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
3
3
|
import { fetchPrivateApi, fetchWebApi, resolveShelfReader, WEREAD_UA, WEREAD_WEB_ORIGIN, } from './utils.js';
|
|
4
4
|
function decodeHtmlText(value) {
|
|
5
5
|
return value
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { CliError } from '
|
|
2
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
3
3
|
const { mockFetchPrivateApi } = vi.hoisted(() => ({
|
|
4
4
|
mockFetchPrivateApi: vi.fn(),
|
|
5
5
|
}));
|
|
@@ -10,7 +10,7 @@ vi.mock('./utils.js', async () => {
|
|
|
10
10
|
fetchPrivateApi: mockFetchPrivateApi,
|
|
11
11
|
};
|
|
12
12
|
});
|
|
13
|
-
import { getRegistry } from '
|
|
13
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
14
14
|
import './book.js';
|
|
15
15
|
import './highlights.js';
|
|
16
16
|
import './notes.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { getRegistry } from '
|
|
3
|
-
import { log } from '
|
|
2
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
3
|
+
import { log } from '@jackwener/opencli/logger';
|
|
4
4
|
import { fetchPrivateApi } from './utils.js';
|
|
5
5
|
import './shelf.js';
|
|
6
6
|
describe('weread private API regression', () => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { getRegistry } from '
|
|
2
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
3
3
|
import './search.js';
|
|
4
4
|
describe('weread/search regression', () => {
|
|
5
5
|
beforeEach(() => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { cli, Strategy } from '
|
|
2
|
-
import { CliError } from '
|
|
3
|
-
import { log } from '
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
3
|
+
import { log } from '@jackwener/opencli/logger';
|
|
4
4
|
import { buildWebShelfEntries, fetchPrivateApi, loadWebShelfSnapshot, } from './utils.js';
|
|
5
5
|
function normalizeShelfLimit(limit) {
|
|
6
6
|
if (!Number.isFinite(limit))
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* - WEB_API (weread.qq.com/web/*): public, Node.js fetch
|
|
6
6
|
* - API (i.weread.qq.com/*): private, Node.js fetch with cookies from browser
|
|
7
7
|
*/
|
|
8
|
-
import type { IPage } from '
|
|
8
|
+
import type { IPage } from '@jackwener/opencli/types';
|
|
9
9
|
export declare const WEREAD_DOMAIN = "weread.qq.com";
|
|
10
10
|
export declare const WEREAD_WEB_ORIGIN = "https://weread.qq.com";
|
|
11
11
|
export declare const WEREAD_SHELF_URL = "https://weread.qq.com/web/shelf";
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* - WEB_API (weread.qq.com/web/*): public, Node.js fetch
|
|
6
6
|
* - API (i.weread.qq.com/*): private, Node.js fetch with cookies from browser
|
|
7
7
|
*/
|
|
8
|
-
import { CliError } from '
|
|
8
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
9
9
|
export const WEREAD_DOMAIN = 'weread.qq.com';
|
|
10
10
|
export const WEREAD_WEB_ORIGIN = `https://${WEREAD_DOMAIN}`;
|
|
11
11
|
export const WEREAD_SHELF_URL = `${WEREAD_WEB_ORIGIN}/web/shelf`;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CliError } from '
|
|
2
|
-
import { cli, Strategy } from '
|
|
1
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
2
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
3
3
|
import { formatSummaryRow, wikiFetch } from './utils.js';
|
|
4
4
|
cli({
|
|
5
5
|
site: 'wikipedia',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CliError } from '
|
|
2
|
-
import { cli, Strategy } from '
|
|
1
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
2
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
3
3
|
import { wikiFetch } from './utils.js';
|
|
4
4
|
cli({
|
|
5
5
|
site: 'wikipedia',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CliError } from '
|
|
2
|
-
import { cli, Strategy } from '
|
|
1
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
2
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
3
3
|
import { formatSummaryRow, wikiFetch } from './utils.js';
|
|
4
4
|
cli({
|
|
5
5
|
site: 'wikipedia',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CliError } from '
|
|
2
|
-
import { cli, Strategy } from '
|
|
1
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
2
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
3
3
|
import { DESC_MAX_LEN, wikiFetch } from './utils.js';
|
|
4
4
|
cli({
|
|
5
5
|
site: 'wikipedia',
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* REST API: https://en.wikipedia.org/api/rest_v1/
|
|
6
6
|
* Action API: https://en.wikipedia.org/w/api.php
|
|
7
7
|
*/
|
|
8
|
-
import { CliError } from '
|
|
8
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
9
9
|
/** Maximum character length for article extract fields. */
|
|
10
10
|
export const EXTRACT_MAX_LEN = 300;
|
|
11
11
|
/** Maximum character length for short description fields. */
|
package/dist/clis/xianyu/chat.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AuthRequiredError, SelectorError } from '
|
|
2
|
-
import { cli, Strategy } from '
|
|
1
|
+
import { AuthRequiredError, SelectorError } from '@jackwener/opencli/errors';
|
|
2
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
3
3
|
import { normalizeNumericId } from './utils.js';
|
|
4
4
|
function buildChatUrl(itemId, peerUserId) {
|
|
5
5
|
return `https://www.goofish.com/im?itemId=${encodeURIComponent(itemId)}&peerUserId=${encodeURIComponent(peerUserId)}`;
|
package/dist/clis/xianyu/item.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AuthRequiredError, EmptyResultError, SelectorError } from '
|
|
2
|
-
import { cli, Strategy } from '
|
|
1
|
+
import { AuthRequiredError, EmptyResultError, SelectorError } from '@jackwener/opencli/errors';
|
|
2
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
3
3
|
import { normalizeNumericId } from './utils.js';
|
|
4
4
|
function buildItemUrl(itemId) {
|
|
5
5
|
return `https://www.goofish.com/item?id=${encodeURIComponent(itemId)}`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { AuthRequiredError, EmptyResultError, SelectorError } from '
|
|
3
|
-
import { getRegistry } from '
|
|
2
|
+
import { AuthRequiredError, EmptyResultError, SelectorError } from '@jackwener/opencli/errors';
|
|
3
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
4
4
|
import { __test__ } from './item.js';
|
|
5
5
|
import './item.js';
|
|
6
6
|
function createPageMock(evaluateResult) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AuthRequiredError, EmptyResultError } from '
|
|
2
|
-
import { cli, Strategy } from '
|
|
1
|
+
import { AuthRequiredError, EmptyResultError } from '@jackwener/opencli/errors';
|
|
2
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
3
3
|
const MAX_LIMIT = 50;
|
|
4
4
|
function normalizeLimit(value) {
|
|
5
5
|
const n = Number(value);
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Supports both top-level comments and nested replies (楼中楼) via
|
|
6
6
|
* the --with-replies flag.
|
|
7
7
|
*/
|
|
8
|
-
import { cli, Strategy } from '
|
|
9
|
-
import { AuthRequiredError, EmptyResultError } from '
|
|
8
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
9
|
+
import { AuthRequiredError, EmptyResultError } from '@jackwener/opencli/errors';
|
|
10
10
|
import { parseNoteId, buildNoteUrl } from './note-helpers.js';
|
|
11
11
|
function parseCommentLimit(raw, fallback = 20) {
|
|
12
12
|
const n = Number(raw);
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Requires: logged into creator.xiaohongshu.com in Chrome.
|
|
10
10
|
*/
|
|
11
|
-
import { cli, Strategy } from '
|
|
11
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
12
12
|
const NOTE_DETAIL_DATETIME_RE = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/;
|
|
13
13
|
const NOTE_DETAIL_METRICS = [
|
|
14
14
|
{ label: '曝光数', section: '基础数据' },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { getRegistry } from '
|
|
2
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
3
3
|
import { appendAudienceRows, appendTrendRows, parseCreatorNoteDetailDomData, parseCreatorNoteDetailText } from './creator-note-detail.js';
|
|
4
4
|
import './creator-note-detail.js';
|
|
5
5
|
function createPageMock(evaluateResult) {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Combines creator-notes and creator-note-detail into a single command that
|
|
5
5
|
* returns one summary row per note, suitable for quick review or downstream JSON use.
|
|
6
6
|
*/
|
|
7
|
-
import { cli, Strategy } from '
|
|
7
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
8
8
|
import { fetchCreatorNotes } from './creator-notes.js';
|
|
9
9
|
import { fetchCreatorNoteDetailRows } from './creator-note-detail.js';
|
|
10
10
|
function findDetailValue(rows, metric) {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Requires: logged into creator.xiaohongshu.com in Chrome.
|
|
9
9
|
*/
|
|
10
|
-
import { cli, Strategy } from '
|
|
10
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
11
11
|
const DATE_LINE_RE = /^发布于 (\d{4}年\d{2}月\d{2}日 \d{2}:\d{2})$/;
|
|
12
12
|
const METRIC_LINE_RE = /^\d+$/;
|
|
13
13
|
const VISIBILITY_LINE_RE = /可见$/;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { getRegistry } from '
|
|
2
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
3
3
|
import { parseCreatorNoteIdsFromHtml, parseCreatorNotesText } from './creator-notes.js';
|
|
4
4
|
import './creator-notes.js';
|
|
5
5
|
function createPageMock(evaluateResult, interceptedRequests = []) {
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* Accepts a bare note ID, a full xiaohongshu.com URL (with xsec_token),
|
|
8
8
|
* or a short link (http://xhslink.com/...).
|
|
9
9
|
*/
|
|
10
|
-
import { cli, Strategy } from '
|
|
11
|
-
import { formatCookieHeader } from '
|
|
12
|
-
import { downloadMedia } from '
|
|
10
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
11
|
+
import { formatCookieHeader } from '@jackwener/opencli/download';
|
|
12
|
+
import { downloadMedia } from '@jackwener/opencli/download/media-download';
|
|
13
13
|
import { buildNoteUrl, parseNoteId } from './note-helpers.js';
|
|
14
14
|
cli({
|
|
15
15
|
site: 'xiaohongshu',
|
|
@@ -3,13 +3,13 @@ const { mockDownloadMedia, mockFormatCookieHeader } = vi.hoisted(() => ({
|
|
|
3
3
|
mockDownloadMedia: vi.fn(),
|
|
4
4
|
mockFormatCookieHeader: vi.fn(() => 'a=b'),
|
|
5
5
|
}));
|
|
6
|
-
vi.mock('
|
|
6
|
+
vi.mock('@jackwener/opencli/download/media-download', () => ({
|
|
7
7
|
downloadMedia: mockDownloadMedia,
|
|
8
8
|
}));
|
|
9
|
-
vi.mock('
|
|
9
|
+
vi.mock('@jackwener/opencli/download', () => ({
|
|
10
10
|
formatCookieHeader: mockFormatCookieHeader,
|
|
11
11
|
}));
|
|
12
|
-
import { getRegistry } from '
|
|
12
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
13
13
|
import './download.js';
|
|
14
14
|
function createPageMock(evaluateResult) {
|
|
15
15
|
return {
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* Bare IDs now use /search_result/<id> which works without xsec_token
|
|
9
9
|
* when the user is logged in via cookies.
|
|
10
10
|
*/
|
|
11
|
-
import { cli, Strategy } from '
|
|
12
|
-
import { AuthRequiredError, EmptyResultError } from '
|
|
11
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
12
|
+
import { AuthRequiredError, EmptyResultError } from '@jackwener/opencli/errors';
|
|
13
13
|
import { parseNoteId, buildNoteUrl } from './note-helpers.js';
|
|
14
14
|
cli({
|
|
15
15
|
site: 'xiaohongshu',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { getRegistry } from '
|
|
2
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
3
3
|
import { parseNoteId, buildNoteUrl } from './note-helpers.js';
|
|
4
4
|
import './note.js';
|
|
5
5
|
function createPageMock(evaluateResult) {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import * as fs from 'node:fs';
|
|
19
19
|
import * as path from 'node:path';
|
|
20
|
-
import { cli, Strategy } from '
|
|
20
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
21
21
|
const PUBLISH_URL = 'https://creator.xiaohongshu.com/publish/publish?from=menu_left';
|
|
22
22
|
const MAX_IMAGES = 9;
|
|
23
23
|
const MAX_TITLE_LEN = 20;
|
|
@@ -2,7 +2,7 @@ import * as fs from 'node:fs';
|
|
|
2
2
|
import * as os from 'node:os';
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
import { describe, expect, it, vi } from 'vitest';
|
|
5
|
-
import { getRegistry } from '
|
|
5
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
6
6
|
import './publish.js';
|
|
7
7
|
function createPageMock(evaluateResults, overrides = {}) {
|
|
8
8
|
const evaluate = vi.fn();
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* the search results page and extracts data from rendered DOM elements.
|
|
6
6
|
* Ref: https://github.com/jackwener/opencli/issues/10
|
|
7
7
|
*/
|
|
8
|
-
import { cli, Strategy } from '
|
|
9
|
-
import { AuthRequiredError } from '
|
|
8
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
9
|
+
import { AuthRequiredError } from '@jackwener/opencli/errors';
|
|
10
10
|
/**
|
|
11
11
|
* Wait for search results or login wall using MutationObserver (max 5s).
|
|
12
12
|
* Returns 'content' if note items appeared, 'login_wall' if login gate
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { getRegistry } from '
|
|
2
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
3
3
|
import { noteIdToDate } from './search.js';
|
|
4
4
|
function createPageMock(evaluateResults) {
|
|
5
5
|
const evaluate = vi.fn();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cli, Strategy } from '
|
|
2
|
-
import { CliError } from '
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
3
3
|
import { fetchPageProps, formatDuration, formatDate } from './utils.js';
|
|
4
4
|
cli({
|
|
5
5
|
site: 'xiaoyuzhou',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cli, Strategy } from '
|
|
2
|
-
import { CliError } from '
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
3
3
|
import { fetchPageProps, formatDuration, formatDate } from './utils.js';
|
|
4
4
|
cli({
|
|
5
5
|
site: 'xiaoyuzhou',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cli, Strategy } from '
|
|
2
|
-
import { CliError } from '
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
3
3
|
import { fetchPageProps, formatDate } from './utils.js';
|
|
4
4
|
cli({
|
|
5
5
|
site: 'xiaoyuzhou',
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* <script id="__NEXT_DATA__">. We fetch the HTML and extract that JSON
|
|
6
6
|
* instead of using their authenticated API.
|
|
7
7
|
*/
|
|
8
|
-
import { CliError } from '
|
|
8
|
+
import { CliError } from '@jackwener/opencli/errors';
|
|
9
9
|
/**
|
|
10
10
|
* Fetch a Xiaoyuzhou page and extract __NEXT_DATA__.props.pageProps.
|
|
11
11
|
* @param path - URL path, e.g. '/podcast/xxx' or '/episode/xxx'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { cli, Strategy } from '
|
|
2
|
-
import { ArgumentError, AuthRequiredError, CommandExecutionError, EmptyResultError } from '
|
|
3
|
-
import { log } from '
|
|
4
|
-
import { isRecord } from '
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { ArgumentError, AuthRequiredError, CommandExecutionError, EmptyResultError } from '@jackwener/opencli/errors';
|
|
3
|
+
import { log } from '@jackwener/opencli/logger';
|
|
4
|
+
import { isRecord } from '@jackwener/opencli/utils';
|
|
5
5
|
const XUEQIU_SYMBOL_PATTERN = /^(?:[A-Z]{2}\d{5,6}|\d{4,6}|[A-Z]{1,5}(?:[.-][A-Z]{1,2})?)$/;
|
|
6
6
|
const FAILURE_REASON_BY_KIND = {
|
|
7
7
|
auth: 'auth failure',
|
|
@@ -2,7 +2,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
|
2
2
|
const { mockWarn } = vi.hoisted(() => ({
|
|
3
3
|
mockWarn: vi.fn(),
|
|
4
4
|
}));
|
|
5
|
-
vi.mock('
|
|
5
|
+
vi.mock('@jackwener/opencli/logger', () => ({
|
|
6
6
|
log: {
|
|
7
7
|
info: vi.fn(),
|
|
8
8
|
warn: mockWarn,
|
|
@@ -13,8 +13,8 @@ vi.mock('../../src/logger.js', () => ({
|
|
|
13
13
|
stepResult: vi.fn(),
|
|
14
14
|
},
|
|
15
15
|
}));
|
|
16
|
-
import { ArgumentError, AuthRequiredError, CommandExecutionError, EmptyResultError } from '
|
|
17
|
-
import { getRegistry } from '
|
|
16
|
+
import { ArgumentError, AuthRequiredError, CommandExecutionError, EmptyResultError } from '@jackwener/opencli/errors';
|
|
17
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
18
18
|
import { classifyXueqiuCommentsResponse, collectCommentRows, mergeUniqueCommentRows, normalizeCommentItem, normalizeSymbolInput, } from './comments.js';
|
|
19
19
|
const command = getRegistry().get('xueqiu/comments');
|
|
20
20
|
function createCommandPage(response) {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* all per-account holdings in parallel (Promise.all), minimising Node↔Browser
|
|
6
6
|
* round-trips to exactly one.
|
|
7
7
|
*/
|
|
8
|
-
import type { IPage } from '
|
|
8
|
+
import type { IPage } from '@jackwener/opencli/types';
|
|
9
9
|
export declare const DANJUAN_DOMAIN = "danjuanfunds.com";
|
|
10
10
|
export declare const DANJUAN_ASSET_PAGE = "https://danjuanfunds.com/my-money";
|
|
11
11
|
export interface DanjuanAccount {
|