@huyuan-ai/cli 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +14 -6
- package/vendor/opencli/dist/analysis.d.ts +38 -0
- package/vendor/opencli/dist/analysis.js +166 -0
- package/vendor/opencli/dist/browser/base-page.d.ts +50 -0
- package/vendor/opencli/dist/browser/base-page.js +193 -0
- package/vendor/opencli/dist/browser/bridge.d.ts +21 -0
- package/vendor/opencli/dist/browser/bridge.js +109 -0
- package/vendor/opencli/dist/browser/cdp.d.ts +40 -0
- package/vendor/opencli/dist/browser/cdp.js +310 -0
- package/vendor/opencli/dist/browser/cdp.test.d.ts +1 -0
- package/vendor/opencli/dist/browser/cdp.test.js +52 -0
- package/vendor/opencli/dist/browser/daemon-client.d.ts +74 -0
- package/vendor/opencli/dist/browser/daemon-client.js +113 -0
- package/vendor/opencli/dist/browser/daemon-client.test.d.ts +1 -0
- package/vendor/opencli/dist/browser/daemon-client.test.js +77 -0
- package/vendor/opencli/dist/browser/discover.d.ts +15 -0
- package/vendor/opencli/dist/browser/discover.js +19 -0
- package/vendor/opencli/dist/browser/dom-helpers.d.ts +41 -0
- package/vendor/opencli/dist/browser/dom-helpers.js +227 -0
- package/vendor/opencli/dist/browser/dom-helpers.test.d.ts +1 -0
- package/vendor/opencli/dist/browser/dom-helpers.test.js +105 -0
- package/vendor/opencli/dist/browser/dom-snapshot.d.ts +86 -0
- package/vendor/opencli/dist/browser/dom-snapshot.js +804 -0
- package/vendor/opencli/dist/browser/dom-snapshot.test.d.ts +11 -0
- package/vendor/opencli/dist/browser/dom-snapshot.test.js +248 -0
- package/vendor/opencli/dist/browser/errors.d.ts +13 -0
- package/vendor/opencli/dist/browser/errors.js +40 -0
- package/vendor/opencli/dist/browser/index.d.ts +13 -0
- package/vendor/opencli/dist/browser/index.js +12 -0
- package/vendor/opencli/dist/browser/page.d.ts +62 -0
- package/vendor/opencli/dist/browser/page.js +304 -0
- package/vendor/opencli/dist/browser/page.test.d.ts +1 -0
- package/vendor/opencli/dist/browser/page.test.js +44 -0
- package/vendor/opencli/dist/browser/stealth.d.ts +16 -0
- package/vendor/opencli/dist/browser/stealth.js +353 -0
- package/vendor/opencli/dist/browser/stealth.test.d.ts +1 -0
- package/vendor/opencli/dist/browser/stealth.test.js +134 -0
- package/vendor/opencli/dist/browser/tabs.d.ts +13 -0
- package/vendor/opencli/dist/browser/tabs.js +70 -0
- package/vendor/opencli/dist/browser/utils.d.ts +10 -0
- package/vendor/opencli/dist/browser/utils.js +27 -0
- package/vendor/opencli/dist/browser.test.d.ts +1 -0
- package/vendor/opencli/dist/browser.test.js +159 -0
- package/vendor/opencli/dist/build-manifest.d.ts +47 -0
- package/vendor/opencli/dist/build-manifest.js +225 -0
- package/vendor/opencli/dist/build-manifest.test.d.ts +1 -0
- package/vendor/opencli/dist/build-manifest.test.js +176 -0
- package/vendor/opencli/dist/capabilityRouting.d.ts +4 -0
- package/vendor/opencli/dist/capabilityRouting.js +31 -0
- package/vendor/opencli/dist/capabilityRouting.test.d.ts +1 -0
- package/vendor/opencli/dist/capabilityRouting.test.js +42 -0
- package/vendor/opencli/dist/cascade.d.ts +46 -0
- package/vendor/opencli/dist/cascade.js +149 -0
- package/vendor/opencli/dist/cli-manifest.json +16706 -0
- package/vendor/opencli/dist/cli.d.ts +9 -0
- package/vendor/opencli/dist/cli.js +953 -0
- package/vendor/opencli/dist/cli.test.d.ts +1 -0
- package/vendor/opencli/dist/cli.test.js +88 -0
- package/vendor/opencli/dist/clis/1688/item.d.ts +70 -0
- package/vendor/opencli/dist/clis/1688/item.js +187 -0
- package/vendor/opencli/dist/clis/1688/item.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/1688/item.test.js +67 -0
- package/vendor/opencli/dist/clis/1688/search.d.ts +56 -0
- package/vendor/opencli/dist/clis/1688/search.js +309 -0
- package/vendor/opencli/dist/clis/1688/search.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/1688/search.test.js +75 -0
- package/vendor/opencli/dist/clis/1688/shared.d.ts +112 -0
- package/vendor/opencli/dist/clis/1688/shared.js +514 -0
- package/vendor/opencli/dist/clis/1688/shared.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/1688/shared.test.js +57 -0
- package/vendor/opencli/dist/clis/1688/store.d.ts +45 -0
- package/vendor/opencli/dist/clis/1688/store.js +226 -0
- package/vendor/opencli/dist/clis/1688/store.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/1688/store.test.js +62 -0
- package/vendor/opencli/dist/clis/36kr/article.d.ts +1 -0
- package/vendor/opencli/dist/clis/36kr/article.js +62 -0
- package/vendor/opencli/dist/clis/36kr/hot.d.ts +3 -0
- package/vendor/opencli/dist/clis/36kr/hot.js +80 -0
- package/vendor/opencli/dist/clis/36kr/hot.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/36kr/hot.test.js +15 -0
- package/vendor/opencli/dist/clis/36kr/news.d.ts +1 -0
- package/vendor/opencli/dist/clis/36kr/news.js +51 -0
- package/vendor/opencli/dist/clis/36kr/news.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/36kr/news.test.js +85 -0
- package/vendor/opencli/dist/clis/36kr/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/36kr/search.js +72 -0
- package/vendor/opencli/dist/clis/_shared/common.d.ts +8 -0
- package/vendor/opencli/dist/clis/_shared/common.js +10 -0
- package/vendor/opencli/dist/clis/_shared/desktop-commands.d.ts +22 -0
- package/vendor/opencli/dist/clis/_shared/desktop-commands.js +108 -0
- package/vendor/opencli/dist/clis/amazon/bestsellers.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/bestsellers.js +7 -0
- package/vendor/opencli/dist/clis/amazon/bestsellers.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/bestsellers.test.js +29 -0
- package/vendor/opencli/dist/clis/amazon/discussion.d.ts +20 -0
- package/vendor/opencli/dist/clis/amazon/discussion.js +91 -0
- package/vendor/opencli/dist/clis/amazon/discussion.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/discussion.test.js +36 -0
- package/vendor/opencli/dist/clis/amazon/movers-shakers.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/movers-shakers.js +7 -0
- package/vendor/opencli/dist/clis/amazon/new-releases.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/new-releases.js +7 -0
- package/vendor/opencli/dist/clis/amazon/offer.d.ts +23 -0
- package/vendor/opencli/dist/clis/amazon/offer.js +140 -0
- package/vendor/opencli/dist/clis/amazon/offer.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/offer.test.js +29 -0
- package/vendor/opencli/dist/clis/amazon/product.d.ts +18 -0
- package/vendor/opencli/dist/clis/amazon/product.js +92 -0
- package/vendor/opencli/dist/clis/amazon/product.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/product.test.js +24 -0
- package/vendor/opencli/dist/clis/amazon/rankings.d.ts +59 -0
- package/vendor/opencli/dist/clis/amazon/rankings.js +226 -0
- package/vendor/opencli/dist/clis/amazon/rankings.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/rankings.test.js +41 -0
- package/vendor/opencli/dist/clis/amazon/search.d.ts +18 -0
- package/vendor/opencli/dist/clis/amazon/search.js +87 -0
- package/vendor/opencli/dist/clis/amazon/search.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/search.test.js +22 -0
- package/vendor/opencli/dist/clis/amazon/shared.d.ts +75 -0
- package/vendor/opencli/dist/clis/amazon/shared.js +365 -0
- package/vendor/opencli/dist/clis/amazon/shared.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/amazon/shared.test.js +44 -0
- package/vendor/opencli/dist/clis/antigravity/dump.d.ts +1 -0
- package/vendor/opencli/dist/clis/antigravity/dump.js +28 -0
- package/vendor/opencli/dist/clis/antigravity/extract-code.d.ts +1 -0
- package/vendor/opencli/dist/clis/antigravity/extract-code.js +32 -0
- package/vendor/opencli/dist/clis/antigravity/model.d.ts +1 -0
- package/vendor/opencli/dist/clis/antigravity/model.js +44 -0
- package/vendor/opencli/dist/clis/antigravity/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/antigravity/new.js +25 -0
- package/vendor/opencli/dist/clis/antigravity/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/antigravity/read.js +34 -0
- package/vendor/opencli/dist/clis/antigravity/send.d.ts +1 -0
- package/vendor/opencli/dist/clis/antigravity/send.js +35 -0
- package/vendor/opencli/dist/clis/antigravity/serve.d.ts +14 -0
- package/vendor/opencli/dist/clis/antigravity/serve.js +512 -0
- package/vendor/opencli/dist/clis/antigravity/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/antigravity/status.js +18 -0
- package/vendor/opencli/dist/clis/antigravity/watch.d.ts +1 -0
- package/vendor/opencli/dist/clis/antigravity/watch.js +41 -0
- package/vendor/opencli/dist/clis/apple-podcasts/commands.test.d.ts +2 -0
- package/vendor/opencli/dist/clis/apple-podcasts/commands.test.js +99 -0
- package/vendor/opencli/dist/clis/apple-podcasts/episodes.d.ts +1 -0
- package/vendor/opencli/dist/clis/apple-podcasts/episodes.js +28 -0
- package/vendor/opencli/dist/clis/apple-podcasts/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/apple-podcasts/search.js +30 -0
- package/vendor/opencli/dist/clis/apple-podcasts/top.d.ts +1 -0
- package/vendor/opencli/dist/clis/apple-podcasts/top.js +44 -0
- package/vendor/opencli/dist/clis/apple-podcasts/utils.d.ts +11 -0
- package/vendor/opencli/dist/clis/apple-podcasts/utils.js +30 -0
- package/vendor/opencli/dist/clis/apple-podcasts/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/apple-podcasts/utils.test.js +57 -0
- package/vendor/opencli/dist/clis/arxiv/paper.d.ts +1 -0
- package/vendor/opencli/dist/clis/arxiv/paper.js +21 -0
- package/vendor/opencli/dist/clis/arxiv/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/arxiv/search.js +24 -0
- package/vendor/opencli/dist/clis/arxiv/utils.d.ts +18 -0
- package/vendor/opencli/dist/clis/arxiv/utils.js +49 -0
- package/vendor/opencli/dist/clis/band/bands.d.ts +1 -0
- package/vendor/opencli/dist/clis/band/bands.js +72 -0
- package/vendor/opencli/dist/clis/band/mentions.d.ts +1 -0
- package/vendor/opencli/dist/clis/band/mentions.js +127 -0
- package/vendor/opencli/dist/clis/band/post.d.ts +1 -0
- package/vendor/opencli/dist/clis/band/post.js +175 -0
- package/vendor/opencli/dist/clis/band/posts.d.ts +1 -0
- package/vendor/opencli/dist/clis/band/posts.js +94 -0
- package/vendor/opencli/dist/clis/barchart/flow.d.ts +1 -0
- package/vendor/opencli/dist/clis/barchart/flow.js +115 -0
- package/vendor/opencli/dist/clis/barchart/greeks.d.ts +1 -0
- package/vendor/opencli/dist/clis/barchart/greeks.js +119 -0
- package/vendor/opencli/dist/clis/barchart/options.d.ts +1 -0
- package/vendor/opencli/dist/clis/barchart/options.js +106 -0
- package/vendor/opencli/dist/clis/barchart/quote.d.ts +1 -0
- package/vendor/opencli/dist/clis/barchart/quote.js +133 -0
- package/vendor/opencli/dist/clis/bbc/news.d.ts +1 -0
- package/vendor/opencli/dist/clis/bbc/news.js +41 -0
- package/vendor/opencli/dist/clis/bilibili/comments.d.ts +5 -0
- package/vendor/opencli/dist/clis/bilibili/comments.js +40 -0
- package/vendor/opencli/dist/clis/bilibili/comments.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/comments.test.js +83 -0
- package/vendor/opencli/dist/clis/bilibili/download.d.ts +10 -0
- package/vendor/opencli/dist/clis/bilibili/download.js +81 -0
- package/vendor/opencli/dist/clis/bilibili/dynamic.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/dynamic.js +33 -0
- package/vendor/opencli/dist/clis/bilibili/dynamic.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/dynamic.test.js +68 -0
- package/vendor/opencli/dist/clis/bilibili/favorite.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/favorite.js +41 -0
- package/vendor/opencli/dist/clis/bilibili/feed.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/feed.js +64 -0
- package/vendor/opencli/dist/clis/bilibili/following.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/following.js +42 -0
- package/vendor/opencli/dist/clis/bilibili/history.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/history.js +44 -0
- package/vendor/opencli/dist/clis/bilibili/hot.yaml +38 -0
- package/vendor/opencli/dist/clis/bilibili/me.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/me.js +13 -0
- package/vendor/opencli/dist/clis/bilibili/ranking.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/ranking.js +24 -0
- package/vendor/opencli/dist/clis/bilibili/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/search.js +24 -0
- package/vendor/opencli/dist/clis/bilibili/subtitle.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/subtitle.js +92 -0
- package/vendor/opencli/dist/clis/bilibili/subtitle.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/subtitle.test.js +49 -0
- package/vendor/opencli/dist/clis/bilibili/user-videos.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/user-videos.js +38 -0
- package/vendor/opencli/dist/clis/bilibili/utils.d.ts +19 -0
- package/vendor/opencli/dist/clis/bilibili/utils.js +126 -0
- package/vendor/opencli/dist/clis/bilibili/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/bilibili/utils.test.js +17 -0
- package/vendor/opencli/dist/clis/bloomberg/businessweek.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/businessweek.js +17 -0
- package/vendor/opencli/dist/clis/bloomberg/economics.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/economics.js +17 -0
- package/vendor/opencli/dist/clis/bloomberg/feeds.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/feeds.js +15 -0
- package/vendor/opencli/dist/clis/bloomberg/industries.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/industries.js +17 -0
- package/vendor/opencli/dist/clis/bloomberg/main.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/main.js +17 -0
- package/vendor/opencli/dist/clis/bloomberg/markets.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/markets.js +17 -0
- package/vendor/opencli/dist/clis/bloomberg/news.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/news.js +105 -0
- package/vendor/opencli/dist/clis/bloomberg/opinions.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/opinions.js +17 -0
- package/vendor/opencli/dist/clis/bloomberg/politics.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/politics.js +17 -0
- package/vendor/opencli/dist/clis/bloomberg/tech.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/tech.js +17 -0
- package/vendor/opencli/dist/clis/bloomberg/utils.d.ts +34 -0
- package/vendor/opencli/dist/clis/bloomberg/utils.js +364 -0
- package/vendor/opencli/dist/clis/bloomberg/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/bloomberg/utils.test.js +129 -0
- package/vendor/opencli/dist/clis/bluesky/feeds.yaml +29 -0
- package/vendor/opencli/dist/clis/bluesky/followers.yaml +33 -0
- package/vendor/opencli/dist/clis/bluesky/following.yaml +33 -0
- package/vendor/opencli/dist/clis/bluesky/profile.yaml +27 -0
- package/vendor/opencli/dist/clis/bluesky/search.yaml +34 -0
- package/vendor/opencli/dist/clis/bluesky/starter-packs.yaml +34 -0
- package/vendor/opencli/dist/clis/bluesky/thread.yaml +32 -0
- package/vendor/opencli/dist/clis/bluesky/trending.yaml +27 -0
- package/vendor/opencli/dist/clis/bluesky/user.yaml +34 -0
- package/vendor/opencli/dist/clis/boss/batchgreet.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/batchgreet.js +60 -0
- package/vendor/opencli/dist/clis/boss/chatlist.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/chatlist.js +33 -0
- package/vendor/opencli/dist/clis/boss/chatmsg.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/chatmsg.js +42 -0
- package/vendor/opencli/dist/clis/boss/detail.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/detail.js +62 -0
- package/vendor/opencli/dist/clis/boss/exchange.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/exchange.js +45 -0
- package/vendor/opencli/dist/clis/boss/greet.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/greet.js +48 -0
- package/vendor/opencli/dist/clis/boss/invite.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/invite.js +63 -0
- package/vendor/opencli/dist/clis/boss/joblist.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/joblist.js +30 -0
- package/vendor/opencli/dist/clis/boss/mark.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/mark.js +69 -0
- package/vendor/opencli/dist/clis/boss/recommend.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/recommend.js +44 -0
- package/vendor/opencli/dist/clis/boss/resume.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/resume.js +149 -0
- package/vendor/opencli/dist/clis/boss/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/search.js +155 -0
- package/vendor/opencli/dist/clis/boss/send.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/send.js +43 -0
- package/vendor/opencli/dist/clis/boss/stats.d.ts +1 -0
- package/vendor/opencli/dist/clis/boss/stats.js +65 -0
- package/vendor/opencli/dist/clis/boss/utils.d.ts +92 -0
- package/vendor/opencli/dist/clis/boss/utils.js +223 -0
- package/vendor/opencli/dist/clis/chaoxing/assignments.d.ts +1 -0
- package/vendor/opencli/dist/clis/chaoxing/assignments.js +75 -0
- package/vendor/opencli/dist/clis/chaoxing/exams.d.ts +1 -0
- package/vendor/opencli/dist/clis/chaoxing/exams.js +74 -0
- package/vendor/opencli/dist/clis/chaoxing/utils.d.ts +58 -0
- package/vendor/opencli/dist/clis/chaoxing/utils.js +223 -0
- package/vendor/opencli/dist/clis/chaoxing/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/chaoxing/utils.test.js +45 -0
- package/vendor/opencli/dist/clis/chatgpt/ask.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatgpt/ask.js +88 -0
- package/vendor/opencli/dist/clis/chatgpt/ax.d.ts +7 -0
- package/vendor/opencli/dist/clis/chatgpt/ax.js +249 -0
- package/vendor/opencli/dist/clis/chatgpt/model.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatgpt/model.js +24 -0
- package/vendor/opencli/dist/clis/chatgpt/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatgpt/new.js +27 -0
- package/vendor/opencli/dist/clis/chatgpt/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatgpt/read.js +31 -0
- package/vendor/opencli/dist/clis/chatgpt/send.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatgpt/send.js +52 -0
- package/vendor/opencli/dist/clis/chatgpt/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatgpt/status.js +25 -0
- package/vendor/opencli/dist/clis/chatwise/ask.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatwise/ask.js +80 -0
- package/vendor/opencli/dist/clis/chatwise/export.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatwise/export.js +46 -0
- package/vendor/opencli/dist/clis/chatwise/history.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatwise/history.js +60 -0
- package/vendor/opencli/dist/clis/chatwise/model.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatwise/model.js +84 -0
- package/vendor/opencli/dist/clis/chatwise/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatwise/new.js +2 -0
- package/vendor/opencli/dist/clis/chatwise/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatwise/read.js +39 -0
- package/vendor/opencli/dist/clis/chatwise/screenshot.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatwise/screenshot.js +2 -0
- package/vendor/opencli/dist/clis/chatwise/send.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatwise/send.js +49 -0
- package/vendor/opencli/dist/clis/chatwise/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/chatwise/status.js +2 -0
- package/vendor/opencli/dist/clis/codex/ask.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/ask.js +71 -0
- package/vendor/opencli/dist/clis/codex/dump.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/dump.js +2 -0
- package/vendor/opencli/dist/clis/codex/export.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/export.js +37 -0
- package/vendor/opencli/dist/clis/codex/extract-diff.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/extract-diff.js +44 -0
- package/vendor/opencli/dist/clis/codex/history.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/history.js +43 -0
- package/vendor/opencli/dist/clis/codex/model.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/model.js +55 -0
- package/vendor/opencli/dist/clis/codex/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/new.js +2 -0
- package/vendor/opencli/dist/clis/codex/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/read.js +34 -0
- package/vendor/opencli/dist/clis/codex/screenshot.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/screenshot.js +2 -0
- package/vendor/opencli/dist/clis/codex/send.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/send.js +43 -0
- package/vendor/opencli/dist/clis/codex/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/codex/status.js +2 -0
- package/vendor/opencli/dist/clis/coupang/add-to-cart.d.ts +1 -0
- package/vendor/opencli/dist/clis/coupang/add-to-cart.js +140 -0
- package/vendor/opencli/dist/clis/coupang/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/coupang/search.js +451 -0
- package/vendor/opencli/dist/clis/coupang/utils.d.ts +24 -0
- package/vendor/opencli/dist/clis/coupang/utils.js +262 -0
- package/vendor/opencli/dist/clis/coupang/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/coupang/utils.test.js +62 -0
- package/vendor/opencli/dist/clis/ctrip/search.d.ts +14 -0
- package/vendor/opencli/dist/clis/ctrip/search.js +86 -0
- package/vendor/opencli/dist/clis/ctrip/search.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/ctrip/search.test.js +64 -0
- package/vendor/opencli/dist/clis/cursor/ask.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/ask.js +70 -0
- package/vendor/opencli/dist/clis/cursor/composer.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/composer.js +42 -0
- package/vendor/opencli/dist/clis/cursor/dump.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/dump.js +2 -0
- package/vendor/opencli/dist/clis/cursor/export.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/export.js +51 -0
- package/vendor/opencli/dist/clis/cursor/extract-code.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/extract-code.js +35 -0
- package/vendor/opencli/dist/clis/cursor/history.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/history.js +43 -0
- package/vendor/opencli/dist/clis/cursor/model.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/model.js +53 -0
- package/vendor/opencli/dist/clis/cursor/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/new.js +2 -0
- package/vendor/opencli/dist/clis/cursor/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/read.js +44 -0
- package/vendor/opencli/dist/clis/cursor/screenshot.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/screenshot.js +2 -0
- package/vendor/opencli/dist/clis/cursor/send.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/send.js +40 -0
- package/vendor/opencli/dist/clis/cursor/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/cursor/status.js +2 -0
- package/vendor/opencli/dist/clis/devto/tag.yaml +34 -0
- package/vendor/opencli/dist/clis/devto/top.yaml +29 -0
- package/vendor/opencli/dist/clis/devto/user.yaml +33 -0
- package/vendor/opencli/dist/clis/dictionary/examples.yaml +25 -0
- package/vendor/opencli/dist/clis/dictionary/search.yaml +27 -0
- package/vendor/opencli/dist/clis/dictionary/synonyms.yaml +25 -0
- package/vendor/opencli/dist/clis/discord-app/channels.d.ts +1 -0
- package/vendor/opencli/dist/clis/discord-app/channels.js +57 -0
- package/vendor/opencli/dist/clis/discord-app/members.d.ts +1 -0
- package/vendor/opencli/dist/clis/discord-app/members.js +38 -0
- package/vendor/opencli/dist/clis/discord-app/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/discord-app/read.js +45 -0
- package/vendor/opencli/dist/clis/discord-app/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/discord-app/search.js +56 -0
- package/vendor/opencli/dist/clis/discord-app/send.d.ts +1 -0
- package/vendor/opencli/dist/clis/discord-app/send.js +27 -0
- package/vendor/opencli/dist/clis/discord-app/servers.d.ts +1 -0
- package/vendor/opencli/dist/clis/discord-app/servers.js +36 -0
- package/vendor/opencli/dist/clis/discord-app/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/discord-app/status.js +16 -0
- package/vendor/opencli/dist/clis/douban/book-hot.d.ts +1 -0
- package/vendor/opencli/dist/clis/douban/book-hot.js +14 -0
- package/vendor/opencli/dist/clis/douban/download.d.ts +1 -0
- package/vendor/opencli/dist/clis/douban/download.js +67 -0
- package/vendor/opencli/dist/clis/douban/download.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douban/download.test.js +170 -0
- package/vendor/opencli/dist/clis/douban/marks.d.ts +1 -0
- package/vendor/opencli/dist/clis/douban/marks.js +115 -0
- package/vendor/opencli/dist/clis/douban/movie-hot.d.ts +1 -0
- package/vendor/opencli/dist/clis/douban/movie-hot.js +14 -0
- package/vendor/opencli/dist/clis/douban/photos.d.ts +1 -0
- package/vendor/opencli/dist/clis/douban/photos.js +34 -0
- package/vendor/opencli/dist/clis/douban/reviews.d.ts +1 -0
- package/vendor/opencli/dist/clis/douban/reviews.js +106 -0
- package/vendor/opencli/dist/clis/douban/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/douban/search.js +16 -0
- package/vendor/opencli/dist/clis/douban/subject.yaml +107 -0
- package/vendor/opencli/dist/clis/douban/top250.yaml +70 -0
- package/vendor/opencli/dist/clis/douban/utils.d.ts +63 -0
- package/vendor/opencli/dist/clis/douban/utils.js +389 -0
- package/vendor/opencli/dist/clis/douban/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douban/utils.test.js +64 -0
- package/vendor/opencli/dist/clis/doubao/ask.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/ask.js +35 -0
- package/vendor/opencli/dist/clis/doubao/detail.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/detail.js +33 -0
- package/vendor/opencli/dist/clis/doubao/detail.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/detail.test.js +42 -0
- package/vendor/opencli/dist/clis/doubao/history.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/history.js +28 -0
- package/vendor/opencli/dist/clis/doubao/history.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/history.test.js +37 -0
- package/vendor/opencli/dist/clis/doubao/meeting-summary.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/meeting-summary.js +39 -0
- package/vendor/opencli/dist/clis/doubao/meeting-transcript.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/meeting-transcript.js +36 -0
- package/vendor/opencli/dist/clis/doubao/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/new.js +20 -0
- package/vendor/opencli/dist/clis/doubao/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/read.js +19 -0
- package/vendor/opencli/dist/clis/doubao/send.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/send.js +22 -0
- package/vendor/opencli/dist/clis/doubao/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/status.js +24 -0
- package/vendor/opencli/dist/clis/doubao/utils.d.ts +50 -0
- package/vendor/opencli/dist/clis/doubao/utils.js +901 -0
- package/vendor/opencli/dist/clis/doubao/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao/utils.test.js +24 -0
- package/vendor/opencli/dist/clis/doubao-app/ask.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao-app/ask.js +53 -0
- package/vendor/opencli/dist/clis/doubao-app/dump.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao-app/dump.js +24 -0
- package/vendor/opencli/dist/clis/doubao-app/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao-app/new.js +20 -0
- package/vendor/opencli/dist/clis/doubao-app/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao-app/read.js +18 -0
- package/vendor/opencli/dist/clis/doubao-app/screenshot.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao-app/screenshot.js +18 -0
- package/vendor/opencli/dist/clis/doubao-app/send.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao-app/send.js +27 -0
- package/vendor/opencli/dist/clis/doubao-app/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/doubao-app/status.js +16 -0
- package/vendor/opencli/dist/clis/doubao-app/utils.d.ts +37 -0
- package/vendor/opencli/dist/clis/doubao-app/utils.js +110 -0
- package/vendor/opencli/dist/clis/douyin/_shared/browser-fetch.d.ts +10 -0
- package/vendor/opencli/dist/clis/douyin/_shared/browser-fetch.js +30 -0
- package/vendor/opencli/dist/clis/douyin/_shared/browser-fetch.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/_shared/browser-fetch.test.js +30 -0
- package/vendor/opencli/dist/clis/douyin/_shared/creation-id.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/_shared/creation-id.js +5 -0
- package/vendor/opencli/dist/clis/douyin/_shared/creation-id.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/_shared/creation-id.test.js +22 -0
- package/vendor/opencli/dist/clis/douyin/_shared/imagex-upload.d.ts +20 -0
- package/vendor/opencli/dist/clis/douyin/_shared/imagex-upload.js +53 -0
- package/vendor/opencli/dist/clis/douyin/_shared/imagex-upload.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/_shared/imagex-upload.test.js +87 -0
- package/vendor/opencli/dist/clis/douyin/_shared/public-api.d.ts +33 -0
- package/vendor/opencli/dist/clis/douyin/_shared/public-api.js +29 -0
- package/vendor/opencli/dist/clis/douyin/_shared/sts2.d.ts +8 -0
- package/vendor/opencli/dist/clis/douyin/_shared/sts2.js +21 -0
- package/vendor/opencli/dist/clis/douyin/_shared/sts2.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/_shared/sts2.test.js +27 -0
- package/vendor/opencli/dist/clis/douyin/_shared/text-extra.d.ts +18 -0
- package/vendor/opencli/dist/clis/douyin/_shared/text-extra.js +15 -0
- package/vendor/opencli/dist/clis/douyin/_shared/text-extra.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/_shared/text-extra.test.js +37 -0
- package/vendor/opencli/dist/clis/douyin/_shared/timing.d.ts +2 -0
- package/vendor/opencli/dist/clis/douyin/_shared/timing.js +22 -0
- package/vendor/opencli/dist/clis/douyin/_shared/timing.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/_shared/timing.test.js +28 -0
- package/vendor/opencli/dist/clis/douyin/_shared/tos-upload-short-read.test.d.ts +11 -0
- package/vendor/opencli/dist/clis/douyin/_shared/tos-upload-short-read.test.js +83 -0
- package/vendor/opencli/dist/clis/douyin/_shared/tos-upload.d.ts +53 -0
- package/vendor/opencli/dist/clis/douyin/_shared/tos-upload.js +295 -0
- package/vendor/opencli/dist/clis/douyin/_shared/tos-upload.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/_shared/tos-upload.test.js +229 -0
- package/vendor/opencli/dist/clis/douyin/_shared/transcode.d.ts +27 -0
- package/vendor/opencli/dist/clis/douyin/_shared/transcode.js +45 -0
- package/vendor/opencli/dist/clis/douyin/_shared/transcode.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/_shared/transcode.test.js +91 -0
- package/vendor/opencli/dist/clis/douyin/_shared/types.d.ts +26 -0
- package/vendor/opencli/dist/clis/douyin/_shared/types.js +1 -0
- package/vendor/opencli/dist/clis/douyin/activities.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/activities.js +22 -0
- package/vendor/opencli/dist/clis/douyin/activities.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/activities.test.js +55 -0
- package/vendor/opencli/dist/clis/douyin/collections.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/collections.js +22 -0
- package/vendor/opencli/dist/clis/douyin/collections.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/collections.test.js +45 -0
- package/vendor/opencli/dist/clis/douyin/delete.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/delete.js +18 -0
- package/vendor/opencli/dist/clis/douyin/delete.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/delete.test.js +11 -0
- package/vendor/opencli/dist/clis/douyin/draft.d.ts +11 -0
- package/vendor/opencli/dist/clis/douyin/draft.js +354 -0
- package/vendor/opencli/dist/clis/douyin/draft.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/draft.test.js +364 -0
- package/vendor/opencli/dist/clis/douyin/drafts.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/drafts.js +23 -0
- package/vendor/opencli/dist/clis/douyin/drafts.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/drafts.test.js +11 -0
- package/vendor/opencli/dist/clis/douyin/hashtag.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/hashtag.js +52 -0
- package/vendor/opencli/dist/clis/douyin/hashtag.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/hashtag.test.js +58 -0
- package/vendor/opencli/dist/clis/douyin/location.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/location.js +24 -0
- package/vendor/opencli/dist/clis/douyin/location.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/location.test.js +23 -0
- package/vendor/opencli/dist/clis/douyin/profile.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/profile.js +28 -0
- package/vendor/opencli/dist/clis/douyin/profile.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/profile.test.js +46 -0
- package/vendor/opencli/dist/clis/douyin/publish.d.ts +14 -0
- package/vendor/opencli/dist/clis/douyin/publish.js +288 -0
- package/vendor/opencli/dist/clis/douyin/publish.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/publish.test.js +38 -0
- package/vendor/opencli/dist/clis/douyin/stats.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/stats.js +27 -0
- package/vendor/opencli/dist/clis/douyin/stats.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/stats.test.js +22 -0
- package/vendor/opencli/dist/clis/douyin/update.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/update.js +31 -0
- package/vendor/opencli/dist/clis/douyin/update.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/update.test.js +11 -0
- package/vendor/opencli/dist/clis/douyin/user-videos.d.ts +5 -0
- package/vendor/opencli/dist/clis/douyin/user-videos.js +74 -0
- package/vendor/opencli/dist/clis/douyin/user-videos.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/user-videos.test.js +108 -0
- package/vendor/opencli/dist/clis/douyin/videos.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/videos.js +51 -0
- package/vendor/opencli/dist/clis/douyin/videos.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/douyin/videos.test.js +54 -0
- package/vendor/opencli/dist/clis/facebook/add-friend.yaml +43 -0
- package/vendor/opencli/dist/clis/facebook/events.yaml +44 -0
- package/vendor/opencli/dist/clis/facebook/feed.yaml +63 -0
- package/vendor/opencli/dist/clis/facebook/friends.yaml +42 -0
- package/vendor/opencli/dist/clis/facebook/groups.yaml +50 -0
- package/vendor/opencli/dist/clis/facebook/join-group.yaml +44 -0
- package/vendor/opencli/dist/clis/facebook/memories.yaml +39 -0
- package/vendor/opencli/dist/clis/facebook/notifications.yaml +40 -0
- package/vendor/opencli/dist/clis/facebook/profile.yaml +37 -0
- package/vendor/opencli/dist/clis/facebook/search.test.d.ts +5 -0
- package/vendor/opencli/dist/clis/facebook/search.test.js +58 -0
- package/vendor/opencli/dist/clis/facebook/search.yaml +47 -0
- package/vendor/opencli/dist/clis/gemini/ask.d.ts +1 -0
- package/vendor/opencli/dist/clis/gemini/ask.js +46 -0
- package/vendor/opencli/dist/clis/gemini/ask.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/gemini/ask.test.js +100 -0
- package/vendor/opencli/dist/clis/gemini/image.d.ts +1 -0
- package/vendor/opencli/dist/clis/gemini/image.js +105 -0
- package/vendor/opencli/dist/clis/gemini/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/gemini/new.js +20 -0
- package/vendor/opencli/dist/clis/gemini/reply-state.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/gemini/reply-state.test.js +641 -0
- package/vendor/opencli/dist/clis/gemini/utils.d.ts +77 -0
- package/vendor/opencli/dist/clis/gemini/utils.js +930 -0
- package/vendor/opencli/dist/clis/gemini/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/gemini/utils.test.js +178 -0
- package/vendor/opencli/dist/clis/google/news.d.ts +5 -0
- package/vendor/opencli/dist/clis/google/news.js +58 -0
- package/vendor/opencli/dist/clis/google/search.d.ts +10 -0
- package/vendor/opencli/dist/clis/google/search.js +127 -0
- package/vendor/opencli/dist/clis/google/suggest.d.ts +5 -0
- package/vendor/opencli/dist/clis/google/suggest.js +34 -0
- package/vendor/opencli/dist/clis/google/trends.d.ts +5 -0
- package/vendor/opencli/dist/clis/google/trends.js +38 -0
- package/vendor/opencli/dist/clis/google/utils.d.ts +9 -0
- package/vendor/opencli/dist/clis/google/utils.js +23 -0
- package/vendor/opencli/dist/clis/google/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/google/utils.test.js +75 -0
- package/vendor/opencli/dist/clis/grok/ask.d.ts +19 -0
- package/vendor/opencli/dist/clis/grok/ask.js +292 -0
- package/vendor/opencli/dist/clis/grok/ask.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/grok/ask.test.js +54 -0
- package/vendor/opencli/dist/clis/hackernews/ask.yaml +38 -0
- package/vendor/opencli/dist/clis/hackernews/best.yaml +38 -0
- package/vendor/opencli/dist/clis/hackernews/jobs.yaml +36 -0
- package/vendor/opencli/dist/clis/hackernews/new.yaml +38 -0
- package/vendor/opencli/dist/clis/hackernews/search.yaml +44 -0
- package/vendor/opencli/dist/clis/hackernews/show.yaml +38 -0
- package/vendor/opencli/dist/clis/hackernews/top.yaml +38 -0
- package/vendor/opencli/dist/clis/hackernews/user.yaml +25 -0
- package/vendor/opencli/dist/clis/hf/top.d.ts +1 -0
- package/vendor/opencli/dist/clis/hf/top.js +119 -0
- package/vendor/opencli/dist/clis/hupu/detail.d.ts +1 -0
- package/vendor/opencli/dist/clis/hupu/detail.js +72 -0
- package/vendor/opencli/dist/clis/hupu/hot.yaml +43 -0
- package/vendor/opencli/dist/clis/hupu/like.d.ts +1 -0
- package/vendor/opencli/dist/clis/hupu/like.js +75 -0
- package/vendor/opencli/dist/clis/hupu/reply.d.ts +1 -0
- package/vendor/opencli/dist/clis/hupu/reply.js +71 -0
- package/vendor/opencli/dist/clis/hupu/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/hupu/search.js +59 -0
- package/vendor/opencli/dist/clis/hupu/unlike.d.ts +1 -0
- package/vendor/opencli/dist/clis/hupu/unlike.js +75 -0
- package/vendor/opencli/dist/clis/hupu/utils.d.ts +20 -0
- package/vendor/opencli/dist/clis/hupu/utils.js +319 -0
- package/vendor/opencli/dist/clis/imdb/person.d.ts +1 -0
- package/vendor/opencli/dist/clis/imdb/person.js +203 -0
- package/vendor/opencli/dist/clis/imdb/reviews.d.ts +1 -0
- package/vendor/opencli/dist/clis/imdb/reviews.js +88 -0
- package/vendor/opencli/dist/clis/imdb/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/imdb/search.js +161 -0
- package/vendor/opencli/dist/clis/imdb/title.d.ts +1 -0
- package/vendor/opencli/dist/clis/imdb/title.js +93 -0
- package/vendor/opencli/dist/clis/imdb/top.d.ts +1 -0
- package/vendor/opencli/dist/clis/imdb/top.js +53 -0
- package/vendor/opencli/dist/clis/imdb/trending.d.ts +1 -0
- package/vendor/opencli/dist/clis/imdb/trending.js +52 -0
- package/vendor/opencli/dist/clis/imdb/utils.d.ts +46 -0
- package/vendor/opencli/dist/clis/imdb/utils.js +285 -0
- package/vendor/opencli/dist/clis/imdb/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/imdb/utils.test.js +88 -0
- package/vendor/opencli/dist/clis/instagram/_shared/private-publish.d.ts +138 -0
- package/vendor/opencli/dist/clis/instagram/_shared/private-publish.js +1030 -0
- package/vendor/opencli/dist/clis/instagram/_shared/private-publish.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/_shared/private-publish.test.js +705 -0
- package/vendor/opencli/dist/clis/instagram/_shared/protocol-capture.d.ts +26 -0
- package/vendor/opencli/dist/clis/instagram/_shared/protocol-capture.js +282 -0
- package/vendor/opencli/dist/clis/instagram/_shared/protocol-capture.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/_shared/protocol-capture.test.js +114 -0
- package/vendor/opencli/dist/clis/instagram/_shared/runtime-info.d.ts +9 -0
- package/vendor/opencli/dist/clis/instagram/_shared/runtime-info.js +81 -0
- package/vendor/opencli/dist/clis/instagram/comment.yaml +52 -0
- package/vendor/opencli/dist/clis/instagram/download.d.ts +16 -0
- package/vendor/opencli/dist/clis/instagram/download.js +225 -0
- package/vendor/opencli/dist/clis/instagram/download.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/download.test.js +118 -0
- package/vendor/opencli/dist/clis/instagram/explore.yaml +43 -0
- package/vendor/opencli/dist/clis/instagram/follow.yaml +41 -0
- package/vendor/opencli/dist/clis/instagram/followers.yaml +51 -0
- package/vendor/opencli/dist/clis/instagram/following.yaml +51 -0
- package/vendor/opencli/dist/clis/instagram/like.yaml +46 -0
- package/vendor/opencli/dist/clis/instagram/note.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/note.js +222 -0
- package/vendor/opencli/dist/clis/instagram/note.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/note.test.js +81 -0
- package/vendor/opencli/dist/clis/instagram/post.d.ts +4 -0
- package/vendor/opencli/dist/clis/instagram/post.js +1496 -0
- package/vendor/opencli/dist/clis/instagram/post.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/post.test.js +1647 -0
- package/vendor/opencli/dist/clis/instagram/profile.yaml +42 -0
- package/vendor/opencli/dist/clis/instagram/reel.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/reel.js +826 -0
- package/vendor/opencli/dist/clis/instagram/reel.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/reel.test.js +167 -0
- package/vendor/opencli/dist/clis/instagram/save.yaml +46 -0
- package/vendor/opencli/dist/clis/instagram/saved.yaml +40 -0
- package/vendor/opencli/dist/clis/instagram/search.yaml +44 -0
- package/vendor/opencli/dist/clis/instagram/story.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/story.js +115 -0
- package/vendor/opencli/dist/clis/instagram/story.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/instagram/story.test.js +167 -0
- package/vendor/opencli/dist/clis/instagram/unfollow.yaml +38 -0
- package/vendor/opencli/dist/clis/instagram/unlike.yaml +46 -0
- package/vendor/opencli/dist/clis/instagram/unsave.yaml +46 -0
- package/vendor/opencli/dist/clis/instagram/user.yaml +54 -0
- package/vendor/opencli/dist/clis/jd/item.d.ts +5 -0
- package/vendor/opencli/dist/clis/jd/item.js +97 -0
- package/vendor/opencli/dist/clis/jd/item.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/jd/item.test.js +43 -0
- package/vendor/opencli/dist/clis/jike/comment.d.ts +1 -0
- package/vendor/opencli/dist/clis/jike/comment.js +106 -0
- package/vendor/opencli/dist/clis/jike/create.d.ts +1 -0
- package/vendor/opencli/dist/clis/jike/create.js +105 -0
- package/vendor/opencli/dist/clis/jike/feed.d.ts +1 -0
- package/vendor/opencli/dist/clis/jike/feed.js +66 -0
- package/vendor/opencli/dist/clis/jike/like.d.ts +1 -0
- package/vendor/opencli/dist/clis/jike/like.js +60 -0
- package/vendor/opencli/dist/clis/jike/notifications.d.ts +1 -0
- package/vendor/opencli/dist/clis/jike/notifications.js +168 -0
- package/vendor/opencli/dist/clis/jike/post.yaml +59 -0
- package/vendor/opencli/dist/clis/jike/repost.d.ts +1 -0
- package/vendor/opencli/dist/clis/jike/repost.js +102 -0
- package/vendor/opencli/dist/clis/jike/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/jike/search.js +66 -0
- package/vendor/opencli/dist/clis/jike/topic.yaml +53 -0
- package/vendor/opencli/dist/clis/jike/user.yaml +52 -0
- package/vendor/opencli/dist/clis/jike/utils.d.ts +19 -0
- package/vendor/opencli/dist/clis/jike/utils.js +25 -0
- package/vendor/opencli/dist/clis/jimeng/generate.yaml +85 -0
- package/vendor/opencli/dist/clis/jimeng/history.yaml +46 -0
- package/vendor/opencli/dist/clis/linkedin/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/linkedin/search.js +367 -0
- package/vendor/opencli/dist/clis/linkedin/timeline.d.ts +21 -0
- package/vendor/opencli/dist/clis/linkedin/timeline.js +503 -0
- package/vendor/opencli/dist/clis/linkedin/timeline.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/linkedin/timeline.test.js +81 -0
- package/vendor/opencli/dist/clis/linux-do/categories.yaml +70 -0
- package/vendor/opencli/dist/clis/linux-do/category.d.ts +1 -0
- package/vendor/opencli/dist/clis/linux-do/category.js +36 -0
- package/vendor/opencli/dist/clis/linux-do/feed.d.ts +45 -0
- package/vendor/opencli/dist/clis/linux-do/feed.js +397 -0
- package/vendor/opencli/dist/clis/linux-do/feed.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/linux-do/feed.test.js +118 -0
- package/vendor/opencli/dist/clis/linux-do/hot.d.ts +1 -0
- package/vendor/opencli/dist/clis/linux-do/hot.js +25 -0
- package/vendor/opencli/dist/clis/linux-do/latest.d.ts +1 -0
- package/vendor/opencli/dist/clis/linux-do/latest.js +18 -0
- package/vendor/opencli/dist/clis/linux-do/search.yaml +48 -0
- package/vendor/opencli/dist/clis/linux-do/tags.yaml +41 -0
- package/vendor/opencli/dist/clis/linux-do/topic.yaml +77 -0
- package/vendor/opencli/dist/clis/linux-do/user-posts.yaml +67 -0
- package/vendor/opencli/dist/clis/linux-do/user-topics.yaml +54 -0
- package/vendor/opencli/dist/clis/lobsters/active.yaml +29 -0
- package/vendor/opencli/dist/clis/lobsters/hot.yaml +29 -0
- package/vendor/opencli/dist/clis/lobsters/newest.yaml +29 -0
- package/vendor/opencli/dist/clis/lobsters/tag.yaml +34 -0
- package/vendor/opencli/dist/clis/medium/feed.d.ts +1 -0
- package/vendor/opencli/dist/clis/medium/feed.js +15 -0
- package/vendor/opencli/dist/clis/medium/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/medium/search.js +15 -0
- package/vendor/opencli/dist/clis/medium/user.d.ts +1 -0
- package/vendor/opencli/dist/clis/medium/user.js +15 -0
- package/vendor/opencli/dist/clis/medium/utils.d.ts +5 -0
- package/vendor/opencli/dist/clis/medium/utils.js +79 -0
- package/vendor/opencli/dist/clis/notebooklm/compat.test.d.ts +3 -0
- package/vendor/opencli/dist/clis/notebooklm/compat.test.js +16 -0
- package/vendor/opencli/dist/clis/notebooklm/current.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/current.js +27 -0
- package/vendor/opencli/dist/clis/notebooklm/get.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/get.js +36 -0
- package/vendor/opencli/dist/clis/notebooklm/history.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/history.js +24 -0
- package/vendor/opencli/dist/clis/notebooklm/history.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/history.test.js +58 -0
- package/vendor/opencli/dist/clis/notebooklm/list.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/list.js +35 -0
- package/vendor/opencli/dist/clis/notebooklm/note-list.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/note-list.js +27 -0
- package/vendor/opencli/dist/clis/notebooklm/note-list.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/note-list.test.js +56 -0
- package/vendor/opencli/dist/clis/notebooklm/notes-get.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/notes-get.js +46 -0
- package/vendor/opencli/dist/clis/notebooklm/notes-get.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/notes-get.test.js +72 -0
- package/vendor/opencli/dist/clis/notebooklm/open.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/open.js +41 -0
- package/vendor/opencli/dist/clis/notebooklm/open.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/open.test.js +63 -0
- package/vendor/opencli/dist/clis/notebooklm/rpc.d.ts +36 -0
- package/vendor/opencli/dist/clis/notebooklm/rpc.js +189 -0
- package/vendor/opencli/dist/clis/notebooklm/rpc.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/rpc.test.js +105 -0
- package/vendor/opencli/dist/clis/notebooklm/shared.d.ts +87 -0
- package/vendor/opencli/dist/clis/notebooklm/shared.js +3 -0
- package/vendor/opencli/dist/clis/notebooklm/source-fulltext.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/source-fulltext.js +43 -0
- package/vendor/opencli/dist/clis/notebooklm/source-fulltext.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/source-fulltext.test.js +106 -0
- package/vendor/opencli/dist/clis/notebooklm/source-get.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/source-get.js +39 -0
- package/vendor/opencli/dist/clis/notebooklm/source-get.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/source-get.test.js +84 -0
- package/vendor/opencli/dist/clis/notebooklm/source-guide.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/source-guide.js +43 -0
- package/vendor/opencli/dist/clis/notebooklm/source-guide.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/source-guide.test.js +104 -0
- package/vendor/opencli/dist/clis/notebooklm/source-list.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/source-list.js +29 -0
- package/vendor/opencli/dist/clis/notebooklm/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/status.js +30 -0
- package/vendor/opencli/dist/clis/notebooklm/summary.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/summary.js +29 -0
- package/vendor/opencli/dist/clis/notebooklm/summary.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/summary.test.js +78 -0
- package/vendor/opencli/dist/clis/notebooklm/utils.d.ts +38 -0
- package/vendor/opencli/dist/clis/notebooklm/utils.js +738 -0
- package/vendor/opencli/dist/clis/notebooklm/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/notebooklm/utils.test.js +390 -0
- package/vendor/opencli/dist/clis/notion/export.d.ts +1 -0
- package/vendor/opencli/dist/clis/notion/export.js +31 -0
- package/vendor/opencli/dist/clis/notion/favorites.d.ts +1 -0
- package/vendor/opencli/dist/clis/notion/favorites.js +84 -0
- package/vendor/opencli/dist/clis/notion/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/notion/new.js +34 -0
- package/vendor/opencli/dist/clis/notion/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/notion/read.js +30 -0
- package/vendor/opencli/dist/clis/notion/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/notion/search.js +46 -0
- package/vendor/opencli/dist/clis/notion/sidebar.d.ts +1 -0
- package/vendor/opencli/dist/clis/notion/sidebar.js +41 -0
- package/vendor/opencli/dist/clis/notion/status.d.ts +1 -0
- package/vendor/opencli/dist/clis/notion/status.js +16 -0
- package/vendor/opencli/dist/clis/notion/write.d.ts +1 -0
- package/vendor/opencli/dist/clis/notion/write.js +40 -0
- package/vendor/opencli/dist/clis/ones/common.d.ts +32 -0
- package/vendor/opencli/dist/clis/ones/common.js +144 -0
- package/vendor/opencli/dist/clis/ones/enrich-tasks.d.ts +5 -0
- package/vendor/opencli/dist/clis/ones/enrich-tasks.js +37 -0
- package/vendor/opencli/dist/clis/ones/login.d.ts +1 -0
- package/vendor/opencli/dist/clis/ones/login.js +80 -0
- package/vendor/opencli/dist/clis/ones/logout.d.ts +1 -0
- package/vendor/opencli/dist/clis/ones/logout.js +17 -0
- package/vendor/opencli/dist/clis/ones/me.d.ts +1 -0
- package/vendor/opencli/dist/clis/ones/me.js +30 -0
- package/vendor/opencli/dist/clis/ones/my-tasks.d.ts +1 -0
- package/vendor/opencli/dist/clis/ones/my-tasks.js +120 -0
- package/vendor/opencli/dist/clis/ones/resolve-labels.d.ts +10 -0
- package/vendor/opencli/dist/clis/ones/resolve-labels.js +64 -0
- package/vendor/opencli/dist/clis/ones/task-helpers.d.ts +29 -0
- package/vendor/opencli/dist/clis/ones/task-helpers.js +212 -0
- package/vendor/opencli/dist/clis/ones/task-helpers.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/ones/task-helpers.test.js +12 -0
- package/vendor/opencli/dist/clis/ones/task.d.ts +1 -0
- package/vendor/opencli/dist/clis/ones/task.js +66 -0
- package/vendor/opencli/dist/clis/ones/tasks.d.ts +1 -0
- package/vendor/opencli/dist/clis/ones/tasks.js +79 -0
- package/vendor/opencli/dist/clis/ones/token-info.d.ts +1 -0
- package/vendor/opencli/dist/clis/ones/token-info.js +42 -0
- package/vendor/opencli/dist/clis/ones/worklog.d.ts +11 -0
- package/vendor/opencli/dist/clis/ones/worklog.js +267 -0
- package/vendor/opencli/dist/clis/ones/worklog.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/ones/worklog.test.js +20 -0
- package/vendor/opencli/dist/clis/paperreview/commands.test.d.ts +3 -0
- package/vendor/opencli/dist/clis/paperreview/commands.test.js +243 -0
- package/vendor/opencli/dist/clis/paperreview/feedback.d.ts +1 -0
- package/vendor/opencli/dist/clis/paperreview/feedback.js +52 -0
- package/vendor/opencli/dist/clis/paperreview/review.d.ts +1 -0
- package/vendor/opencli/dist/clis/paperreview/review.js +37 -0
- package/vendor/opencli/dist/clis/paperreview/submit.d.ts +1 -0
- package/vendor/opencli/dist/clis/paperreview/submit.js +85 -0
- package/vendor/opencli/dist/clis/paperreview/utils.d.ts +46 -0
- package/vendor/opencli/dist/clis/paperreview/utils.js +197 -0
- package/vendor/opencli/dist/clis/paperreview/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/paperreview/utils.test.js +49 -0
- package/vendor/opencli/dist/clis/pixiv/detail.yaml +49 -0
- package/vendor/opencli/dist/clis/pixiv/download.d.ts +7 -0
- package/vendor/opencli/dist/clis/pixiv/download.js +78 -0
- package/vendor/opencli/dist/clis/pixiv/download.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/pixiv/download.test.js +87 -0
- package/vendor/opencli/dist/clis/pixiv/illusts.d.ts +8 -0
- package/vendor/opencli/dist/clis/pixiv/illusts.js +65 -0
- package/vendor/opencli/dist/clis/pixiv/illusts.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/pixiv/illusts.test.js +99 -0
- package/vendor/opencli/dist/clis/pixiv/ranking.yaml +53 -0
- package/vendor/opencli/dist/clis/pixiv/search.d.ts +6 -0
- package/vendor/opencli/dist/clis/pixiv/search.js +43 -0
- package/vendor/opencli/dist/clis/pixiv/search.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/pixiv/search.test.js +83 -0
- package/vendor/opencli/dist/clis/pixiv/test-utils.d.ts +12 -0
- package/vendor/opencli/dist/clis/pixiv/test-utils.js +23 -0
- package/vendor/opencli/dist/clis/pixiv/user.yaml +46 -0
- package/vendor/opencli/dist/clis/pixiv/utils.d.ts +27 -0
- package/vendor/opencli/dist/clis/pixiv/utils.js +49 -0
- package/vendor/opencli/dist/clis/producthunt/browse.d.ts +1 -0
- package/vendor/opencli/dist/clis/producthunt/browse.js +99 -0
- package/vendor/opencli/dist/clis/producthunt/hot.d.ts +1 -0
- package/vendor/opencli/dist/clis/producthunt/hot.js +110 -0
- package/vendor/opencli/dist/clis/producthunt/posts.d.ts +1 -0
- package/vendor/opencli/dist/clis/producthunt/posts.js +28 -0
- package/vendor/opencli/dist/clis/producthunt/today.d.ts +1 -0
- package/vendor/opencli/dist/clis/producthunt/today.js +35 -0
- package/vendor/opencli/dist/clis/producthunt/utils.d.ts +29 -0
- package/vendor/opencli/dist/clis/producthunt/utils.js +99 -0
- package/vendor/opencli/dist/clis/producthunt/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/producthunt/utils.test.js +64 -0
- package/vendor/opencli/dist/clis/reddit/comment.d.ts +1 -0
- package/vendor/opencli/dist/clis/reddit/comment.js +57 -0
- package/vendor/opencli/dist/clis/reddit/frontpage.yaml +30 -0
- package/vendor/opencli/dist/clis/reddit/hot.yaml +47 -0
- package/vendor/opencli/dist/clis/reddit/popular.yaml +40 -0
- package/vendor/opencli/dist/clis/reddit/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/reddit/read.js +184 -0
- package/vendor/opencli/dist/clis/reddit/read.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/reddit/read.test.js +28 -0
- package/vendor/opencli/dist/clis/reddit/save.d.ts +1 -0
- package/vendor/opencli/dist/clis/reddit/save.js +51 -0
- package/vendor/opencli/dist/clis/reddit/saved.d.ts +1 -0
- package/vendor/opencli/dist/clis/reddit/saved.js +49 -0
- package/vendor/opencli/dist/clis/reddit/search.yaml +61 -0
- package/vendor/opencli/dist/clis/reddit/subreddit.yaml +50 -0
- package/vendor/opencli/dist/clis/reddit/subscribe.d.ts +1 -0
- package/vendor/opencli/dist/clis/reddit/subscribe.js +50 -0
- package/vendor/opencli/dist/clis/reddit/upvote.d.ts +1 -0
- package/vendor/opencli/dist/clis/reddit/upvote.js +64 -0
- package/vendor/opencli/dist/clis/reddit/upvoted.d.ts +1 -0
- package/vendor/opencli/dist/clis/reddit/upvoted.js +49 -0
- package/vendor/opencli/dist/clis/reddit/user-comments.yaml +46 -0
- package/vendor/opencli/dist/clis/reddit/user-posts.yaml +44 -0
- package/vendor/opencli/dist/clis/reddit/user.yaml +40 -0
- package/vendor/opencli/dist/clis/reuters/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/reuters/search.js +51 -0
- package/vendor/opencli/dist/clis/sinablog/article.d.ts +1 -0
- package/vendor/opencli/dist/clis/sinablog/article.js +14 -0
- package/vendor/opencli/dist/clis/sinablog/hot.d.ts +1 -0
- package/vendor/opencli/dist/clis/sinablog/hot.js +14 -0
- package/vendor/opencli/dist/clis/sinablog/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/sinablog/search.js +51 -0
- package/vendor/opencli/dist/clis/sinablog/user.d.ts +1 -0
- package/vendor/opencli/dist/clis/sinablog/user.js +15 -0
- package/vendor/opencli/dist/clis/sinablog/utils.d.ts +7 -0
- package/vendor/opencli/dist/clis/sinablog/utils.js +186 -0
- package/vendor/opencli/dist/clis/sinafinance/news.d.ts +7 -0
- package/vendor/opencli/dist/clis/sinafinance/news.js +61 -0
- package/vendor/opencli/dist/clis/sinafinance/rolling-news.d.ts +4 -0
- package/vendor/opencli/dist/clis/sinafinance/rolling-news.js +40 -0
- package/vendor/opencli/dist/clis/sinafinance/stock-rank.d.ts +4 -0
- package/vendor/opencli/dist/clis/sinafinance/stock-rank.js +65 -0
- package/vendor/opencli/dist/clis/sinafinance/stock.d.ts +8 -0
- package/vendor/opencli/dist/clis/sinafinance/stock.js +117 -0
- package/vendor/opencli/dist/clis/smzdm/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/smzdm/search.js +54 -0
- package/vendor/opencli/dist/clis/spotify/spotify.d.ts +1 -0
- package/vendor/opencli/dist/clis/spotify/spotify.js +316 -0
- package/vendor/opencli/dist/clis/spotify/utils.d.ts +21 -0
- package/vendor/opencli/dist/clis/spotify/utils.js +66 -0
- package/vendor/opencli/dist/clis/spotify/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/spotify/utils.test.js +67 -0
- package/vendor/opencli/dist/clis/stackoverflow/bounties.yaml +29 -0
- package/vendor/opencli/dist/clis/stackoverflow/hot.yaml +28 -0
- package/vendor/opencli/dist/clis/stackoverflow/search.yaml +33 -0
- package/vendor/opencli/dist/clis/stackoverflow/unanswered.yaml +28 -0
- package/vendor/opencli/dist/clis/steam/top-sellers.yaml +29 -0
- package/vendor/opencli/dist/clis/substack/feed.d.ts +1 -0
- package/vendor/opencli/dist/clis/substack/feed.js +15 -0
- package/vendor/opencli/dist/clis/substack/publication.d.ts +1 -0
- package/vendor/opencli/dist/clis/substack/publication.js +15 -0
- package/vendor/opencli/dist/clis/substack/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/substack/search.js +78 -0
- package/vendor/opencli/dist/clis/substack/utils.d.ts +8 -0
- package/vendor/opencli/dist/clis/substack/utils.js +136 -0
- package/vendor/opencli/dist/clis/substack/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/substack/utils.test.js +44 -0
- package/vendor/opencli/dist/clis/tieba/commands.test.d.ts +4 -0
- package/vendor/opencli/dist/clis/tieba/commands.test.js +79 -0
- package/vendor/opencli/dist/clis/tieba/hot.d.ts +1 -0
- package/vendor/opencli/dist/clis/tieba/hot.js +48 -0
- package/vendor/opencli/dist/clis/tieba/posts.d.ts +1 -0
- package/vendor/opencli/dist/clis/tieba/posts.js +85 -0
- package/vendor/opencli/dist/clis/tieba/read.d.ts +1 -0
- package/vendor/opencli/dist/clis/tieba/read.js +140 -0
- package/vendor/opencli/dist/clis/tieba/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/tieba/search.js +108 -0
- package/vendor/opencli/dist/clis/tieba/utils.d.ts +101 -0
- package/vendor/opencli/dist/clis/tieba/utils.js +240 -0
- package/vendor/opencli/dist/clis/tieba/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/tieba/utils.test.js +290 -0
- package/vendor/opencli/dist/clis/tiktok/comment.yaml +66 -0
- package/vendor/opencli/dist/clis/tiktok/explore.yaml +39 -0
- package/vendor/opencli/dist/clis/tiktok/follow.yaml +39 -0
- package/vendor/opencli/dist/clis/tiktok/following.yaml +46 -0
- package/vendor/opencli/dist/clis/tiktok/friends.yaml +47 -0
- package/vendor/opencli/dist/clis/tiktok/like.yaml +38 -0
- package/vendor/opencli/dist/clis/tiktok/live.yaml +51 -0
- package/vendor/opencli/dist/clis/tiktok/notifications.yaml +52 -0
- package/vendor/opencli/dist/clis/tiktok/profile.yaml +45 -0
- package/vendor/opencli/dist/clis/tiktok/save.yaml +34 -0
- package/vendor/opencli/dist/clis/tiktok/search.yaml +47 -0
- package/vendor/opencli/dist/clis/tiktok/unfollow.yaml +44 -0
- package/vendor/opencli/dist/clis/tiktok/unlike.yaml +38 -0
- package/vendor/opencli/dist/clis/tiktok/unsave.yaml +36 -0
- package/vendor/opencli/dist/clis/tiktok/user.yaml +44 -0
- package/vendor/opencli/dist/clis/twitter/accept.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/accept.js +203 -0
- package/vendor/opencli/dist/clis/twitter/article.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/article.js +163 -0
- package/vendor/opencli/dist/clis/twitter/block.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/block.js +89 -0
- package/vendor/opencli/dist/clis/twitter/bookmark.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/bookmark.js +64 -0
- package/vendor/opencli/dist/clis/twitter/bookmarks.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/bookmarks.js +172 -0
- package/vendor/opencli/dist/clis/twitter/delete.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/delete.js +73 -0
- package/vendor/opencli/dist/clis/twitter/download.d.ts +8 -0
- package/vendor/opencli/dist/clis/twitter/download.js +110 -0
- package/vendor/opencli/dist/clis/twitter/follow.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/follow.js +66 -0
- package/vendor/opencli/dist/clis/twitter/followers.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/followers.js +102 -0
- package/vendor/opencli/dist/clis/twitter/following.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/following.js +95 -0
- package/vendor/opencli/dist/clis/twitter/hide-reply.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/hide-reply.js +67 -0
- package/vendor/opencli/dist/clis/twitter/like.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/like.js +69 -0
- package/vendor/opencli/dist/clis/twitter/likes.d.ts +24 -0
- package/vendor/opencli/dist/clis/twitter/likes.js +217 -0
- package/vendor/opencli/dist/clis/twitter/likes.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/likes.test.js +85 -0
- package/vendor/opencli/dist/clis/twitter/notifications.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/notifications.js +127 -0
- package/vendor/opencli/dist/clis/twitter/post.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/post.js +98 -0
- package/vendor/opencli/dist/clis/twitter/post.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/post.test.js +116 -0
- package/vendor/opencli/dist/clis/twitter/profile.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/profile.js +103 -0
- package/vendor/opencli/dist/clis/twitter/reply-dm.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/reply-dm.js +182 -0
- package/vendor/opencli/dist/clis/twitter/reply.d.ts +13 -0
- package/vendor/opencli/dist/clis/twitter/reply.js +280 -0
- package/vendor/opencli/dist/clis/twitter/reply.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/reply.test.js +151 -0
- package/vendor/opencli/dist/clis/twitter/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/search.js +169 -0
- package/vendor/opencli/dist/clis/twitter/search.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/search.test.js +236 -0
- package/vendor/opencli/dist/clis/twitter/shared.d.ts +6 -0
- package/vendor/opencli/dist/clis/twitter/shared.js +35 -0
- package/vendor/opencli/dist/clis/twitter/thread.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/thread.js +151 -0
- package/vendor/opencli/dist/clis/twitter/timeline.d.ts +24 -0
- package/vendor/opencli/dist/clis/twitter/timeline.js +204 -0
- package/vendor/opencli/dist/clis/twitter/timeline.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/timeline.test.js +102 -0
- package/vendor/opencli/dist/clis/twitter/trending.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/trending.js +60 -0
- package/vendor/opencli/dist/clis/twitter/unblock.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/unblock.js +72 -0
- package/vendor/opencli/dist/clis/twitter/unbookmark.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/unbookmark.js +63 -0
- package/vendor/opencli/dist/clis/twitter/unfollow.d.ts +1 -0
- package/vendor/opencli/dist/clis/twitter/unfollow.js +72 -0
- package/vendor/opencli/dist/clis/v2ex/daily.d.ts +1 -0
- package/vendor/opencli/dist/clis/v2ex/daily.js +98 -0
- package/vendor/opencli/dist/clis/v2ex/hot.yaml +28 -0
- package/vendor/opencli/dist/clis/v2ex/latest.yaml +28 -0
- package/vendor/opencli/dist/clis/v2ex/me.d.ts +1 -0
- package/vendor/opencli/dist/clis/v2ex/me.js +99 -0
- package/vendor/opencli/dist/clis/v2ex/member.yaml +29 -0
- package/vendor/opencli/dist/clis/v2ex/node.yaml +34 -0
- package/vendor/opencli/dist/clis/v2ex/nodes.yaml +31 -0
- package/vendor/opencli/dist/clis/v2ex/notifications.d.ts +1 -0
- package/vendor/opencli/dist/clis/v2ex/notifications.js +71 -0
- package/vendor/opencli/dist/clis/v2ex/replies.yaml +32 -0
- package/vendor/opencli/dist/clis/v2ex/topic.yaml +33 -0
- package/vendor/opencli/dist/clis/v2ex/user.yaml +34 -0
- package/vendor/opencli/dist/clis/web/read.d.ts +16 -0
- package/vendor/opencli/dist/clis/web/read.js +202 -0
- package/vendor/opencli/dist/clis/weibo/comments.d.ts +1 -0
- package/vendor/opencli/dist/clis/weibo/comments.js +53 -0
- package/vendor/opencli/dist/clis/weibo/feed.d.ts +1 -0
- package/vendor/opencli/dist/clis/weibo/feed.js +56 -0
- package/vendor/opencli/dist/clis/weibo/hot.d.ts +1 -0
- package/vendor/opencli/dist/clis/weibo/hot.js +39 -0
- package/vendor/opencli/dist/clis/weibo/me.d.ts +1 -0
- package/vendor/opencli/dist/clis/weibo/me.js +76 -0
- package/vendor/opencli/dist/clis/weibo/post.d.ts +1 -0
- package/vendor/opencli/dist/clis/weibo/post.js +75 -0
- package/vendor/opencli/dist/clis/weibo/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/weibo/search.js +73 -0
- package/vendor/opencli/dist/clis/weibo/user.d.ts +1 -0
- package/vendor/opencli/dist/clis/weibo/user.js +63 -0
- package/vendor/opencli/dist/clis/weibo/utils.d.ts +6 -0
- package/vendor/opencli/dist/clis/weibo/utils.js +30 -0
- package/vendor/opencli/dist/clis/weixin/download.d.ts +38 -0
- package/vendor/opencli/dist/clis/weixin/download.js +321 -0
- package/vendor/opencli/dist/clis/weread/book.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/book.js +219 -0
- package/vendor/opencli/dist/clis/weread/commands.test.d.ts +3 -0
- package/vendor/opencli/dist/clis/weread/commands.test.js +374 -0
- package/vendor/opencli/dist/clis/weread/highlights.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/highlights.js +23 -0
- package/vendor/opencli/dist/clis/weread/notebooks.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/notebooks.js +21 -0
- package/vendor/opencli/dist/clis/weread/notes.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/notes.js +29 -0
- package/vendor/opencli/dist/clis/weread/private-api-regression.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/private-api-regression.test.js +369 -0
- package/vendor/opencli/dist/clis/weread/ranking.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/ranking.js +28 -0
- package/vendor/opencli/dist/clis/weread/search-regression.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/search-regression.test.js +407 -0
- package/vendor/opencli/dist/clis/weread/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/search.js +162 -0
- package/vendor/opencli/dist/clis/weread/shelf.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/shelf.js +65 -0
- package/vendor/opencli/dist/clis/weread/utils.d.ts +76 -0
- package/vendor/opencli/dist/clis/weread/utils.js +321 -0
- package/vendor/opencli/dist/clis/weread/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/weread/utils.test.js +128 -0
- package/vendor/opencli/dist/clis/wikipedia/random.d.ts +1 -0
- package/vendor/opencli/dist/clis/wikipedia/random.js +19 -0
- package/vendor/opencli/dist/clis/wikipedia/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/wikipedia/search.js +30 -0
- package/vendor/opencli/dist/clis/wikipedia/summary.d.ts +1 -0
- package/vendor/opencli/dist/clis/wikipedia/summary.js +23 -0
- package/vendor/opencli/dist/clis/wikipedia/trending.d.ts +1 -0
- package/vendor/opencli/dist/clis/wikipedia/trending.js +35 -0
- package/vendor/opencli/dist/clis/wikipedia/utils.d.ts +36 -0
- package/vendor/opencli/dist/clis/wikipedia/utils.js +31 -0
- package/vendor/opencli/dist/clis/xianyu/chat.d.ts +7 -0
- package/vendor/opencli/dist/clis/xianyu/chat.js +146 -0
- package/vendor/opencli/dist/clis/xianyu/chat.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xianyu/chat.test.js +15 -0
- package/vendor/opencli/dist/clis/xianyu/item.d.ts +7 -0
- package/vendor/opencli/dist/clis/xianyu/item.js +152 -0
- package/vendor/opencli/dist/clis/xianyu/item.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xianyu/item.test.js +56 -0
- package/vendor/opencli/dist/clis/xianyu/search.d.ts +10 -0
- package/vendor/opencli/dist/clis/xianyu/search.js +134 -0
- package/vendor/opencli/dist/clis/xianyu/search.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xianyu/search.test.js +17 -0
- package/vendor/opencli/dist/clis/xianyu/utils.d.ts +1 -0
- package/vendor/opencli/dist/clis/xianyu/utils.js +8 -0
- package/vendor/opencli/dist/clis/xiaoe/catalog.yaml +129 -0
- package/vendor/opencli/dist/clis/xiaoe/content.yaml +43 -0
- package/vendor/opencli/dist/clis/xiaoe/courses.yaml +73 -0
- package/vendor/opencli/dist/clis/xiaoe/detail.yaml +39 -0
- package/vendor/opencli/dist/clis/xiaoe/play-url.yaml +124 -0
- package/vendor/opencli/dist/clis/xiaohongshu/comments.d.ts +8 -0
- package/vendor/opencli/dist/clis/xiaohongshu/comments.js +133 -0
- package/vendor/opencli/dist/clis/xiaohongshu/comments.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/comments.test.js +139 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-note-detail.d.ts +84 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-note-detail.js +341 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-note-detail.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-note-detail.test.js +259 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-notes-summary.d.ts +28 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-notes-summary.js +92 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-notes-summary.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-notes-summary.test.js +49 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-notes.d.ts +24 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-notes.js +227 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-notes.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-notes.test.js +192 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-profile.d.ts +10 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-profile.js +53 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-stats.d.ts +10 -0
- package/vendor/opencli/dist/clis/xiaohongshu/creator-stats.js +73 -0
- package/vendor/opencli/dist/clis/xiaohongshu/download.d.ts +10 -0
- package/vendor/opencli/dist/clis/xiaohongshu/download.js +167 -0
- package/vendor/opencli/dist/clis/xiaohongshu/download.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/download.test.js +73 -0
- package/vendor/opencli/dist/clis/xiaohongshu/feed.yaml +31 -0
- package/vendor/opencli/dist/clis/xiaohongshu/note-helpers.d.ts +12 -0
- package/vendor/opencli/dist/clis/xiaohongshu/note-helpers.js +23 -0
- package/vendor/opencli/dist/clis/xiaohongshu/note.d.ts +7 -0
- package/vendor/opencli/dist/clis/xiaohongshu/note.js +87 -0
- package/vendor/opencli/dist/clis/xiaohongshu/note.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/note.test.js +183 -0
- package/vendor/opencli/dist/clis/xiaohongshu/notifications.yaml +37 -0
- package/vendor/opencli/dist/clis/xiaohongshu/publish.d.ts +18 -0
- package/vendor/opencli/dist/clis/xiaohongshu/publish.js +531 -0
- package/vendor/opencli/dist/clis/xiaohongshu/publish.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/publish.test.js +195 -0
- package/vendor/opencli/dist/clis/xiaohongshu/search.d.ts +15 -0
- package/vendor/opencli/dist/clis/xiaohongshu/search.js +131 -0
- package/vendor/opencli/dist/clis/xiaohongshu/search.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/search.test.js +160 -0
- package/vendor/opencli/dist/clis/xiaohongshu/user-helpers.d.ts +16 -0
- package/vendor/opencli/dist/clis/xiaohongshu/user-helpers.js +69 -0
- package/vendor/opencli/dist/clis/xiaohongshu/user-helpers.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/user-helpers.test.js +99 -0
- package/vendor/opencli/dist/clis/xiaohongshu/user.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaohongshu/user.js +56 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/episode.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/episode.js +28 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/podcast-episodes.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/podcast-episodes.js +36 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/podcast.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/podcast.js +27 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/utils.d.ts +16 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/utils.js +55 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xiaoyuzhou/utils.test.js +99 -0
- package/vendor/opencli/dist/clis/xueqiu/comments.d.ts +118 -0
- package/vendor/opencli/dist/clis/xueqiu/comments.js +354 -0
- package/vendor/opencli/dist/clis/xueqiu/comments.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xueqiu/comments.test.js +696 -0
- package/vendor/opencli/dist/clis/xueqiu/danjuan-utils.d.ts +55 -0
- package/vendor/opencli/dist/clis/xueqiu/danjuan-utils.js +126 -0
- package/vendor/opencli/dist/clis/xueqiu/danjuan-utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/xueqiu/danjuan-utils.test.js +41 -0
- package/vendor/opencli/dist/clis/xueqiu/earnings-date.yaml +69 -0
- package/vendor/opencli/dist/clis/xueqiu/feed.yaml +53 -0
- package/vendor/opencli/dist/clis/xueqiu/fund-holdings.d.ts +1 -0
- package/vendor/opencli/dist/clis/xueqiu/fund-holdings.js +28 -0
- package/vendor/opencli/dist/clis/xueqiu/fund-snapshot.d.ts +1 -0
- package/vendor/opencli/dist/clis/xueqiu/fund-snapshot.js +25 -0
- package/vendor/opencli/dist/clis/xueqiu/hot-stock.yaml +49 -0
- package/vendor/opencli/dist/clis/xueqiu/hot.yaml +46 -0
- package/vendor/opencli/dist/clis/xueqiu/search.yaml +55 -0
- package/vendor/opencli/dist/clis/xueqiu/stock.yaml +69 -0
- package/vendor/opencli/dist/clis/xueqiu/watchlist.yaml +46 -0
- package/vendor/opencli/dist/clis/yahoo-finance/quote.d.ts +1 -0
- package/vendor/opencli/dist/clis/yahoo-finance/quote.js +72 -0
- package/vendor/opencli/dist/clis/yollomi/background.d.ts +4 -0
- package/vendor/opencli/dist/clis/yollomi/background.js +45 -0
- package/vendor/opencli/dist/clis/yollomi/edit.d.ts +5 -0
- package/vendor/opencli/dist/clis/yollomi/edit.js +56 -0
- package/vendor/opencli/dist/clis/yollomi/face-swap.d.ts +5 -0
- package/vendor/opencli/dist/clis/yollomi/face-swap.js +43 -0
- package/vendor/opencli/dist/clis/yollomi/generate.d.ts +9 -0
- package/vendor/opencli/dist/clis/yollomi/generate.js +100 -0
- package/vendor/opencli/dist/clis/yollomi/models.d.ts +1 -0
- package/vendor/opencli/dist/clis/yollomi/models.js +33 -0
- package/vendor/opencli/dist/clis/yollomi/object-remover.d.ts +4 -0
- package/vendor/opencli/dist/clis/yollomi/object-remover.js +42 -0
- package/vendor/opencli/dist/clis/yollomi/remove-bg.d.ts +4 -0
- package/vendor/opencli/dist/clis/yollomi/remove-bg.js +38 -0
- package/vendor/opencli/dist/clis/yollomi/restore.d.ts +4 -0
- package/vendor/opencli/dist/clis/yollomi/restore.js +38 -0
- package/vendor/opencli/dist/clis/yollomi/try-on.d.ts +4 -0
- package/vendor/opencli/dist/clis/yollomi/try-on.js +46 -0
- package/vendor/opencli/dist/clis/yollomi/upload.d.ts +7 -0
- package/vendor/opencli/dist/clis/yollomi/upload.js +71 -0
- package/vendor/opencli/dist/clis/yollomi/upscale.d.ts +4 -0
- package/vendor/opencli/dist/clis/yollomi/upscale.js +53 -0
- package/vendor/opencli/dist/clis/yollomi/utils.d.ts +45 -0
- package/vendor/opencli/dist/clis/yollomi/utils.js +180 -0
- package/vendor/opencli/dist/clis/yollomi/video.d.ts +5 -0
- package/vendor/opencli/dist/clis/yollomi/video.js +56 -0
- package/vendor/opencli/dist/clis/youtube/channel.d.ts +1 -0
- package/vendor/opencli/dist/clis/youtube/channel.js +150 -0
- package/vendor/opencli/dist/clis/youtube/comments.d.ts +1 -0
- package/vendor/opencli/dist/clis/youtube/comments.js +95 -0
- package/vendor/opencli/dist/clis/youtube/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/youtube/search.js +99 -0
- package/vendor/opencli/dist/clis/youtube/transcript-group.d.ts +44 -0
- package/vendor/opencli/dist/clis/youtube/transcript-group.js +226 -0
- package/vendor/opencli/dist/clis/youtube/transcript-group.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/youtube/transcript-group.test.js +99 -0
- package/vendor/opencli/dist/clis/youtube/transcript.d.ts +1 -0
- package/vendor/opencli/dist/clis/youtube/transcript.js +263 -0
- package/vendor/opencli/dist/clis/youtube/utils.d.ts +17 -0
- package/vendor/opencli/dist/clis/youtube/utils.js +92 -0
- package/vendor/opencli/dist/clis/youtube/utils.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/youtube/utils.test.js +37 -0
- package/vendor/opencli/dist/clis/youtube/video.d.ts +1 -0
- package/vendor/opencli/dist/clis/youtube/video.js +116 -0
- package/vendor/opencli/dist/clis/yuanbao/ask.d.ts +21 -0
- package/vendor/opencli/dist/clis/yuanbao/ask.js +427 -0
- package/vendor/opencli/dist/clis/yuanbao/ask.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/yuanbao/ask.test.js +124 -0
- package/vendor/opencli/dist/clis/yuanbao/new.d.ts +1 -0
- package/vendor/opencli/dist/clis/yuanbao/new.js +70 -0
- package/vendor/opencli/dist/clis/yuanbao/new.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/yuanbao/new.test.js +30 -0
- package/vendor/opencli/dist/clis/yuanbao/shared.d.ts +13 -0
- package/vendor/opencli/dist/clis/yuanbao/shared.js +49 -0
- package/vendor/opencli/dist/clis/zhihu/download.d.ts +7 -0
- package/vendor/opencli/dist/clis/zhihu/download.js +79 -0
- package/vendor/opencli/dist/clis/zhihu/download.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/zhihu/download.test.js +12 -0
- package/vendor/opencli/dist/clis/zhihu/hot.yaml +46 -0
- package/vendor/opencli/dist/clis/zhihu/question.d.ts +1 -0
- package/vendor/opencli/dist/clis/zhihu/question.js +53 -0
- package/vendor/opencli/dist/clis/zhihu/question.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/zhihu/question.test.js +72 -0
- package/vendor/opencli/dist/clis/zhihu/search.yaml +59 -0
- package/vendor/opencli/dist/clis/zsxq/dynamics.d.ts +1 -0
- package/vendor/opencli/dist/clis/zsxq/dynamics.js +47 -0
- package/vendor/opencli/dist/clis/zsxq/groups.d.ts +1 -0
- package/vendor/opencli/dist/clis/zsxq/groups.js +32 -0
- package/vendor/opencli/dist/clis/zsxq/search.d.ts +1 -0
- package/vendor/opencli/dist/clis/zsxq/search.js +43 -0
- package/vendor/opencli/dist/clis/zsxq/search.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/zsxq/search.test.js +24 -0
- package/vendor/opencli/dist/clis/zsxq/topic.d.ts +1 -0
- package/vendor/opencli/dist/clis/zsxq/topic.js +47 -0
- package/vendor/opencli/dist/clis/zsxq/topic.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/zsxq/topic.test.js +29 -0
- package/vendor/opencli/dist/clis/zsxq/topics.d.ts +1 -0
- package/vendor/opencli/dist/clis/zsxq/topics.js +25 -0
- package/vendor/opencli/dist/clis/zsxq/topics.test.d.ts +1 -0
- package/vendor/opencli/dist/clis/zsxq/topics.test.js +24 -0
- package/vendor/opencli/dist/clis/zsxq/utils.d.ts +97 -0
- package/vendor/opencli/dist/clis/zsxq/utils.js +230 -0
- package/vendor/opencli/dist/commanderAdapter.d.ts +22 -0
- package/vendor/opencli/dist/commanderAdapter.js +301 -0
- package/vendor/opencli/dist/commanderAdapter.test.d.ts +1 -0
- package/vendor/opencli/dist/commanderAdapter.test.js +244 -0
- package/vendor/opencli/dist/commands/daemon.d.ts +9 -0
- package/vendor/opencli/dist/commands/daemon.js +85 -0
- package/vendor/opencli/dist/commands/daemon.test.d.ts +1 -0
- package/vendor/opencli/dist/commands/daemon.test.js +160 -0
- package/vendor/opencli/dist/completion.d.ts +21 -0
- package/vendor/opencli/dist/completion.js +120 -0
- package/vendor/opencli/dist/completion.test.d.ts +1 -0
- package/vendor/opencli/dist/completion.test.js +23 -0
- package/vendor/opencli/dist/constants.d.ts +17 -0
- package/vendor/opencli/dist/constants.js +34 -0
- package/vendor/opencli/dist/daemon.d.ts +21 -0
- package/vendor/opencli/dist/daemon.js +303 -0
- package/vendor/opencli/dist/daemon.test.d.ts +1 -0
- package/vendor/opencli/dist/daemon.test.js +65 -0
- package/vendor/opencli/dist/discovery.d.ts +31 -0
- package/vendor/opencli/dist/discovery.js +330 -0
- package/vendor/opencli/dist/doctor.d.ts +38 -0
- package/vendor/opencli/dist/doctor.js +126 -0
- package/vendor/opencli/dist/doctor.test.d.ts +1 -0
- package/vendor/opencli/dist/doctor.test.js +91 -0
- package/vendor/opencli/dist/download/article-download.d.ts +59 -0
- package/vendor/opencli/dist/download/article-download.js +178 -0
- package/vendor/opencli/dist/download/index.d.ts +71 -0
- package/vendor/opencli/dist/download/index.js +345 -0
- package/vendor/opencli/dist/download/index.test.d.ts +1 -0
- package/vendor/opencli/dist/download/index.test.js +118 -0
- package/vendor/opencli/dist/download/media-download.d.ts +49 -0
- package/vendor/opencli/dist/download/media-download.js +114 -0
- package/vendor/opencli/dist/download/progress.d.ts +36 -0
- package/vendor/opencli/dist/download/progress.js +111 -0
- package/vendor/opencli/dist/electron-apps.d.ts +31 -0
- package/vendor/opencli/dist/electron-apps.js +71 -0
- package/vendor/opencli/dist/electron-apps.test.d.ts +1 -0
- package/vendor/opencli/dist/electron-apps.test.js +43 -0
- package/vendor/opencli/dist/engine.test.d.ts +1 -0
- package/vendor/opencli/dist/engine.test.js +297 -0
- package/vendor/opencli/dist/errors.d.ts +76 -0
- package/vendor/opencli/dist/errors.js +119 -0
- package/vendor/opencli/dist/errors.test.d.ts +1 -0
- package/vendor/opencli/dist/errors.test.js +59 -0
- package/vendor/opencli/dist/execution.d.ts +14 -0
- package/vendor/opencli/dist/execution.js +209 -0
- package/vendor/opencli/dist/execution.test.d.ts +1 -0
- package/vendor/opencli/dist/execution.test.js +40 -0
- package/vendor/opencli/dist/explore.d.ts +101 -0
- package/vendor/opencli/dist/explore.js +379 -0
- package/vendor/opencli/dist/extension-manifest-regression.test.d.ts +1 -0
- package/vendor/opencli/dist/extension-manifest-regression.test.js +13 -0
- package/vendor/opencli/dist/external-clis.yaml +56 -0
- package/vendor/opencli/dist/external.d.ts +40 -0
- package/vendor/opencli/dist/external.js +209 -0
- package/vendor/opencli/dist/external.test.d.ts +1 -0
- package/vendor/opencli/dist/external.test.js +68 -0
- package/vendor/opencli/dist/generate.d.ts +41 -0
- package/vendor/opencli/dist/generate.js +121 -0
- package/vendor/opencli/dist/hooks.d.ts +46 -0
- package/vendor/opencli/dist/hooks.js +58 -0
- package/vendor/opencli/dist/hooks.test.d.ts +4 -0
- package/vendor/opencli/dist/hooks.test.js +92 -0
- package/vendor/opencli/dist/idle-manager.d.ts +19 -0
- package/vendor/opencli/dist/idle-manager.js +54 -0
- package/vendor/opencli/dist/interceptor.d.ts +42 -0
- package/vendor/opencli/dist/interceptor.js +186 -0
- package/vendor/opencli/dist/interceptor.test.d.ts +4 -0
- package/vendor/opencli/dist/interceptor.test.js +81 -0
- package/vendor/opencli/dist/launcher.d.ts +40 -0
- package/vendor/opencli/dist/launcher.js +208 -0
- package/vendor/opencli/dist/launcher.test.d.ts +1 -0
- package/vendor/opencli/dist/launcher.test.js +138 -0
- package/vendor/opencli/dist/logger.d.ts +22 -0
- package/vendor/opencli/dist/logger.js +47 -0
- package/vendor/opencli/dist/main.d.ts +5 -0
- package/vendor/opencli/dist/main.js +60 -0
- package/vendor/opencli/dist/node-network.d.ts +10 -0
- package/vendor/opencli/dist/node-network.js +174 -0
- package/vendor/opencli/dist/node-network.test.d.ts +1 -0
- package/vendor/opencli/dist/node-network.test.js +55 -0
- package/vendor/opencli/dist/output.d.ts +14 -0
- package/vendor/opencli/dist/output.js +147 -0
- package/vendor/opencli/dist/output.test.d.ts +1 -0
- package/vendor/opencli/dist/output.test.js +62 -0
- package/vendor/opencli/dist/pipeline/executor.d.ts +11 -0
- package/vendor/opencli/dist/pipeline/executor.js +93 -0
- package/vendor/opencli/dist/pipeline/executor.test.d.ts +4 -0
- package/vendor/opencli/dist/pipeline/executor.test.js +173 -0
- package/vendor/opencli/dist/pipeline/index.d.ts +5 -0
- package/vendor/opencli/dist/pipeline/index.js +5 -0
- package/vendor/opencli/dist/pipeline/registry.d.ts +19 -0
- package/vendor/opencli/dist/pipeline/registry.js +43 -0
- package/vendor/opencli/dist/pipeline/steps/browser.d.ts +12 -0
- package/vendor/opencli/dist/pipeline/steps/browser.js +76 -0
- package/vendor/opencli/dist/pipeline/steps/download.d.ts +34 -0
- package/vendor/opencli/dist/pipeline/steps/download.js +263 -0
- package/vendor/opencli/dist/pipeline/steps/download.test.d.ts +1 -0
- package/vendor/opencli/dist/pipeline/steps/download.test.js +100 -0
- package/vendor/opencli/dist/pipeline/steps/fetch.d.ts +5 -0
- package/vendor/opencli/dist/pipeline/steps/fetch.js +142 -0
- package/vendor/opencli/dist/pipeline/steps/fetch.test.d.ts +1 -0
- package/vendor/opencli/dist/pipeline/steps/fetch.test.js +123 -0
- package/vendor/opencli/dist/pipeline/steps/intercept.d.ts +5 -0
- package/vendor/opencli/dist/pipeline/steps/intercept.js +50 -0
- package/vendor/opencli/dist/pipeline/steps/tap.d.ts +12 -0
- package/vendor/opencli/dist/pipeline/steps/tap.js +92 -0
- package/vendor/opencli/dist/pipeline/steps/transform.d.ts +9 -0
- package/vendor/opencli/dist/pipeline/steps/transform.js +70 -0
- package/vendor/opencli/dist/pipeline/template.d.ts +16 -0
- package/vendor/opencli/dist/pipeline/template.js +276 -0
- package/vendor/opencli/dist/pipeline/template.test.d.ts +4 -0
- package/vendor/opencli/dist/pipeline/template.test.js +172 -0
- package/vendor/opencli/dist/pipeline/transform.test.d.ts +4 -0
- package/vendor/opencli/dist/pipeline/transform.test.js +119 -0
- package/vendor/opencli/dist/plugin-manifest.d.ts +70 -0
- package/vendor/opencli/dist/plugin-manifest.js +160 -0
- package/vendor/opencli/dist/plugin-manifest.test.d.ts +4 -0
- package/vendor/opencli/dist/plugin-manifest.test.js +179 -0
- package/vendor/opencli/dist/plugin-scaffold.d.ts +28 -0
- package/vendor/opencli/dist/plugin-scaffold.js +142 -0
- package/vendor/opencli/dist/plugin-scaffold.test.d.ts +4 -0
- package/vendor/opencli/dist/plugin-scaffold.test.js +83 -0
- package/vendor/opencli/dist/plugin.d.ts +145 -0
- package/vendor/opencli/dist/plugin.js +1221 -0
- package/vendor/opencli/dist/plugin.test.d.ts +4 -0
- package/vendor/opencli/dist/plugin.test.js +1312 -0
- package/vendor/opencli/dist/record.d.ts +97 -0
- package/vendor/opencli/dist/record.js +694 -0
- package/vendor/opencli/dist/record.test.d.ts +1 -0
- package/vendor/opencli/dist/record.test.js +293 -0
- package/vendor/opencli/dist/registry-api.d.ts +13 -0
- package/vendor/opencli/dist/registry-api.js +10 -0
- package/vendor/opencli/dist/registry.d.ts +81 -0
- package/vendor/opencli/dist/registry.js +78 -0
- package/vendor/opencli/dist/registry.test.d.ts +4 -0
- package/vendor/opencli/dist/registry.test.js +113 -0
- package/vendor/opencli/dist/runtime-detect.d.ts +21 -0
- package/vendor/opencli/dist/runtime-detect.js +32 -0
- package/vendor/opencli/dist/runtime-detect.test.d.ts +1 -0
- package/vendor/opencli/dist/runtime-detect.test.js +27 -0
- package/vendor/opencli/dist/runtime.d.ts +36 -0
- package/vendor/opencli/dist/runtime.js +61 -0
- package/vendor/opencli/dist/scripts/framework.d.ts +4 -0
- package/vendor/opencli/dist/scripts/framework.js +21 -0
- package/vendor/opencli/dist/scripts/interact.d.ts +4 -0
- package/vendor/opencli/dist/scripts/interact.js +20 -0
- package/vendor/opencli/dist/scripts/store.d.ts +9 -0
- package/vendor/opencli/dist/scripts/store.js +44 -0
- package/vendor/opencli/dist/serialization.d.ts +38 -0
- package/vendor/opencli/dist/serialization.js +78 -0
- package/vendor/opencli/dist/serialization.test.d.ts +1 -0
- package/vendor/opencli/dist/serialization.test.js +39 -0
- package/vendor/opencli/dist/snapshotFormatter.d.ts +11 -0
- package/vendor/opencli/dist/snapshotFormatter.js +338 -0
- package/vendor/opencli/dist/snapshotFormatter.test.d.ts +7 -0
- package/vendor/opencli/dist/snapshotFormatter.test.js +521 -0
- package/vendor/opencli/dist/synthesize.d.ts +103 -0
- package/vendor/opencli/dist/synthesize.js +216 -0
- package/vendor/opencli/dist/tui.d.ts +29 -0
- package/vendor/opencli/dist/tui.js +192 -0
- package/vendor/opencli/dist/tui.test.d.ts +1 -0
- package/vendor/opencli/dist/tui.test.js +19 -0
- package/vendor/opencli/dist/types.d.ts +98 -0
- package/vendor/opencli/dist/types.js +7 -0
- package/vendor/opencli/dist/update-check.d.ts +22 -0
- package/vendor/opencli/dist/update-check.js +112 -0
- package/vendor/opencli/dist/utils.d.ts +11 -0
- package/vendor/opencli/dist/utils.js +33 -0
- package/vendor/opencli/dist/validate.d.ts +14 -0
- package/vendor/opencli/dist/validate.js +96 -0
- package/vendor/opencli/dist/verify.d.ts +26 -0
- package/vendor/opencli/dist/verify.js +67 -0
- package/vendor/opencli/dist/version.d.ts +4 -0
- package/vendor/opencli/dist/version.js +16 -0
- package/vendor/opencli/dist/weixin-download.test.d.ts +1 -0
- package/vendor/opencli/dist/weixin-download.test.js +44 -0
- package/vendor/opencli/dist/yaml-schema.d.ts +29 -0
- package/vendor/opencli/dist/yaml-schema.js +22 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { CommandExecutionError } from '../../errors.js';
|
|
2
|
+
import { cli, Strategy } from '../../registry.js';
|
|
3
|
+
cli({
|
|
4
|
+
site: 'twitter',
|
|
5
|
+
name: 'notifications',
|
|
6
|
+
description: 'Get Twitter/X notifications',
|
|
7
|
+
domain: 'x.com',
|
|
8
|
+
strategy: Strategy.INTERCEPT,
|
|
9
|
+
browser: true,
|
|
10
|
+
args: [
|
|
11
|
+
{ name: 'limit', type: 'int', default: 20 },
|
|
12
|
+
],
|
|
13
|
+
columns: ['id', 'action', 'author', 'text', 'url'],
|
|
14
|
+
func: async (page, kwargs) => {
|
|
15
|
+
// 1. Navigate to home first (we need a loaded Twitter page for SPA navigation)
|
|
16
|
+
await page.goto('https://x.com/home');
|
|
17
|
+
await page.wait(3);
|
|
18
|
+
// 2. Install interceptor BEFORE SPA navigation
|
|
19
|
+
await page.installInterceptor('NotificationsTimeline');
|
|
20
|
+
// 3. SPA navigate to notifications via history API
|
|
21
|
+
await page.evaluate(`() => {
|
|
22
|
+
window.history.pushState({}, '', '/notifications');
|
|
23
|
+
window.dispatchEvent(new PopStateEvent('popstate', { state: {} }));
|
|
24
|
+
}`);
|
|
25
|
+
await page.waitForCapture(5);
|
|
26
|
+
// Verify SPA navigation succeeded
|
|
27
|
+
const currentUrl = await page.evaluate('() => window.location.pathname');
|
|
28
|
+
if (currentUrl !== '/notifications') {
|
|
29
|
+
throw new CommandExecutionError('SPA navigation to notifications failed. Twitter may have changed its routing.');
|
|
30
|
+
}
|
|
31
|
+
// 4. Scroll to trigger pagination
|
|
32
|
+
await page.autoScroll({ times: 2, delayMs: 2000 });
|
|
33
|
+
// 5. Retrieve data
|
|
34
|
+
const requests = await page.getInterceptedRequests();
|
|
35
|
+
if (!requests || requests.length === 0)
|
|
36
|
+
return [];
|
|
37
|
+
let results = [];
|
|
38
|
+
const seen = new Set();
|
|
39
|
+
for (const req of requests) {
|
|
40
|
+
try {
|
|
41
|
+
// GraphQL response: { data: { viewer: ... } } (one level of .data)
|
|
42
|
+
let instructions = [];
|
|
43
|
+
if (req.data?.viewer?.timeline_response?.timeline?.instructions) {
|
|
44
|
+
instructions = req.data.viewer.timeline_response.timeline.instructions;
|
|
45
|
+
}
|
|
46
|
+
else if (req.data?.viewer_v2?.user_results?.result?.notification_timeline?.timeline?.instructions) {
|
|
47
|
+
instructions = req.data.viewer_v2.user_results.result.notification_timeline.timeline.instructions;
|
|
48
|
+
}
|
|
49
|
+
else if (req.data?.timeline?.instructions) {
|
|
50
|
+
instructions = req.data.timeline.instructions;
|
|
51
|
+
}
|
|
52
|
+
let addEntries = instructions.find((i) => i.type === 'TimelineAddEntries');
|
|
53
|
+
if (!addEntries) {
|
|
54
|
+
addEntries = instructions.find((i) => i.entries && Array.isArray(i.entries));
|
|
55
|
+
}
|
|
56
|
+
if (!addEntries)
|
|
57
|
+
continue;
|
|
58
|
+
for (const entry of addEntries.entries) {
|
|
59
|
+
if (!entry.entryId.startsWith('notification-')) {
|
|
60
|
+
if (entry.content?.items) {
|
|
61
|
+
for (const subItem of entry.content.items) {
|
|
62
|
+
processNotificationItem(subItem.item?.itemContent, subItem.entryId);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
processNotificationItem(entry.content?.itemContent, entry.entryId);
|
|
68
|
+
}
|
|
69
|
+
function processNotificationItem(itemContent, entryId) {
|
|
70
|
+
if (!itemContent)
|
|
71
|
+
return;
|
|
72
|
+
let item = itemContent?.notification_results?.result || itemContent?.tweet_results?.result || itemContent;
|
|
73
|
+
let actionText = 'Notification';
|
|
74
|
+
let author = 'unknown';
|
|
75
|
+
let text = '';
|
|
76
|
+
let urlStr = '';
|
|
77
|
+
if (item.__typename === 'TimelineNotification') {
|
|
78
|
+
text = item.rich_message?.text || item.message?.text || '';
|
|
79
|
+
const fromUser = item.template?.from_users?.[0]?.user_results?.result;
|
|
80
|
+
// Twitter moved screen_name from legacy to core
|
|
81
|
+
author = fromUser?.core?.screen_name || fromUser?.legacy?.screen_name || 'unknown';
|
|
82
|
+
urlStr = item.notification_url?.url || '';
|
|
83
|
+
actionText = item.notification_icon || 'Activity';
|
|
84
|
+
const targetTweet = item.template?.target_objects?.[0]?.tweet_results?.result;
|
|
85
|
+
if (targetTweet) {
|
|
86
|
+
const targetText = targetTweet.note_tweet?.note_tweet_results?.result?.text || targetTweet.legacy?.full_text || '';
|
|
87
|
+
text += text && targetText ? ' | ' + targetText : targetText;
|
|
88
|
+
if (!urlStr) {
|
|
89
|
+
urlStr = `https://x.com/i/status/${targetTweet.rest_id}`;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else if (item.__typename === 'TweetNotification') {
|
|
94
|
+
const tweet = item.tweet_result?.result;
|
|
95
|
+
const tweetUser = tweet?.core?.user_results?.result;
|
|
96
|
+
author = tweetUser?.core?.screen_name || tweetUser?.legacy?.screen_name || 'unknown';
|
|
97
|
+
text = tweet?.note_tweet?.note_tweet_results?.result?.text || tweet?.legacy?.full_text || item.message?.text || '';
|
|
98
|
+
actionText = 'Mention/Reply';
|
|
99
|
+
urlStr = `https://x.com/i/status/${tweet?.rest_id}`;
|
|
100
|
+
}
|
|
101
|
+
else if (item.__typename === 'Tweet') {
|
|
102
|
+
const tweetUser = item.core?.user_results?.result;
|
|
103
|
+
author = tweetUser?.core?.screen_name || tweetUser?.legacy?.screen_name || 'unknown';
|
|
104
|
+
text = item.note_tweet?.note_tweet_results?.result?.text || item.legacy?.full_text || '';
|
|
105
|
+
actionText = 'Mention';
|
|
106
|
+
urlStr = `https://x.com/i/status/${item.rest_id}`;
|
|
107
|
+
}
|
|
108
|
+
const id = item.id || item.rest_id || entryId;
|
|
109
|
+
if (seen.has(id))
|
|
110
|
+
return;
|
|
111
|
+
seen.add(id);
|
|
112
|
+
results.push({
|
|
113
|
+
id,
|
|
114
|
+
action: actionText,
|
|
115
|
+
author: author,
|
|
116
|
+
text: text,
|
|
117
|
+
url: urlStr || `https://x.com/notifications`
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
// ignore parsing errors for individual payloads
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return results.slice(0, kwargs.limit);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { cli, Strategy } from '../../registry.js';
|
|
4
|
+
import { CommandExecutionError } from '../../errors.js';
|
|
5
|
+
const MAX_IMAGES = 4;
|
|
6
|
+
const UPLOAD_POLL_MS = 500;
|
|
7
|
+
const UPLOAD_TIMEOUT_MS = 30_000;
|
|
8
|
+
const SUPPORTED_EXTENSIONS = new Set(['.jpg', '.jpeg', '.png', '.gif', '.webp']);
|
|
9
|
+
function validateImagePaths(raw) {
|
|
10
|
+
const paths = raw.split(',').map(s => s.trim()).filter(Boolean);
|
|
11
|
+
if (paths.length > MAX_IMAGES) {
|
|
12
|
+
throw new CommandExecutionError(`Too many images: ${paths.length} (max ${MAX_IMAGES})`);
|
|
13
|
+
}
|
|
14
|
+
return paths.map(p => {
|
|
15
|
+
const absPath = path.resolve(p);
|
|
16
|
+
const ext = path.extname(absPath).toLowerCase();
|
|
17
|
+
if (!SUPPORTED_EXTENSIONS.has(ext)) {
|
|
18
|
+
throw new CommandExecutionError(`Unsupported image format "${ext}". Supported: jpg, png, gif, webp`);
|
|
19
|
+
}
|
|
20
|
+
const stat = fs.statSync(absPath, { throwIfNoEntry: false });
|
|
21
|
+
if (!stat || !stat.isFile()) {
|
|
22
|
+
throw new CommandExecutionError(`Not a valid file: ${absPath}`);
|
|
23
|
+
}
|
|
24
|
+
return absPath;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
cli({
|
|
28
|
+
site: 'twitter',
|
|
29
|
+
name: 'post',
|
|
30
|
+
description: 'Post a new tweet/thread',
|
|
31
|
+
domain: 'x.com',
|
|
32
|
+
strategy: Strategy.UI,
|
|
33
|
+
browser: true,
|
|
34
|
+
args: [
|
|
35
|
+
{ name: 'text', type: 'string', required: true, positional: true, help: 'The text content of the tweet' },
|
|
36
|
+
{ name: 'images', type: 'string', required: false, help: 'Image paths, comma-separated, max 4 (jpg/png/gif/webp)' },
|
|
37
|
+
],
|
|
38
|
+
columns: ['status', 'message', 'text'],
|
|
39
|
+
func: async (page, kwargs) => {
|
|
40
|
+
if (!page)
|
|
41
|
+
throw new CommandExecutionError('Browser session required for twitter post');
|
|
42
|
+
// Validate images upfront before any browser interaction
|
|
43
|
+
const absPaths = kwargs.images ? validateImagePaths(String(kwargs.images)) : [];
|
|
44
|
+
// 1. Navigate to compose modal
|
|
45
|
+
await page.goto('https://x.com/compose/tweet');
|
|
46
|
+
await page.wait(3);
|
|
47
|
+
// 2. Type the text via clipboard paste (handles newlines in Draft.js)
|
|
48
|
+
const typeResult = await page.evaluate(`(async () => {
|
|
49
|
+
try {
|
|
50
|
+
const box = document.querySelector('[data-testid="tweetTextarea_0"]');
|
|
51
|
+
if (!box) return { ok: false, message: 'Could not find the tweet composer text area.' };
|
|
52
|
+
box.focus();
|
|
53
|
+
const dt = new DataTransfer();
|
|
54
|
+
dt.setData('text/plain', ${JSON.stringify(kwargs.text)});
|
|
55
|
+
box.dispatchEvent(new ClipboardEvent('paste', { clipboardData: dt, bubbles: true, cancelable: true }));
|
|
56
|
+
return { ok: true };
|
|
57
|
+
} catch (e) { return { ok: false, message: String(e) }; }
|
|
58
|
+
})()`);
|
|
59
|
+
if (!typeResult.ok) {
|
|
60
|
+
return [{ status: 'failed', message: typeResult.message, text: kwargs.text }];
|
|
61
|
+
}
|
|
62
|
+
// 3. Attach images if provided
|
|
63
|
+
if (absPaths.length > 0) {
|
|
64
|
+
if (!page.setFileInput) {
|
|
65
|
+
throw new CommandExecutionError('Browser extension does not support file upload. Please update the extension.');
|
|
66
|
+
}
|
|
67
|
+
await page.setFileInput(absPaths, 'input[data-testid="fileInput"]');
|
|
68
|
+
// Poll until attachments render and tweet button is enabled
|
|
69
|
+
const pollIterations = Math.ceil(UPLOAD_TIMEOUT_MS / UPLOAD_POLL_MS);
|
|
70
|
+
const uploaded = await page.evaluate(`(async () => {
|
|
71
|
+
for (let i = 0; i < ${JSON.stringify(pollIterations)}; i++) {
|
|
72
|
+
await new Promise(r => setTimeout(r, ${JSON.stringify(UPLOAD_POLL_MS)}));
|
|
73
|
+
const container = document.querySelector('[data-testid="attachments"]');
|
|
74
|
+
if (!container) continue;
|
|
75
|
+
if (container.querySelectorAll('[role="group"]').length !== ${JSON.stringify(absPaths.length)}) continue;
|
|
76
|
+
const btn = document.querySelector('[data-testid="tweetButton"]') || document.querySelector('[data-testid="tweetButtonInline"]');
|
|
77
|
+
if (btn && !btn.disabled) return true;
|
|
78
|
+
}
|
|
79
|
+
return false;
|
|
80
|
+
})()`);
|
|
81
|
+
if (!uploaded) {
|
|
82
|
+
return [{ status: 'failed', message: `Image upload timed out (${UPLOAD_TIMEOUT_MS / 1000}s).`, text: kwargs.text }];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// 4. Click the post button
|
|
86
|
+
await page.wait(1);
|
|
87
|
+
const result = await page.evaluate(`(async () => {
|
|
88
|
+
try {
|
|
89
|
+
const btn = document.querySelector('[data-testid="tweetButton"]') || document.querySelector('[data-testid="tweetButtonInline"]');
|
|
90
|
+
if (btn && !btn.disabled) { btn.click(); return { ok: true, message: 'Tweet posted successfully.' }; }
|
|
91
|
+
return { ok: false, message: 'Tweet button is disabled or not found.' };
|
|
92
|
+
} catch (e) { return { ok: false, message: String(e) }; }
|
|
93
|
+
})()`);
|
|
94
|
+
if (result.ok)
|
|
95
|
+
await page.wait(3);
|
|
96
|
+
return [{ status: result.ok ? 'success' : 'failed', message: result.message, text: kwargs.text }];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './post.js';
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { getRegistry } from '../../registry.js';
|
|
3
|
+
import './post.js';
|
|
4
|
+
vi.mock('node:fs', async (importOriginal) => {
|
|
5
|
+
const actual = await importOriginal();
|
|
6
|
+
return {
|
|
7
|
+
...actual,
|
|
8
|
+
statSync: vi.fn((p, _opts) => {
|
|
9
|
+
if (String(p).includes('missing'))
|
|
10
|
+
return undefined;
|
|
11
|
+
return { isFile: () => true };
|
|
12
|
+
}),
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
vi.mock('node:path', async (importOriginal) => {
|
|
16
|
+
const actual = await importOriginal();
|
|
17
|
+
return {
|
|
18
|
+
...actual,
|
|
19
|
+
resolve: vi.fn((p) => `/abs/${p}`),
|
|
20
|
+
extname: vi.fn((p) => {
|
|
21
|
+
const m = p.match(/\.[^.]+$/);
|
|
22
|
+
return m ? m[0] : '';
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
function makePage(overrides = {}) {
|
|
27
|
+
return {
|
|
28
|
+
goto: vi.fn().mockResolvedValue(undefined),
|
|
29
|
+
wait: vi.fn().mockResolvedValue(undefined),
|
|
30
|
+
evaluate: vi.fn().mockResolvedValue({ ok: true }),
|
|
31
|
+
setFileInput: vi.fn().mockResolvedValue(undefined),
|
|
32
|
+
...overrides,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
describe('twitter post command', () => {
|
|
36
|
+
const getCommand = () => getRegistry().get('twitter/post');
|
|
37
|
+
it('posts text-only tweet successfully', async () => {
|
|
38
|
+
const command = getCommand();
|
|
39
|
+
const page = makePage({
|
|
40
|
+
evaluate: vi.fn()
|
|
41
|
+
.mockResolvedValueOnce({ ok: true })
|
|
42
|
+
.mockResolvedValueOnce({ ok: true, message: 'Tweet posted successfully.' }),
|
|
43
|
+
});
|
|
44
|
+
const result = await command.func(page, { text: 'hello world' });
|
|
45
|
+
expect(result).toEqual([{ status: 'success', message: 'Tweet posted successfully.', text: 'hello world' }]);
|
|
46
|
+
expect(page.goto).toHaveBeenCalledWith('https://x.com/compose/tweet');
|
|
47
|
+
});
|
|
48
|
+
it('returns failed when text area not found', async () => {
|
|
49
|
+
const command = getCommand();
|
|
50
|
+
const page = makePage({
|
|
51
|
+
evaluate: vi.fn()
|
|
52
|
+
.mockResolvedValueOnce({ ok: false, message: 'Could not find the tweet composer text area.' }),
|
|
53
|
+
});
|
|
54
|
+
const result = await command.func(page, { text: 'hello' });
|
|
55
|
+
expect(result).toEqual([{ status: 'failed', message: 'Could not find the tweet composer text area.', text: 'hello' }]);
|
|
56
|
+
});
|
|
57
|
+
it('throws when more than 4 images', async () => {
|
|
58
|
+
const command = getCommand();
|
|
59
|
+
const page = makePage();
|
|
60
|
+
await expect(command.func(page, { text: 'hi', images: 'a.png,b.png,c.png,d.png,e.png' })).rejects.toThrow('Too many images: 5 (max 4)');
|
|
61
|
+
});
|
|
62
|
+
it('throws when image file does not exist', async () => {
|
|
63
|
+
const command = getCommand();
|
|
64
|
+
const page = makePage();
|
|
65
|
+
await expect(command.func(page, { text: 'hi', images: 'missing.png' })).rejects.toThrow('Not a valid file');
|
|
66
|
+
});
|
|
67
|
+
it('throws on unsupported image format', async () => {
|
|
68
|
+
const command = getCommand();
|
|
69
|
+
const page = makePage();
|
|
70
|
+
await expect(command.func(page, { text: 'hi', images: 'photo.bmp' })).rejects.toThrow('Unsupported image format');
|
|
71
|
+
});
|
|
72
|
+
it('throws when page.setFileInput is not available', async () => {
|
|
73
|
+
const command = getCommand();
|
|
74
|
+
const page = makePage({
|
|
75
|
+
evaluate: vi.fn().mockResolvedValueOnce({ ok: true }),
|
|
76
|
+
setFileInput: undefined,
|
|
77
|
+
});
|
|
78
|
+
await expect(command.func(page, { text: 'hi', images: 'a.png' })).rejects.toThrow('Browser extension does not support file upload');
|
|
79
|
+
});
|
|
80
|
+
it('posts with images when upload completes', async () => {
|
|
81
|
+
const command = getCommand();
|
|
82
|
+
const page = makePage({
|
|
83
|
+
evaluate: vi.fn()
|
|
84
|
+
.mockResolvedValueOnce({ ok: true }) // type text
|
|
85
|
+
.mockResolvedValueOnce(true) // upload polling returns true
|
|
86
|
+
.mockResolvedValueOnce({ ok: true, message: 'Tweet posted successfully.' }), // click post
|
|
87
|
+
});
|
|
88
|
+
const result = await command.func(page, { text: 'with images', images: 'a.png,b.png' });
|
|
89
|
+
expect(result).toEqual([{ status: 'success', message: 'Tweet posted successfully.', text: 'with images' }]);
|
|
90
|
+
expect(page.setFileInput).toHaveBeenCalled();
|
|
91
|
+
const uploadScript = page.evaluate.mock.calls[1][0];
|
|
92
|
+
expect(uploadScript).toContain('[data-testid="attachments"]');
|
|
93
|
+
expect(uploadScript).toContain('[role="group"]');
|
|
94
|
+
});
|
|
95
|
+
it('returns failed when image upload times out', async () => {
|
|
96
|
+
const command = getCommand();
|
|
97
|
+
const page = makePage({
|
|
98
|
+
evaluate: vi.fn()
|
|
99
|
+
.mockResolvedValueOnce({ ok: true })
|
|
100
|
+
.mockResolvedValueOnce(false),
|
|
101
|
+
});
|
|
102
|
+
const result = await command.func(page, { text: 'timeout', images: 'a.png' });
|
|
103
|
+
expect(result).toEqual([{ status: 'failed', message: 'Image upload timed out (30s).', text: 'timeout' }]);
|
|
104
|
+
});
|
|
105
|
+
it('validates images before navigating to compose page', async () => {
|
|
106
|
+
const command = getCommand();
|
|
107
|
+
const page = makePage();
|
|
108
|
+
await expect(command.func(page, { text: 'hi', images: 'missing.png' })).rejects.toThrow('Not a valid file');
|
|
109
|
+
// Should NOT have navigated since validation happens first
|
|
110
|
+
expect(page.goto).not.toHaveBeenCalled();
|
|
111
|
+
});
|
|
112
|
+
it('throws when no browser session', async () => {
|
|
113
|
+
const command = getCommand();
|
|
114
|
+
await expect(command.func(null, { text: 'hi' })).rejects.toThrow('Browser session required for twitter post');
|
|
115
|
+
});
|
|
116
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { AuthRequiredError, CommandExecutionError } from '../../errors.js';
|
|
2
|
+
import { cli, Strategy } from '../../registry.js';
|
|
3
|
+
import { resolveTwitterQueryId } from './shared.js';
|
|
4
|
+
const USER_BY_SCREEN_NAME_QUERY_ID = 'qRednkZG-rn1P6b48NINmQ';
|
|
5
|
+
cli({
|
|
6
|
+
site: 'twitter',
|
|
7
|
+
name: 'profile',
|
|
8
|
+
description: 'Fetch a Twitter user profile (bio, stats, etc.)',
|
|
9
|
+
domain: 'x.com',
|
|
10
|
+
strategy: Strategy.COOKIE,
|
|
11
|
+
browser: true,
|
|
12
|
+
args: [
|
|
13
|
+
{ name: 'username', type: 'string', positional: true, help: 'Twitter screen name (without @). Defaults to logged-in user.' },
|
|
14
|
+
],
|
|
15
|
+
columns: ['screen_name', 'name', 'bio', 'location', 'url', 'followers', 'following', 'tweets', 'likes', 'verified', 'created_at'],
|
|
16
|
+
func: async (page, kwargs) => {
|
|
17
|
+
let username = (kwargs.username || '').replace(/^@/, '');
|
|
18
|
+
// If no username, detect the logged-in user
|
|
19
|
+
if (!username) {
|
|
20
|
+
await page.goto('https://x.com/home');
|
|
21
|
+
await page.wait({ selector: '[data-testid="primaryColumn"]' });
|
|
22
|
+
const href = await page.evaluate(`() => {
|
|
23
|
+
const link = document.querySelector('a[data-testid="AppTabBar_Profile_Link"]');
|
|
24
|
+
return link ? link.getAttribute('href') : null;
|
|
25
|
+
}`);
|
|
26
|
+
if (!href)
|
|
27
|
+
throw new AuthRequiredError('x.com', 'Could not detect logged-in user. Are you logged in?');
|
|
28
|
+
username = href.replace('/', '');
|
|
29
|
+
}
|
|
30
|
+
// Navigate directly to the user's profile page (gives us cookie context)
|
|
31
|
+
await page.goto(`https://x.com/${username}`);
|
|
32
|
+
await page.wait(3);
|
|
33
|
+
const queryId = await resolveTwitterQueryId(page, 'UserByScreenName', USER_BY_SCREEN_NAME_QUERY_ID);
|
|
34
|
+
const result = await page.evaluate(`
|
|
35
|
+
async () => {
|
|
36
|
+
const screenName = "${username}";
|
|
37
|
+
const ct0 = document.cookie.split(';').map(c=>c.trim()).find(c=>c.startsWith('ct0='))?.split('=')[1];
|
|
38
|
+
if (!ct0) return {error: 'No ct0 cookie — not logged into x.com'};
|
|
39
|
+
|
|
40
|
+
const bearer = 'AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA';
|
|
41
|
+
const headers = {
|
|
42
|
+
'Authorization': 'Bearer ' + decodeURIComponent(bearer),
|
|
43
|
+
'X-Csrf-Token': ct0,
|
|
44
|
+
'X-Twitter-Auth-Type': 'OAuth2Session',
|
|
45
|
+
'X-Twitter-Active-User': 'yes'
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const variables = JSON.stringify({
|
|
49
|
+
screen_name: screenName,
|
|
50
|
+
withSafetyModeUserFields: true,
|
|
51
|
+
});
|
|
52
|
+
const features = JSON.stringify({
|
|
53
|
+
hidden_profile_subscriptions_enabled: true,
|
|
54
|
+
rweb_tipjar_consumption_enabled: true,
|
|
55
|
+
responsive_web_graphql_exclude_directive_enabled: true,
|
|
56
|
+
verified_phone_label_enabled: false,
|
|
57
|
+
subscriptions_verification_info_is_identity_verified_enabled: true,
|
|
58
|
+
subscriptions_verification_info_verified_since_enabled: true,
|
|
59
|
+
highlights_tweets_tab_ui_enabled: true,
|
|
60
|
+
responsive_web_twitter_article_notes_tab_enabled: true,
|
|
61
|
+
subscriptions_feature_can_gift_premium: true,
|
|
62
|
+
creator_subscriptions_tweet_preview_api_enabled: true,
|
|
63
|
+
responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
|
|
64
|
+
responsive_web_graphql_timeline_navigation_enabled: true,
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
const url = '/i/api/graphql/' + ${JSON.stringify(queryId)} + '/UserByScreenName?variables='
|
|
68
|
+
+ encodeURIComponent(variables)
|
|
69
|
+
+ '&features=' + encodeURIComponent(features);
|
|
70
|
+
|
|
71
|
+
const resp = await fetch(url, {headers, credentials: 'include'});
|
|
72
|
+
if (!resp.ok) return {error: 'HTTP ' + resp.status, hint: 'User may not exist or queryId expired'};
|
|
73
|
+
const d = await resp.json();
|
|
74
|
+
|
|
75
|
+
const result = d.data?.user?.result;
|
|
76
|
+
if (!result) return {error: 'User @' + screenName + ' not found'};
|
|
77
|
+
|
|
78
|
+
const legacy = result.legacy || {};
|
|
79
|
+
const expandedUrl = legacy.entities?.url?.urls?.[0]?.expanded_url || '';
|
|
80
|
+
|
|
81
|
+
return [{
|
|
82
|
+
screen_name: legacy.screen_name || screenName,
|
|
83
|
+
name: legacy.name || '',
|
|
84
|
+
bio: legacy.description || '',
|
|
85
|
+
location: legacy.location || '',
|
|
86
|
+
url: expandedUrl,
|
|
87
|
+
followers: legacy.followers_count || 0,
|
|
88
|
+
following: legacy.friends_count || 0,
|
|
89
|
+
tweets: legacy.statuses_count || 0,
|
|
90
|
+
likes: legacy.favourites_count || 0,
|
|
91
|
+
verified: result.is_blue_verified || legacy.verified || false,
|
|
92
|
+
created_at: legacy.created_at || '',
|
|
93
|
+
}];
|
|
94
|
+
}
|
|
95
|
+
`);
|
|
96
|
+
if (result?.error) {
|
|
97
|
+
if (String(result.error).includes('No ct0 cookie'))
|
|
98
|
+
throw new AuthRequiredError('x.com', result.error);
|
|
99
|
+
throw new CommandExecutionError(result.error + (result.hint ? ` (${result.hint})` : ''));
|
|
100
|
+
}
|
|
101
|
+
return result || [];
|
|
102
|
+
}
|
|
103
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { CommandExecutionError } from '../../errors.js';
|
|
2
|
+
import { cli, Strategy } from '../../registry.js';
|
|
3
|
+
cli({
|
|
4
|
+
site: 'twitter',
|
|
5
|
+
name: 'reply-dm',
|
|
6
|
+
description: 'Send a message to recent DM conversations',
|
|
7
|
+
domain: 'x.com',
|
|
8
|
+
strategy: Strategy.UI,
|
|
9
|
+
browser: true,
|
|
10
|
+
timeoutSeconds: 600, // 10 min — batch operation
|
|
11
|
+
args: [
|
|
12
|
+
{ name: 'text', type: 'string', required: true, positional: true, help: 'Message text to send (e.g. "我的微信 wxkabi")' },
|
|
13
|
+
{ name: 'max', type: 'int', required: false, default: 20, help: 'Maximum number of conversations to reply to (default: 20)' },
|
|
14
|
+
{ name: 'skip-replied', type: 'boolean', required: false, default: true, help: 'Skip conversations where you already sent the same text (default: true)' },
|
|
15
|
+
],
|
|
16
|
+
columns: ['index', 'status', 'user', 'message'],
|
|
17
|
+
func: async (page, kwargs) => {
|
|
18
|
+
if (!page)
|
|
19
|
+
throw new CommandExecutionError('Browser session required for twitter reply-dm');
|
|
20
|
+
const messageText = kwargs.text;
|
|
21
|
+
const maxSend = kwargs.max ?? 20;
|
|
22
|
+
const skipReplied = kwargs['skip-replied'] !== false;
|
|
23
|
+
const results = [];
|
|
24
|
+
let sentCount = 0;
|
|
25
|
+
// Step 1: Navigate to messages to get conversation list
|
|
26
|
+
await page.goto('https://x.com/messages');
|
|
27
|
+
await page.wait({ selector: '[data-testid="primaryColumn"]' });
|
|
28
|
+
// Step 2: Collect conversations with scroll-to-load
|
|
29
|
+
const needed = maxSend + 10; // extra buffer for skips
|
|
30
|
+
const convList = await page.evaluate(`(async () => {
|
|
31
|
+
try {
|
|
32
|
+
// Wait for initial items
|
|
33
|
+
let attempts = 0;
|
|
34
|
+
while (attempts < 10) {
|
|
35
|
+
const items = document.querySelectorAll('[data-testid^="dm-conversation-item-"], [data-testid="conversation"]');
|
|
36
|
+
if (items.length > 0) break;
|
|
37
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
38
|
+
attempts++;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Scroll to load more conversations
|
|
42
|
+
const needed = ${needed};
|
|
43
|
+
const seenIds = new Set();
|
|
44
|
+
let noNewCount = 0;
|
|
45
|
+
|
|
46
|
+
for (let scroll = 0; scroll < 30; scroll++) {
|
|
47
|
+
const items = Array.from(document.querySelectorAll('[data-testid^="dm-conversation-item-"], [data-testid="conversation"]'));
|
|
48
|
+
items.forEach(el => seenIds.add(el.getAttribute('data-testid')));
|
|
49
|
+
|
|
50
|
+
if (seenIds.size >= needed) break;
|
|
51
|
+
|
|
52
|
+
// Find the scrollable container and scroll it
|
|
53
|
+
const scrollContainer = document.querySelector('[data-testid="dm-inbox-panel"]') ||
|
|
54
|
+
items[items.length - 1]?.closest('[class*="scroll"]') ||
|
|
55
|
+
items[items.length - 1]?.parentElement;
|
|
56
|
+
if (scrollContainer) {
|
|
57
|
+
scrollContainer.scrollTop = scrollContainer.scrollHeight;
|
|
58
|
+
}
|
|
59
|
+
// Also try scrolling the last item into view
|
|
60
|
+
if (items.length > 0) {
|
|
61
|
+
items[items.length - 1].scrollIntoView({ behavior: 'instant', block: 'end' });
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
65
|
+
|
|
66
|
+
// Check if new items appeared
|
|
67
|
+
const newItems = Array.from(document.querySelectorAll('[data-testid^="dm-conversation-item-"], [data-testid="conversation"]'));
|
|
68
|
+
const newIds = new Set(newItems.map(el => el.getAttribute('data-testid')));
|
|
69
|
+
if (newIds.size <= seenIds.size) {
|
|
70
|
+
noNewCount++;
|
|
71
|
+
if (noNewCount >= 3) break; // No more loading after 3 tries
|
|
72
|
+
} else {
|
|
73
|
+
noNewCount = 0;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Collect all visible conversations
|
|
78
|
+
const finalItems = Array.from(document.querySelectorAll('[data-testid^="dm-conversation-item-"], [data-testid="conversation"]'));
|
|
79
|
+
const conversations = finalItems.map((item, idx) => {
|
|
80
|
+
const testId = item.getAttribute('data-testid') || '';
|
|
81
|
+
const text = item.innerText || '';
|
|
82
|
+
const lines = text.split('\\n').filter(l => l.trim());
|
|
83
|
+
const user = lines[0] || 'Unknown';
|
|
84
|
+
const match = testId.match(/dm-conversation-item-(.+)/);
|
|
85
|
+
const convId = match ? match[1].replace(':', '-') : '';
|
|
86
|
+
const link = item.querySelector('a[href*="/messages/"]');
|
|
87
|
+
const href = link ? link.href : '';
|
|
88
|
+
return { idx, user, convId, href, preview: text.substring(0, 100) };
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
return { ok: true, conversations, total: conversations.length };
|
|
92
|
+
} catch(e) {
|
|
93
|
+
return { ok: false, error: String(e), conversations: [], total: 0 };
|
|
94
|
+
}
|
|
95
|
+
})()`);
|
|
96
|
+
if (!convList?.ok || !convList.conversations?.length) {
|
|
97
|
+
return [{ index: 1, status: 'info', user: 'System', message: 'No conversations found' }];
|
|
98
|
+
}
|
|
99
|
+
const conversations = convList.conversations;
|
|
100
|
+
// Step 3: Iterate through conversations and send message
|
|
101
|
+
for (const conv of conversations) {
|
|
102
|
+
if (sentCount >= maxSend)
|
|
103
|
+
break;
|
|
104
|
+
const convUrl = conv.convId
|
|
105
|
+
? `https://x.com/messages/${conv.convId}`
|
|
106
|
+
: conv.href;
|
|
107
|
+
if (!convUrl)
|
|
108
|
+
continue;
|
|
109
|
+
await page.goto(convUrl);
|
|
110
|
+
await page.wait(3);
|
|
111
|
+
const sendResult = await page.evaluate(`(async () => {
|
|
112
|
+
try {
|
|
113
|
+
const messageText = ${JSON.stringify(messageText)};
|
|
114
|
+
const skipReplied = ${skipReplied};
|
|
115
|
+
|
|
116
|
+
// Get username from conversation
|
|
117
|
+
const dmHeader = document.querySelector('[data-testid="DmActivityContainer"] [dir="ltr"] span') ||
|
|
118
|
+
document.querySelector('[data-testid="conversation-header"]') ||
|
|
119
|
+
document.querySelector('[data-testid="DmActivityContainer"] h2');
|
|
120
|
+
const username = dmHeader ? dmHeader.innerText.trim().split('\\\\n')[0] : '${conv.user}';
|
|
121
|
+
|
|
122
|
+
// Check if we already sent this message
|
|
123
|
+
if (skipReplied) {
|
|
124
|
+
const chatArea = document.querySelector('[data-testid="DmScrollerContainer"]') ||
|
|
125
|
+
document.querySelector('main');
|
|
126
|
+
const chatText = chatArea ? chatArea.innerText : '';
|
|
127
|
+
if (chatText.includes(messageText)) {
|
|
128
|
+
return { status: 'skipped', user: username, message: 'Already sent this message' };
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Find the text input
|
|
133
|
+
const input = document.querySelector('[data-testid="dmComposerTextInput"]');
|
|
134
|
+
if (!input) {
|
|
135
|
+
return { status: 'error', user: username, message: 'No message input found' };
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Focus and type into the DraftEditor
|
|
139
|
+
input.focus();
|
|
140
|
+
await new Promise(r => setTimeout(r, 300));
|
|
141
|
+
document.execCommand('insertText', false, messageText);
|
|
142
|
+
await new Promise(r => setTimeout(r, 500));
|
|
143
|
+
|
|
144
|
+
// Click send button
|
|
145
|
+
const sendBtn = document.querySelector('[data-testid="dmComposerSendButton"]');
|
|
146
|
+
if (!sendBtn) {
|
|
147
|
+
return { status: 'error', user: username, message: 'No send button found' };
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
sendBtn.click();
|
|
151
|
+
await new Promise(r => setTimeout(r, 1500));
|
|
152
|
+
|
|
153
|
+
return { status: 'sent', user: username, message: 'Message sent: ' + messageText };
|
|
154
|
+
} catch(e) {
|
|
155
|
+
return { status: 'error', user: 'system', message: String(e) };
|
|
156
|
+
}
|
|
157
|
+
})()`);
|
|
158
|
+
if (sendResult?.status === 'sent') {
|
|
159
|
+
sentCount++;
|
|
160
|
+
results.push({
|
|
161
|
+
index: sentCount,
|
|
162
|
+
status: 'sent',
|
|
163
|
+
user: sendResult.user || conv.user,
|
|
164
|
+
message: sendResult.message,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
else if (sendResult?.status === 'skipped') {
|
|
168
|
+
results.push({
|
|
169
|
+
index: results.length + 1,
|
|
170
|
+
status: 'skipped',
|
|
171
|
+
user: sendResult.user || conv.user,
|
|
172
|
+
message: sendResult.message,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
await page.wait(1);
|
|
176
|
+
}
|
|
177
|
+
if (results.length === 0) {
|
|
178
|
+
results.push({ index: 0, status: 'info', user: 'System', message: 'No conversations processed' });
|
|
179
|
+
}
|
|
180
|
+
return results;
|
|
181
|
+
}
|
|
182
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare function resolveImagePath(imagePath: string): string;
|
|
2
|
+
declare function extractTweetId(url: string): string;
|
|
3
|
+
declare function buildReplyComposerUrl(url: string): string;
|
|
4
|
+
declare function resolveImageExtension(url: string, contentType: string | null): string;
|
|
5
|
+
declare function downloadRemoteImage(imageUrl: string): Promise<string>;
|
|
6
|
+
export declare const __test__: {
|
|
7
|
+
buildReplyComposerUrl: typeof buildReplyComposerUrl;
|
|
8
|
+
downloadRemoteImage: typeof downloadRemoteImage;
|
|
9
|
+
extractTweetId: typeof extractTweetId;
|
|
10
|
+
resolveImageExtension: typeof resolveImageExtension;
|
|
11
|
+
resolveImagePath: typeof resolveImagePath;
|
|
12
|
+
};
|
|
13
|
+
export {};
|