@jackwener/opencli 1.7.0 → 1.7.2
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/README.md +13 -13
- package/README.zh-CN.md +11 -10
- package/cli-manifest.json +17536 -0
- package/clis/antigravity/SKILL.md +38 -0
- package/{dist/clis → clis}/barchart/quote.js +2 -1
- package/{dist/clis → clis}/bilibili/following.js +1 -0
- package/clis/binance/asks.js +21 -0
- package/clis/binance/commands.test.js +70 -0
- package/clis/binance/depth.js +21 -0
- package/clis/binance/gainers.js +22 -0
- package/clis/binance/klines.js +21 -0
- package/clis/binance/losers.js +22 -0
- package/clis/binance/pairs.js +21 -0
- package/clis/binance/price.js +18 -0
- package/clis/binance/prices.js +19 -0
- package/clis/binance/ticker.js +21 -0
- package/clis/binance/top.js +21 -0
- package/clis/binance/trades.js +20 -0
- package/clis/linux-do/categories.js +49 -0
- package/{dist/clis → clis}/linux-do/feed.js +1 -1
- package/clis/linux-do/search.js +28 -0
- package/clis/linux-do/tags.js +27 -0
- package/{dist/clis → clis}/linux-do/topic-content.test.js +1 -1
- package/clis/linux-do/topic.js +52 -0
- package/clis/linux-do/user-posts.js +56 -0
- package/clis/linux-do/user-topics.js +36 -0
- package/clis/slock/_utils.js +12 -0
- package/clis/twitter/lists-parser.js +77 -0
- package/clis/twitter/lists.d.ts +5 -0
- package/clis/twitter/lists.js +62 -0
- package/clis/twitter/lists.test.js +50 -0
- package/{dist/clis → clis}/weibo/feed.js +18 -5
- package/clis/xueqiu/earnings-date.js +44 -0
- package/clis/xueqiu/feed.js +38 -0
- package/clis/xueqiu/groups.js +22 -0
- package/clis/xueqiu/hot-stock.js +31 -0
- package/clis/xueqiu/hot.js +36 -0
- package/clis/xueqiu/kline.js +43 -0
- package/clis/xueqiu/search.js +36 -0
- package/clis/xueqiu/stock.js +64 -0
- package/clis/xueqiu/utils.js +29 -0
- package/clis/xueqiu/watchlist.js +36 -0
- package/{dist/clis → clis}/yahoo-finance/quote.js +2 -1
- package/{dist/clis → clis}/zsxq/topic.js +5 -3
- package/{dist/clis → clis}/zsxq/topic.test.js +4 -3
- package/{dist/clis → clis}/zsxq/utils.js +1 -1
- package/dist/src/browser/base-page.js +1 -1
- package/dist/src/browser/cdp.js +6 -4
- package/dist/src/browser/stealth.d.ts +0 -5
- package/dist/src/browser/stealth.js +8 -2
- package/dist/src/build-manifest.d.ts +5 -5
- package/dist/src/build-manifest.js +14 -10
- package/dist/src/build-manifest.test.js +7 -7
- package/dist/src/capabilityRouting.d.ts +1 -1
- package/dist/src/capabilityRouting.js +4 -2
- package/dist/src/capabilityRouting.test.js +4 -1
- package/dist/src/cli.js +171 -61
- package/dist/src/commanderAdapter.d.ts +0 -1
- package/dist/src/commanderAdapter.js +27 -152
- package/dist/src/commanderAdapter.test.js +47 -15
- package/dist/src/commands/daemon.js +4 -4
- package/dist/src/commands/daemon.test.js +5 -14
- package/dist/src/completion-fast.d.ts +0 -3
- package/dist/src/completion-fast.js +2 -54
- package/dist/src/completion-shared.d.ts +13 -0
- package/dist/src/completion-shared.js +63 -0
- package/dist/src/completion.d.ts +2 -3
- package/dist/src/completion.js +3 -56
- package/dist/src/daemon.js +13 -8
- package/dist/src/diagnostic.d.ts +2 -3
- package/dist/src/diagnostic.js +4 -21
- package/dist/src/diagnostic.test.js +8 -9
- package/dist/src/discovery.d.ts +7 -4
- package/dist/src/discovery.js +19 -44
- package/dist/src/doctor.js +15 -15
- package/dist/src/download/index.js +2 -1
- package/dist/src/download/progress.js +10 -10
- package/dist/src/engine.test.js +33 -5
- package/dist/src/errors.d.ts +16 -2
- package/dist/src/errors.js +28 -16
- package/dist/src/errors.test.js +38 -1
- package/dist/src/execution.d.ts +4 -1
- package/dist/src/execution.js +10 -9
- package/dist/src/execution.test.js +18 -2
- package/dist/src/external.js +12 -13
- package/dist/src/generate-verified.js +10 -10
- package/dist/src/generate-verified.test.js +1 -1
- package/dist/src/logger.js +10 -10
- package/dist/src/main.js +24 -11
- package/dist/src/output.js +5 -5
- package/dist/src/package-exports.test.js +8 -8
- package/dist/src/pipeline/steps/tap.js +2 -1
- package/dist/src/pipeline/template.js +80 -26
- package/dist/src/plugin.js +36 -23
- package/dist/src/plugin.test.js +41 -0
- package/dist/src/record.js +23 -23
- package/dist/src/registry.d.ts +11 -6
- package/dist/src/registry.js +40 -12
- package/dist/src/registry.test.js +56 -0
- package/dist/src/runtime.js +2 -1
- package/dist/src/tui.js +14 -14
- package/dist/src/update-check.js +3 -3
- package/dist/src/validate.d.ts +12 -5
- package/dist/src/validate.js +88 -59
- package/dist/src/weixin-download.test.js +1 -0
- package/package.json +8 -11
- package/scripts/check-doc-coverage.sh +10 -0
- package/scripts/clean-dist.cjs +2 -2
- package/scripts/copy-yaml.cjs +3 -19
- package/scripts/fetch-adapters.js +137 -28
- package/scripts/postinstall.js +1 -0
- package/dist/clis/1688/assets.d.ts +0 -42
- package/dist/clis/1688/download.d.ts +0 -9
- package/dist/clis/1688/download.test.d.ts +0 -1
- package/dist/clis/1688/item.d.ts +0 -70
- package/dist/clis/1688/item.test.d.ts +0 -1
- package/dist/clis/1688/search.d.ts +0 -56
- package/dist/clis/1688/search.test.d.ts +0 -1
- package/dist/clis/1688/shared.d.ts +0 -122
- package/dist/clis/1688/shared.test.d.ts +0 -1
- package/dist/clis/1688/store.d.ts +0 -45
- package/dist/clis/1688/store.test.d.ts +0 -1
- package/dist/clis/36kr/article.d.ts +0 -1
- package/dist/clis/36kr/hot.d.ts +0 -3
- package/dist/clis/36kr/hot.test.d.ts +0 -1
- package/dist/clis/36kr/news.d.ts +0 -1
- package/dist/clis/36kr/news.test.d.ts +0 -1
- package/dist/clis/36kr/search.d.ts +0 -1
- package/dist/clis/_shared/common.d.ts +0 -11
- package/dist/clis/_shared/desktop-commands.d.ts +0 -22
- package/dist/clis/amazon/bestsellers.d.ts +0 -1
- package/dist/clis/amazon/bestsellers.test.d.ts +0 -1
- package/dist/clis/amazon/discussion.d.ts +0 -20
- package/dist/clis/amazon/discussion.test.d.ts +0 -1
- package/dist/clis/amazon/movers-shakers.d.ts +0 -1
- package/dist/clis/amazon/new-releases.d.ts +0 -1
- package/dist/clis/amazon/offer.d.ts +0 -23
- package/dist/clis/amazon/offer.test.d.ts +0 -1
- package/dist/clis/amazon/product.d.ts +0 -18
- package/dist/clis/amazon/product.test.d.ts +0 -1
- package/dist/clis/amazon/rankings.d.ts +0 -59
- package/dist/clis/amazon/rankings.test.d.ts +0 -1
- package/dist/clis/amazon/search.d.ts +0 -18
- package/dist/clis/amazon/search.test.d.ts +0 -1
- package/dist/clis/amazon/shared.d.ts +0 -75
- package/dist/clis/amazon/shared.test.d.ts +0 -1
- package/dist/clis/antigravity/dump.d.ts +0 -1
- package/dist/clis/antigravity/extract-code.d.ts +0 -1
- package/dist/clis/antigravity/model.d.ts +0 -1
- package/dist/clis/antigravity/new.d.ts +0 -1
- package/dist/clis/antigravity/read.d.ts +0 -1
- package/dist/clis/antigravity/send.d.ts +0 -1
- package/dist/clis/antigravity/serve.d.ts +0 -14
- package/dist/clis/antigravity/status.d.ts +0 -1
- package/dist/clis/antigravity/watch.d.ts +0 -1
- package/dist/clis/apple-podcasts/commands.test.d.ts +0 -2
- package/dist/clis/apple-podcasts/episodes.d.ts +0 -1
- package/dist/clis/apple-podcasts/search.d.ts +0 -1
- package/dist/clis/apple-podcasts/top.d.ts +0 -1
- package/dist/clis/apple-podcasts/utils.d.ts +0 -11
- package/dist/clis/apple-podcasts/utils.test.d.ts +0 -1
- package/dist/clis/arxiv/paper.d.ts +0 -1
- package/dist/clis/arxiv/search.d.ts +0 -1
- package/dist/clis/arxiv/utils.d.ts +0 -18
- package/dist/clis/band/bands.d.ts +0 -1
- package/dist/clis/band/mentions.d.ts +0 -1
- package/dist/clis/band/post.d.ts +0 -1
- package/dist/clis/band/posts.d.ts +0 -1
- package/dist/clis/barchart/flow.d.ts +0 -1
- package/dist/clis/barchart/greeks.d.ts +0 -1
- package/dist/clis/barchart/options.d.ts +0 -1
- package/dist/clis/barchart/quote.d.ts +0 -1
- package/dist/clis/bbc/news.d.ts +0 -1
- package/dist/clis/bilibili/comments.d.ts +0 -5
- package/dist/clis/bilibili/comments.test.d.ts +0 -1
- package/dist/clis/bilibili/download.d.ts +0 -10
- package/dist/clis/bilibili/dynamic.d.ts +0 -1
- package/dist/clis/bilibili/dynamic.test.d.ts +0 -1
- package/dist/clis/bilibili/favorite.d.ts +0 -1
- package/dist/clis/bilibili/feed.d.ts +0 -1
- package/dist/clis/bilibili/following.d.ts +0 -1
- package/dist/clis/bilibili/history.d.ts +0 -1
- package/dist/clis/bilibili/hot.d.ts +0 -1
- package/dist/clis/bilibili/me.d.ts +0 -1
- package/dist/clis/bilibili/ranking.d.ts +0 -1
- package/dist/clis/bilibili/search.d.ts +0 -1
- package/dist/clis/bilibili/subtitle.d.ts +0 -1
- package/dist/clis/bilibili/subtitle.test.d.ts +0 -1
- package/dist/clis/bilibili/user-videos.d.ts +0 -1
- package/dist/clis/bilibili/utils.d.ts +0 -19
- package/dist/clis/bilibili/utils.test.d.ts +0 -1
- package/dist/clis/bloomberg/businessweek.d.ts +0 -1
- package/dist/clis/bloomberg/economics.d.ts +0 -1
- package/dist/clis/bloomberg/feeds.d.ts +0 -1
- package/dist/clis/bloomberg/industries.d.ts +0 -1
- package/dist/clis/bloomberg/main.d.ts +0 -1
- package/dist/clis/bloomberg/markets.d.ts +0 -1
- package/dist/clis/bloomberg/news.d.ts +0 -1
- package/dist/clis/bloomberg/opinions.d.ts +0 -1
- package/dist/clis/bloomberg/politics.d.ts +0 -1
- package/dist/clis/bloomberg/tech.d.ts +0 -1
- package/dist/clis/bloomberg/utils.d.ts +0 -34
- package/dist/clis/bloomberg/utils.test.d.ts +0 -1
- package/dist/clis/bluesky/feeds.d.ts +0 -1
- package/dist/clis/bluesky/followers.d.ts +0 -1
- package/dist/clis/bluesky/following.d.ts +0 -1
- package/dist/clis/bluesky/profile.d.ts +0 -1
- package/dist/clis/bluesky/search.d.ts +0 -1
- package/dist/clis/bluesky/starter-packs.d.ts +0 -1
- package/dist/clis/bluesky/thread.d.ts +0 -1
- package/dist/clis/bluesky/trending.d.ts +0 -1
- package/dist/clis/bluesky/user.d.ts +0 -1
- package/dist/clis/boss/batchgreet.d.ts +0 -1
- package/dist/clis/boss/chatlist.d.ts +0 -1
- package/dist/clis/boss/chatmsg.d.ts +0 -1
- package/dist/clis/boss/detail.d.ts +0 -1
- package/dist/clis/boss/exchange.d.ts +0 -1
- package/dist/clis/boss/greet.d.ts +0 -1
- package/dist/clis/boss/invite.d.ts +0 -1
- package/dist/clis/boss/joblist.d.ts +0 -1
- package/dist/clis/boss/mark.d.ts +0 -1
- package/dist/clis/boss/recommend.d.ts +0 -1
- package/dist/clis/boss/resume.d.ts +0 -1
- package/dist/clis/boss/search.d.ts +0 -1
- package/dist/clis/boss/send.d.ts +0 -1
- package/dist/clis/boss/stats.d.ts +0 -1
- package/dist/clis/boss/utils.d.ts +0 -92
- package/dist/clis/chaoxing/assignments.d.ts +0 -1
- package/dist/clis/chaoxing/exams.d.ts +0 -1
- package/dist/clis/chaoxing/utils.d.ts +0 -58
- package/dist/clis/chaoxing/utils.test.d.ts +0 -1
- package/dist/clis/chatgpt/ask.d.ts +0 -1
- package/dist/clis/chatgpt/ax.d.ts +0 -7
- package/dist/clis/chatgpt/model.d.ts +0 -1
- package/dist/clis/chatgpt/new.d.ts +0 -1
- package/dist/clis/chatgpt/read.d.ts +0 -1
- package/dist/clis/chatgpt/send.d.ts +0 -1
- package/dist/clis/chatgpt/status.d.ts +0 -1
- package/dist/clis/chatwise/ask.d.ts +0 -1
- package/dist/clis/chatwise/export.d.ts +0 -1
- package/dist/clis/chatwise/history.d.ts +0 -1
- package/dist/clis/chatwise/model.d.ts +0 -1
- package/dist/clis/chatwise/new.d.ts +0 -1
- package/dist/clis/chatwise/read.d.ts +0 -1
- package/dist/clis/chatwise/screenshot.d.ts +0 -1
- package/dist/clis/chatwise/send.d.ts +0 -1
- package/dist/clis/chatwise/status.d.ts +0 -1
- package/dist/clis/cnki/search.d.ts +0 -1
- package/dist/clis/cnki/search.test.d.ts +0 -1
- package/dist/clis/codex/ask.d.ts +0 -1
- package/dist/clis/codex/dump.d.ts +0 -1
- package/dist/clis/codex/export.d.ts +0 -1
- package/dist/clis/codex/extract-diff.d.ts +0 -1
- package/dist/clis/codex/history.d.ts +0 -1
- package/dist/clis/codex/model.d.ts +0 -1
- package/dist/clis/codex/new.d.ts +0 -1
- package/dist/clis/codex/read.d.ts +0 -1
- package/dist/clis/codex/screenshot.d.ts +0 -1
- package/dist/clis/codex/send.d.ts +0 -1
- package/dist/clis/codex/status.d.ts +0 -1
- package/dist/clis/coupang/add-to-cart.d.ts +0 -1
- package/dist/clis/coupang/search.d.ts +0 -1
- package/dist/clis/coupang/utils.d.ts +0 -24
- package/dist/clis/coupang/utils.test.d.ts +0 -1
- package/dist/clis/ctrip/search.d.ts +0 -14
- package/dist/clis/ctrip/search.test.d.ts +0 -1
- package/dist/clis/cursor/ask.d.ts +0 -1
- package/dist/clis/cursor/composer.d.ts +0 -1
- package/dist/clis/cursor/dump.d.ts +0 -1
- package/dist/clis/cursor/export.d.ts +0 -1
- package/dist/clis/cursor/extract-code.d.ts +0 -1
- package/dist/clis/cursor/history.d.ts +0 -1
- package/dist/clis/cursor/model.d.ts +0 -1
- package/dist/clis/cursor/new.d.ts +0 -1
- package/dist/clis/cursor/read.d.ts +0 -1
- package/dist/clis/cursor/screenshot.d.ts +0 -1
- package/dist/clis/cursor/send.d.ts +0 -1
- package/dist/clis/cursor/status.d.ts +0 -1
- package/dist/clis/devto/tag.d.ts +0 -1
- package/dist/clis/devto/top.d.ts +0 -1
- package/dist/clis/devto/user.d.ts +0 -1
- package/dist/clis/dictionary/examples.d.ts +0 -1
- package/dist/clis/dictionary/search.d.ts +0 -1
- package/dist/clis/dictionary/synonyms.d.ts +0 -1
- package/dist/clis/discord-app/channels.d.ts +0 -1
- package/dist/clis/discord-app/members.d.ts +0 -1
- package/dist/clis/discord-app/read.d.ts +0 -1
- package/dist/clis/discord-app/search.d.ts +0 -1
- package/dist/clis/discord-app/send.d.ts +0 -1
- package/dist/clis/discord-app/servers.d.ts +0 -1
- package/dist/clis/discord-app/status.d.ts +0 -1
- package/dist/clis/douban/book-hot.d.ts +0 -1
- package/dist/clis/douban/download.d.ts +0 -1
- package/dist/clis/douban/download.test.d.ts +0 -1
- package/dist/clis/douban/marks.d.ts +0 -1
- package/dist/clis/douban/movie-hot.d.ts +0 -1
- package/dist/clis/douban/photos.d.ts +0 -1
- package/dist/clis/douban/reviews.d.ts +0 -1
- package/dist/clis/douban/search.d.ts +0 -1
- package/dist/clis/douban/subject.d.ts +0 -1
- package/dist/clis/douban/top250.d.ts +0 -1
- package/dist/clis/douban/utils.d.ts +0 -63
- package/dist/clis/douban/utils.test.d.ts +0 -1
- package/dist/clis/doubao/ask.d.ts +0 -1
- package/dist/clis/doubao/detail.d.ts +0 -1
- package/dist/clis/doubao/detail.test.d.ts +0 -1
- package/dist/clis/doubao/history.d.ts +0 -1
- package/dist/clis/doubao/history.test.d.ts +0 -1
- package/dist/clis/doubao/meeting-summary.d.ts +0 -1
- package/dist/clis/doubao/meeting-transcript.d.ts +0 -1
- package/dist/clis/doubao/new.d.ts +0 -1
- package/dist/clis/doubao/read.d.ts +0 -1
- package/dist/clis/doubao/send.d.ts +0 -1
- package/dist/clis/doubao/status.d.ts +0 -1
- package/dist/clis/doubao/utils.d.ts +0 -50
- package/dist/clis/doubao/utils.test.d.ts +0 -1
- package/dist/clis/doubao-app/ask.d.ts +0 -1
- package/dist/clis/doubao-app/dump.d.ts +0 -1
- package/dist/clis/doubao-app/new.d.ts +0 -1
- package/dist/clis/doubao-app/read.d.ts +0 -1
- package/dist/clis/doubao-app/screenshot.d.ts +0 -1
- package/dist/clis/doubao-app/send.d.ts +0 -1
- package/dist/clis/doubao-app/status.d.ts +0 -1
- package/dist/clis/doubao-app/utils.d.ts +0 -37
- package/dist/clis/douyin/_shared/browser-fetch.d.ts +0 -10
- package/dist/clis/douyin/_shared/browser-fetch.test.d.ts +0 -1
- package/dist/clis/douyin/_shared/creation-id.d.ts +0 -1
- package/dist/clis/douyin/_shared/creation-id.test.d.ts +0 -1
- package/dist/clis/douyin/_shared/imagex-upload.d.ts +0 -20
- package/dist/clis/douyin/_shared/imagex-upload.test.d.ts +0 -1
- package/dist/clis/douyin/_shared/public-api.d.ts +0 -33
- package/dist/clis/douyin/_shared/sts2.d.ts +0 -8
- package/dist/clis/douyin/_shared/sts2.test.d.ts +0 -1
- package/dist/clis/douyin/_shared/text-extra.d.ts +0 -18
- package/dist/clis/douyin/_shared/text-extra.test.d.ts +0 -1
- package/dist/clis/douyin/_shared/timing.d.ts +0 -2
- package/dist/clis/douyin/_shared/timing.test.d.ts +0 -1
- package/dist/clis/douyin/_shared/tos-upload-short-read.test.d.ts +0 -11
- package/dist/clis/douyin/_shared/tos-upload.d.ts +0 -53
- package/dist/clis/douyin/_shared/tos-upload.test.d.ts +0 -1
- package/dist/clis/douyin/_shared/transcode.d.ts +0 -27
- package/dist/clis/douyin/_shared/transcode.test.d.ts +0 -1
- package/dist/clis/douyin/_shared/types.d.ts +0 -26
- package/dist/clis/douyin/_shared/types.js +0 -1
- package/dist/clis/douyin/activities.d.ts +0 -1
- package/dist/clis/douyin/activities.test.d.ts +0 -1
- package/dist/clis/douyin/collections.d.ts +0 -1
- package/dist/clis/douyin/collections.test.d.ts +0 -1
- package/dist/clis/douyin/delete.d.ts +0 -1
- package/dist/clis/douyin/delete.test.d.ts +0 -1
- package/dist/clis/douyin/draft.d.ts +0 -11
- package/dist/clis/douyin/draft.test.d.ts +0 -1
- package/dist/clis/douyin/drafts.d.ts +0 -1
- package/dist/clis/douyin/drafts.test.d.ts +0 -1
- package/dist/clis/douyin/hashtag.d.ts +0 -1
- package/dist/clis/douyin/hashtag.test.d.ts +0 -1
- package/dist/clis/douyin/location.d.ts +0 -1
- package/dist/clis/douyin/location.test.d.ts +0 -1
- package/dist/clis/douyin/profile.d.ts +0 -1
- package/dist/clis/douyin/profile.test.d.ts +0 -1
- package/dist/clis/douyin/publish.d.ts +0 -14
- package/dist/clis/douyin/publish.test.d.ts +0 -1
- package/dist/clis/douyin/stats.d.ts +0 -1
- package/dist/clis/douyin/stats.test.d.ts +0 -1
- package/dist/clis/douyin/update.d.ts +0 -1
- package/dist/clis/douyin/update.test.d.ts +0 -1
- package/dist/clis/douyin/user-videos.d.ts +0 -5
- package/dist/clis/douyin/user-videos.test.d.ts +0 -1
- package/dist/clis/douyin/videos.d.ts +0 -1
- package/dist/clis/douyin/videos.test.d.ts +0 -1
- package/dist/clis/facebook/add-friend.d.ts +0 -1
- package/dist/clis/facebook/events.d.ts +0 -1
- package/dist/clis/facebook/feed.d.ts +0 -1
- package/dist/clis/facebook/friends.d.ts +0 -1
- package/dist/clis/facebook/groups.d.ts +0 -1
- package/dist/clis/facebook/join-group.d.ts +0 -1
- package/dist/clis/facebook/memories.d.ts +0 -1
- package/dist/clis/facebook/notifications.d.ts +0 -1
- package/dist/clis/facebook/profile.d.ts +0 -1
- package/dist/clis/facebook/search.d.ts +0 -1
- package/dist/clis/facebook/search.test.d.ts +0 -5
- package/dist/clis/gemini/ask.d.ts +0 -1
- package/dist/clis/gemini/ask.test.d.ts +0 -1
- package/dist/clis/gemini/deep-research-result.d.ts +0 -1
- package/dist/clis/gemini/deep-research-result.test.d.ts +0 -1
- package/dist/clis/gemini/deep-research.d.ts +0 -1
- package/dist/clis/gemini/deep-research.test.d.ts +0 -1
- package/dist/clis/gemini/image.d.ts +0 -1
- package/dist/clis/gemini/new.d.ts +0 -1
- package/dist/clis/gemini/reply-state.test.d.ts +0 -1
- package/dist/clis/gemini/utils.d.ts +0 -106
- package/dist/clis/gemini/utils.test.d.ts +0 -1
- package/dist/clis/gitee/index.d.ts +0 -3
- package/dist/clis/gitee/search.d.ts +0 -1
- package/dist/clis/gitee/trending.d.ts +0 -1
- package/dist/clis/gitee/user.d.ts +0 -1
- package/dist/clis/gitee/user.test.d.ts +0 -1
- package/dist/clis/google/news.d.ts +0 -5
- package/dist/clis/google/search.d.ts +0 -10
- package/dist/clis/google/suggest.d.ts +0 -5
- package/dist/clis/google/trends.d.ts +0 -5
- package/dist/clis/google/utils.d.ts +0 -9
- package/dist/clis/google/utils.test.d.ts +0 -1
- package/dist/clis/grok/ask.d.ts +0 -19
- package/dist/clis/grok/ask.test.d.ts +0 -1
- package/dist/clis/hackernews/ask.d.ts +0 -1
- package/dist/clis/hackernews/best.d.ts +0 -1
- package/dist/clis/hackernews/jobs.d.ts +0 -1
- package/dist/clis/hackernews/new.d.ts +0 -1
- package/dist/clis/hackernews/search.d.ts +0 -1
- package/dist/clis/hackernews/show.d.ts +0 -1
- package/dist/clis/hackernews/top.d.ts +0 -1
- package/dist/clis/hackernews/user.d.ts +0 -1
- package/dist/clis/hf/top.d.ts +0 -1
- package/dist/clis/hupu/detail.d.ts +0 -1
- package/dist/clis/hupu/hot.d.ts +0 -1
- package/dist/clis/hupu/like.d.ts +0 -1
- package/dist/clis/hupu/mentions.d.ts +0 -1
- package/dist/clis/hupu/reply.d.ts +0 -1
- package/dist/clis/hupu/search.d.ts +0 -1
- package/dist/clis/hupu/unlike.d.ts +0 -1
- package/dist/clis/hupu/utils.d.ts +0 -20
- package/dist/clis/imdb/person.d.ts +0 -1
- package/dist/clis/imdb/reviews.d.ts +0 -1
- package/dist/clis/imdb/search.d.ts +0 -1
- package/dist/clis/imdb/title.d.ts +0 -1
- package/dist/clis/imdb/top.d.ts +0 -1
- package/dist/clis/imdb/trending.d.ts +0 -1
- package/dist/clis/imdb/utils.d.ts +0 -46
- package/dist/clis/imdb/utils.test.d.ts +0 -1
- package/dist/clis/instagram/_shared/private-publish.d.ts +0 -138
- package/dist/clis/instagram/_shared/private-publish.test.d.ts +0 -1
- package/dist/clis/instagram/_shared/protocol-capture.d.ts +0 -26
- package/dist/clis/instagram/_shared/protocol-capture.test.d.ts +0 -1
- package/dist/clis/instagram/_shared/runtime-info.d.ts +0 -9
- package/dist/clis/instagram/comment.d.ts +0 -1
- package/dist/clis/instagram/download.d.ts +0 -16
- package/dist/clis/instagram/download.test.d.ts +0 -1
- package/dist/clis/instagram/explore.d.ts +0 -1
- package/dist/clis/instagram/follow.d.ts +0 -1
- package/dist/clis/instagram/followers.d.ts +0 -1
- package/dist/clis/instagram/following.d.ts +0 -1
- package/dist/clis/instagram/like.d.ts +0 -1
- package/dist/clis/instagram/note.d.ts +0 -1
- package/dist/clis/instagram/note.test.d.ts +0 -1
- package/dist/clis/instagram/post.d.ts +0 -4
- package/dist/clis/instagram/post.test.d.ts +0 -1
- package/dist/clis/instagram/profile.d.ts +0 -1
- package/dist/clis/instagram/reel.d.ts +0 -1
- package/dist/clis/instagram/reel.test.d.ts +0 -1
- package/dist/clis/instagram/save.d.ts +0 -1
- package/dist/clis/instagram/saved.d.ts +0 -1
- package/dist/clis/instagram/search.d.ts +0 -1
- package/dist/clis/instagram/story.d.ts +0 -1
- package/dist/clis/instagram/story.test.d.ts +0 -1
- package/dist/clis/instagram/unfollow.d.ts +0 -1
- package/dist/clis/instagram/unlike.d.ts +0 -1
- package/dist/clis/instagram/unsave.d.ts +0 -1
- package/dist/clis/instagram/user.d.ts +0 -1
- package/dist/clis/jd/add-cart.d.ts +0 -1
- package/dist/clis/jd/cart.d.ts +0 -1
- package/dist/clis/jd/commands.test.d.ts +0 -5
- package/dist/clis/jd/detail.d.ts +0 -1
- package/dist/clis/jd/item.d.ts +0 -5
- package/dist/clis/jd/item.test.d.ts +0 -1
- package/dist/clis/jd/reviews.d.ts +0 -1
- package/dist/clis/jd/search.d.ts +0 -1
- package/dist/clis/jianyu/detail.d.ts +0 -1
- package/dist/clis/jianyu/search.d.ts +0 -51
- package/dist/clis/jianyu/search.test.d.ts +0 -1
- package/dist/clis/jianyu/shared/china-bid-search.d.ts +0 -12
- package/dist/clis/jianyu/shared/procurement-contract.d.ts +0 -68
- package/dist/clis/jianyu/shared/procurement-contract.test.d.ts +0 -1
- package/dist/clis/jianyu/shared/procurement-detail.d.ts +0 -6
- package/dist/clis/jianyu/shared/procurement-detail.test.d.ts +0 -1
- package/dist/clis/jike/comment.d.ts +0 -1
- package/dist/clis/jike/create.d.ts +0 -1
- package/dist/clis/jike/feed.d.ts +0 -1
- package/dist/clis/jike/like.d.ts +0 -1
- package/dist/clis/jike/notifications.d.ts +0 -1
- package/dist/clis/jike/post.d.ts +0 -1
- package/dist/clis/jike/repost.d.ts +0 -1
- package/dist/clis/jike/search.d.ts +0 -1
- package/dist/clis/jike/topic.d.ts +0 -1
- package/dist/clis/jike/user.d.ts +0 -1
- package/dist/clis/jike/utils.d.ts +0 -19
- package/dist/clis/jimeng/generate.d.ts +0 -1
- package/dist/clis/jimeng/history.d.ts +0 -1
- package/dist/clis/jimeng/new.d.ts +0 -1
- package/dist/clis/jimeng/workspaces.d.ts +0 -1
- package/dist/clis/lesswrong/_helpers.d.ts +0 -15
- package/dist/clis/lesswrong/comments.d.ts +0 -1
- package/dist/clis/lesswrong/curated.d.ts +0 -1
- package/dist/clis/lesswrong/frontpage.d.ts +0 -1
- package/dist/clis/lesswrong/new.d.ts +0 -1
- package/dist/clis/lesswrong/read.d.ts +0 -1
- package/dist/clis/lesswrong/sequences.d.ts +0 -1
- package/dist/clis/lesswrong/shortform.d.ts +0 -1
- package/dist/clis/lesswrong/tag.d.ts +0 -1
- package/dist/clis/lesswrong/tags.d.ts +0 -1
- package/dist/clis/lesswrong/top-month.d.ts +0 -1
- package/dist/clis/lesswrong/top-week.d.ts +0 -1
- package/dist/clis/lesswrong/top-year.d.ts +0 -1
- package/dist/clis/lesswrong/top.d.ts +0 -1
- package/dist/clis/lesswrong/user-posts.d.ts +0 -1
- package/dist/clis/lesswrong/user.d.ts +0 -1
- package/dist/clis/linkedin/search.d.ts +0 -1
- package/dist/clis/linkedin/timeline.d.ts +0 -21
- package/dist/clis/linkedin/timeline.test.d.ts +0 -1
- package/dist/clis/linux-do/categories.d.ts +0 -1
- package/dist/clis/linux-do/categories.js +0 -65
- package/dist/clis/linux-do/category.d.ts +0 -1
- package/dist/clis/linux-do/feed.d.ts +0 -45
- package/dist/clis/linux-do/feed.test.d.ts +0 -1
- package/dist/clis/linux-do/hot.d.ts +0 -1
- package/dist/clis/linux-do/latest.d.ts +0 -1
- package/dist/clis/linux-do/search.d.ts +0 -1
- package/dist/clis/linux-do/search.js +0 -41
- package/dist/clis/linux-do/tags.d.ts +0 -1
- package/dist/clis/linux-do/tags.js +0 -39
- package/dist/clis/linux-do/topic-content.d.ts +0 -35
- package/dist/clis/linux-do/topic-content.test.d.ts +0 -1
- package/dist/clis/linux-do/topic.d.ts +0 -1
- package/dist/clis/linux-do/topic.js +0 -56
- package/dist/clis/linux-do/user-posts.d.ts +0 -1
- package/dist/clis/linux-do/user-posts.js +0 -61
- package/dist/clis/linux-do/user-topics.d.ts +0 -1
- package/dist/clis/linux-do/user-topics.js +0 -48
- package/dist/clis/lobsters/active.d.ts +0 -1
- package/dist/clis/lobsters/hot.d.ts +0 -1
- package/dist/clis/lobsters/newest.d.ts +0 -1
- package/dist/clis/lobsters/tag.d.ts +0 -1
- package/dist/clis/medium/feed.d.ts +0 -1
- package/dist/clis/medium/search.d.ts +0 -1
- package/dist/clis/medium/user.d.ts +0 -1
- package/dist/clis/medium/utils.d.ts +0 -5
- package/dist/clis/notebooklm/compat.test.d.ts +0 -3
- package/dist/clis/notebooklm/current.d.ts +0 -1
- package/dist/clis/notebooklm/get.d.ts +0 -1
- package/dist/clis/notebooklm/history.d.ts +0 -1
- package/dist/clis/notebooklm/history.test.d.ts +0 -1
- package/dist/clis/notebooklm/list.d.ts +0 -1
- package/dist/clis/notebooklm/note-list.d.ts +0 -1
- package/dist/clis/notebooklm/note-list.test.d.ts +0 -1
- package/dist/clis/notebooklm/notes-get.d.ts +0 -1
- package/dist/clis/notebooklm/notes-get.test.d.ts +0 -1
- package/dist/clis/notebooklm/open.d.ts +0 -1
- package/dist/clis/notebooklm/open.test.d.ts +0 -1
- package/dist/clis/notebooklm/rpc.d.ts +0 -36
- package/dist/clis/notebooklm/rpc.test.d.ts +0 -1
- package/dist/clis/notebooklm/shared.d.ts +0 -87
- package/dist/clis/notebooklm/source-fulltext.d.ts +0 -1
- package/dist/clis/notebooklm/source-fulltext.test.d.ts +0 -1
- package/dist/clis/notebooklm/source-get.d.ts +0 -1
- package/dist/clis/notebooklm/source-get.test.d.ts +0 -1
- package/dist/clis/notebooklm/source-guide.d.ts +0 -1
- package/dist/clis/notebooklm/source-guide.test.d.ts +0 -1
- package/dist/clis/notebooklm/source-list.d.ts +0 -1
- package/dist/clis/notebooklm/status.d.ts +0 -1
- package/dist/clis/notebooklm/summary.d.ts +0 -1
- package/dist/clis/notebooklm/summary.test.d.ts +0 -1
- package/dist/clis/notebooklm/utils.d.ts +0 -38
- package/dist/clis/notebooklm/utils.test.d.ts +0 -1
- package/dist/clis/notion/export.d.ts +0 -1
- package/dist/clis/notion/favorites.d.ts +0 -1
- package/dist/clis/notion/new.d.ts +0 -1
- package/dist/clis/notion/read.d.ts +0 -1
- package/dist/clis/notion/search.d.ts +0 -1
- package/dist/clis/notion/sidebar.d.ts +0 -1
- package/dist/clis/notion/status.d.ts +0 -1
- package/dist/clis/notion/write.d.ts +0 -1
- package/dist/clis/ones/common.d.ts +0 -32
- package/dist/clis/ones/enrich-tasks.d.ts +0 -5
- package/dist/clis/ones/login.d.ts +0 -1
- package/dist/clis/ones/logout.d.ts +0 -1
- package/dist/clis/ones/me.d.ts +0 -1
- package/dist/clis/ones/my-tasks.d.ts +0 -1
- package/dist/clis/ones/resolve-labels.d.ts +0 -10
- package/dist/clis/ones/task-helpers.d.ts +0 -29
- package/dist/clis/ones/task-helpers.test.d.ts +0 -1
- package/dist/clis/ones/task.d.ts +0 -1
- package/dist/clis/ones/tasks.d.ts +0 -1
- package/dist/clis/ones/token-info.d.ts +0 -1
- package/dist/clis/ones/worklog.d.ts +0 -11
- package/dist/clis/ones/worklog.test.d.ts +0 -1
- package/dist/clis/paperreview/commands.test.d.ts +0 -3
- package/dist/clis/paperreview/feedback.d.ts +0 -1
- package/dist/clis/paperreview/review.d.ts +0 -1
- package/dist/clis/paperreview/submit.d.ts +0 -1
- package/dist/clis/paperreview/utils.d.ts +0 -46
- package/dist/clis/paperreview/utils.test.d.ts +0 -1
- package/dist/clis/pixiv/detail.d.ts +0 -1
- package/dist/clis/pixiv/download.d.ts +0 -7
- package/dist/clis/pixiv/download.test.d.ts +0 -1
- package/dist/clis/pixiv/illusts.d.ts +0 -8
- package/dist/clis/pixiv/illusts.test.d.ts +0 -1
- package/dist/clis/pixiv/ranking.d.ts +0 -1
- package/dist/clis/pixiv/search.d.ts +0 -6
- package/dist/clis/pixiv/search.test.d.ts +0 -1
- package/dist/clis/pixiv/test-utils.d.ts +0 -12
- package/dist/clis/pixiv/user.d.ts +0 -1
- package/dist/clis/pixiv/utils.d.ts +0 -27
- package/dist/clis/producthunt/browse.d.ts +0 -1
- package/dist/clis/producthunt/hot.d.ts +0 -1
- package/dist/clis/producthunt/posts.d.ts +0 -1
- package/dist/clis/producthunt/today.d.ts +0 -1
- package/dist/clis/producthunt/utils.d.ts +0 -29
- package/dist/clis/producthunt/utils.test.d.ts +0 -1
- package/dist/clis/quark/ls.d.ts +0 -1
- package/dist/clis/quark/mkdir.d.ts +0 -1
- package/dist/clis/quark/mv.d.ts +0 -1
- package/dist/clis/quark/rename.d.ts +0 -1
- package/dist/clis/quark/rm.d.ts +0 -1
- package/dist/clis/quark/save.d.ts +0 -1
- package/dist/clis/quark/share-tree.d.ts +0 -1
- package/dist/clis/quark/utils.d.ts +0 -50
- package/dist/clis/quark/utils.test.d.ts +0 -1
- package/dist/clis/reddit/comment.d.ts +0 -1
- package/dist/clis/reddit/frontpage.d.ts +0 -1
- package/dist/clis/reddit/hot.d.ts +0 -1
- package/dist/clis/reddit/popular.d.ts +0 -1
- package/dist/clis/reddit/read.d.ts +0 -1
- package/dist/clis/reddit/read.test.d.ts +0 -1
- package/dist/clis/reddit/save.d.ts +0 -1
- package/dist/clis/reddit/saved.d.ts +0 -1
- package/dist/clis/reddit/search.d.ts +0 -1
- package/dist/clis/reddit/subreddit.d.ts +0 -1
- package/dist/clis/reddit/subscribe.d.ts +0 -1
- package/dist/clis/reddit/upvote.d.ts +0 -1
- package/dist/clis/reddit/upvoted.d.ts +0 -1
- package/dist/clis/reddit/user-comments.d.ts +0 -1
- package/dist/clis/reddit/user-posts.d.ts +0 -1
- package/dist/clis/reddit/user.d.ts +0 -1
- package/dist/clis/reuters/search.d.ts +0 -1
- package/dist/clis/sinablog/article.d.ts +0 -1
- package/dist/clis/sinablog/hot.d.ts +0 -1
- package/dist/clis/sinablog/search.d.ts +0 -1
- package/dist/clis/sinablog/user.d.ts +0 -1
- package/dist/clis/sinablog/utils.d.ts +0 -7
- package/dist/clis/sinafinance/news.d.ts +0 -7
- package/dist/clis/sinafinance/rolling-news.d.ts +0 -4
- package/dist/clis/sinafinance/stock-rank.d.ts +0 -4
- package/dist/clis/sinafinance/stock.d.ts +0 -8
- package/dist/clis/smzdm/search.d.ts +0 -1
- package/dist/clis/spotify/spotify.d.ts +0 -1
- package/dist/clis/spotify/utils.d.ts +0 -21
- package/dist/clis/spotify/utils.test.d.ts +0 -1
- package/dist/clis/stackoverflow/bounties.d.ts +0 -1
- package/dist/clis/stackoverflow/hot.d.ts +0 -1
- package/dist/clis/stackoverflow/search.d.ts +0 -1
- package/dist/clis/stackoverflow/unanswered.d.ts +0 -1
- package/dist/clis/steam/top-sellers.d.ts +0 -1
- package/dist/clis/substack/feed.d.ts +0 -1
- package/dist/clis/substack/publication.d.ts +0 -1
- package/dist/clis/substack/search.d.ts +0 -1
- package/dist/clis/substack/utils.d.ts +0 -8
- package/dist/clis/substack/utils.test.d.ts +0 -1
- package/dist/clis/taobao/add-cart.d.ts +0 -1
- package/dist/clis/taobao/cart.d.ts +0 -1
- package/dist/clis/taobao/commands.test.d.ts +0 -5
- package/dist/clis/taobao/detail.d.ts +0 -1
- package/dist/clis/taobao/reviews.d.ts +0 -1
- package/dist/clis/taobao/search.d.ts +0 -1
- package/dist/clis/tieba/commands.test.d.ts +0 -4
- package/dist/clis/tieba/hot.d.ts +0 -1
- package/dist/clis/tieba/posts.d.ts +0 -1
- package/dist/clis/tieba/read.d.ts +0 -1
- package/dist/clis/tieba/search.d.ts +0 -1
- package/dist/clis/tieba/utils.d.ts +0 -101
- package/dist/clis/tieba/utils.test.d.ts +0 -1
- package/dist/clis/tiktok/comment.d.ts +0 -1
- package/dist/clis/tiktok/explore.d.ts +0 -1
- package/dist/clis/tiktok/follow.d.ts +0 -1
- package/dist/clis/tiktok/following.d.ts +0 -1
- package/dist/clis/tiktok/friends.d.ts +0 -1
- package/dist/clis/tiktok/like.d.ts +0 -1
- package/dist/clis/tiktok/live.d.ts +0 -1
- package/dist/clis/tiktok/notifications.d.ts +0 -1
- package/dist/clis/tiktok/profile.d.ts +0 -1
- package/dist/clis/tiktok/save.d.ts +0 -1
- package/dist/clis/tiktok/search.d.ts +0 -1
- package/dist/clis/tiktok/unfollow.d.ts +0 -1
- package/dist/clis/tiktok/unlike.d.ts +0 -1
- package/dist/clis/tiktok/unsave.d.ts +0 -1
- package/dist/clis/tiktok/user.d.ts +0 -1
- package/dist/clis/twitter/accept.d.ts +0 -1
- package/dist/clis/twitter/article.d.ts +0 -1
- package/dist/clis/twitter/block.d.ts +0 -1
- package/dist/clis/twitter/bookmark.d.ts +0 -1
- package/dist/clis/twitter/bookmarks.d.ts +0 -1
- package/dist/clis/twitter/delete.d.ts +0 -7
- package/dist/clis/twitter/delete.test.d.ts +0 -1
- package/dist/clis/twitter/download.d.ts +0 -8
- package/dist/clis/twitter/follow.d.ts +0 -1
- package/dist/clis/twitter/followers.d.ts +0 -1
- package/dist/clis/twitter/following.d.ts +0 -1
- package/dist/clis/twitter/hide-reply.d.ts +0 -1
- package/dist/clis/twitter/like.d.ts +0 -1
- package/dist/clis/twitter/likes.d.ts +0 -24
- package/dist/clis/twitter/likes.test.d.ts +0 -1
- package/dist/clis/twitter/notifications.d.ts +0 -1
- package/dist/clis/twitter/post.d.ts +0 -1
- package/dist/clis/twitter/post.test.d.ts +0 -1
- package/dist/clis/twitter/profile.d.ts +0 -1
- package/dist/clis/twitter/reply-dm.d.ts +0 -1
- package/dist/clis/twitter/reply.d.ts +0 -13
- package/dist/clis/twitter/reply.test.d.ts +0 -1
- package/dist/clis/twitter/search.d.ts +0 -1
- package/dist/clis/twitter/search.test.d.ts +0 -1
- package/dist/clis/twitter/shared.d.ts +0 -6
- package/dist/clis/twitter/thread.d.ts +0 -1
- package/dist/clis/twitter/timeline.d.ts +0 -24
- package/dist/clis/twitter/timeline.test.d.ts +0 -1
- package/dist/clis/twitter/trending.d.ts +0 -1
- package/dist/clis/twitter/unblock.d.ts +0 -1
- package/dist/clis/twitter/unbookmark.d.ts +0 -1
- package/dist/clis/twitter/unfollow.d.ts +0 -1
- package/dist/clis/v2ex/daily.d.ts +0 -1
- package/dist/clis/v2ex/hot.d.ts +0 -1
- package/dist/clis/v2ex/latest.d.ts +0 -1
- package/dist/clis/v2ex/me.d.ts +0 -1
- package/dist/clis/v2ex/member.d.ts +0 -1
- package/dist/clis/v2ex/node.d.ts +0 -1
- package/dist/clis/v2ex/nodes.d.ts +0 -1
- package/dist/clis/v2ex/notifications.d.ts +0 -1
- package/dist/clis/v2ex/replies.d.ts +0 -1
- package/dist/clis/v2ex/topic.d.ts +0 -1
- package/dist/clis/v2ex/user.d.ts +0 -1
- package/dist/clis/web/read.d.ts +0 -16
- package/dist/clis/weibo/comments.d.ts +0 -1
- package/dist/clis/weibo/feed.d.ts +0 -1
- package/dist/clis/weibo/hot.d.ts +0 -1
- package/dist/clis/weibo/me.d.ts +0 -1
- package/dist/clis/weibo/post.d.ts +0 -1
- package/dist/clis/weibo/search.d.ts +0 -1
- package/dist/clis/weibo/user.d.ts +0 -1
- package/dist/clis/weibo/utils.d.ts +0 -6
- package/dist/clis/weixin/download.d.ts +0 -38
- package/dist/clis/weread/book.d.ts +0 -1
- package/dist/clis/weread/commands.test.d.ts +0 -3
- package/dist/clis/weread/highlights.d.ts +0 -1
- package/dist/clis/weread/notebooks.d.ts +0 -1
- package/dist/clis/weread/notes.d.ts +0 -1
- package/dist/clis/weread/private-api-regression.test.d.ts +0 -1
- package/dist/clis/weread/ranking.d.ts +0 -1
- package/dist/clis/weread/search-regression.test.d.ts +0 -1
- package/dist/clis/weread/search.d.ts +0 -1
- package/dist/clis/weread/shelf.d.ts +0 -1
- package/dist/clis/weread/utils.d.ts +0 -76
- package/dist/clis/weread/utils.test.d.ts +0 -1
- package/dist/clis/wikipedia/random.d.ts +0 -1
- package/dist/clis/wikipedia/search.d.ts +0 -1
- package/dist/clis/wikipedia/summary.d.ts +0 -1
- package/dist/clis/wikipedia/trending.d.ts +0 -1
- package/dist/clis/wikipedia/utils.d.ts +0 -36
- package/dist/clis/xianyu/chat.d.ts +0 -7
- package/dist/clis/xianyu/chat.test.d.ts +0 -1
- package/dist/clis/xianyu/item.d.ts +0 -7
- package/dist/clis/xianyu/item.test.d.ts +0 -1
- package/dist/clis/xianyu/search.d.ts +0 -10
- package/dist/clis/xianyu/search.test.d.ts +0 -1
- package/dist/clis/xianyu/utils.d.ts +0 -1
- package/dist/clis/xiaoe/catalog.d.ts +0 -1
- package/dist/clis/xiaoe/content.d.ts +0 -1
- package/dist/clis/xiaoe/courses.d.ts +0 -1
- package/dist/clis/xiaoe/detail.d.ts +0 -1
- package/dist/clis/xiaoe/play-url.d.ts +0 -1
- package/dist/clis/xiaohongshu/comments.d.ts +0 -8
- package/dist/clis/xiaohongshu/comments.test.d.ts +0 -1
- package/dist/clis/xiaohongshu/creator-note-detail.d.ts +0 -84
- package/dist/clis/xiaohongshu/creator-note-detail.test.d.ts +0 -1
- package/dist/clis/xiaohongshu/creator-notes-summary.d.ts +0 -28
- package/dist/clis/xiaohongshu/creator-notes-summary.test.d.ts +0 -1
- package/dist/clis/xiaohongshu/creator-notes.d.ts +0 -24
- package/dist/clis/xiaohongshu/creator-notes.test.d.ts +0 -1
- package/dist/clis/xiaohongshu/creator-profile.d.ts +0 -10
- package/dist/clis/xiaohongshu/creator-stats.d.ts +0 -10
- package/dist/clis/xiaohongshu/download.d.ts +0 -10
- package/dist/clis/xiaohongshu/download.test.d.ts +0 -1
- package/dist/clis/xiaohongshu/feed.d.ts +0 -1
- package/dist/clis/xiaohongshu/note-helpers.d.ts +0 -12
- package/dist/clis/xiaohongshu/note.d.ts +0 -11
- package/dist/clis/xiaohongshu/note.test.d.ts +0 -1
- package/dist/clis/xiaohongshu/notifications.d.ts +0 -1
- package/dist/clis/xiaohongshu/publish.d.ts +0 -18
- package/dist/clis/xiaohongshu/publish.test.d.ts +0 -1
- package/dist/clis/xiaohongshu/search.d.ts +0 -15
- package/dist/clis/xiaohongshu/search.test.d.ts +0 -1
- package/dist/clis/xiaohongshu/user-helpers.d.ts +0 -16
- package/dist/clis/xiaohongshu/user-helpers.test.d.ts +0 -1
- package/dist/clis/xiaohongshu/user.d.ts +0 -1
- package/dist/clis/xiaoyuzhou/episode.d.ts +0 -1
- package/dist/clis/xiaoyuzhou/podcast-episodes.d.ts +0 -1
- package/dist/clis/xiaoyuzhou/podcast.d.ts +0 -1
- package/dist/clis/xiaoyuzhou/utils.d.ts +0 -16
- package/dist/clis/xiaoyuzhou/utils.test.d.ts +0 -1
- package/dist/clis/xueqiu/comments.d.ts +0 -118
- package/dist/clis/xueqiu/comments.test.d.ts +0 -1
- package/dist/clis/xueqiu/danjuan-utils.d.ts +0 -55
- package/dist/clis/xueqiu/danjuan-utils.test.d.ts +0 -1
- package/dist/clis/xueqiu/earnings-date.d.ts +0 -1
- package/dist/clis/xueqiu/earnings-date.js +0 -61
- package/dist/clis/xueqiu/feed.d.ts +0 -1
- package/dist/clis/xueqiu/feed.js +0 -48
- package/dist/clis/xueqiu/fund-holdings.d.ts +0 -1
- package/dist/clis/xueqiu/fund-snapshot.d.ts +0 -1
- package/dist/clis/xueqiu/groups.d.ts +0 -1
- package/dist/clis/xueqiu/groups.js +0 -25
- package/dist/clis/xueqiu/hot-stock.d.ts +0 -1
- package/dist/clis/xueqiu/hot-stock.js +0 -44
- package/dist/clis/xueqiu/hot.d.ts +0 -1
- package/dist/clis/xueqiu/hot.js +0 -44
- package/dist/clis/xueqiu/kline.d.ts +0 -1
- package/dist/clis/xueqiu/kline.js +0 -64
- package/dist/clis/xueqiu/search.d.ts +0 -1
- package/dist/clis/xueqiu/search.js +0 -49
- package/dist/clis/xueqiu/stock.d.ts +0 -1
- package/dist/clis/xueqiu/stock.js +0 -72
- package/dist/clis/xueqiu/watchlist.d.ts +0 -1
- package/dist/clis/xueqiu/watchlist.js +0 -45
- package/dist/clis/yahoo-finance/quote.d.ts +0 -1
- package/dist/clis/yollomi/background.d.ts +0 -4
- package/dist/clis/yollomi/edit.d.ts +0 -5
- package/dist/clis/yollomi/face-swap.d.ts +0 -5
- package/dist/clis/yollomi/generate.d.ts +0 -9
- package/dist/clis/yollomi/models.d.ts +0 -1
- package/dist/clis/yollomi/object-remover.d.ts +0 -4
- package/dist/clis/yollomi/remove-bg.d.ts +0 -4
- package/dist/clis/yollomi/restore.d.ts +0 -4
- package/dist/clis/yollomi/try-on.d.ts +0 -4
- package/dist/clis/yollomi/upload.d.ts +0 -7
- package/dist/clis/yollomi/upscale.d.ts +0 -4
- package/dist/clis/yollomi/utils.d.ts +0 -45
- package/dist/clis/yollomi/video.d.ts +0 -5
- package/dist/clis/youtube/channel.d.ts +0 -1
- package/dist/clis/youtube/comments.d.ts +0 -1
- package/dist/clis/youtube/search.d.ts +0 -1
- package/dist/clis/youtube/transcript-group.d.ts +0 -44
- package/dist/clis/youtube/transcript-group.test.d.ts +0 -1
- package/dist/clis/youtube/transcript.d.ts +0 -1
- package/dist/clis/youtube/utils.d.ts +0 -17
- package/dist/clis/youtube/utils.test.d.ts +0 -1
- package/dist/clis/youtube/video.d.ts +0 -1
- package/dist/clis/yuanbao/ask.d.ts +0 -21
- package/dist/clis/yuanbao/ask.test.d.ts +0 -1
- package/dist/clis/yuanbao/new.d.ts +0 -1
- package/dist/clis/yuanbao/new.test.d.ts +0 -1
- package/dist/clis/yuanbao/shared.d.ts +0 -13
- package/dist/clis/zhihu/answer.d.ts +0 -1
- package/dist/clis/zhihu/answer.test.d.ts +0 -1
- package/dist/clis/zhihu/comment.d.ts +0 -1
- package/dist/clis/zhihu/comment.test.d.ts +0 -1
- package/dist/clis/zhihu/download.d.ts +0 -7
- package/dist/clis/zhihu/download.test.d.ts +0 -1
- package/dist/clis/zhihu/favorite.d.ts +0 -1
- package/dist/clis/zhihu/favorite.test.d.ts +0 -1
- package/dist/clis/zhihu/follow.d.ts +0 -1
- package/dist/clis/zhihu/follow.test.d.ts +0 -1
- package/dist/clis/zhihu/hot.d.ts +0 -1
- package/dist/clis/zhihu/like.d.ts +0 -1
- package/dist/clis/zhihu/like.test.d.ts +0 -1
- package/dist/clis/zhihu/question.d.ts +0 -1
- package/dist/clis/zhihu/question.test.d.ts +0 -1
- package/dist/clis/zhihu/search.d.ts +0 -1
- package/dist/clis/zhihu/target.d.ts +0 -24
- package/dist/clis/zhihu/target.test.d.ts +0 -1
- package/dist/clis/zhihu/write-shared.d.ts +0 -32
- package/dist/clis/zhihu/write-shared.test.d.ts +0 -1
- package/dist/clis/zsxq/dynamics.d.ts +0 -1
- package/dist/clis/zsxq/groups.d.ts +0 -1
- package/dist/clis/zsxq/search.d.ts +0 -1
- package/dist/clis/zsxq/search.test.d.ts +0 -1
- package/dist/clis/zsxq/topic.d.ts +0 -1
- package/dist/clis/zsxq/topic.test.d.ts +0 -1
- package/dist/clis/zsxq/topics.d.ts +0 -1
- package/dist/clis/zsxq/topics.test.d.ts +0 -1
- package/dist/clis/zsxq/utils.d.ts +0 -97
- package/dist/src/clis/binance/asks.d.ts +0 -1
- package/dist/src/clis/binance/asks.js +0 -20
- package/dist/src/clis/binance/commands.test.d.ts +0 -3
- package/dist/src/clis/binance/commands.test.js +0 -58
- package/dist/src/clis/binance/depth.d.ts +0 -1
- package/dist/src/clis/binance/depth.js +0 -20
- package/dist/src/clis/binance/gainers.d.ts +0 -1
- package/dist/src/clis/binance/gainers.js +0 -21
- package/dist/src/clis/binance/klines.d.ts +0 -1
- package/dist/src/clis/binance/klines.js +0 -20
- package/dist/src/clis/binance/losers.d.ts +0 -1
- package/dist/src/clis/binance/losers.js +0 -21
- package/dist/src/clis/binance/pairs.d.ts +0 -1
- package/dist/src/clis/binance/pairs.js +0 -20
- package/dist/src/clis/binance/price.d.ts +0 -1
- package/dist/src/clis/binance/price.js +0 -17
- package/dist/src/clis/binance/prices.d.ts +0 -1
- package/dist/src/clis/binance/prices.js +0 -18
- package/dist/src/clis/binance/ticker.d.ts +0 -1
- package/dist/src/clis/binance/ticker.js +0 -20
- package/dist/src/clis/binance/top.d.ts +0 -1
- package/dist/src/clis/binance/top.js +0 -20
- package/dist/src/clis/binance/trades.d.ts +0 -1
- package/dist/src/clis/binance/trades.js +0 -19
- package/scripts/clean-yaml.cjs +0 -19
- package/scripts/test-site.mjs +0 -70
- /package/{dist/clis → clis}/1688/assets.js +0 -0
- /package/{dist/clis → clis}/1688/assets.test.js +0 -0
- /package/{dist/clis → clis}/1688/download.js +0 -0
- /package/{dist/clis → clis}/1688/download.test.js +0 -0
- /package/{dist/clis → clis}/1688/item.js +0 -0
- /package/{dist/clis → clis}/1688/item.test.js +0 -0
- /package/{dist/clis → clis}/1688/search.js +0 -0
- /package/{dist/clis → clis}/1688/search.test.js +0 -0
- /package/{dist/clis → clis}/1688/shared.js +0 -0
- /package/{dist/clis → clis}/1688/shared.test.js +0 -0
- /package/{dist/clis → clis}/1688/store.js +0 -0
- /package/{dist/clis → clis}/1688/store.test.js +0 -0
- /package/{dist/clis → clis}/36kr/article.js +0 -0
- /package/{dist/clis → clis}/36kr/hot.js +0 -0
- /package/{dist/clis → clis}/36kr/hot.test.js +0 -0
- /package/{dist/clis → clis}/36kr/news.js +0 -0
- /package/{dist/clis → clis}/36kr/news.test.js +0 -0
- /package/{dist/clis → clis}/36kr/search.js +0 -0
- /package/{dist/clis → clis}/_shared/common.js +0 -0
- /package/{dist/clis → clis}/_shared/desktop-commands.js +0 -0
- /package/{dist/clis → clis}/amazon/bestsellers.js +0 -0
- /package/{dist/clis → clis}/amazon/bestsellers.test.js +0 -0
- /package/{dist/clis → clis}/amazon/discussion.js +0 -0
- /package/{dist/clis → clis}/amazon/discussion.test.js +0 -0
- /package/{dist/clis → clis}/amazon/movers-shakers.js +0 -0
- /package/{dist/clis → clis}/amazon/new-releases.js +0 -0
- /package/{dist/clis → clis}/amazon/offer.js +0 -0
- /package/{dist/clis → clis}/amazon/offer.test.js +0 -0
- /package/{dist/clis → clis}/amazon/product.js +0 -0
- /package/{dist/clis → clis}/amazon/product.test.js +0 -0
- /package/{dist/clis → clis}/amazon/rankings.js +0 -0
- /package/{dist/clis → clis}/amazon/rankings.test.js +0 -0
- /package/{dist/clis → clis}/amazon/search.js +0 -0
- /package/{dist/clis → clis}/amazon/search.test.js +0 -0
- /package/{dist/clis → clis}/amazon/shared.js +0 -0
- /package/{dist/clis → clis}/amazon/shared.test.js +0 -0
- /package/{dist/clis → clis}/antigravity/dump.js +0 -0
- /package/{dist/clis → clis}/antigravity/extract-code.js +0 -0
- /package/{dist/clis → clis}/antigravity/model.js +0 -0
- /package/{dist/clis → clis}/antigravity/new.js +0 -0
- /package/{dist/clis → clis}/antigravity/read.js +0 -0
- /package/{dist/clis → clis}/antigravity/send.js +0 -0
- /package/{dist/clis → clis}/antigravity/serve.js +0 -0
- /package/{dist/clis → clis}/antigravity/status.js +0 -0
- /package/{dist/clis → clis}/antigravity/watch.js +0 -0
- /package/{dist/clis → clis}/apple-podcasts/commands.test.js +0 -0
- /package/{dist/clis → clis}/apple-podcasts/episodes.js +0 -0
- /package/{dist/clis → clis}/apple-podcasts/search.js +0 -0
- /package/{dist/clis → clis}/apple-podcasts/top.js +0 -0
- /package/{dist/clis → clis}/apple-podcasts/utils.js +0 -0
- /package/{dist/clis → clis}/apple-podcasts/utils.test.js +0 -0
- /package/{dist/clis → clis}/arxiv/paper.js +0 -0
- /package/{dist/clis → clis}/arxiv/search.js +0 -0
- /package/{dist/clis → clis}/arxiv/utils.js +0 -0
- /package/{dist/clis → clis}/band/bands.js +0 -0
- /package/{dist/clis → clis}/band/mentions.js +0 -0
- /package/{dist/clis → clis}/band/post.js +0 -0
- /package/{dist/clis → clis}/band/posts.js +0 -0
- /package/{dist/clis → clis}/barchart/flow.js +0 -0
- /package/{dist/clis → clis}/barchart/greeks.js +0 -0
- /package/{dist/clis → clis}/barchart/options.js +0 -0
- /package/{dist/clis → clis}/bbc/news.js +0 -0
- /package/{dist/clis → clis}/bilibili/comments.js +0 -0
- /package/{dist/clis → clis}/bilibili/comments.test.js +0 -0
- /package/{dist/clis → clis}/bilibili/download.js +0 -0
- /package/{dist/clis → clis}/bilibili/dynamic.js +0 -0
- /package/{dist/clis → clis}/bilibili/dynamic.test.js +0 -0
- /package/{dist/clis → clis}/bilibili/favorite.js +0 -0
- /package/{dist/clis → clis}/bilibili/feed.js +0 -0
- /package/{dist/clis → clis}/bilibili/history.js +0 -0
- /package/{dist/clis → clis}/bilibili/hot.js +0 -0
- /package/{dist/clis → clis}/bilibili/me.js +0 -0
- /package/{dist/clis → clis}/bilibili/ranking.js +0 -0
- /package/{dist/clis → clis}/bilibili/search.js +0 -0
- /package/{dist/clis → clis}/bilibili/subtitle.js +0 -0
- /package/{dist/clis → clis}/bilibili/subtitle.test.js +0 -0
- /package/{dist/clis → clis}/bilibili/user-videos.js +0 -0
- /package/{dist/clis → clis}/bilibili/utils.js +0 -0
- /package/{dist/clis → clis}/bilibili/utils.test.js +0 -0
- /package/{dist/clis → clis}/bloomberg/businessweek.js +0 -0
- /package/{dist/clis → clis}/bloomberg/economics.js +0 -0
- /package/{dist/clis → clis}/bloomberg/feeds.js +0 -0
- /package/{dist/clis → clis}/bloomberg/industries.js +0 -0
- /package/{dist/clis → clis}/bloomberg/main.js +0 -0
- /package/{dist/clis → clis}/bloomberg/markets.js +0 -0
- /package/{dist/clis → clis}/bloomberg/news.js +0 -0
- /package/{dist/clis → clis}/bloomberg/opinions.js +0 -0
- /package/{dist/clis → clis}/bloomberg/politics.js +0 -0
- /package/{dist/clis → clis}/bloomberg/tech.js +0 -0
- /package/{dist/clis → clis}/bloomberg/utils.js +0 -0
- /package/{dist/clis → clis}/bloomberg/utils.test.js +0 -0
- /package/{dist/clis → clis}/bluesky/feeds.js +0 -0
- /package/{dist/clis → clis}/bluesky/followers.js +0 -0
- /package/{dist/clis → clis}/bluesky/following.js +0 -0
- /package/{dist/clis → clis}/bluesky/profile.js +0 -0
- /package/{dist/clis → clis}/bluesky/search.js +0 -0
- /package/{dist/clis → clis}/bluesky/starter-packs.js +0 -0
- /package/{dist/clis → clis}/bluesky/thread.js +0 -0
- /package/{dist/clis → clis}/bluesky/trending.js +0 -0
- /package/{dist/clis → clis}/bluesky/user.js +0 -0
- /package/{dist/clis → clis}/boss/batchgreet.js +0 -0
- /package/{dist/clis → clis}/boss/chatlist.js +0 -0
- /package/{dist/clis → clis}/boss/chatmsg.js +0 -0
- /package/{dist/clis → clis}/boss/detail.js +0 -0
- /package/{dist/clis → clis}/boss/exchange.js +0 -0
- /package/{dist/clis → clis}/boss/greet.js +0 -0
- /package/{dist/clis → clis}/boss/invite.js +0 -0
- /package/{dist/clis → clis}/boss/joblist.js +0 -0
- /package/{dist/clis → clis}/boss/mark.js +0 -0
- /package/{dist/clis → clis}/boss/recommend.js +0 -0
- /package/{dist/clis → clis}/boss/resume.js +0 -0
- /package/{dist/clis → clis}/boss/search.js +0 -0
- /package/{dist/clis → clis}/boss/send.js +0 -0
- /package/{dist/clis → clis}/boss/stats.js +0 -0
- /package/{dist/clis → clis}/boss/utils.js +0 -0
- /package/{dist/clis → clis}/chaoxing/assignments.js +0 -0
- /package/{dist/clis → clis}/chaoxing/exams.js +0 -0
- /package/{dist/clis → clis}/chaoxing/utils.js +0 -0
- /package/{dist/clis → clis}/chaoxing/utils.test.js +0 -0
- /package/{dist/clis → clis}/chatgpt/ask.js +0 -0
- /package/{dist/clis → clis}/chatgpt/ax.js +0 -0
- /package/{dist/clis → clis}/chatgpt/model.js +0 -0
- /package/{dist/clis → clis}/chatgpt/new.js +0 -0
- /package/{dist/clis → clis}/chatgpt/read.js +0 -0
- /package/{dist/clis → clis}/chatgpt/send.js +0 -0
- /package/{dist/clis → clis}/chatgpt/status.js +0 -0
- /package/{dist/clis → clis}/chatwise/ask.js +0 -0
- /package/{dist/clis → clis}/chatwise/export.js +0 -0
- /package/{dist/clis → clis}/chatwise/history.js +0 -0
- /package/{dist/clis → clis}/chatwise/model.js +0 -0
- /package/{dist/clis → clis}/chatwise/new.js +0 -0
- /package/{dist/clis → clis}/chatwise/read.js +0 -0
- /package/{dist/clis → clis}/chatwise/screenshot.js +0 -0
- /package/{dist/clis → clis}/chatwise/send.js +0 -0
- /package/{dist/clis → clis}/chatwise/status.js +0 -0
- /package/{dist/clis → clis}/cnki/search.js +0 -0
- /package/{dist/clis → clis}/cnki/search.test.js +0 -0
- /package/{dist/clis → clis}/codex/ask.js +0 -0
- /package/{dist/clis → clis}/codex/dump.js +0 -0
- /package/{dist/clis → clis}/codex/export.js +0 -0
- /package/{dist/clis → clis}/codex/extract-diff.js +0 -0
- /package/{dist/clis → clis}/codex/history.js +0 -0
- /package/{dist/clis → clis}/codex/model.js +0 -0
- /package/{dist/clis → clis}/codex/new.js +0 -0
- /package/{dist/clis → clis}/codex/read.js +0 -0
- /package/{dist/clis → clis}/codex/screenshot.js +0 -0
- /package/{dist/clis → clis}/codex/send.js +0 -0
- /package/{dist/clis → clis}/codex/status.js +0 -0
- /package/{dist/clis → clis}/coupang/add-to-cart.js +0 -0
- /package/{dist/clis → clis}/coupang/search.js +0 -0
- /package/{dist/clis → clis}/coupang/utils.js +0 -0
- /package/{dist/clis → clis}/coupang/utils.test.js +0 -0
- /package/{dist/clis → clis}/ctrip/search.js +0 -0
- /package/{dist/clis → clis}/ctrip/search.test.js +0 -0
- /package/{dist/clis → clis}/cursor/ask.js +0 -0
- /package/{dist/clis → clis}/cursor/composer.js +0 -0
- /package/{dist/clis → clis}/cursor/dump.js +0 -0
- /package/{dist/clis → clis}/cursor/export.js +0 -0
- /package/{dist/clis → clis}/cursor/extract-code.js +0 -0
- /package/{dist/clis → clis}/cursor/history.js +0 -0
- /package/{dist/clis → clis}/cursor/model.js +0 -0
- /package/{dist/clis → clis}/cursor/new.js +0 -0
- /package/{dist/clis → clis}/cursor/read.js +0 -0
- /package/{dist/clis → clis}/cursor/screenshot.js +0 -0
- /package/{dist/clis → clis}/cursor/send.js +0 -0
- /package/{dist/clis → clis}/cursor/status.js +0 -0
- /package/{dist/clis → clis}/devto/tag.js +0 -0
- /package/{dist/clis → clis}/devto/top.js +0 -0
- /package/{dist/clis → clis}/devto/user.js +0 -0
- /package/{dist/clis → clis}/dictionary/examples.js +0 -0
- /package/{dist/clis → clis}/dictionary/search.js +0 -0
- /package/{dist/clis → clis}/dictionary/synonyms.js +0 -0
- /package/{dist/clis → clis}/discord-app/channels.js +0 -0
- /package/{dist/clis → clis}/discord-app/members.js +0 -0
- /package/{dist/clis → clis}/discord-app/read.js +0 -0
- /package/{dist/clis → clis}/discord-app/search.js +0 -0
- /package/{dist/clis → clis}/discord-app/send.js +0 -0
- /package/{dist/clis → clis}/discord-app/servers.js +0 -0
- /package/{dist/clis → clis}/discord-app/status.js +0 -0
- /package/{dist/clis → clis}/douban/book-hot.js +0 -0
- /package/{dist/clis → clis}/douban/download.js +0 -0
- /package/{dist/clis → clis}/douban/download.test.js +0 -0
- /package/{dist/clis → clis}/douban/marks.js +0 -0
- /package/{dist/clis → clis}/douban/movie-hot.js +0 -0
- /package/{dist/clis → clis}/douban/photos.js +0 -0
- /package/{dist/clis → clis}/douban/reviews.js +0 -0
- /package/{dist/clis → clis}/douban/search.js +0 -0
- /package/{dist/clis → clis}/douban/subject.js +0 -0
- /package/{dist/clis → clis}/douban/top250.js +0 -0
- /package/{dist/clis → clis}/douban/utils.js +0 -0
- /package/{dist/clis → clis}/douban/utils.test.js +0 -0
- /package/{dist/clis → clis}/doubao/ask.js +0 -0
- /package/{dist/clis → clis}/doubao/detail.js +0 -0
- /package/{dist/clis → clis}/doubao/detail.test.js +0 -0
- /package/{dist/clis → clis}/doubao/history.js +0 -0
- /package/{dist/clis → clis}/doubao/history.test.js +0 -0
- /package/{dist/clis → clis}/doubao/meeting-summary.js +0 -0
- /package/{dist/clis → clis}/doubao/meeting-transcript.js +0 -0
- /package/{dist/clis → clis}/doubao/new.js +0 -0
- /package/{dist/clis → clis}/doubao/read.js +0 -0
- /package/{dist/clis → clis}/doubao/send.js +0 -0
- /package/{dist/clis → clis}/doubao/status.js +0 -0
- /package/{dist/clis → clis}/doubao/utils.js +0 -0
- /package/{dist/clis → clis}/doubao/utils.test.js +0 -0
- /package/{dist/clis → clis}/doubao-app/ask.js +0 -0
- /package/{dist/clis → clis}/doubao-app/dump.js +0 -0
- /package/{dist/clis → clis}/doubao-app/new.js +0 -0
- /package/{dist/clis → clis}/doubao-app/read.js +0 -0
- /package/{dist/clis → clis}/doubao-app/screenshot.js +0 -0
- /package/{dist/clis → clis}/doubao-app/send.js +0 -0
- /package/{dist/clis → clis}/doubao-app/status.js +0 -0
- /package/{dist/clis → clis}/doubao-app/utils.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/browser-fetch.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/browser-fetch.test.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/creation-id.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/creation-id.test.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/imagex-upload.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/imagex-upload.test.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/public-api.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/sts2.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/sts2.test.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/text-extra.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/text-extra.test.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/timing.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/timing.test.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/tos-upload-short-read.test.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/tos-upload.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/tos-upload.test.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/transcode.js +0 -0
- /package/{dist/clis → clis}/douyin/_shared/transcode.test.js +0 -0
- /package/{dist/clis/1688/assets.test.d.ts → clis/douyin/_shared/types.js} +0 -0
- /package/{dist/clis → clis}/douyin/activities.js +0 -0
- /package/{dist/clis → clis}/douyin/activities.test.js +0 -0
- /package/{dist/clis → clis}/douyin/collections.js +0 -0
- /package/{dist/clis → clis}/douyin/collections.test.js +0 -0
- /package/{dist/clis → clis}/douyin/delete.js +0 -0
- /package/{dist/clis → clis}/douyin/delete.test.js +0 -0
- /package/{dist/clis → clis}/douyin/draft.js +0 -0
- /package/{dist/clis → clis}/douyin/draft.test.js +0 -0
- /package/{dist/clis → clis}/douyin/drafts.js +0 -0
- /package/{dist/clis → clis}/douyin/drafts.test.js +0 -0
- /package/{dist/clis → clis}/douyin/hashtag.js +0 -0
- /package/{dist/clis → clis}/douyin/hashtag.test.js +0 -0
- /package/{dist/clis → clis}/douyin/location.js +0 -0
- /package/{dist/clis → clis}/douyin/location.test.js +0 -0
- /package/{dist/clis → clis}/douyin/profile.js +0 -0
- /package/{dist/clis → clis}/douyin/profile.test.js +0 -0
- /package/{dist/clis → clis}/douyin/publish.js +0 -0
- /package/{dist/clis → clis}/douyin/publish.test.js +0 -0
- /package/{dist/clis → clis}/douyin/stats.js +0 -0
- /package/{dist/clis → clis}/douyin/stats.test.js +0 -0
- /package/{dist/clis → clis}/douyin/update.js +0 -0
- /package/{dist/clis → clis}/douyin/update.test.js +0 -0
- /package/{dist/clis → clis}/douyin/user-videos.js +0 -0
- /package/{dist/clis → clis}/douyin/user-videos.test.js +0 -0
- /package/{dist/clis → clis}/douyin/videos.js +0 -0
- /package/{dist/clis → clis}/douyin/videos.test.js +0 -0
- /package/{dist/clis → clis}/facebook/add-friend.js +0 -0
- /package/{dist/clis → clis}/facebook/events.js +0 -0
- /package/{dist/clis → clis}/facebook/feed.js +0 -0
- /package/{dist/clis → clis}/facebook/friends.js +0 -0
- /package/{dist/clis → clis}/facebook/groups.js +0 -0
- /package/{dist/clis → clis}/facebook/join-group.js +0 -0
- /package/{dist/clis → clis}/facebook/memories.js +0 -0
- /package/{dist/clis → clis}/facebook/notifications.js +0 -0
- /package/{dist/clis → clis}/facebook/profile.js +0 -0
- /package/{dist/clis → clis}/facebook/search.js +0 -0
- /package/{dist/clis → clis}/facebook/search.test.js +0 -0
- /package/{dist/clis → clis}/gemini/ask.js +0 -0
- /package/{dist/clis → clis}/gemini/ask.test.js +0 -0
- /package/{dist/clis → clis}/gemini/deep-research-result.js +0 -0
- /package/{dist/clis → clis}/gemini/deep-research-result.test.js +0 -0
- /package/{dist/clis → clis}/gemini/deep-research.js +0 -0
- /package/{dist/clis → clis}/gemini/deep-research.test.js +0 -0
- /package/{dist/clis → clis}/gemini/image.js +0 -0
- /package/{dist/clis → clis}/gemini/new.js +0 -0
- /package/{dist/clis → clis}/gemini/reply-state.test.js +0 -0
- /package/{dist/clis → clis}/gemini/utils.js +0 -0
- /package/{dist/clis → clis}/gemini/utils.test.js +0 -0
- /package/{dist/clis → clis}/gitee/index.js +0 -0
- /package/{dist/clis → clis}/gitee/search.js +0 -0
- /package/{dist/clis → clis}/gitee/trending.js +0 -0
- /package/{dist/clis → clis}/gitee/user.js +0 -0
- /package/{dist/clis → clis}/gitee/user.test.js +0 -0
- /package/{dist/clis → clis}/google/news.js +0 -0
- /package/{dist/clis → clis}/google/search.js +0 -0
- /package/{dist/clis → clis}/google/suggest.js +0 -0
- /package/{dist/clis → clis}/google/trends.js +0 -0
- /package/{dist/clis → clis}/google/utils.js +0 -0
- /package/{dist/clis → clis}/google/utils.test.js +0 -0
- /package/{dist/clis → clis}/grok/ask.js +0 -0
- /package/{dist/clis → clis}/grok/ask.test.js +0 -0
- /package/{dist/clis → clis}/hackernews/ask.js +0 -0
- /package/{dist/clis → clis}/hackernews/best.js +0 -0
- /package/{dist/clis → clis}/hackernews/jobs.js +0 -0
- /package/{dist/clis → clis}/hackernews/new.js +0 -0
- /package/{dist/clis → clis}/hackernews/search.js +0 -0
- /package/{dist/clis → clis}/hackernews/show.js +0 -0
- /package/{dist/clis → clis}/hackernews/top.js +0 -0
- /package/{dist/clis → clis}/hackernews/user.js +0 -0
- /package/{dist/clis → clis}/hf/top.js +0 -0
- /package/{dist/clis → clis}/hupu/detail.js +0 -0
- /package/{dist/clis → clis}/hupu/hot.js +0 -0
- /package/{dist/clis → clis}/hupu/like.js +0 -0
- /package/{dist/clis → clis}/hupu/mentions.js +0 -0
- /package/{dist/clis → clis}/hupu/reply.js +0 -0
- /package/{dist/clis → clis}/hupu/search.js +0 -0
- /package/{dist/clis → clis}/hupu/unlike.js +0 -0
- /package/{dist/clis → clis}/hupu/utils.js +0 -0
- /package/{dist/clis → clis}/imdb/person.js +0 -0
- /package/{dist/clis → clis}/imdb/reviews.js +0 -0
- /package/{dist/clis → clis}/imdb/search.js +0 -0
- /package/{dist/clis → clis}/imdb/title.js +0 -0
- /package/{dist/clis → clis}/imdb/top.js +0 -0
- /package/{dist/clis → clis}/imdb/trending.js +0 -0
- /package/{dist/clis → clis}/imdb/utils.js +0 -0
- /package/{dist/clis → clis}/imdb/utils.test.js +0 -0
- /package/{dist/clis → clis}/instagram/_shared/private-publish.js +0 -0
- /package/{dist/clis → clis}/instagram/_shared/private-publish.test.js +0 -0
- /package/{dist/clis → clis}/instagram/_shared/protocol-capture.js +0 -0
- /package/{dist/clis → clis}/instagram/_shared/protocol-capture.test.js +0 -0
- /package/{dist/clis → clis}/instagram/_shared/runtime-info.js +0 -0
- /package/{dist/clis → clis}/instagram/comment.js +0 -0
- /package/{dist/clis → clis}/instagram/download.js +0 -0
- /package/{dist/clis → clis}/instagram/download.test.js +0 -0
- /package/{dist/clis → clis}/instagram/explore.js +0 -0
- /package/{dist/clis → clis}/instagram/follow.js +0 -0
- /package/{dist/clis → clis}/instagram/followers.js +0 -0
- /package/{dist/clis → clis}/instagram/following.js +0 -0
- /package/{dist/clis → clis}/instagram/like.js +0 -0
- /package/{dist/clis → clis}/instagram/note.js +0 -0
- /package/{dist/clis → clis}/instagram/note.test.js +0 -0
- /package/{dist/clis → clis}/instagram/post.js +0 -0
- /package/{dist/clis → clis}/instagram/post.test.js +0 -0
- /package/{dist/clis → clis}/instagram/profile.js +0 -0
- /package/{dist/clis → clis}/instagram/reel.js +0 -0
- /package/{dist/clis → clis}/instagram/reel.test.js +0 -0
- /package/{dist/clis → clis}/instagram/save.js +0 -0
- /package/{dist/clis → clis}/instagram/saved.js +0 -0
- /package/{dist/clis → clis}/instagram/search.js +0 -0
- /package/{dist/clis → clis}/instagram/story.js +0 -0
- /package/{dist/clis → clis}/instagram/story.test.js +0 -0
- /package/{dist/clis → clis}/instagram/unfollow.js +0 -0
- /package/{dist/clis → clis}/instagram/unlike.js +0 -0
- /package/{dist/clis → clis}/instagram/unsave.js +0 -0
- /package/{dist/clis → clis}/instagram/user.js +0 -0
- /package/{dist/clis → clis}/jd/add-cart.js +0 -0
- /package/{dist/clis → clis}/jd/cart.js +0 -0
- /package/{dist/clis → clis}/jd/commands.test.js +0 -0
- /package/{dist/clis → clis}/jd/detail.js +0 -0
- /package/{dist/clis → clis}/jd/item.js +0 -0
- /package/{dist/clis → clis}/jd/item.test.js +0 -0
- /package/{dist/clis → clis}/jd/reviews.js +0 -0
- /package/{dist/clis → clis}/jd/search.js +0 -0
- /package/{dist/clis → clis}/jianyu/detail.js +0 -0
- /package/{dist/clis → clis}/jianyu/search.js +0 -0
- /package/{dist/clis → clis}/jianyu/search.test.js +0 -0
- /package/{dist/clis → clis}/jianyu/shared/china-bid-search.js +0 -0
- /package/{dist/clis → clis}/jianyu/shared/procurement-contract.js +0 -0
- /package/{dist/clis → clis}/jianyu/shared/procurement-contract.test.js +0 -0
- /package/{dist/clis → clis}/jianyu/shared/procurement-detail.js +0 -0
- /package/{dist/clis → clis}/jianyu/shared/procurement-detail.test.js +0 -0
- /package/{dist/clis → clis}/jike/comment.js +0 -0
- /package/{dist/clis → clis}/jike/create.js +0 -0
- /package/{dist/clis → clis}/jike/feed.js +0 -0
- /package/{dist/clis → clis}/jike/like.js +0 -0
- /package/{dist/clis → clis}/jike/notifications.js +0 -0
- /package/{dist/clis → clis}/jike/post.js +0 -0
- /package/{dist/clis → clis}/jike/repost.js +0 -0
- /package/{dist/clis → clis}/jike/search.js +0 -0
- /package/{dist/clis → clis}/jike/topic.js +0 -0
- /package/{dist/clis → clis}/jike/user.js +0 -0
- /package/{dist/clis → clis}/jike/utils.js +0 -0
- /package/{dist/clis → clis}/jimeng/generate.js +0 -0
- /package/{dist/clis → clis}/jimeng/history.js +0 -0
- /package/{dist/clis → clis}/jimeng/new.js +0 -0
- /package/{dist/clis → clis}/jimeng/workspaces.js +0 -0
- /package/{dist/clis → clis}/lesswrong/_helpers.js +0 -0
- /package/{dist/clis → clis}/lesswrong/comments.js +0 -0
- /package/{dist/clis → clis}/lesswrong/curated.js +0 -0
- /package/{dist/clis → clis}/lesswrong/frontpage.js +0 -0
- /package/{dist/clis → clis}/lesswrong/new.js +0 -0
- /package/{dist/clis → clis}/lesswrong/read.js +0 -0
- /package/{dist/clis → clis}/lesswrong/sequences.js +0 -0
- /package/{dist/clis → clis}/lesswrong/shortform.js +0 -0
- /package/{dist/clis → clis}/lesswrong/tag.js +0 -0
- /package/{dist/clis → clis}/lesswrong/tags.js +0 -0
- /package/{dist/clis → clis}/lesswrong/top-month.js +0 -0
- /package/{dist/clis → clis}/lesswrong/top-week.js +0 -0
- /package/{dist/clis → clis}/lesswrong/top-year.js +0 -0
- /package/{dist/clis → clis}/lesswrong/top.js +0 -0
- /package/{dist/clis → clis}/lesswrong/user-posts.js +0 -0
- /package/{dist/clis → clis}/lesswrong/user.js +0 -0
- /package/{dist/clis → clis}/linkedin/search.js +0 -0
- /package/{dist/clis → clis}/linkedin/timeline.js +0 -0
- /package/{dist/clis → clis}/linkedin/timeline.test.js +0 -0
- /package/{dist/clis → clis}/linux-do/category.js +0 -0
- /package/{dist/clis → clis}/linux-do/feed.test.js +0 -0
- /package/{dist/clis → clis}/linux-do/hot.js +0 -0
- /package/{dist/clis → clis}/linux-do/latest.js +0 -0
- /package/{dist/clis → clis}/linux-do/topic-content.js +0 -0
- /package/{dist/clis → clis}/lobsters/active.js +0 -0
- /package/{dist/clis → clis}/lobsters/hot.js +0 -0
- /package/{dist/clis → clis}/lobsters/newest.js +0 -0
- /package/{dist/clis → clis}/lobsters/tag.js +0 -0
- /package/{dist/clis → clis}/medium/feed.js +0 -0
- /package/{dist/clis → clis}/medium/search.js +0 -0
- /package/{dist/clis → clis}/medium/user.js +0 -0
- /package/{dist/clis → clis}/medium/utils.js +0 -0
- /package/{dist/clis → clis}/notebooklm/compat.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/current.js +0 -0
- /package/{dist/clis → clis}/notebooklm/get.js +0 -0
- /package/{dist/clis → clis}/notebooklm/history.js +0 -0
- /package/{dist/clis → clis}/notebooklm/history.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/list.js +0 -0
- /package/{dist/clis → clis}/notebooklm/note-list.js +0 -0
- /package/{dist/clis → clis}/notebooklm/note-list.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/notes-get.js +0 -0
- /package/{dist/clis → clis}/notebooklm/notes-get.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/open.js +0 -0
- /package/{dist/clis → clis}/notebooklm/open.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/rpc.js +0 -0
- /package/{dist/clis → clis}/notebooklm/rpc.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/shared.js +0 -0
- /package/{dist/clis → clis}/notebooklm/source-fulltext.js +0 -0
- /package/{dist/clis → clis}/notebooklm/source-fulltext.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/source-get.js +0 -0
- /package/{dist/clis → clis}/notebooklm/source-get.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/source-guide.js +0 -0
- /package/{dist/clis → clis}/notebooklm/source-guide.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/source-list.js +0 -0
- /package/{dist/clis → clis}/notebooklm/status.js +0 -0
- /package/{dist/clis → clis}/notebooklm/summary.js +0 -0
- /package/{dist/clis → clis}/notebooklm/summary.test.js +0 -0
- /package/{dist/clis → clis}/notebooklm/utils.js +0 -0
- /package/{dist/clis → clis}/notebooklm/utils.test.js +0 -0
- /package/{dist/clis → clis}/notion/export.js +0 -0
- /package/{dist/clis → clis}/notion/favorites.js +0 -0
- /package/{dist/clis → clis}/notion/new.js +0 -0
- /package/{dist/clis → clis}/notion/read.js +0 -0
- /package/{dist/clis → clis}/notion/search.js +0 -0
- /package/{dist/clis → clis}/notion/sidebar.js +0 -0
- /package/{dist/clis → clis}/notion/status.js +0 -0
- /package/{dist/clis → clis}/notion/write.js +0 -0
- /package/{dist/clis → clis}/ones/common.js +0 -0
- /package/{dist/clis → clis}/ones/enrich-tasks.js +0 -0
- /package/{dist/clis → clis}/ones/login.js +0 -0
- /package/{dist/clis → clis}/ones/logout.js +0 -0
- /package/{dist/clis → clis}/ones/me.js +0 -0
- /package/{dist/clis → clis}/ones/my-tasks.js +0 -0
- /package/{dist/clis → clis}/ones/resolve-labels.js +0 -0
- /package/{dist/clis → clis}/ones/task-helpers.js +0 -0
- /package/{dist/clis → clis}/ones/task-helpers.test.js +0 -0
- /package/{dist/clis → clis}/ones/task.js +0 -0
- /package/{dist/clis → clis}/ones/tasks.js +0 -0
- /package/{dist/clis → clis}/ones/token-info.js +0 -0
- /package/{dist/clis → clis}/ones/worklog.js +0 -0
- /package/{dist/clis → clis}/ones/worklog.test.js +0 -0
- /package/{dist/clis → clis}/paperreview/commands.test.js +0 -0
- /package/{dist/clis → clis}/paperreview/feedback.js +0 -0
- /package/{dist/clis → clis}/paperreview/review.js +0 -0
- /package/{dist/clis → clis}/paperreview/submit.js +0 -0
- /package/{dist/clis → clis}/paperreview/utils.js +0 -0
- /package/{dist/clis → clis}/paperreview/utils.test.js +0 -0
- /package/{dist/clis → clis}/pixiv/detail.js +0 -0
- /package/{dist/clis → clis}/pixiv/download.js +0 -0
- /package/{dist/clis → clis}/pixiv/download.test.js +0 -0
- /package/{dist/clis → clis}/pixiv/illusts.js +0 -0
- /package/{dist/clis → clis}/pixiv/illusts.test.js +0 -0
- /package/{dist/clis → clis}/pixiv/ranking.js +0 -0
- /package/{dist/clis → clis}/pixiv/search.js +0 -0
- /package/{dist/clis → clis}/pixiv/search.test.js +0 -0
- /package/{dist/clis → clis}/pixiv/test-utils.js +0 -0
- /package/{dist/clis → clis}/pixiv/user.js +0 -0
- /package/{dist/clis → clis}/pixiv/utils.js +0 -0
- /package/{dist/clis → clis}/producthunt/browse.js +0 -0
- /package/{dist/clis → clis}/producthunt/hot.js +0 -0
- /package/{dist/clis → clis}/producthunt/posts.js +0 -0
- /package/{dist/clis → clis}/producthunt/today.js +0 -0
- /package/{dist/clis → clis}/producthunt/utils.js +0 -0
- /package/{dist/clis → clis}/producthunt/utils.test.js +0 -0
- /package/{dist/clis → clis}/quark/ls.js +0 -0
- /package/{dist/clis → clis}/quark/mkdir.js +0 -0
- /package/{dist/clis → clis}/quark/mv.js +0 -0
- /package/{dist/clis → clis}/quark/rename.js +0 -0
- /package/{dist/clis → clis}/quark/rm.js +0 -0
- /package/{dist/clis → clis}/quark/save.js +0 -0
- /package/{dist/clis → clis}/quark/share-tree.js +0 -0
- /package/{dist/clis → clis}/quark/utils.js +0 -0
- /package/{dist/clis → clis}/quark/utils.test.js +0 -0
- /package/{dist/clis → clis}/reddit/comment.js +0 -0
- /package/{dist/clis → clis}/reddit/frontpage.js +0 -0
- /package/{dist/clis → clis}/reddit/hot.js +0 -0
- /package/{dist/clis → clis}/reddit/popular.js +0 -0
- /package/{dist/clis → clis}/reddit/read.js +0 -0
- /package/{dist/clis → clis}/reddit/read.test.js +0 -0
- /package/{dist/clis → clis}/reddit/save.js +0 -0
- /package/{dist/clis → clis}/reddit/saved.js +0 -0
- /package/{dist/clis → clis}/reddit/search.js +0 -0
- /package/{dist/clis → clis}/reddit/subreddit.js +0 -0
- /package/{dist/clis → clis}/reddit/subscribe.js +0 -0
- /package/{dist/clis → clis}/reddit/upvote.js +0 -0
- /package/{dist/clis → clis}/reddit/upvoted.js +0 -0
- /package/{dist/clis → clis}/reddit/user-comments.js +0 -0
- /package/{dist/clis → clis}/reddit/user-posts.js +0 -0
- /package/{dist/clis → clis}/reddit/user.js +0 -0
- /package/{dist/clis → clis}/reuters/search.js +0 -0
- /package/{dist/clis → clis}/sinablog/article.js +0 -0
- /package/{dist/clis → clis}/sinablog/hot.js +0 -0
- /package/{dist/clis → clis}/sinablog/search.js +0 -0
- /package/{dist/clis → clis}/sinablog/user.js +0 -0
- /package/{dist/clis → clis}/sinablog/utils.js +0 -0
- /package/{dist/clis → clis}/sinafinance/news.js +0 -0
- /package/{dist/clis → clis}/sinafinance/rolling-news.js +0 -0
- /package/{dist/clis → clis}/sinafinance/stock-rank.js +0 -0
- /package/{dist/clis → clis}/sinafinance/stock.js +0 -0
- /package/{dist/clis → clis}/smzdm/search.js +0 -0
- /package/{dist/clis → clis}/spotify/spotify.js +0 -0
- /package/{dist/clis → clis}/spotify/utils.js +0 -0
- /package/{dist/clis → clis}/spotify/utils.test.js +0 -0
- /package/{dist/clis → clis}/stackoverflow/bounties.js +0 -0
- /package/{dist/clis → clis}/stackoverflow/hot.js +0 -0
- /package/{dist/clis → clis}/stackoverflow/search.js +0 -0
- /package/{dist/clis → clis}/stackoverflow/unanswered.js +0 -0
- /package/{dist/clis → clis}/steam/top-sellers.js +0 -0
- /package/{dist/clis → clis}/substack/feed.js +0 -0
- /package/{dist/clis → clis}/substack/publication.js +0 -0
- /package/{dist/clis → clis}/substack/search.js +0 -0
- /package/{dist/clis → clis}/substack/utils.js +0 -0
- /package/{dist/clis → clis}/substack/utils.test.js +0 -0
- /package/{dist/clis → clis}/taobao/add-cart.js +0 -0
- /package/{dist/clis → clis}/taobao/cart.js +0 -0
- /package/{dist/clis → clis}/taobao/commands.test.js +0 -0
- /package/{dist/clis → clis}/taobao/detail.js +0 -0
- /package/{dist/clis → clis}/taobao/reviews.js +0 -0
- /package/{dist/clis → clis}/taobao/search.js +0 -0
- /package/{dist/clis → clis}/tieba/commands.test.js +0 -0
- /package/{dist/clis → clis}/tieba/hot.js +0 -0
- /package/{dist/clis → clis}/tieba/posts.js +0 -0
- /package/{dist/clis → clis}/tieba/read.js +0 -0
- /package/{dist/clis → clis}/tieba/search.js +0 -0
- /package/{dist/clis → clis}/tieba/utils.js +0 -0
- /package/{dist/clis → clis}/tieba/utils.test.js +0 -0
- /package/{dist/clis → clis}/tiktok/comment.js +0 -0
- /package/{dist/clis → clis}/tiktok/explore.js +0 -0
- /package/{dist/clis → clis}/tiktok/follow.js +0 -0
- /package/{dist/clis → clis}/tiktok/following.js +0 -0
- /package/{dist/clis → clis}/tiktok/friends.js +0 -0
- /package/{dist/clis → clis}/tiktok/like.js +0 -0
- /package/{dist/clis → clis}/tiktok/live.js +0 -0
- /package/{dist/clis → clis}/tiktok/notifications.js +0 -0
- /package/{dist/clis → clis}/tiktok/profile.js +0 -0
- /package/{dist/clis → clis}/tiktok/save.js +0 -0
- /package/{dist/clis → clis}/tiktok/search.js +0 -0
- /package/{dist/clis → clis}/tiktok/unfollow.js +0 -0
- /package/{dist/clis → clis}/tiktok/unlike.js +0 -0
- /package/{dist/clis → clis}/tiktok/unsave.js +0 -0
- /package/{dist/clis → clis}/tiktok/user.js +0 -0
- /package/{dist/clis → clis}/twitter/accept.js +0 -0
- /package/{dist/clis → clis}/twitter/article.js +0 -0
- /package/{dist/clis → clis}/twitter/block.js +0 -0
- /package/{dist/clis → clis}/twitter/bookmark.js +0 -0
- /package/{dist/clis → clis}/twitter/bookmarks.js +0 -0
- /package/{dist/clis → clis}/twitter/delete.js +0 -0
- /package/{dist/clis → clis}/twitter/delete.test.js +0 -0
- /package/{dist/clis → clis}/twitter/download.js +0 -0
- /package/{dist/clis → clis}/twitter/follow.js +0 -0
- /package/{dist/clis → clis}/twitter/followers.js +0 -0
- /package/{dist/clis → clis}/twitter/following.js +0 -0
- /package/{dist/clis → clis}/twitter/hide-reply.js +0 -0
- /package/{dist/clis → clis}/twitter/like.js +0 -0
- /package/{dist/clis → clis}/twitter/likes.js +0 -0
- /package/{dist/clis → clis}/twitter/likes.test.js +0 -0
- /package/{dist/clis → clis}/twitter/notifications.js +0 -0
- /package/{dist/clis → clis}/twitter/post.js +0 -0
- /package/{dist/clis → clis}/twitter/post.test.js +0 -0
- /package/{dist/clis → clis}/twitter/profile.js +0 -0
- /package/{dist/clis → clis}/twitter/reply-dm.js +0 -0
- /package/{dist/clis → clis}/twitter/reply.js +0 -0
- /package/{dist/clis → clis}/twitter/reply.test.js +0 -0
- /package/{dist/clis → clis}/twitter/search.js +0 -0
- /package/{dist/clis → clis}/twitter/search.test.js +0 -0
- /package/{dist/clis → clis}/twitter/shared.js +0 -0
- /package/{dist/clis → clis}/twitter/thread.js +0 -0
- /package/{dist/clis → clis}/twitter/timeline.js +0 -0
- /package/{dist/clis → clis}/twitter/timeline.test.js +0 -0
- /package/{dist/clis → clis}/twitter/trending.js +0 -0
- /package/{dist/clis → clis}/twitter/unblock.js +0 -0
- /package/{dist/clis → clis}/twitter/unbookmark.js +0 -0
- /package/{dist/clis → clis}/twitter/unfollow.js +0 -0
- /package/{dist/clis → clis}/v2ex/daily.js +0 -0
- /package/{dist/clis → clis}/v2ex/hot.js +0 -0
- /package/{dist/clis → clis}/v2ex/latest.js +0 -0
- /package/{dist/clis → clis}/v2ex/me.js +0 -0
- /package/{dist/clis → clis}/v2ex/member.js +0 -0
- /package/{dist/clis → clis}/v2ex/node.js +0 -0
- /package/{dist/clis → clis}/v2ex/nodes.js +0 -0
- /package/{dist/clis → clis}/v2ex/notifications.js +0 -0
- /package/{dist/clis → clis}/v2ex/replies.js +0 -0
- /package/{dist/clis → clis}/v2ex/topic.js +0 -0
- /package/{dist/clis → clis}/v2ex/user.js +0 -0
- /package/{dist/clis → clis}/web/read.js +0 -0
- /package/{dist/clis → clis}/weibo/comments.js +0 -0
- /package/{dist/clis → clis}/weibo/hot.js +0 -0
- /package/{dist/clis → clis}/weibo/me.js +0 -0
- /package/{dist/clis → clis}/weibo/post.js +0 -0
- /package/{dist/clis → clis}/weibo/search.js +0 -0
- /package/{dist/clis → clis}/weibo/user.js +0 -0
- /package/{dist/clis → clis}/weibo/utils.js +0 -0
- /package/{dist/clis → clis}/weixin/download.js +0 -0
- /package/{dist/clis → clis}/weread/book.js +0 -0
- /package/{dist/clis → clis}/weread/commands.test.js +0 -0
- /package/{dist/clis → clis}/weread/highlights.js +0 -0
- /package/{dist/clis → clis}/weread/notebooks.js +0 -0
- /package/{dist/clis → clis}/weread/notes.js +0 -0
- /package/{dist/clis → clis}/weread/private-api-regression.test.js +0 -0
- /package/{dist/clis → clis}/weread/ranking.js +0 -0
- /package/{dist/clis → clis}/weread/search-regression.test.js +0 -0
- /package/{dist/clis → clis}/weread/search.js +0 -0
- /package/{dist/clis → clis}/weread/shelf.js +0 -0
- /package/{dist/clis → clis}/weread/utils.js +0 -0
- /package/{dist/clis → clis}/weread/utils.test.js +0 -0
- /package/{dist/clis → clis}/wikipedia/random.js +0 -0
- /package/{dist/clis → clis}/wikipedia/search.js +0 -0
- /package/{dist/clis → clis}/wikipedia/summary.js +0 -0
- /package/{dist/clis → clis}/wikipedia/trending.js +0 -0
- /package/{dist/clis → clis}/wikipedia/utils.js +0 -0
- /package/{dist/clis → clis}/xianyu/chat.js +0 -0
- /package/{dist/clis → clis}/xianyu/chat.test.js +0 -0
- /package/{dist/clis → clis}/xianyu/item.js +0 -0
- /package/{dist/clis → clis}/xianyu/item.test.js +0 -0
- /package/{dist/clis → clis}/xianyu/search.js +0 -0
- /package/{dist/clis → clis}/xianyu/search.test.js +0 -0
- /package/{dist/clis → clis}/xianyu/utils.js +0 -0
- /package/{dist/clis → clis}/xiaoe/catalog.js +0 -0
- /package/{dist/clis → clis}/xiaoe/content.js +0 -0
- /package/{dist/clis → clis}/xiaoe/courses.js +0 -0
- /package/{dist/clis → clis}/xiaoe/detail.js +0 -0
- /package/{dist/clis → clis}/xiaoe/play-url.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/comments.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/comments.test.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/creator-note-detail.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/creator-note-detail.test.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/creator-notes-summary.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/creator-notes-summary.test.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/creator-notes.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/creator-notes.test.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/creator-profile.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/creator-stats.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/download.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/download.test.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/feed.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/note-helpers.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/note.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/note.test.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/notifications.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/publish.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/publish.test.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/search.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/search.test.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/user-helpers.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/user-helpers.test.js +0 -0
- /package/{dist/clis → clis}/xiaohongshu/user.js +0 -0
- /package/{dist/clis → clis}/xiaoyuzhou/episode.js +0 -0
- /package/{dist/clis → clis}/xiaoyuzhou/podcast-episodes.js +0 -0
- /package/{dist/clis → clis}/xiaoyuzhou/podcast.js +0 -0
- /package/{dist/clis → clis}/xiaoyuzhou/utils.js +0 -0
- /package/{dist/clis → clis}/xiaoyuzhou/utils.test.js +0 -0
- /package/{dist/clis → clis}/xueqiu/comments.js +0 -0
- /package/{dist/clis → clis}/xueqiu/comments.test.js +0 -0
- /package/{dist/clis → clis}/xueqiu/danjuan-utils.js +0 -0
- /package/{dist/clis → clis}/xueqiu/danjuan-utils.test.js +0 -0
- /package/{dist/clis → clis}/xueqiu/fund-holdings.js +0 -0
- /package/{dist/clis → clis}/xueqiu/fund-snapshot.js +0 -0
- /package/{dist/clis → clis}/yollomi/background.js +0 -0
- /package/{dist/clis → clis}/yollomi/edit.js +0 -0
- /package/{dist/clis → clis}/yollomi/face-swap.js +0 -0
- /package/{dist/clis → clis}/yollomi/generate.js +0 -0
- /package/{dist/clis → clis}/yollomi/models.js +0 -0
- /package/{dist/clis → clis}/yollomi/object-remover.js +0 -0
- /package/{dist/clis → clis}/yollomi/remove-bg.js +0 -0
- /package/{dist/clis → clis}/yollomi/restore.js +0 -0
- /package/{dist/clis → clis}/yollomi/try-on.js +0 -0
- /package/{dist/clis → clis}/yollomi/upload.js +0 -0
- /package/{dist/clis → clis}/yollomi/upscale.js +0 -0
- /package/{dist/clis → clis}/yollomi/utils.js +0 -0
- /package/{dist/clis → clis}/yollomi/video.js +0 -0
- /package/{dist/clis → clis}/youtube/channel.js +0 -0
- /package/{dist/clis → clis}/youtube/comments.js +0 -0
- /package/{dist/clis → clis}/youtube/search.js +0 -0
- /package/{dist/clis → clis}/youtube/transcript-group.js +0 -0
- /package/{dist/clis → clis}/youtube/transcript-group.test.js +0 -0
- /package/{dist/clis → clis}/youtube/transcript.js +0 -0
- /package/{dist/clis → clis}/youtube/utils.js +0 -0
- /package/{dist/clis → clis}/youtube/utils.test.js +0 -0
- /package/{dist/clis → clis}/youtube/video.js +0 -0
- /package/{dist/clis → clis}/yuanbao/ask.js +0 -0
- /package/{dist/clis → clis}/yuanbao/ask.test.js +0 -0
- /package/{dist/clis → clis}/yuanbao/new.js +0 -0
- /package/{dist/clis → clis}/yuanbao/new.test.js +0 -0
- /package/{dist/clis → clis}/yuanbao/shared.js +0 -0
- /package/{dist/clis → clis}/zhihu/answer.js +0 -0
- /package/{dist/clis → clis}/zhihu/answer.test.js +0 -0
- /package/{dist/clis → clis}/zhihu/comment.js +0 -0
- /package/{dist/clis → clis}/zhihu/comment.test.js +0 -0
- /package/{dist/clis → clis}/zhihu/download.js +0 -0
- /package/{dist/clis → clis}/zhihu/download.test.js +0 -0
- /package/{dist/clis → clis}/zhihu/favorite.js +0 -0
- /package/{dist/clis → clis}/zhihu/favorite.test.js +0 -0
- /package/{dist/clis → clis}/zhihu/follow.js +0 -0
- /package/{dist/clis → clis}/zhihu/follow.test.js +0 -0
- /package/{dist/clis → clis}/zhihu/hot.js +0 -0
- /package/{dist/clis → clis}/zhihu/like.js +0 -0
- /package/{dist/clis → clis}/zhihu/like.test.js +0 -0
- /package/{dist/clis → clis}/zhihu/question.js +0 -0
- /package/{dist/clis → clis}/zhihu/question.test.js +0 -0
- /package/{dist/clis → clis}/zhihu/search.js +0 -0
- /package/{dist/clis → clis}/zhihu/target.js +0 -0
- /package/{dist/clis → clis}/zhihu/target.test.js +0 -0
- /package/{dist/clis → clis}/zhihu/write-shared.js +0 -0
- /package/{dist/clis → clis}/zhihu/write-shared.test.js +0 -0
- /package/{dist/clis → clis}/zsxq/dynamics.js +0 -0
- /package/{dist/clis → clis}/zsxq/groups.js +0 -0
- /package/{dist/clis → clis}/zsxq/search.js +0 -0
- /package/{dist/clis → clis}/zsxq/search.test.js +0 -0
- /package/{dist/clis → clis}/zsxq/topics.js +0 -0
- /package/{dist/clis → clis}/zsxq/topics.test.js +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: How to automate Antigravity using OpenCLI
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Antigravity Automation Skill
|
|
6
|
+
|
|
7
|
+
This skill allows AI agents to control the [Antigravity](https://github.com/chengazhen/Antigravity) desktop app (and any Electron app with CDP enabled) programmatically via OpenCLI.
|
|
8
|
+
|
|
9
|
+
## Requirements
|
|
10
|
+
opencli automatically detects, launches (with `--remote-debugging-port=9234`), and connects to Antigravity.
|
|
11
|
+
If Antigravity is already running without CDP, opencli will prompt to restart it.
|
|
12
|
+
|
|
13
|
+
If the endpoint exposes multiple inspectable targets, set:
|
|
14
|
+
\`\`\`bash
|
|
15
|
+
export OPENCLI_CDP_TARGET="antigravity"
|
|
16
|
+
\`\`\`
|
|
17
|
+
|
|
18
|
+
## High-Level Capabilities
|
|
19
|
+
1. **Send Messages (`opencli antigravity send <message>`)**: Type and send a message directly into the chat UI.
|
|
20
|
+
2. **Read History (`opencli antigravity read`)**: Scrape the raw chat transcript from the main UI container.
|
|
21
|
+
3. **Extract Code (`opencli antigravity extract-code`)**: Automatically isolate and extract source code text blocks from the AI's recent answers.
|
|
22
|
+
4. **Switch Models (`opencli antigravity model <name>`)**: Instantly toggle the active LLM (e.g., \`gemini\`, \`claude\`).
|
|
23
|
+
5. **Clear Context (`opencli antigravity new`)**: Start a fresh conversation.
|
|
24
|
+
|
|
25
|
+
## Examples for Automated Workflows
|
|
26
|
+
|
|
27
|
+
### Generating and Saving Code
|
|
28
|
+
\`\`\`bash
|
|
29
|
+
opencli antigravity send "Write a python script to fetch HN top stories"
|
|
30
|
+
# wait ~10-15 seconds for output to render
|
|
31
|
+
opencli antigravity extract-code > hn_fetcher.py
|
|
32
|
+
\`\`\`
|
|
33
|
+
|
|
34
|
+
### Reading Real-time Logs
|
|
35
|
+
Agents can run long-running streaming watch instances:
|
|
36
|
+
\`\`\`bash
|
|
37
|
+
opencli antigravity watch
|
|
38
|
+
\`\`\`
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Auth: CSRF token from <meta name="csrf-token"> + session cookies.
|
|
4
4
|
*/
|
|
5
5
|
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
6
|
+
import { CommandExecutionError } from '@jackwener/opencli/errors';
|
|
6
7
|
cli({
|
|
7
8
|
site: 'barchart',
|
|
8
9
|
name: 'quote',
|
|
@@ -109,7 +110,7 @@ cli({
|
|
|
109
110
|
})()
|
|
110
111
|
`);
|
|
111
112
|
if (!data || data.error)
|
|
112
|
-
|
|
113
|
+
throw new CommandExecutionError(data?.error || `Failed to fetch quote for ${symbol}`);
|
|
113
114
|
const r = data.row || {};
|
|
114
115
|
// API returns formatted strings like "+1.41" and "+0.56%"; use raw if available
|
|
115
116
|
const raw = r.raw || {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'asks',
|
|
6
|
+
description: 'Order book ask prices for a trading pair',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'symbol', type: 'str', required: true, positional: true, help: 'Trading pair symbol (e.g. BTCUSDT, ETHUSDT)' },
|
|
12
|
+
{ name: 'limit', type: 'int', default: 10, help: 'Number of price levels (5, 10, 20, 50, 100)' },
|
|
13
|
+
],
|
|
14
|
+
columns: ['rank', 'ask_price', 'ask_qty'],
|
|
15
|
+
pipeline: [
|
|
16
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/depth?symbol=${{ args.symbol }}&limit=${{ args.limit }}' } },
|
|
17
|
+
{ select: 'asks' },
|
|
18
|
+
{ map: { rank: '${{ index + 1 }}', ask_price: '${{ item.0 }}', ask_qty: '${{ item.1 }}' } },
|
|
19
|
+
{ limit: '${{ args.limit }}' },
|
|
20
|
+
],
|
|
21
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { getRegistry } from '@jackwener/opencli/registry';
|
|
2
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
3
|
+
import { executePipeline } from '@jackwener/opencli/pipeline';
|
|
4
|
+
|
|
5
|
+
// Import all binance adapters to register them
|
|
6
|
+
import './top.js';
|
|
7
|
+
import './gainers.js';
|
|
8
|
+
import './pairs.js';
|
|
9
|
+
|
|
10
|
+
function loadPipeline(name) {
|
|
11
|
+
const cmd = getRegistry().get(`binance/${name}`);
|
|
12
|
+
if (!cmd?.pipeline) throw new Error(`Command binance/${name} not found or has no pipeline`);
|
|
13
|
+
return cmd.pipeline;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function mockJsonOnce(payload) {
|
|
17
|
+
vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
|
|
18
|
+
ok: true,
|
|
19
|
+
status: 200,
|
|
20
|
+
statusText: 'OK',
|
|
21
|
+
json: vi.fn().mockResolvedValue(payload),
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
afterEach(() => {
|
|
26
|
+
vi.unstubAllGlobals();
|
|
27
|
+
vi.restoreAllMocks();
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
describe('binance adapters', () => {
|
|
31
|
+
it('sorts top pairs by numeric quote volume', async () => {
|
|
32
|
+
mockJsonOnce([
|
|
33
|
+
{ symbol: 'SMALL', lastPrice: '1', priceChangePercent: '1.2', highPrice: '1', lowPrice: '1', quoteVolume: '9.9' },
|
|
34
|
+
{ symbol: 'LARGE', lastPrice: '2', priceChangePercent: '2.3', highPrice: '2', lowPrice: '2', quoteVolume: '100.0' },
|
|
35
|
+
{ symbol: 'MID', lastPrice: '3', priceChangePercent: '3.4', highPrice: '3', lowPrice: '3', quoteVolume: '11.0' },
|
|
36
|
+
]);
|
|
37
|
+
|
|
38
|
+
const result = await executePipeline(null, loadPipeline('top'), { args: { limit: 3 } });
|
|
39
|
+
|
|
40
|
+
expect(result.map((item) => item.symbol)).toEqual(['LARGE', 'MID', 'SMALL']);
|
|
41
|
+
expect(result.map((item) => item.rank)).toEqual([1, 2, 3]);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('sorts gainers by numeric percent change', async () => {
|
|
45
|
+
mockJsonOnce([
|
|
46
|
+
{ symbol: 'TEN', lastPrice: '1', priceChangePercent: '10.0', quoteVolume: '100' },
|
|
47
|
+
{ symbol: 'NINE', lastPrice: '1', priceChangePercent: '9.5', quoteVolume: '100' },
|
|
48
|
+
{ symbol: 'HUNDRED', lastPrice: '1', priceChangePercent: '100.0', quoteVolume: '100' },
|
|
49
|
+
]);
|
|
50
|
+
|
|
51
|
+
const result = await executePipeline(null, loadPipeline('gainers'), { args: { limit: 3 } });
|
|
52
|
+
|
|
53
|
+
expect(result.map((item) => item.symbol)).toEqual(['HUNDRED', 'TEN', 'NINE']);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('keeps only TRADING pairs', async () => {
|
|
57
|
+
mockJsonOnce({
|
|
58
|
+
symbols: [
|
|
59
|
+
{ symbol: 'BTCUSDT', baseAsset: 'BTC', quoteAsset: 'USDT', status: 'TRADING' },
|
|
60
|
+
{ symbol: 'OLDPAIR', baseAsset: 'OLD', quoteAsset: 'USDT', status: 'BREAK' },
|
|
61
|
+
],
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
const result = await executePipeline(null, loadPipeline('pairs'), { args: { limit: 10 } });
|
|
65
|
+
|
|
66
|
+
expect(result).toEqual([
|
|
67
|
+
{ symbol: 'BTCUSDT', base: 'BTC', quote: 'USDT', status: 'TRADING' },
|
|
68
|
+
]);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'depth',
|
|
6
|
+
description: 'Order book bid prices for a trading pair',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'symbol', type: 'str', required: true, positional: true, help: 'Trading pair symbol (e.g. BTCUSDT, ETHUSDT)' },
|
|
12
|
+
{ name: 'limit', type: 'int', default: 10, help: 'Number of price levels (5, 10, 20, 50, 100)' },
|
|
13
|
+
],
|
|
14
|
+
columns: ['rank', 'bid_price', 'bid_qty'],
|
|
15
|
+
pipeline: [
|
|
16
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/depth?symbol=${{ args.symbol }}&limit=${{ args.limit }}' } },
|
|
17
|
+
{ select: 'bids' },
|
|
18
|
+
{ map: { rank: '${{ index + 1 }}', bid_price: '${{ item.0 }}', bid_qty: '${{ item.1 }}' } },
|
|
19
|
+
{ limit: '${{ args.limit }}' },
|
|
20
|
+
],
|
|
21
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'gainers',
|
|
6
|
+
description: 'Top gaining trading pairs by 24h price change',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'limit', type: 'int', default: 10, help: 'Number of trading pairs' },
|
|
12
|
+
],
|
|
13
|
+
columns: ['rank', 'symbol', 'price', 'change_24h', 'volume'],
|
|
14
|
+
pipeline: [
|
|
15
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/ticker/24hr' } },
|
|
16
|
+
{ filter: 'item.priceChangePercent' },
|
|
17
|
+
{ map: { symbol: '${{ item.symbol }}', price: '${{ item.lastPrice }}', change_24h: '${{ item.priceChangePercent }}', volume: '${{ item.quoteVolume }}', sort_change: '${{ Number(item.priceChangePercent) }}' } },
|
|
18
|
+
{ sort: { by: 'sort_change', order: 'desc' } },
|
|
19
|
+
{ map: { rank: '${{ index + 1 }}', symbol: '${{ item.symbol }}', price: '${{ item.lastPrice }}', change_24h: '${{ item.priceChangePercent }}', volume: '${{ item.quoteVolume }}' } },
|
|
20
|
+
{ limit: '${{ args.limit }}' },
|
|
21
|
+
],
|
|
22
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'klines',
|
|
6
|
+
description: 'Candlestick/kline data for a trading pair',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'symbol', type: 'str', required: true, positional: true, help: 'Trading pair symbol (e.g. BTCUSDT, ETHUSDT)' },
|
|
12
|
+
{ name: 'interval', type: 'str', default: '1d', help: 'Kline interval (1m, 5m, 15m, 1h, 4h, 1d, 1w, 1M)' },
|
|
13
|
+
{ name: 'limit', type: 'int', default: 10, help: 'Number of klines (max 1000)' },
|
|
14
|
+
],
|
|
15
|
+
columns: ['open', 'high', 'low', 'close', 'volume'],
|
|
16
|
+
pipeline: [
|
|
17
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/klines?symbol=${{ args.symbol }}&interval=${{ args.interval }}&limit=${{ args.limit }}' } },
|
|
18
|
+
{ map: { open: '${{ item.1 }}', high: '${{ item.2 }}', low: '${{ item.3 }}', close: '${{ item.4 }}', volume: '${{ item.5 }}' } },
|
|
19
|
+
{ limit: '${{ args.limit }}' },
|
|
20
|
+
],
|
|
21
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'losers',
|
|
6
|
+
description: 'Top losing trading pairs by 24h price change',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'limit', type: 'int', default: 10, help: 'Number of trading pairs' },
|
|
12
|
+
],
|
|
13
|
+
columns: ['rank', 'symbol', 'price', 'change_24h', 'volume'],
|
|
14
|
+
pipeline: [
|
|
15
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/ticker/24hr' } },
|
|
16
|
+
{ filter: 'item.priceChangePercent' },
|
|
17
|
+
{ map: { symbol: '${{ item.symbol }}', price: '${{ item.lastPrice }}', change_24h: '${{ item.priceChangePercent }}', volume: '${{ item.quoteVolume }}', sort_change: '${{ Number(item.priceChangePercent) }}' } },
|
|
18
|
+
{ sort: { by: 'sort_change' } },
|
|
19
|
+
{ map: { rank: '${{ index + 1 }}', symbol: '${{ item.symbol }}', price: '${{ item.lastPrice }}', change_24h: '${{ item.priceChangePercent }}', volume: '${{ item.quoteVolume }}' } },
|
|
20
|
+
{ limit: '${{ args.limit }}' },
|
|
21
|
+
],
|
|
22
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'pairs',
|
|
6
|
+
description: 'List active trading pairs on Binance',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of trading pairs' },
|
|
12
|
+
],
|
|
13
|
+
columns: ['symbol', 'base', 'quote', 'status'],
|
|
14
|
+
pipeline: [
|
|
15
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/exchangeInfo' } },
|
|
16
|
+
{ select: 'symbols' },
|
|
17
|
+
{ filter: 'item.status === \'TRADING\'' },
|
|
18
|
+
{ map: { symbol: '${{ item.symbol }}', base: '${{ item.baseAsset }}', quote: '${{ item.quoteAsset }}', status: '${{ item.status }}' } },
|
|
19
|
+
{ limit: '${{ args.limit }}' },
|
|
20
|
+
],
|
|
21
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'price',
|
|
6
|
+
description: 'Quick price check for a trading pair',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'symbol', type: 'str', required: true, positional: true, help: 'Trading pair symbol (e.g. BTCUSDT, ETHUSDT)' },
|
|
12
|
+
],
|
|
13
|
+
columns: ['symbol', 'price', 'change', 'change_pct', 'high', 'low', 'volume', 'quote_volume', 'trades'],
|
|
14
|
+
pipeline: [
|
|
15
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/ticker/24hr?symbol=${{ args.symbol }}' } },
|
|
16
|
+
{ map: { symbol: '${{ item.symbol }}', price: '${{ item.lastPrice }}', change: '${{ item.priceChange }}', change_pct: '${{ item.priceChangePercent }}', high: '${{ item.highPrice }}', low: '${{ item.lowPrice }}', volume: '${{ item.volume }}', quote_volume: '${{ item.quoteVolume }}', trades: '${{ item.count }}' } },
|
|
17
|
+
],
|
|
18
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'prices',
|
|
6
|
+
description: 'Latest prices for all trading pairs',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of prices' },
|
|
12
|
+
],
|
|
13
|
+
columns: ['rank', 'symbol', 'price'],
|
|
14
|
+
pipeline: [
|
|
15
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/ticker/price' } },
|
|
16
|
+
{ map: { rank: '${{ index + 1 }}', symbol: '${{ item.symbol }}', price: '${{ item.price }}' } },
|
|
17
|
+
{ limit: '${{ args.limit }}' },
|
|
18
|
+
],
|
|
19
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'ticker',
|
|
6
|
+
description: '24h ticker statistics for top trading pairs by volume',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of tickers' },
|
|
12
|
+
],
|
|
13
|
+
columns: ['symbol', 'price', 'change_pct', 'high', 'low', 'volume', 'quote_vol', 'trades'],
|
|
14
|
+
pipeline: [
|
|
15
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/ticker/24hr' } },
|
|
16
|
+
{ map: { symbol: '${{ item.symbol }}', price: '${{ item.lastPrice }}', change_pct: '${{ item.priceChangePercent }}', high: '${{ item.highPrice }}', low: '${{ item.lowPrice }}', volume: '${{ item.volume }}', quote_vol: '${{ item.quoteVolume }}', trades: '${{ item.count }}', sort_volume: '${{ Number(item.quoteVolume) }}' } },
|
|
17
|
+
{ sort: { by: 'sort_volume', order: 'desc' } },
|
|
18
|
+
{ map: { symbol: '${{ item.symbol }}', price: '${{ item.lastPrice }}', change_pct: '${{ item.priceChangePercent }}', high: '${{ item.highPrice }}', low: '${{ item.lowPrice }}', volume: '${{ item.volume }}', quote_vol: '${{ item.quoteVolume }}', trades: '${{ item.count }}' } },
|
|
19
|
+
{ limit: '${{ args.limit }}' },
|
|
20
|
+
],
|
|
21
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'top',
|
|
6
|
+
description: 'Top trading pairs by 24h volume on Binance',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of trading pairs' },
|
|
12
|
+
],
|
|
13
|
+
columns: ['rank', 'symbol', 'price', 'change_24h', 'high', 'low', 'volume'],
|
|
14
|
+
pipeline: [
|
|
15
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/ticker/24hr' } },
|
|
16
|
+
{ map: { symbol: '${{ item.symbol }}', price: '${{ item.lastPrice }}', change_24h: '${{ item.priceChangePercent }}', high: '${{ item.highPrice }}', low: '${{ item.lowPrice }}', volume: '${{ item.quoteVolume }}', sort_volume: '${{ Number(item.quoteVolume) }}' } },
|
|
17
|
+
{ sort: { by: 'sort_volume', order: 'desc' } },
|
|
18
|
+
{ map: { rank: '${{ index + 1 }}', symbol: '${{ item.symbol }}', price: '${{ item.lastPrice }}', change_24h: '${{ item.priceChangePercent }}', high: '${{ item.highPrice }}', low: '${{ item.lowPrice }}', volume: '${{ item.quoteVolume }}' } },
|
|
19
|
+
{ limit: '${{ args.limit }}' },
|
|
20
|
+
],
|
|
21
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
|
|
3
|
+
cli({
|
|
4
|
+
site: 'binance',
|
|
5
|
+
name: 'trades',
|
|
6
|
+
description: 'Recent trades for a trading pair',
|
|
7
|
+
domain: 'data-api.binance.vision',
|
|
8
|
+
strategy: Strategy.PUBLIC,
|
|
9
|
+
browser: false,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'symbol', type: 'str', required: true, positional: true, help: 'Trading pair symbol (e.g. BTCUSDT, ETHUSDT)' },
|
|
12
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of trades (max 1000)' },
|
|
13
|
+
],
|
|
14
|
+
columns: ['id', 'price', 'qty', 'quote_qty', 'buyer_maker'],
|
|
15
|
+
pipeline: [
|
|
16
|
+
{ fetch: { url: 'https://data-api.binance.vision/api/v3/trades?symbol=${{ args.symbol }}&limit=${{ args.limit }}' } },
|
|
17
|
+
{ map: { id: '${{ item.id }}', price: '${{ item.price }}', qty: '${{ item.qty }}', quote_qty: '${{ item.quoteQty }}', buyer_maker: '${{ item.isBuyerMaker }}' } },
|
|
18
|
+
{ limit: '${{ args.limit }}' },
|
|
19
|
+
],
|
|
20
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { fetchLinuxDoJson } from './feed.js';
|
|
3
|
+
cli({
|
|
4
|
+
site: 'linux-do',
|
|
5
|
+
name: 'categories',
|
|
6
|
+
description: 'linux.do 分类列表',
|
|
7
|
+
domain: 'linux.do',
|
|
8
|
+
strategy: Strategy.COOKIE,
|
|
9
|
+
browser: true,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'subcategories', type: 'boolean', default: false, help: 'Include subcategories' },
|
|
12
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of categories' },
|
|
13
|
+
],
|
|
14
|
+
columns: ['name', 'slug', 'id', 'topics', 'description'],
|
|
15
|
+
func: async (page, kwargs) => {
|
|
16
|
+
const data = await fetchLinuxDoJson(page, '/categories.json');
|
|
17
|
+
const cats = (data?.category_list?.categories || []);
|
|
18
|
+
const showSub = !!kwargs.subcategories;
|
|
19
|
+
const limit = kwargs.limit;
|
|
20
|
+
const results = [];
|
|
21
|
+
for (const c of cats) {
|
|
22
|
+
if (results.length >= limit)
|
|
23
|
+
break;
|
|
24
|
+
results.push({
|
|
25
|
+
name: c.name,
|
|
26
|
+
slug: c.slug,
|
|
27
|
+
id: c.id,
|
|
28
|
+
topics: c.topic_count,
|
|
29
|
+
description: (c.description_text || '').slice(0, 80),
|
|
30
|
+
});
|
|
31
|
+
if (showSub && Array.isArray(c.subcategory_ids) && c.subcategory_ids.length > 0) {
|
|
32
|
+
const subData = await fetchLinuxDoJson(page, `/categories.json?parent_category_id=${c.id}`, { skipNavigate: true });
|
|
33
|
+
const subCats = (subData?.category_list?.categories || []);
|
|
34
|
+
for (const sc of subCats) {
|
|
35
|
+
if (results.length >= limit)
|
|
36
|
+
break;
|
|
37
|
+
results.push({
|
|
38
|
+
name: c.name + ' / ' + sc.name,
|
|
39
|
+
slug: sc.slug,
|
|
40
|
+
id: sc.id,
|
|
41
|
+
topics: sc.topic_count,
|
|
42
|
+
description: (sc.description_text || '').slice(0, 80),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return results;
|
|
48
|
+
},
|
|
49
|
+
});
|
|
@@ -70,7 +70,7 @@ async function ensureLinuxDoHome(page) {
|
|
|
70
70
|
await page.goto(LINUX_DO_HOME);
|
|
71
71
|
await page.wait(2);
|
|
72
72
|
}
|
|
73
|
-
async function fetchLinuxDoJson(page, apiPath, options = {}) {
|
|
73
|
+
export async function fetchLinuxDoJson(page, apiPath, options = {}) {
|
|
74
74
|
if (!options.skipNavigate) {
|
|
75
75
|
await ensureLinuxDoHome(page);
|
|
76
76
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { fetchLinuxDoJson } from './feed.js';
|
|
3
|
+
cli({
|
|
4
|
+
site: 'linux-do',
|
|
5
|
+
name: 'search',
|
|
6
|
+
description: '搜索 linux.do',
|
|
7
|
+
domain: 'linux.do',
|
|
8
|
+
strategy: Strategy.COOKIE,
|
|
9
|
+
browser: true,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'query', required: true, positional: true, help: 'Search query' },
|
|
12
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of results' },
|
|
13
|
+
],
|
|
14
|
+
columns: ['rank', 'title', 'views', 'likes', 'replies', 'url'],
|
|
15
|
+
func: async (page, kwargs) => {
|
|
16
|
+
const query = encodeURIComponent(String(kwargs.query));
|
|
17
|
+
const data = await fetchLinuxDoJson(page, `/search.json?q=${query}`);
|
|
18
|
+
const topics = (data?.topics || []);
|
|
19
|
+
return topics.slice(0, kwargs.limit).map((t, i) => ({
|
|
20
|
+
rank: i + 1,
|
|
21
|
+
title: t.title,
|
|
22
|
+
views: t.views,
|
|
23
|
+
likes: t.like_count,
|
|
24
|
+
replies: (t.posts_count || 1) - 1,
|
|
25
|
+
url: 'https://linux.do/t/topic/' + t.id,
|
|
26
|
+
}));
|
|
27
|
+
},
|
|
28
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { fetchLinuxDoJson } from './feed.js';
|
|
3
|
+
cli({
|
|
4
|
+
site: 'linux-do',
|
|
5
|
+
name: 'tags',
|
|
6
|
+
description: 'linux.do 标签列表',
|
|
7
|
+
domain: 'linux.do',
|
|
8
|
+
strategy: Strategy.COOKIE,
|
|
9
|
+
browser: true,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'limit', type: 'int', default: 30, help: 'Number of tags' },
|
|
12
|
+
],
|
|
13
|
+
columns: ['rank', 'name', 'count', 'url'],
|
|
14
|
+
func: async (page, kwargs) => {
|
|
15
|
+
const data = await fetchLinuxDoJson(page, '/tags.json');
|
|
16
|
+
const tags = (data?.tags || []);
|
|
17
|
+
tags.sort((a, b) => (b.count || 0) - (a.count || 0));
|
|
18
|
+
return tags.slice(0, kwargs.limit).map((t, i) => ({
|
|
19
|
+
rank: i + 1,
|
|
20
|
+
name: t.name || t.id,
|
|
21
|
+
count: t.count || 0,
|
|
22
|
+
slug: t.slug,
|
|
23
|
+
id: t.id,
|
|
24
|
+
url: 'https://linux.do/tag/' + t.slug,
|
|
25
|
+
}));
|
|
26
|
+
},
|
|
27
|
+
});
|
|
@@ -51,7 +51,7 @@ describe('linux-do topic-content', () => {
|
|
|
51
51
|
expect(command?.columns).toEqual(['content']);
|
|
52
52
|
});
|
|
53
53
|
it('keeps topic adapter as a summarized first-page reader after the split', () => {
|
|
54
|
-
const topicTs = fs.readFileSync(new URL('./topic.
|
|
54
|
+
const topicTs = fs.readFileSync(new URL('./topic.js', import.meta.url), 'utf8');
|
|
55
55
|
expect(topicTs).not.toContain('main_only');
|
|
56
56
|
expect(topicTs).toContain('slice(0, 200)');
|
|
57
57
|
expect(topicTs).toContain('帖子首页摘要和回复');
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { fetchLinuxDoJson } from './feed.js';
|
|
3
|
+
function toLocalTime(utcStr) {
|
|
4
|
+
if (!utcStr)
|
|
5
|
+
return '';
|
|
6
|
+
const date = new Date(utcStr);
|
|
7
|
+
return Number.isNaN(date.getTime()) ? utcStr : date.toLocaleString();
|
|
8
|
+
}
|
|
9
|
+
function strip(html) {
|
|
10
|
+
return (html || '')
|
|
11
|
+
.replace(/<br\s*\/?>/gi, ' ')
|
|
12
|
+
.replace(/<\/(p|div|li|blockquote|h[1-6])>/gi, ' ')
|
|
13
|
+
.replace(/<[^>]+>/g, '')
|
|
14
|
+
.replace(/ /g, ' ')
|
|
15
|
+
.replace(/&/g, '&')
|
|
16
|
+
.replace(/</g, '<')
|
|
17
|
+
.replace(/>/g, '>')
|
|
18
|
+
.replace(/"/g, '"')
|
|
19
|
+
.replace(/&#(?:(\d+)|x([0-9a-fA-F]+));/g, (_, dec, hex) => {
|
|
20
|
+
try {
|
|
21
|
+
return String.fromCodePoint(dec !== undefined ? Number(dec) : parseInt(hex, 16));
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
})
|
|
27
|
+
.replace(/\s+/g, ' ')
|
|
28
|
+
.trim();
|
|
29
|
+
}
|
|
30
|
+
cli({
|
|
31
|
+
site: 'linux-do',
|
|
32
|
+
name: 'topic',
|
|
33
|
+
description: 'linux.do 帖子首页摘要和回复(首屏)',
|
|
34
|
+
domain: 'linux.do',
|
|
35
|
+
strategy: Strategy.COOKIE,
|
|
36
|
+
browser: true,
|
|
37
|
+
args: [
|
|
38
|
+
{ name: 'id', type: 'int', required: true, positional: true, help: 'Topic ID' },
|
|
39
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of posts' },
|
|
40
|
+
],
|
|
41
|
+
columns: ['author', 'content', 'likes', 'created_at'],
|
|
42
|
+
func: async (page, kwargs) => {
|
|
43
|
+
const data = await fetchLinuxDoJson(page, `/t/${kwargs.id}.json`);
|
|
44
|
+
const posts = (data?.post_stream?.posts || []);
|
|
45
|
+
return posts.slice(0, kwargs.limit).map((p) => ({
|
|
46
|
+
author: p.username,
|
|
47
|
+
content: strip(p.cooked).slice(0, 200),
|
|
48
|
+
likes: p.like_count,
|
|
49
|
+
created_at: toLocalTime(p.created_at),
|
|
50
|
+
}));
|
|
51
|
+
},
|
|
52
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { fetchLinuxDoJson } from './feed.js';
|
|
3
|
+
function toLocalTime(utcStr) {
|
|
4
|
+
if (!utcStr)
|
|
5
|
+
return '';
|
|
6
|
+
const date = new Date(utcStr);
|
|
7
|
+
return Number.isNaN(date.getTime()) ? utcStr : date.toLocaleString();
|
|
8
|
+
}
|
|
9
|
+
function strip(html) {
|
|
10
|
+
return (html || '')
|
|
11
|
+
.replace(/<br\s*\/?>/gi, ' ')
|
|
12
|
+
.replace(/<\/(p|div|li|blockquote|h[1-6])>/gi, ' ')
|
|
13
|
+
.replace(/<[^>]+>/g, '')
|
|
14
|
+
.replace(/ /g, ' ')
|
|
15
|
+
.replace(/&/g, '&')
|
|
16
|
+
.replace(/</g, '<')
|
|
17
|
+
.replace(/>/g, '>')
|
|
18
|
+
.replace(/"/g, '"')
|
|
19
|
+
.replace(/&#(?:(\d+)|x([0-9a-fA-F]+));/g, (_, dec, hex) => {
|
|
20
|
+
try {
|
|
21
|
+
return String.fromCodePoint(dec !== undefined ? Number(dec) : parseInt(hex, 16));
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
})
|
|
27
|
+
.replace(/\s+/g, ' ')
|
|
28
|
+
.trim();
|
|
29
|
+
}
|
|
30
|
+
cli({
|
|
31
|
+
site: 'linux-do',
|
|
32
|
+
name: 'user-posts',
|
|
33
|
+
description: 'linux.do 用户的帖子',
|
|
34
|
+
domain: 'linux.do',
|
|
35
|
+
strategy: Strategy.COOKIE,
|
|
36
|
+
browser: true,
|
|
37
|
+
args: [
|
|
38
|
+
{ name: 'username', required: true, positional: true, help: 'Username' },
|
|
39
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of posts' },
|
|
40
|
+
],
|
|
41
|
+
columns: ['index', 'topic_user', 'topic', 'reply', 'time', 'url'],
|
|
42
|
+
func: async (page, kwargs) => {
|
|
43
|
+
const username = String(kwargs.username);
|
|
44
|
+
const limit = kwargs.limit;
|
|
45
|
+
const data = await fetchLinuxDoJson(page, `/user_actions.json?username=${encodeURIComponent(username)}&filter=5&offset=0&limit=${limit}`);
|
|
46
|
+
const actions = (data?.user_actions || []);
|
|
47
|
+
return actions.slice(0, limit).map((a, i) => ({
|
|
48
|
+
index: i + 1,
|
|
49
|
+
topic_user: a.acting_username || a.username || '',
|
|
50
|
+
topic: a.title || '',
|
|
51
|
+
reply: strip(a.excerpt).slice(0, 200),
|
|
52
|
+
time: toLocalTime(a.created_at),
|
|
53
|
+
url: 'https://linux.do/t/topic/' + a.topic_id + '/' + a.post_number,
|
|
54
|
+
}));
|
|
55
|
+
},
|
|
56
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { cli, Strategy } from '@jackwener/opencli/registry';
|
|
2
|
+
import { fetchLinuxDoJson } from './feed.js';
|
|
3
|
+
function toLocalTime(utcStr) {
|
|
4
|
+
if (!utcStr)
|
|
5
|
+
return '';
|
|
6
|
+
const date = new Date(utcStr);
|
|
7
|
+
return Number.isNaN(date.getTime()) ? utcStr : date.toLocaleString();
|
|
8
|
+
}
|
|
9
|
+
cli({
|
|
10
|
+
site: 'linux-do',
|
|
11
|
+
name: 'user-topics',
|
|
12
|
+
description: 'linux.do 用户创建的话题',
|
|
13
|
+
domain: 'linux.do',
|
|
14
|
+
strategy: Strategy.COOKIE,
|
|
15
|
+
browser: true,
|
|
16
|
+
args: [
|
|
17
|
+
{ name: 'username', required: true, positional: true, help: 'Username' },
|
|
18
|
+
{ name: 'limit', type: 'int', default: 20, help: 'Number of topics' },
|
|
19
|
+
],
|
|
20
|
+
columns: ['rank', 'title', 'replies', 'created_at', 'likes', 'views', 'url'],
|
|
21
|
+
func: async (page, kwargs) => {
|
|
22
|
+
const username = String(kwargs.username);
|
|
23
|
+
const limit = kwargs.limit;
|
|
24
|
+
const data = await fetchLinuxDoJson(page, `/topics/created-by/${encodeURIComponent(username)}.json`);
|
|
25
|
+
const topics = (data?.topic_list?.topics || []);
|
|
26
|
+
return topics.slice(0, limit).map((t, i) => ({
|
|
27
|
+
rank: i + 1,
|
|
28
|
+
title: t.fancy_title || t.title || '',
|
|
29
|
+
replies: t.posts_count || 0,
|
|
30
|
+
created_at: toLocalTime(t.created_at),
|
|
31
|
+
likes: t.like_count || 0,
|
|
32
|
+
views: t.views || 0,
|
|
33
|
+
url: 'https://linux.do/t/topic/' + t.id,
|
|
34
|
+
}));
|
|
35
|
+
},
|
|
36
|
+
});
|