@jackwener/opencli 1.6.10 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -14
- package/README.zh-CN.md +25 -11
- package/cli-manifest.json +17151 -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/jianyu/detail.js +20 -0
- package/clis/jianyu/search.js +497 -0
- package/clis/jianyu/search.test.js +128 -0
- package/clis/jianyu/shared/china-bid-search.js +165 -0
- package/clis/jianyu/shared/procurement-contract.js +324 -0
- package/clis/jianyu/shared/procurement-contract.test.js +72 -0
- package/clis/jianyu/shared/procurement-detail.js +92 -0
- package/clis/jianyu/shared/procurement-detail.test.js +72 -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/{dist/clis → clis}/xiaoe/catalog.js +36 -0
- 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/src/browser/base-page.js +1 -1
- package/dist/src/browser/bridge.js +1 -1
- package/dist/src/browser/cdp.js +6 -4
- package/dist/src/browser/daemon-client.d.ts +2 -1
- package/dist/src/browser/daemon-client.js +3 -1
- package/dist/src/browser/daemon-client.test.js +0 -3
- package/dist/src/browser/stealth.d.ts +0 -5
- package/dist/src/browser/stealth.js +8 -2
- package/dist/src/browser.test.js +0 -1
- 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 +64 -70
- 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.d.ts +2 -6
- package/dist/src/commands/daemon.js +6 -62
- package/dist/src/commands/daemon.test.js +26 -131
- 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/constants.d.ts +0 -2
- package/dist/src/constants.js +0 -2
- package/dist/src/daemon.d.ts +1 -1
- package/dist/src/daemon.js +15 -23
- 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 +2 -2
- package/dist/src/discovery.js +12 -9
- 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 +4 -4
- 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 +15 -10
- 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 +18 -6
- 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 +6 -8
- 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 +82 -4
- 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/search.d.ts +0 -14
- package/dist/clis/jianyu/search.js +0 -135
- package/dist/clis/jianyu/search.test.d.ts +0 -1
- package/dist/clis/jianyu/search.test.js +0 -23
- 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/daemon.test.d.ts +0 -1
- package/dist/src/daemon.test.js +0 -65
- package/dist/src/idle-manager.d.ts +0 -19
- package/dist/src/idle-manager.js +0 -54
- 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}/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/feed.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/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/topic.js +0 -0
- /package/{dist/clis → clis}/zsxq/topic.test.js +0 -0
- /package/{dist/clis → clis}/zsxq/topics.js +0 -0
- /package/{dist/clis → clis}/zsxq/topics.test.js +0 -0
- /package/{dist/clis → clis}/zsxq/utils.js +0 -0
package/dist/src/daemon.js
CHANGED
|
@@ -15,16 +15,15 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Lifecycle:
|
|
17
17
|
* - Auto-spawned by opencli on first browser command
|
|
18
|
-
* -
|
|
18
|
+
* - Persistent — stays alive until explicit shutdown, SIGTERM, or uninstall
|
|
19
19
|
* - Listens on localhost:19825
|
|
20
20
|
*/
|
|
21
21
|
import { createServer } from 'node:http';
|
|
22
22
|
import { WebSocketServer, WebSocket } from 'ws';
|
|
23
|
-
import { DEFAULT_DAEMON_PORT
|
|
23
|
+
import { DEFAULT_DAEMON_PORT } from './constants.js';
|
|
24
24
|
import { EXIT_CODES } from './errors.js';
|
|
25
|
-
import {
|
|
25
|
+
import { log } from './logger.js';
|
|
26
26
|
const PORT = parseInt(process.env.OPENCLI_DAEMON_PORT ?? String(DEFAULT_DAEMON_PORT), 10);
|
|
27
|
-
const IDLE_TIMEOUT = Number(process.env.OPENCLI_DAEMON_TIMEOUT ?? DEFAULT_DAEMON_IDLE_TIMEOUT);
|
|
28
27
|
// ─── State ───────────────────────────────────────────────────────────
|
|
29
28
|
let extensionWs = null;
|
|
30
29
|
let extensionVersion = null;
|
|
@@ -36,11 +35,6 @@ function pushLog(entry) {
|
|
|
36
35
|
if (logBuffer.length > LOG_BUFFER_SIZE)
|
|
37
36
|
logBuffer.shift();
|
|
38
37
|
}
|
|
39
|
-
// ─── Idle auto-exit ──────────────────────────────────────────────────
|
|
40
|
-
const idleManager = new IdleManager(IDLE_TIMEOUT, () => {
|
|
41
|
-
console.error('[daemon] Idle timeout (no CLI requests + no Extension), shutting down');
|
|
42
|
-
process.exit(EXIT_CODES.SUCCESS);
|
|
43
|
-
});
|
|
44
38
|
// ─── HTTP Server ─────────────────────────────────────────────────────
|
|
45
39
|
const MAX_BODY = 1024 * 1024; // 1 MB — commands are tiny; this prevents OOM
|
|
46
40
|
function readBody(req) {
|
|
@@ -118,7 +112,6 @@ async function handleRequest(req, res) {
|
|
|
118
112
|
extensionConnected: extensionWs?.readyState === WebSocket.OPEN,
|
|
119
113
|
extensionVersion,
|
|
120
114
|
pending: pending.size,
|
|
121
|
-
lastCliRequestTime: idleManager.lastCliRequestTime,
|
|
122
115
|
memoryMB: Math.round(mem.rss / 1024 / 1024 * 10) / 10,
|
|
123
116
|
port: PORT,
|
|
124
117
|
});
|
|
@@ -144,7 +137,6 @@ async function handleRequest(req, res) {
|
|
|
144
137
|
return;
|
|
145
138
|
}
|
|
146
139
|
if (req.method === 'POST' && url === '/command') {
|
|
147
|
-
idleManager.onCliRequest();
|
|
148
140
|
try {
|
|
149
141
|
const body = JSON.parse(await readBody(req));
|
|
150
142
|
if (!body.id) {
|
|
@@ -193,10 +185,9 @@ const wss = new WebSocketServer({
|
|
|
193
185
|
},
|
|
194
186
|
});
|
|
195
187
|
wss.on('connection', (ws) => {
|
|
196
|
-
|
|
188
|
+
log.info('[daemon] Extension connected');
|
|
197
189
|
extensionWs = ws;
|
|
198
190
|
extensionVersion = null; // cleared until hello message arrives
|
|
199
|
-
idleManager.setExtensionConnected(true);
|
|
200
191
|
// ── Heartbeat: ping every 15s, close if 2 pongs missed ──
|
|
201
192
|
let missedPongs = 0;
|
|
202
193
|
const heartbeatInterval = setInterval(() => {
|
|
@@ -205,7 +196,7 @@ wss.on('connection', (ws) => {
|
|
|
205
196
|
return;
|
|
206
197
|
}
|
|
207
198
|
if (missedPongs >= 2) {
|
|
208
|
-
|
|
199
|
+
log.warn('[daemon] Extension heartbeat lost, closing connection');
|
|
209
200
|
clearInterval(heartbeatInterval);
|
|
210
201
|
ws.terminate();
|
|
211
202
|
return;
|
|
@@ -226,8 +217,12 @@ wss.on('connection', (ws) => {
|
|
|
226
217
|
}
|
|
227
218
|
// Handle log messages from extension
|
|
228
219
|
if (msg.type === 'log') {
|
|
229
|
-
|
|
230
|
-
|
|
220
|
+
if (msg.level === 'error')
|
|
221
|
+
log.error(`[ext] ${msg.msg}`);
|
|
222
|
+
else if (msg.level === 'warn')
|
|
223
|
+
log.warn(`[ext] ${msg.msg}`);
|
|
224
|
+
else
|
|
225
|
+
log.info(`[ext] ${msg.msg}`);
|
|
231
226
|
pushLog({ level: msg.level, msg: msg.msg, ts: msg.ts ?? Date.now() });
|
|
232
227
|
return;
|
|
233
228
|
}
|
|
@@ -244,12 +239,11 @@ wss.on('connection', (ws) => {
|
|
|
244
239
|
}
|
|
245
240
|
});
|
|
246
241
|
ws.on('close', () => {
|
|
247
|
-
|
|
242
|
+
log.info('[daemon] Extension disconnected');
|
|
248
243
|
clearInterval(heartbeatInterval);
|
|
249
244
|
if (extensionWs === ws) {
|
|
250
245
|
extensionWs = null;
|
|
251
246
|
extensionVersion = null;
|
|
252
|
-
idleManager.setExtensionConnected(false);
|
|
253
247
|
// Reject all pending requests since the extension is gone
|
|
254
248
|
for (const [id, p] of pending) {
|
|
255
249
|
clearTimeout(p.timer);
|
|
@@ -263,7 +257,6 @@ wss.on('connection', (ws) => {
|
|
|
263
257
|
if (extensionWs === ws) {
|
|
264
258
|
extensionWs = null;
|
|
265
259
|
extensionVersion = null;
|
|
266
|
-
idleManager.setExtensionConnected(false);
|
|
267
260
|
// Reject pending requests in case 'close' does not follow this 'error'
|
|
268
261
|
for (const [, p] of pending) {
|
|
269
262
|
clearTimeout(p.timer);
|
|
@@ -275,15 +268,14 @@ wss.on('connection', (ws) => {
|
|
|
275
268
|
});
|
|
276
269
|
// ─── Start ───────────────────────────────────────────────────────────
|
|
277
270
|
httpServer.listen(PORT, '127.0.0.1', () => {
|
|
278
|
-
|
|
279
|
-
idleManager.onCliRequest();
|
|
271
|
+
log.info(`[daemon] Listening on http://127.0.0.1:${PORT}`);
|
|
280
272
|
});
|
|
281
273
|
httpServer.on('error', (err) => {
|
|
282
274
|
if (err.code === 'EADDRINUSE') {
|
|
283
|
-
|
|
275
|
+
log.error(`[daemon] Port ${PORT} already in use — another daemon is likely running. Exiting.`);
|
|
284
276
|
process.exit(EXIT_CODES.SERVICE_UNAVAIL);
|
|
285
277
|
}
|
|
286
|
-
|
|
278
|
+
log.error(`[daemon] Server error: ${err.message}`);
|
|
287
279
|
process.exit(EXIT_CODES.GENERIC_ERROR);
|
|
288
280
|
});
|
|
289
281
|
// Graceful shutdown
|
package/dist/src/diagnostic.d.ts
CHANGED
|
@@ -47,10 +47,9 @@ export declare function redactText(text: string): string;
|
|
|
47
47
|
* Resolve the editable source file path for an adapter.
|
|
48
48
|
*
|
|
49
49
|
* Priority:
|
|
50
|
-
* 1. cmd.source (set for FS-scanned
|
|
51
|
-
* 2. cmd._modulePath (set for manifest lazy-loaded
|
|
50
|
+
* 1. cmd.source (set for FS-scanned JS and manifest lazy-loaded JS)
|
|
51
|
+
* 2. cmd._modulePath (set for manifest lazy-loaded JS)
|
|
52
52
|
*
|
|
53
|
-
* For dist/ paths, attempt to map back to the original .ts source file.
|
|
54
53
|
* Skip manifest: prefixed pseudo-paths (YAML commands inlined in manifest).
|
|
55
54
|
*/
|
|
56
55
|
export declare function resolveAdapterSourcePath(cmd: InternalCliCommand): string | undefined;
|
package/dist/src/diagnostic.js
CHANGED
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
* - Total output is capped to MAX_DIAGNOSTIC_BYTES
|
|
13
13
|
*/
|
|
14
14
|
import * as fs from 'node:fs';
|
|
15
|
-
import * as path from 'node:path';
|
|
16
15
|
import { CliError, getErrorMessage } from './errors.js';
|
|
17
16
|
import { fullName } from './registry.js';
|
|
18
17
|
// ── Size budgets ─────────────────────────────────────────────────────────────
|
|
@@ -141,9 +140,9 @@ function redactNetworkRequest(req) {
|
|
|
141
140
|
if (redacted.responseHeaders && typeof redacted.responseHeaders === 'object') {
|
|
142
141
|
redacted.responseHeaders = redactHeaders(redacted.responseHeaders);
|
|
143
142
|
}
|
|
144
|
-
//
|
|
143
|
+
// Redact and truncate response body
|
|
145
144
|
if (typeof redacted.body === 'string') {
|
|
146
|
-
redacted.body = truncate(redacted.body, MAX_REQUEST_BODY_CHARS);
|
|
145
|
+
redacted.body = redactText(truncate(redacted.body, MAX_REQUEST_BODY_CHARS));
|
|
147
146
|
}
|
|
148
147
|
if ('responseBody' in redacted) {
|
|
149
148
|
redacted.responseBody = sanitizeCapturedValue(redacted.responseBody);
|
|
@@ -167,10 +166,9 @@ function withTimeout(promise, ms, fallback) {
|
|
|
167
166
|
* Resolve the editable source file path for an adapter.
|
|
168
167
|
*
|
|
169
168
|
* Priority:
|
|
170
|
-
* 1. cmd.source (set for FS-scanned
|
|
171
|
-
* 2. cmd._modulePath (set for manifest lazy-loaded
|
|
169
|
+
* 1. cmd.source (set for FS-scanned JS and manifest lazy-loaded JS)
|
|
170
|
+
* 2. cmd._modulePath (set for manifest lazy-loaded JS)
|
|
172
171
|
*
|
|
173
|
-
* For dist/ paths, attempt to map back to the original .ts source file.
|
|
174
172
|
* Skip manifest: prefixed pseudo-paths (YAML commands inlined in manifest).
|
|
175
173
|
*/
|
|
176
174
|
export function resolveAdapterSourcePath(cmd) {
|
|
@@ -183,26 +181,11 @@ export function resolveAdapterSourcePath(cmd) {
|
|
|
183
181
|
candidates.push(cmd._modulePath);
|
|
184
182
|
}
|
|
185
183
|
for (const candidate of candidates) {
|
|
186
|
-
// Try to map dist/ compiled JS back to source .ts
|
|
187
|
-
const sourceTs = mapDistToSource(candidate);
|
|
188
|
-
if (sourceTs && fs.existsSync(sourceTs))
|
|
189
|
-
return sourceTs;
|
|
190
|
-
// Try the candidate directly (YAML files, user clis, etc.)
|
|
191
184
|
if (fs.existsSync(candidate))
|
|
192
185
|
return candidate;
|
|
193
186
|
}
|
|
194
187
|
return candidates[0]; // Return best guess even if file doesn't exist
|
|
195
188
|
}
|
|
196
|
-
/** Map a dist/clis/xxx.js path back to clis/xxx.ts source. */
|
|
197
|
-
function mapDistToSource(filePath) {
|
|
198
|
-
// dist/clis/site/command.js → clis/site/command.ts
|
|
199
|
-
const normalized = filePath.replace(/\\/g, '/');
|
|
200
|
-
const distClisMatch = normalized.match(/^(.*)\/dist\/clis\/(.+)\.js$/);
|
|
201
|
-
if (distClisMatch) {
|
|
202
|
-
return path.join(distClisMatch[1], 'clis', distClisMatch[2] + '.ts');
|
|
203
|
-
}
|
|
204
|
-
return null;
|
|
205
|
-
}
|
|
206
189
|
// ── Diagnostic collection ────────────────────────────────────────────────────
|
|
207
190
|
/** Whether diagnostic mode is enabled. */
|
|
208
191
|
export function isDiagnosticEnabled() {
|
|
@@ -83,12 +83,12 @@ describe('redactText', () => {
|
|
|
83
83
|
});
|
|
84
84
|
describe('resolveAdapterSourcePath', () => {
|
|
85
85
|
it('returns source when it is a real file path (not manifest:)', () => {
|
|
86
|
-
const cmd = makeCmd({ source: '/home/user/.opencli/clis/arxiv/search.
|
|
87
|
-
expect(resolveAdapterSourcePath(cmd)).toBe('/home/user/.opencli/clis/arxiv/search.
|
|
86
|
+
const cmd = makeCmd({ source: '/home/user/.opencli/clis/arxiv/search.js' });
|
|
87
|
+
expect(resolveAdapterSourcePath(cmd)).toBe('/home/user/.opencli/clis/arxiv/search.js');
|
|
88
88
|
});
|
|
89
89
|
it('skips manifest: pseudo-paths and falls back to _modulePath', () => {
|
|
90
|
-
const cmd = makeCmd({ source: 'manifest:arxiv/search', _modulePath: '/pkg/
|
|
91
|
-
// Should try to map
|
|
90
|
+
const cmd = makeCmd({ source: 'manifest:arxiv/search', _modulePath: '/pkg/clis/arxiv/search.js' });
|
|
91
|
+
// Should try to map to source, but since files don't exist on disk, returns _modulePath
|
|
92
92
|
const result = resolveAdapterSourcePath(cmd);
|
|
93
93
|
expect(result).toBeDefined();
|
|
94
94
|
expect(result).not.toContain('manifest:');
|
|
@@ -97,12 +97,11 @@ describe('resolveAdapterSourcePath', () => {
|
|
|
97
97
|
const cmd = makeCmd({ source: 'manifest:test/cmd' });
|
|
98
98
|
expect(resolveAdapterSourcePath(cmd)).toBeUndefined();
|
|
99
99
|
});
|
|
100
|
-
it('
|
|
101
|
-
|
|
102
|
-
const cmd = makeCmd({ _modulePath: '/project/dist/clis/site/cmd.js' });
|
|
100
|
+
it('returns _modulePath when it is the only path available', () => {
|
|
101
|
+
const cmd = makeCmd({ _modulePath: '/project/clis/site/cmd.js' });
|
|
103
102
|
const result = resolveAdapterSourcePath(cmd);
|
|
104
|
-
// Since
|
|
105
|
-
expect(result).toBe('/project/
|
|
103
|
+
// Since file doesn't exist, returns _modulePath as best guess
|
|
104
|
+
expect(result).toBe('/project/clis/site/cmd.js');
|
|
106
105
|
});
|
|
107
106
|
});
|
|
108
107
|
describe('buildRepairContext', () => {
|
package/dist/src/discovery.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CLI discovery: finds
|
|
2
|
+
* CLI discovery: finds JS CLI definitions and registers them.
|
|
3
3
|
*
|
|
4
4
|
* Supports two modes:
|
|
5
5
|
* 1. FAST PATH (manifest): If a pre-compiled cli-manifest.json exists,
|
|
6
|
-
* registers commands instantly.
|
|
6
|
+
* registers commands instantly. JS modules are loaded lazily only
|
|
7
7
|
* when their command is executed.
|
|
8
8
|
* 2. FALLBACK (filesystem scan): Traditional runtime discovery for development.
|
|
9
9
|
*/
|
package/dist/src/discovery.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CLI discovery: finds
|
|
2
|
+
* CLI discovery: finds JS CLI definitions and registers them.
|
|
3
3
|
*
|
|
4
4
|
* Supports two modes:
|
|
5
5
|
* 1. FAST PATH (manifest): If a pre-compiled cli-manifest.json exists,
|
|
6
|
-
* registers commands instantly.
|
|
6
|
+
* registers commands instantly. JS modules are loaded lazily only
|
|
7
7
|
* when their command is executed.
|
|
8
8
|
* 2. FALLBACK (filesystem scan): Traditional runtime discovery for development.
|
|
9
9
|
*/
|
|
@@ -146,7 +146,6 @@ async function loadFromManifest(manifestPath, clisDir) {
|
|
|
146
146
|
for (const entry of manifest) {
|
|
147
147
|
if (!entry.modulePath)
|
|
148
148
|
continue;
|
|
149
|
-
const strategy = parseStrategy(entry.strategy ?? 'cookie');
|
|
150
149
|
const modulePath = path.resolve(clisDir, entry.modulePath);
|
|
151
150
|
const cmd = {
|
|
152
151
|
site: entry.site,
|
|
@@ -154,8 +153,8 @@ async function loadFromManifest(manifestPath, clisDir) {
|
|
|
154
153
|
aliases: entry.aliases,
|
|
155
154
|
description: entry.description ?? '',
|
|
156
155
|
domain: entry.domain,
|
|
157
|
-
strategy,
|
|
158
|
-
browser: entry.browser
|
|
156
|
+
strategy: parseStrategy(entry.strategy),
|
|
157
|
+
browser: entry.browser,
|
|
159
158
|
args: entry.args ?? [],
|
|
160
159
|
columns: entry.columns,
|
|
161
160
|
pipeline: entry.pipeline,
|
|
@@ -167,6 +166,7 @@ async function loadFromManifest(manifestPath, clisDir) {
|
|
|
167
166
|
_lazy: true,
|
|
168
167
|
_modulePath: modulePath,
|
|
169
168
|
};
|
|
169
|
+
// normalizeCommand inside registerCommand handles strategy → browser/navigateBefore
|
|
170
170
|
registerCommand(cmd);
|
|
171
171
|
}
|
|
172
172
|
return true;
|
|
@@ -196,11 +196,14 @@ async function discoverClisFromFs(dir) {
|
|
|
196
196
|
await Promise.all(files.map(async (file) => {
|
|
197
197
|
const filePath = path.join(siteDir, file);
|
|
198
198
|
if (file.endsWith('.yaml') || file.endsWith('.yml')) {
|
|
199
|
-
log.warn(`Ignoring YAML adapter ${filePath} — YAML format is no longer supported. Convert to
|
|
199
|
+
log.warn(`Ignoring YAML adapter ${filePath} — YAML format is no longer supported. Convert to JavaScript using cli() from '@jackwener/opencli/registry'.`);
|
|
200
200
|
return;
|
|
201
201
|
}
|
|
202
|
-
if (
|
|
203
|
-
|
|
202
|
+
if (file.endsWith('.ts') && !file.endsWith('.d.ts') && !file.endsWith('.test.ts')) {
|
|
203
|
+
log.warn(`Ignoring TypeScript adapter ${filePath} — .ts adapters are no longer loaded. Rename to .js or convert to JavaScript.`);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
if (file.endsWith('.js') && !file.endsWith('.d.js') && !file.endsWith('.test.js')) {
|
|
204
207
|
if (!(await isCliModule(filePath)))
|
|
205
208
|
return;
|
|
206
209
|
await import(pathToFileURL(filePath).href).catch((err) => {
|
|
@@ -241,7 +244,7 @@ async function discoverPluginDir(dir, site) {
|
|
|
241
244
|
await Promise.all(files.map(async (file) => {
|
|
242
245
|
const filePath = path.join(dir, file);
|
|
243
246
|
if (file.endsWith('.yaml') || file.endsWith('.yml')) {
|
|
244
|
-
log.warn(`Ignoring YAML plugin ${filePath} — YAML format is no longer supported. Convert to
|
|
247
|
+
log.warn(`Ignoring YAML plugin ${filePath} — YAML format is no longer supported. Convert to JavaScript using cli() from '@jackwener/opencli/registry'.`);
|
|
245
248
|
return;
|
|
246
249
|
}
|
|
247
250
|
if (file.endsWith('.js') && !file.endsWith('.d.js')) {
|
package/dist/src/doctor.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Simplified for the daemon-based architecture.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
6
|
+
import { styleText } from 'node:util';
|
|
7
7
|
import { DEFAULT_DAEMON_PORT } from './constants.js';
|
|
8
8
|
import { BrowserBridge } from './browser/index.js';
|
|
9
9
|
import { getDaemonHealth, listSessions } from './browser/daemon-client.js';
|
|
@@ -101,54 +101,54 @@ export async function runBrowserDoctor(opts = {}) {
|
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
103
|
export function renderBrowserDoctorReport(report) {
|
|
104
|
-
const lines = [
|
|
104
|
+
const lines = [styleText('bold', `opencli v${report.cliVersion ?? 'unknown'} doctor`) + styleText('dim', ` (${getRuntimeLabel()})`), ''];
|
|
105
105
|
// Daemon status
|
|
106
106
|
const daemonIcon = report.daemonFlaky
|
|
107
|
-
?
|
|
108
|
-
: report.daemonRunning ?
|
|
107
|
+
? styleText('yellow', '[WARN]')
|
|
108
|
+
: report.daemonRunning ? styleText('green', '[OK]') : styleText('red', '[MISSING]');
|
|
109
109
|
const daemonLabel = report.daemonFlaky
|
|
110
110
|
? 'unstable (running during live check, then stopped)'
|
|
111
111
|
: report.daemonRunning ? `running on port ${DEFAULT_DAEMON_PORT}` : 'not running';
|
|
112
112
|
lines.push(`${daemonIcon} Daemon: ${daemonLabel}`);
|
|
113
113
|
// Extension status
|
|
114
114
|
const extIcon = report.extensionFlaky
|
|
115
|
-
?
|
|
116
|
-
: report.extensionConnected ?
|
|
117
|
-
const extVersion = report.extensionVersion ?
|
|
115
|
+
? styleText('yellow', '[WARN]')
|
|
116
|
+
: report.extensionConnected ? styleText('green', '[OK]') : styleText('yellow', '[MISSING]');
|
|
117
|
+
const extVersion = report.extensionVersion ? styleText('dim', ` (v${report.extensionVersion})`) : '';
|
|
118
118
|
const extLabel = report.extensionFlaky
|
|
119
119
|
? 'unstable (connected during live check, then disconnected)'
|
|
120
120
|
: report.extensionConnected ? 'connected' : 'not connected';
|
|
121
121
|
lines.push(`${extIcon} Extension: ${extLabel}${extVersion}`);
|
|
122
122
|
// Connectivity
|
|
123
123
|
if (report.connectivity) {
|
|
124
|
-
const connIcon = report.connectivity.ok ?
|
|
124
|
+
const connIcon = report.connectivity.ok ? styleText('green', '[OK]') : styleText('red', '[FAIL]');
|
|
125
125
|
const detail = report.connectivity.ok
|
|
126
126
|
? `connected in ${(report.connectivity.durationMs / 1000).toFixed(1)}s`
|
|
127
127
|
: `failed (${report.connectivity.error ?? 'unknown'})`;
|
|
128
128
|
lines.push(`${connIcon} Connectivity: ${detail}`);
|
|
129
129
|
}
|
|
130
130
|
else {
|
|
131
|
-
lines.push(`${
|
|
131
|
+
lines.push(`${styleText('dim', '[SKIP]')} Connectivity: skipped (--no-live)`);
|
|
132
132
|
}
|
|
133
133
|
if (report.sessions) {
|
|
134
|
-
lines.push('',
|
|
134
|
+
lines.push('', styleText('bold', 'Sessions:'));
|
|
135
135
|
if (report.sessions.length === 0) {
|
|
136
|
-
lines.push(
|
|
136
|
+
lines.push(styleText('dim', ' • no active automation sessions'));
|
|
137
137
|
}
|
|
138
138
|
else {
|
|
139
139
|
for (const session of report.sessions) {
|
|
140
|
-
lines.push(
|
|
140
|
+
lines.push(styleText('dim', ` • ${session.workspace} → window ${session.windowId}, tabs=${session.tabCount}, idle=${Math.ceil(session.idleMsRemaining / 1000)}s`));
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
if (report.issues.length) {
|
|
145
|
-
lines.push('',
|
|
145
|
+
lines.push('', styleText('yellow', 'Issues:'));
|
|
146
146
|
for (const issue of report.issues) {
|
|
147
|
-
lines.push(
|
|
147
|
+
lines.push(styleText('dim', ` • ${issue}`));
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
else if (report.daemonRunning && report.extensionConnected) {
|
|
151
|
-
lines.push('',
|
|
151
|
+
lines.push('', styleText('green', 'Everything looks good!'));
|
|
152
152
|
}
|
|
153
153
|
return lines.join('\n');
|
|
154
154
|
}
|
|
@@ -11,6 +11,7 @@ import { URL } from 'node:url';
|
|
|
11
11
|
import { isBinaryInstalled } from '../external.js';
|
|
12
12
|
import { getErrorMessage } from '../errors.js';
|
|
13
13
|
import { fetchWithNodeNetwork } from '../node-network.js';
|
|
14
|
+
import { log } from '../logger.js';
|
|
14
15
|
/** Check if yt-dlp is available in PATH. */
|
|
15
16
|
export function checkYtdlp() {
|
|
16
17
|
return isBinaryInstalled('yt-dlp');
|
|
@@ -206,7 +207,7 @@ export async function ytdlpDownload(url, destPath, options = {}) {
|
|
|
206
207
|
args.push('--cookies', cookiesFile);
|
|
207
208
|
}
|
|
208
209
|
else {
|
|
209
|
-
|
|
210
|
+
log.warn(`[download] Cookies file not found: ${cookiesFile}, falling back to browser cookies`);
|
|
210
211
|
args.push('--cookies-from-browser', 'chrome');
|
|
211
212
|
}
|
|
212
213
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Download progress display: terminal progress bars, status updates.
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import { styleText } from 'node:util';
|
|
5
5
|
/**
|
|
6
6
|
* Format bytes as human-readable string (KB, MB, GB).
|
|
7
7
|
*/
|
|
@@ -35,7 +35,7 @@ export function formatDuration(ms) {
|
|
|
35
35
|
* Create a simple progress bar for terminal display.
|
|
36
36
|
*/
|
|
37
37
|
export function createProgressBar(filename, index, total) {
|
|
38
|
-
const prefix =
|
|
38
|
+
const prefix = styleText('dim', `[${index + 1}/${total}]`);
|
|
39
39
|
const truncatedName = filename.length > 40 ? filename.slice(0, 37) + '...' : filename;
|
|
40
40
|
return {
|
|
41
41
|
update(current, totalBytes, label) {
|
|
@@ -46,12 +46,12 @@ export function createProgressBar(filename, index, total) {
|
|
|
46
46
|
process.stderr.write(`\r${prefix} ${truncatedName} ${bar} ${percent}% ${size}${extra}`);
|
|
47
47
|
},
|
|
48
48
|
complete(success, message) {
|
|
49
|
-
const icon = success ?
|
|
50
|
-
const msg = message ? ` ${
|
|
49
|
+
const icon = success ? styleText('green', '✓') : styleText('red', '✗');
|
|
50
|
+
const msg = message ? ` ${styleText('dim', message)}` : '';
|
|
51
51
|
process.stderr.write(`\r${prefix} ${icon} ${truncatedName}${msg}\n`);
|
|
52
52
|
},
|
|
53
53
|
fail(error) {
|
|
54
|
-
process.stderr.write(`\r${prefix} ${
|
|
54
|
+
process.stderr.write(`\r${prefix} ${styleText('red', '✗')} ${truncatedName} ${styleText('red', error)}\n`);
|
|
55
55
|
},
|
|
56
56
|
};
|
|
57
57
|
}
|
|
@@ -61,7 +61,7 @@ export function createProgressBar(filename, index, total) {
|
|
|
61
61
|
function createBar(percent, width = 20) {
|
|
62
62
|
const filled = Math.round((percent / 100) * width);
|
|
63
63
|
const empty = width - filled;
|
|
64
|
-
return
|
|
64
|
+
return styleText('cyan', '█'.repeat(filled)) + styleText('dim', '░'.repeat(empty));
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Multi-file download progress tracker.
|
|
@@ -98,19 +98,19 @@ export class DownloadProgressTracker {
|
|
|
98
98
|
const elapsed = formatDuration(Date.now() - this.startTime);
|
|
99
99
|
const parts = [];
|
|
100
100
|
if (this.completed > 0) {
|
|
101
|
-
parts.push(
|
|
101
|
+
parts.push(styleText('green', `${this.completed} downloaded`));
|
|
102
102
|
}
|
|
103
103
|
if (this.skipped > 0) {
|
|
104
|
-
parts.push(
|
|
104
|
+
parts.push(styleText('yellow', `${this.skipped} skipped`));
|
|
105
105
|
}
|
|
106
106
|
if (this.failed > 0) {
|
|
107
|
-
parts.push(
|
|
107
|
+
parts.push(styleText('red', `${this.failed} failed`));
|
|
108
108
|
}
|
|
109
109
|
return `${parts.join(', ')} in ${elapsed}`;
|
|
110
110
|
}
|
|
111
111
|
finish() {
|
|
112
112
|
if (this.verbose) {
|
|
113
|
-
process.stderr.write(`\n${
|
|
113
|
+
process.stderr.write(`\n${styleText('bold', 'Download complete:')} ${this.getSummary()}\n`);
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
}
|
package/dist/src/engine.test.js
CHANGED
|
@@ -15,8 +15,8 @@ describe('discoverClis', () => {
|
|
|
15
15
|
it('imports only CLI command modules during filesystem discovery', async () => {
|
|
16
16
|
const tempRoot = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'opencli-discovery-'));
|
|
17
17
|
const siteDir = path.join(tempRoot, 'temp-site');
|
|
18
|
-
const helperPath = path.join(siteDir, 'helper.
|
|
19
|
-
const commandPath = path.join(siteDir, 'hello.
|
|
18
|
+
const helperPath = path.join(siteDir, 'helper.js');
|
|
19
|
+
const commandPath = path.join(siteDir, 'hello.js');
|
|
20
20
|
try {
|
|
21
21
|
await fs.promises.mkdir(siteDir, { recursive: true });
|
|
22
22
|
await fs.promises.writeFile(helperPath, `
|
|
@@ -48,7 +48,7 @@ cli({
|
|
|
48
48
|
const tempBuildRoot = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'opencli-manifest-fallback-'));
|
|
49
49
|
const distDir = path.join(tempBuildRoot, 'dist');
|
|
50
50
|
const siteDir = path.join(distDir, 'fallback-site');
|
|
51
|
-
const commandPath = path.join(siteDir, 'hello.
|
|
51
|
+
const commandPath = path.join(siteDir, 'hello.js');
|
|
52
52
|
const manifestPath = path.join(tempBuildRoot, 'cli-manifest.json');
|
|
53
53
|
try {
|
|
54
54
|
await fs.promises.mkdir(siteDir, { recursive: true });
|
|
@@ -75,7 +75,7 @@ cli({
|
|
|
75
75
|
const tempOpencliRoot = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'opencli-user-clis-'));
|
|
76
76
|
const userClisDir = path.join(tempOpencliRoot, 'clis');
|
|
77
77
|
const siteDir = path.join(userClisDir, 'legacy-site');
|
|
78
|
-
const commandPath = path.join(siteDir, 'hello.
|
|
78
|
+
const commandPath = path.join(siteDir, 'hello.js');
|
|
79
79
|
try {
|
|
80
80
|
await ensureUserCliCompatShims(tempOpencliRoot);
|
|
81
81
|
await fs.promises.mkdir(siteDir, { recursive: true });
|
package/dist/src/errors.d.ts
CHANGED
|
@@ -70,7 +70,21 @@ export declare class EmptyResultError extends CliError {
|
|
|
70
70
|
export declare class SelectorError extends CliError {
|
|
71
71
|
constructor(selector: string, hint?: string);
|
|
72
72
|
}
|
|
73
|
+
export declare class PluginError extends CliError {
|
|
74
|
+
constructor(message: string, hint?: string);
|
|
75
|
+
}
|
|
76
|
+
/** Structured error output — unified contract for all consumers (AI agents, scripts, humans). */
|
|
77
|
+
export interface ErrorEnvelope {
|
|
78
|
+
ok: false;
|
|
79
|
+
error: {
|
|
80
|
+
code: string;
|
|
81
|
+
message: string;
|
|
82
|
+
help?: string;
|
|
83
|
+
exitCode: number;
|
|
84
|
+
stack?: string;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
73
87
|
/** Extract a human-readable message from an unknown caught value. */
|
|
74
88
|
export declare function getErrorMessage(error: unknown): string;
|
|
75
|
-
/**
|
|
76
|
-
export declare
|
|
89
|
+
/** Build an ErrorEnvelope from any caught value. */
|
|
90
|
+
export declare function toEnvelope(err: unknown): ErrorEnvelope;
|
package/dist/src/errors.js
CHANGED
|
@@ -96,24 +96,36 @@ export class SelectorError extends CliError {
|
|
|
96
96
|
super('SELECTOR', `Could not find element: ${selector}`, hint ?? 'The page UI may have changed. Please report this issue.', EXIT_CODES.GENERIC_ERROR);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
+
export class PluginError extends CliError {
|
|
100
|
+
constructor(message, hint) {
|
|
101
|
+
super('PLUGIN', message, hint, EXIT_CODES.GENERIC_ERROR);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
99
104
|
// ── Utilities ───────────────────────────────────────────────────────────────
|
|
100
105
|
/** Extract a human-readable message from an unknown caught value. */
|
|
101
106
|
export function getErrorMessage(error) {
|
|
102
107
|
return error instanceof Error ? error.message : String(error);
|
|
103
108
|
}
|
|
104
|
-
/**
|
|
105
|
-
export
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
109
|
+
/** Build an ErrorEnvelope from any caught value. */
|
|
110
|
+
export function toEnvelope(err) {
|
|
111
|
+
if (err instanceof CliError) {
|
|
112
|
+
return {
|
|
113
|
+
ok: false,
|
|
114
|
+
error: {
|
|
115
|
+
code: err.code,
|
|
116
|
+
message: err.message,
|
|
117
|
+
...(err.hint ? { help: err.hint } : {}),
|
|
118
|
+
exitCode: err.exitCode,
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
const msg = getErrorMessage(err);
|
|
123
|
+
return {
|
|
124
|
+
ok: false,
|
|
125
|
+
error: {
|
|
126
|
+
code: 'UNKNOWN',
|
|
127
|
+
message: msg,
|
|
128
|
+
exitCode: EXIT_CODES.GENERIC_ERROR,
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
package/dist/src/errors.test.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { CliError, BrowserConnectError, AdapterLoadError, CommandExecutionError, ConfigError, AuthRequiredError, TimeoutError, ArgumentError, EmptyResultError, SelectorError, } from './errors.js';
|
|
2
|
+
import { CliError, BrowserConnectError, AdapterLoadError, CommandExecutionError, ConfigError, AuthRequiredError, TimeoutError, ArgumentError, EmptyResultError, SelectorError, toEnvelope, } from './errors.js';
|
|
3
3
|
describe('Error type hierarchy', () => {
|
|
4
4
|
it('all error types extend CliError', () => {
|
|
5
5
|
const errors = [
|
|
@@ -57,3 +57,40 @@ describe('Error type hierarchy', () => {
|
|
|
57
57
|
expect(err.code).toBe('BROWSER_CONNECT');
|
|
58
58
|
});
|
|
59
59
|
});
|
|
60
|
+
describe('toEnvelope', () => {
|
|
61
|
+
it('converts CliError to structured envelope', () => {
|
|
62
|
+
const err = new AuthRequiredError('bilibili.com');
|
|
63
|
+
const envelope = toEnvelope(err);
|
|
64
|
+
expect(envelope).toEqual({
|
|
65
|
+
ok: false,
|
|
66
|
+
error: {
|
|
67
|
+
code: 'AUTH_REQUIRED',
|
|
68
|
+
message: 'Not logged in to bilibili.com',
|
|
69
|
+
help: expect.stringContaining('https://bilibili.com'),
|
|
70
|
+
exitCode: 77,
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
it('converts CliError without hint (omits help field)', () => {
|
|
75
|
+
const err = new CommandExecutionError('Something broke');
|
|
76
|
+
const envelope = toEnvelope(err);
|
|
77
|
+
expect(envelope.error.code).toBe('COMMAND_EXEC');
|
|
78
|
+
expect(envelope.error).not.toHaveProperty('help');
|
|
79
|
+
});
|
|
80
|
+
it('converts unknown Error to UNKNOWN envelope', () => {
|
|
81
|
+
const envelope = toEnvelope(new Error('random failure'));
|
|
82
|
+
expect(envelope).toEqual({
|
|
83
|
+
ok: false,
|
|
84
|
+
error: {
|
|
85
|
+
code: 'UNKNOWN',
|
|
86
|
+
message: 'random failure',
|
|
87
|
+
exitCode: 1,
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
it('converts non-Error values to UNKNOWN envelope', () => {
|
|
92
|
+
const envelope = toEnvelope('string error');
|
|
93
|
+
expect(envelope.error.code).toBe('UNKNOWN');
|
|
94
|
+
expect(envelope.error.message).toBe('string error');
|
|
95
|
+
});
|
|
96
|
+
});
|
package/dist/src/execution.d.ts
CHANGED
|
@@ -11,4 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { type CliCommand, type Arg, type CommandArgs } from './registry.js';
|
|
13
13
|
export declare function coerceAndValidateArgs(cmdArgs: Arg[], kwargs: CommandArgs): CommandArgs;
|
|
14
|
-
export declare function executeCommand(cmd: CliCommand, rawKwargs: CommandArgs, debug?: boolean
|
|
14
|
+
export declare function executeCommand(cmd: CliCommand, rawKwargs: CommandArgs, debug?: boolean, opts?: {
|
|
15
|
+
prepared?: boolean;
|
|
16
|
+
}): Promise<unknown>;
|
|
17
|
+
export declare function prepareCommandArgs(cmd: CliCommand, rawKwargs: CommandArgs): CommandArgs;
|