@zenalexa/unicli 0.213.0 → 0.213.3
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/AGENTS.md +10 -73
- package/README.md +4 -4
- package/README.zh-CN.md +3 -3
- package/dist/browser/bridge.d.ts.map +1 -1
- package/dist/browser/bridge.js +2 -3
- package/dist/browser/bridge.js.map +1 -1
- package/dist/browser/page.d.ts +2 -0
- package/dist/browser/page.d.ts.map +1 -1
- package/dist/browser/page.js +4 -4
- package/dist/browser/page.js.map +1 -1
- package/dist/browser/snapshot-helpers.d.ts +10 -0
- package/dist/browser/snapshot-helpers.d.ts.map +1 -0
- package/dist/browser/snapshot-helpers.js +21 -0
- package/dist/browser/snapshot-helpers.js.map +1 -0
- package/dist/browser/snapshot-identity.d.ts +71 -0
- package/dist/browser/snapshot-identity.d.ts.map +1 -0
- package/dist/browser/snapshot-identity.js +155 -0
- package/dist/browser/snapshot-identity.js.map +1 -0
- package/dist/browser/target-errors.d.ts +45 -0
- package/dist/browser/target-errors.d.ts.map +1 -0
- package/dist/browser/target-errors.js +61 -0
- package/dist/browser/target-errors.js.map +1 -0
- package/dist/cli.d.ts +0 -8
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +11 -31
- package/dist/cli.js.map +1 -1
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +90 -54
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +89 -59
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/describe.d.ts +26 -0
- package/dist/commands/describe.d.ts.map +1 -0
- package/dist/commands/describe.js +230 -0
- package/dist/commands/describe.js.map +1 -0
- package/dist/commands/dev.js +1 -1
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/dispatch.d.ts +14 -3
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/dispatch.js +141 -147
- package/dist/commands/dispatch.js.map +1 -1
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +153 -142
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/explore.d.ts.map +1 -1
- package/dist/commands/explore.js +31 -24
- package/dist/commands/explore.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +54 -44
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +3 -6
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/hub.d.ts.map +1 -1
- package/dist/commands/hub.js +165 -59
- package/dist/commands/hub.js.map +1 -1
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +34 -17
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +28 -22
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/migrate-schema.d.ts.map +1 -1
- package/dist/commands/migrate-schema.js +46 -13
- package/dist/commands/migrate-schema.js.map +1 -1
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +30 -7
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/operate.d.ts.map +1 -1
- package/dist/commands/operate.js +92 -47
- package/dist/commands/operate.js.map +1 -1
- package/dist/commands/repair.d.ts.map +1 -1
- package/dist/commands/repair.js +82 -27
- package/dist/commands/repair.js.map +1 -1
- package/dist/commands/research.d.ts.map +1 -1
- package/dist/commands/research.js +96 -86
- package/dist/commands/research.js.map +1 -1
- package/dist/commands/schema.d.ts +2 -1
- package/dist/commands/schema.d.ts.map +1 -1
- package/dist/commands/schema.js +44 -12
- package/dist/commands/schema.js.map +1 -1
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +64 -46
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/status.d.ts +3 -3
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +10 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/synthesize.d.ts.map +1 -1
- package/dist/commands/synthesize.js +123 -141
- package/dist/commands/synthesize.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/discovery/loader.d.ts +8 -0
- package/dist/discovery/loader.d.ts.map +1 -1
- package/dist/discovery/loader.js +22 -1
- package/dist/discovery/loader.js.map +1 -1
- package/dist/engine/args.d.ts +83 -0
- package/dist/engine/args.d.ts.map +1 -0
- package/dist/engine/args.js +260 -0
- package/dist/engine/args.js.map +1 -0
- package/dist/engine/executor.d.ts +23 -4
- package/dist/engine/executor.d.ts.map +1 -1
- package/dist/engine/executor.js +32 -2
- package/dist/engine/executor.js.map +1 -1
- package/dist/engine/harden.d.ts +48 -0
- package/dist/engine/harden.d.ts.map +1 -0
- package/dist/engine/harden.js +327 -0
- package/dist/engine/harden.js.map +1 -0
- package/dist/engine/invoke.d.ts +16 -0
- package/dist/engine/invoke.d.ts.map +1 -0
- package/dist/engine/invoke.js +15 -0
- package/dist/engine/invoke.js.map +1 -0
- package/dist/engine/kernel/compile.d.ts +30 -0
- package/dist/engine/kernel/compile.d.ts.map +1 -0
- package/dist/engine/kernel/compile.js +167 -0
- package/dist/engine/kernel/compile.js.map +1 -0
- package/dist/engine/kernel/execute.d.ts +35 -0
- package/dist/engine/kernel/execute.d.ts.map +1 -0
- package/dist/engine/kernel/execute.js +221 -0
- package/dist/engine/kernel/execute.js.map +1 -0
- package/dist/engine/kernel/types.d.ts +49 -0
- package/dist/engine/kernel/types.d.ts.map +1 -0
- package/dist/engine/kernel/types.js +9 -0
- package/dist/engine/kernel/types.js.map +1 -0
- package/dist/engine/kernel/ulid.d.ts +21 -0
- package/dist/engine/kernel/ulid.d.ts.map +1 -0
- package/dist/engine/kernel/ulid.js +76 -0
- package/dist/engine/kernel/ulid.js.map +1 -0
- package/dist/engine/steps/click.d.ts.map +1 -1
- package/dist/engine/steps/click.js +6 -0
- package/dist/engine/steps/click.js.map +1 -1
- package/dist/engine/steps/snapshot.d.ts.map +1 -1
- package/dist/engine/steps/snapshot.js +2 -0
- package/dist/engine/steps/snapshot.js.map +1 -1
- package/dist/engine/steps/type.d.ts.map +1 -1
- package/dist/engine/steps/type.js +2 -0
- package/dist/engine/steps/type.js.map +1 -1
- package/dist/engine/template.d.ts.map +1 -1
- package/dist/engine/template.js +11 -0
- package/dist/engine/template.js.map +1 -1
- package/dist/main.js +0 -0
- package/dist/manifest.json +1 -1
- package/dist/mcp/dispatch.d.ts +46 -0
- package/dist/mcp/dispatch.d.ts.map +1 -0
- package/dist/mcp/dispatch.js +109 -0
- package/dist/mcp/dispatch.js.map +1 -0
- package/dist/mcp/handler.d.ts +30 -0
- package/dist/mcp/handler.d.ts.map +1 -0
- package/dist/mcp/handler.js +293 -0
- package/dist/mcp/handler.js.map +1 -0
- package/dist/mcp/http-transport.d.ts +16 -0
- package/dist/mcp/http-transport.d.ts.map +1 -0
- package/dist/mcp/http-transport.js +124 -0
- package/dist/mcp/http-transport.js.map +1 -0
- package/dist/mcp/server.d.ts +17 -33
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +31 -742
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/sse-transport.js.map +1 -1
- package/dist/mcp/streamable-http/handle-post.d.ts +23 -0
- package/dist/mcp/streamable-http/handle-post.d.ts.map +1 -0
- package/dist/mcp/streamable-http/handle-post.js +357 -0
- package/dist/mcp/streamable-http/handle-post.js.map +1 -0
- package/dist/mcp/streamable-http/index.d.ts +45 -0
- package/dist/mcp/streamable-http/index.d.ts.map +1 -0
- package/dist/mcp/streamable-http/index.js +150 -0
- package/dist/mcp/streamable-http/index.js.map +1 -0
- package/dist/mcp/streamable-http/session.d.ts +85 -0
- package/dist/mcp/streamable-http/session.d.ts.map +1 -0
- package/dist/mcp/streamable-http/session.js +104 -0
- package/dist/mcp/streamable-http/session.js.map +1 -0
- package/dist/mcp/streamable-http.d.ts +7 -85
- package/dist/mcp/streamable-http.d.ts.map +1 -1
- package/dist/mcp/streamable-http.js +6 -568
- package/dist/mcp/streamable-http.js.map +1 -1
- package/dist/mcp/tools.d.ts +57 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +237 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/output/envelope.d.ts +94 -3
- package/dist/output/envelope.d.ts.map +1 -1
- package/dist/output/envelope.js +44 -2
- package/dist/output/envelope.js.map +1 -1
- package/dist/output/error-map.d.ts +45 -0
- package/dist/output/error-map.d.ts.map +1 -0
- package/dist/output/error-map.js +119 -0
- package/dist/output/error-map.js.map +1 -0
- package/dist/output/formatter.d.ts +12 -5
- package/dist/output/formatter.d.ts.map +1 -1
- package/dist/output/formatter.js +33 -15
- package/dist/output/formatter.js.map +1 -1
- package/dist/output/md.d.ts.map +1 -1
- package/dist/output/md.js +61 -2
- package/dist/output/md.js.map +1 -1
- package/dist/output/next-actions.d.ts +18 -0
- package/dist/output/next-actions.d.ts.map +1 -0
- package/dist/output/next-actions.js +64 -0
- package/dist/output/next-actions.js.map +1 -0
- package/dist/output/projection.d.ts +93 -0
- package/dist/output/projection.d.ts.map +1 -0
- package/dist/output/projection.js +255 -0
- package/dist/output/projection.js.map +1 -0
- package/dist/protocol/acp-helpers.d.ts +32 -0
- package/dist/protocol/acp-helpers.d.ts.map +1 -0
- package/dist/protocol/acp-helpers.js +175 -0
- package/dist/protocol/acp-helpers.js.map +1 -0
- package/dist/protocol/acp.d.ts +2 -27
- package/dist/protocol/acp.d.ts.map +1 -1
- package/dist/protocol/acp.js +7 -170
- package/dist/protocol/acp.js.map +1 -1
- package/dist/types.d.ts +33 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +14 -2
- package/src/adapters/1688/item.yaml +1 -2
- package/src/adapters/1688/search.yaml +0 -2
- package/src/adapters/1688/store.yaml +1 -2
- package/src/adapters/36kr/article.yaml +1 -2
- package/src/adapters/36kr/hot.yaml +0 -2
- package/src/adapters/36kr/latest.yaml +0 -2
- package/src/adapters/36kr/news.yaml +0 -2
- package/src/adapters/36kr/search.yaml +0 -2
- package/src/adapters/adguardhome/add-rule.yaml +0 -2
- package/src/adapters/adguardhome/rules.yaml +0 -2
- package/src/adapters/adguardhome/stats.yaml +0 -2
- package/src/adapters/adguardhome/status.yaml +0 -2
- package/src/adapters/adguardhome/toggle.yaml +0 -2
- package/src/adapters/amazon/bestsellers.yaml +2 -2
- package/src/adapters/amazon/discussion.yaml +0 -2
- package/src/adapters/amazon/movers-shakers.yaml +2 -2
- package/src/adapters/amazon/new-releases.yaml +2 -2
- package/src/adapters/amazon/offer.yaml +0 -2
- package/src/adapters/amazon/product.yaml +0 -2
- package/src/adapters/amazon/rankings.yaml +1 -2
- package/src/adapters/amazon/search.yaml +0 -2
- package/src/adapters/apple-music/rate-album.yaml +0 -2
- package/src/adapters/apple-podcasts/episodes.yaml +1 -2
- package/src/adapters/apple-podcasts/search.yaml +0 -2
- package/src/adapters/apple-podcasts/top.yaml +0 -2
- package/src/adapters/arxiv/paper.yaml +1 -2
- package/src/adapters/arxiv/search.yaml +0 -2
- package/src/adapters/arxiv/trending.yaml +0 -2
- package/src/adapters/audacity/convert.yaml +1 -2
- package/src/adapters/audacity/effects.yaml +1 -2
- package/src/adapters/audacity/info.yaml +1 -2
- package/src/adapters/audacity/mix.yaml +1 -2
- package/src/adapters/audacity/normalize.yaml +1 -2
- package/src/adapters/audacity/spectrogram.yaml +1 -2
- package/src/adapters/audacity/split-channels.yaml +1 -2
- package/src/adapters/audacity/trim.yaml +1 -2
- package/src/adapters/autoagent/eval-run.yaml +0 -2
- package/src/adapters/aws/s3-ls.yaml +0 -2
- package/src/adapters/az/account.yaml +0 -2
- package/src/adapters/baidu/hot.yaml +0 -2
- package/src/adapters/baidu/search.yaml +0 -2
- package/src/adapters/band/bands.yaml +0 -2
- package/src/adapters/band/mentions.yaml +0 -2
- package/src/adapters/band/post.yaml +0 -2
- package/src/adapters/band/posts.yaml +0 -2
- package/src/adapters/barchart/flow.yaml +0 -2
- package/src/adapters/barchart/greeks.yaml +0 -2
- package/src/adapters/barchart/options.yaml +0 -2
- package/src/adapters/barchart/quote.yaml +0 -2
- package/src/adapters/bbc/news.yaml +0 -2
- package/src/adapters/bbc/technology.yaml +0 -2
- package/src/adapters/bbc/top.yaml +0 -2
- package/src/adapters/bbc/world.yaml +0 -2
- package/src/adapters/bilibili/coin.yaml +0 -2
- package/src/adapters/bilibili/dynamic.yaml +0 -2
- package/src/adapters/bilibili/favorites.yaml +1 -2
- package/src/adapters/bilibili/feed.yaml +0 -2
- package/src/adapters/bilibili/following.yaml +0 -2
- package/src/adapters/bilibili/history.yaml +0 -2
- package/src/adapters/bilibili/hot.yaml +0 -2
- package/src/adapters/bilibili/later.yaml +0 -2
- package/src/adapters/bilibili/live.yaml +0 -2
- package/src/adapters/bilibili/me.yaml +0 -2
- package/src/adapters/bilibili/ranking.yaml +0 -2
- package/src/adapters/bilibili/trending.yaml +0 -2
- package/src/adapters/binance/hot.yaml +0 -2
- package/src/adapters/binance/kline.yaml +0 -2
- package/src/adapters/binance/ticker.yaml +0 -2
- package/src/adapters/blender/animation.yaml +2 -2
- package/src/adapters/blender/camera.yaml +1 -2
- package/src/adapters/blender/convert.yaml +1 -2
- package/src/adapters/blender/export.yaml +1 -2
- package/src/adapters/blender/import.yaml +1 -2
- package/src/adapters/blender/info.yaml +1 -2
- package/src/adapters/blender/lighting.yaml +1 -2
- package/src/adapters/blender/materials.yaml +1 -2
- package/src/adapters/blender/objects.yaml +1 -2
- package/src/adapters/blender/render.yaml +2 -2
- package/src/adapters/blender/scene.yaml +1 -2
- package/src/adapters/blender/screenshot.yaml +2 -2
- package/src/adapters/blender/script.yaml +1 -2
- package/src/adapters/bloomberg/businessweek.yaml +0 -2
- package/src/adapters/bloomberg/economics.yaml +0 -2
- package/src/adapters/bloomberg/feeds.yaml +0 -2
- package/src/adapters/bloomberg/industries.yaml +0 -2
- package/src/adapters/bloomberg/main.yaml +0 -2
- package/src/adapters/bloomberg/markets.yaml +0 -2
- package/src/adapters/bloomberg/news.yaml +0 -2
- package/src/adapters/bloomberg/opinions.yaml +0 -2
- package/src/adapters/bloomberg/politics.yaml +0 -2
- package/src/adapters/bloomberg/tech.yaml +0 -2
- package/src/adapters/bluesky/feeds.yaml +0 -2
- package/src/adapters/bluesky/followers.yaml +0 -2
- package/src/adapters/bluesky/following.yaml +0 -2
- package/src/adapters/bluesky/likes.yaml +0 -2
- package/src/adapters/bluesky/notifications.yaml +0 -2
- package/src/adapters/bluesky/post.yaml +0 -2
- package/src/adapters/bluesky/profile.yaml +0 -2
- package/src/adapters/bluesky/search.yaml +0 -2
- package/src/adapters/bluesky/starter-packs.yaml +0 -2
- package/src/adapters/bluesky/thread.yaml +0 -2
- package/src/adapters/bluesky/trending.yaml +0 -2
- package/src/adapters/bluesky/user.yaml +0 -2
- package/src/adapters/boss/batchgreet.yaml +0 -2
- package/src/adapters/boss/chatlist.yaml +0 -2
- package/src/adapters/boss/chatmsg.yaml +0 -2
- package/src/adapters/boss/detail.yaml +2 -2
- package/src/adapters/boss/exchange.yaml +0 -2
- package/src/adapters/boss/greet.yaml +0 -2
- package/src/adapters/boss/invite.yaml +0 -2
- package/src/adapters/boss/joblist.yaml +0 -2
- package/src/adapters/boss/mark.yaml +0 -2
- package/src/adapters/boss/recommend.yaml +0 -2
- package/src/adapters/boss/resume.yaml +0 -2
- package/src/adapters/boss/search.yaml +0 -2
- package/src/adapters/boss/send.yaml +0 -2
- package/src/adapters/boss/stats.yaml +0 -2
- package/src/adapters/chaoxing/assignments.yaml +0 -2
- package/src/adapters/chaoxing/exams.yaml +0 -2
- package/src/adapters/chrome/bookmarks.yaml +0 -2
- package/src/adapters/chrome/tabs.yaml +0 -2
- package/src/adapters/claude-code/version.yaml +0 -2
- package/src/adapters/cloudcompare/compare.yaml +0 -2
- package/src/adapters/cloudcompare/convert.yaml +0 -2
- package/src/adapters/cloudcompare/info.yaml +1 -2
- package/src/adapters/cloudcompare/subsample.yaml +0 -2
- package/src/adapters/cnki/search.yaml +0 -2
- package/src/adapters/cnn/technology.yaml +0 -2
- package/src/adapters/cnn/top.yaml +0 -2
- package/src/adapters/cocoapods/info.yaml +0 -2
- package/src/adapters/cocoapods/search.yaml +0 -2
- package/src/adapters/codex-cli/version.yaml +0 -2
- package/src/adapters/coinbase/prices.yaml +0 -2
- package/src/adapters/coinbase/rates.yaml +0 -2
- package/src/adapters/comfyui/generate.yaml +0 -2
- package/src/adapters/comfyui/history.yaml +0 -2
- package/src/adapters/comfyui/nodes.yaml +0 -2
- package/src/adapters/comfyui/status.yaml +0 -2
- package/src/adapters/coupang/add-to-cart.yaml +1 -2
- package/src/adapters/coupang/hot.yaml +0 -2
- package/src/adapters/coupang/search.yaml +0 -2
- package/src/adapters/crates-io/info.yaml +0 -2
- package/src/adapters/crates-io/search.yaml +0 -2
- package/src/adapters/crates-io/versions.yaml +0 -2
- package/src/adapters/ctrip/hot.yaml +0 -2
- package/src/adapters/ctrip/search.yaml +1 -2
- package/src/adapters/cua/bench-list.yaml +0 -2
- package/src/adapters/cua/bench-run.yaml +0 -2
- package/src/adapters/dangdang/hot.yaml +0 -2
- package/src/adapters/dangdang/search.yaml +0 -2
- package/src/adapters/deepseek/chat.yaml +0 -2
- package/src/adapters/deepseek/models.yaml +0 -2
- package/src/adapters/devto/latest.yaml +0 -2
- package/src/adapters/devto/search.yaml +0 -2
- package/src/adapters/devto/tag.yaml +0 -2
- package/src/adapters/devto/top.yaml +0 -2
- package/src/adapters/devto/user.yaml +0 -2
- package/src/adapters/dianping/hot.yaml +0 -2
- package/src/adapters/dianping/search.yaml +0 -2
- package/src/adapters/dictionary/examples.yaml +0 -2
- package/src/adapters/dictionary/search.yaml +0 -2
- package/src/adapters/dictionary/synonyms.yaml +0 -2
- package/src/adapters/dingtalk/version.yaml +0 -2
- package/src/adapters/docker/build.yaml +0 -2
- package/src/adapters/docker/images.yaml +0 -2
- package/src/adapters/docker/logs.yaml +0 -2
- package/src/adapters/docker/networks.yaml +0 -2
- package/src/adapters/docker/ps.yaml +0 -2
- package/src/adapters/docker/run.yaml +0 -2
- package/src/adapters/docker/volumes.yaml +0 -2
- package/src/adapters/docker-hub/info.yaml +0 -2
- package/src/adapters/docker-hub/search.yaml +0 -2
- package/src/adapters/docker-hub/tags.yaml +0 -2
- package/src/adapters/doctl/droplets.yaml +0 -2
- package/src/adapters/douban/book-hot.yaml +0 -2
- package/src/adapters/douban/download.yaml +1 -2
- package/src/adapters/douban/group-hot.yaml +0 -2
- package/src/adapters/douban/marks.yaml +0 -2
- package/src/adapters/douban/movie-hot.yaml +0 -2
- package/src/adapters/douban/new-movies.yaml +0 -2
- package/src/adapters/douban/photos.yaml +1 -2
- package/src/adapters/douban/reviews.yaml +0 -2
- package/src/adapters/douban/search.yaml +0 -2
- package/src/adapters/douban/subject.yaml +2 -2
- package/src/adapters/douban/top250.yaml +0 -2
- package/src/adapters/douban/tv-hot.yaml +0 -2
- package/src/adapters/doubao/ask.yaml +0 -2
- package/src/adapters/doubao/new.yaml +0 -2
- package/src/adapters/doubao/status.yaml +0 -2
- package/src/adapters/doubao-web/ask.yaml +0 -2
- package/src/adapters/doubao-web/detail.yaml +1 -2
- package/src/adapters/doubao-web/history.yaml +0 -2
- package/src/adapters/doubao-web/meeting-summary.yaml +1 -2
- package/src/adapters/doubao-web/meeting-transcript.yaml +1 -2
- package/src/adapters/doubao-web/new.yaml +0 -2
- package/src/adapters/doubao-web/read.yaml +0 -2
- package/src/adapters/doubao-web/send.yaml +0 -2
- package/src/adapters/doubao-web/status.yaml +0 -2
- package/src/adapters/douyu/hot.yaml +0 -2
- package/src/adapters/douyu/search.yaml +0 -2
- package/src/adapters/drawio/export.yaml +2 -2
- package/src/adapters/eastmoney/fund.yaml +0 -2
- package/src/adapters/eastmoney/hot.yaml +0 -2
- package/src/adapters/eastmoney/market.yaml +0 -2
- package/src/adapters/eastmoney/search.yaml +0 -2
- package/src/adapters/ele/hot.yaml +0 -2
- package/src/adapters/ele/search.yaml +0 -2
- package/src/adapters/exchangerate/convert.yaml +0 -2
- package/src/adapters/exchangerate/list.yaml +0 -2
- package/src/adapters/facebook/add-friend.yaml +0 -2
- package/src/adapters/facebook/events.yaml +0 -2
- package/src/adapters/facebook/feed.yaml +0 -2
- package/src/adapters/facebook/friends.yaml +0 -2
- package/src/adapters/facebook/groups.yaml +0 -2
- package/src/adapters/facebook/join-group.yaml +2 -2
- package/src/adapters/facebook/marketplace.yaml +0 -2
- package/src/adapters/facebook/memories.yaml +0 -2
- package/src/adapters/facebook/notifications.yaml +0 -2
- package/src/adapters/facebook/post.yaml +0 -2
- package/src/adapters/facebook/profile.yaml +0 -2
- package/src/adapters/facebook/search.yaml +0 -2
- package/src/adapters/feishu/calendar.yaml +0 -2
- package/src/adapters/feishu/docs.yaml +0 -2
- package/src/adapters/feishu/send.yaml +0 -2
- package/src/adapters/feishu/tasks.yaml +0 -2
- package/src/adapters/ffmpeg/compress.yaml +2 -2
- package/src/adapters/ffmpeg/concat.yaml +1 -2
- package/src/adapters/ffmpeg/convert.yaml +1 -2
- package/src/adapters/ffmpeg/extract-audio.yaml +2 -2
- package/src/adapters/ffmpeg/gif.yaml +2 -2
- package/src/adapters/ffmpeg/normalize.yaml +2 -2
- package/src/adapters/ffmpeg/probe.yaml +1 -2
- package/src/adapters/ffmpeg/resize.yaml +2 -2
- package/src/adapters/ffmpeg/subtitles.yaml +2 -2
- package/src/adapters/ffmpeg/thumbnail.yaml +2 -2
- package/src/adapters/ffmpeg/trim.yaml +2 -2
- package/src/adapters/figma/export-selected.yaml +0 -2
- package/src/adapters/flyctl/apps.yaml +0 -2
- package/src/adapters/freecad/assembly.yaml +1 -2
- package/src/adapters/freecad/bom.yaml +1 -2
- package/src/adapters/freecad/boolean.yaml +1 -2
- package/src/adapters/freecad/check.yaml +1 -2
- package/src/adapters/freecad/convert.yaml +1 -2
- package/src/adapters/freecad/export-stl.yaml +1 -2
- package/src/adapters/freecad/import.yaml +1 -2
- package/src/adapters/freecad/info.yaml +1 -2
- package/src/adapters/freecad/macro.yaml +1 -2
- package/src/adapters/freecad/measure.yaml +1 -2
- package/src/adapters/freecad/mesh.yaml +1 -2
- package/src/adapters/freecad/properties.yaml +1 -2
- package/src/adapters/freecad/render.yaml +1 -2
- package/src/adapters/freecad/section.yaml +1 -2
- package/src/adapters/freecad/sketch.yaml +1 -2
- package/src/adapters/futu/hot.yaml +0 -2
- package/src/adapters/futu/quote.yaml +0 -2
- package/src/adapters/gcloud/projects.yaml +0 -2
- package/src/adapters/gemini/ask.yaml +0 -2
- package/src/adapters/gemini/deep-research-result.yaml +0 -2
- package/src/adapters/gemini/deep-research.yaml +0 -2
- package/src/adapters/gemini/image.yaml +0 -2
- package/src/adapters/gemini/new.yaml +0 -2
- package/src/adapters/gh/issue.yaml +0 -2
- package/src/adapters/gh/pr.yaml +0 -2
- package/src/adapters/gh/release.yaml +0 -2
- package/src/adapters/gh/repo.yaml +0 -2
- package/src/adapters/gh/run.yaml +0 -2
- package/src/adapters/gimp/adjust.yaml +1 -2
- package/src/adapters/gimp/batch.yaml +1 -2
- package/src/adapters/gimp/convert.yaml +1 -2
- package/src/adapters/gimp/crop.yaml +1 -2
- package/src/adapters/gimp/filter.yaml +1 -2
- package/src/adapters/gimp/flip.yaml +1 -2
- package/src/adapters/gimp/info.yaml +1 -2
- package/src/adapters/gimp/layers.yaml +1 -2
- package/src/adapters/gimp/merge-layers.yaml +1 -2
- package/src/adapters/gimp/resize.yaml +1 -2
- package/src/adapters/gimp/rotate.yaml +1 -2
- package/src/adapters/gimp/text.yaml +1 -2
- package/src/adapters/gitee/repos.yaml +0 -2
- package/src/adapters/gitee/search.yaml +0 -2
- package/src/adapters/gitee/trending.yaml +0 -2
- package/src/adapters/github-trending/daily.yaml +0 -2
- package/src/adapters/github-trending/developers.yaml +0 -2
- package/src/adapters/github-trending/weekly.yaml +0 -2
- package/src/adapters/gitlab/projects.yaml +0 -2
- package/src/adapters/gitlab/search.yaml +0 -2
- package/src/adapters/gitlab/trending.yaml +0 -2
- package/src/adapters/godot/project-run.yaml +0 -2
- package/src/adapters/godot/scene-export.yaml +1 -2
- package/src/adapters/google/news.yaml +0 -2
- package/src/adapters/google/search.yaml +0 -2
- package/src/adapters/google/suggest.yaml +0 -2
- package/src/adapters/google/trends.yaml +0 -2
- package/src/adapters/grok/ask.yaml +0 -2
- package/src/adapters/hackernews/ask.yaml +0 -2
- package/src/adapters/hackernews/best.yaml +0 -2
- package/src/adapters/hackernews/comments.yaml +1 -2
- package/src/adapters/hackernews/item.yaml +1 -2
- package/src/adapters/hackernews/jobs.yaml +0 -2
- package/src/adapters/hackernews/new.yaml +0 -2
- package/src/adapters/hackernews/search.yaml +0 -2
- package/src/adapters/hackernews/show.yaml +0 -2
- package/src/adapters/hackernews/top.yaml +0 -2
- package/src/adapters/hackernews/user.yaml +0 -2
- package/src/adapters/hermes/sessions-search.yaml +0 -2
- package/src/adapters/hermes/skills-list.yaml +0 -2
- package/src/adapters/hermes/skills-read.yaml +0 -2
- package/src/adapters/hf/datasets.yaml +0 -2
- package/src/adapters/hf/models.yaml +0 -2
- package/src/adapters/hf/spaces.yaml +0 -2
- package/src/adapters/hf/top.yaml +1 -2
- package/src/adapters/homebrew/info.yaml +0 -2
- package/src/adapters/homebrew/search.yaml +0 -2
- package/src/adapters/huggingface-papers/daily.yaml +0 -2
- package/src/adapters/huggingface-papers/search.yaml +0 -2
- package/src/adapters/hupu/detail.yaml +0 -2
- package/src/adapters/hupu/hot.yaml +0 -2
- package/src/adapters/hupu/like.yaml +0 -2
- package/src/adapters/hupu/mentions.yaml +0 -2
- package/src/adapters/hupu/reply.yaml +0 -2
- package/src/adapters/hupu/search.yaml +0 -2
- package/src/adapters/hupu/unlike.yaml +0 -2
- package/src/adapters/imagemagick/compare.yaml +0 -2
- package/src/adapters/imagemagick/composite.yaml +1 -2
- package/src/adapters/imagemagick/convert.yaml +1 -2
- package/src/adapters/imagemagick/identify.yaml +1 -2
- package/src/adapters/imagemagick/montage.yaml +1 -2
- package/src/adapters/imagemagick/resize.yaml +1 -2
- package/src/adapters/imdb/box-office.yaml +0 -2
- package/src/adapters/imdb/person.yaml +1 -2
- package/src/adapters/imdb/reviews.yaml +1 -2
- package/src/adapters/imdb/search.yaml +0 -2
- package/src/adapters/imdb/title.yaml +1 -2
- package/src/adapters/imdb/top.yaml +0 -2
- package/src/adapters/imdb/trending.yaml +0 -2
- package/src/adapters/infoq/articles.yaml +0 -2
- package/src/adapters/infoq/latest.yaml +0 -2
- package/src/adapters/inkscape/convert.yaml +2 -2
- package/src/adapters/inkscape/export.yaml +2 -2
- package/src/adapters/inkscape/optimize.yaml +2 -2
- package/src/adapters/instagram/activity.yaml +0 -2
- package/src/adapters/instagram/comment.yaml +0 -2
- package/src/adapters/instagram/explore.yaml +0 -2
- package/src/adapters/instagram/follow.yaml +0 -2
- package/src/adapters/instagram/followers.yaml +0 -2
- package/src/adapters/instagram/following.yaml +0 -2
- package/src/adapters/instagram/highlights.yaml +0 -2
- package/src/adapters/instagram/like.yaml +0 -2
- package/src/adapters/instagram/profile.yaml +0 -2
- package/src/adapters/instagram/reels-trending.yaml +0 -2
- package/src/adapters/instagram/reels.yaml +0 -2
- package/src/adapters/instagram/save.yaml +0 -2
- package/src/adapters/instagram/saved.yaml +0 -2
- package/src/adapters/instagram/search.yaml +0 -2
- package/src/adapters/instagram/stories.yaml +1 -2
- package/src/adapters/instagram/suggested.yaml +0 -2
- package/src/adapters/instagram/tags.yaml +0 -2
- package/src/adapters/instagram/unfollow.yaml +0 -2
- package/src/adapters/instagram/unlike.yaml +0 -2
- package/src/adapters/instagram/unsave.yaml +0 -2
- package/src/adapters/instagram/user.yaml +0 -2
- package/src/adapters/ip-info/lookup.yaml +0 -2
- package/src/adapters/itch-io/popular.yaml +0 -2
- package/src/adapters/itch-io/search.yaml +0 -2
- package/src/adapters/itch-io/top.yaml +0 -2
- package/src/adapters/ithome/hot.yaml +0 -2
- package/src/adapters/ithome/latest.yaml +0 -2
- package/src/adapters/ithome/news.yaml +0 -2
- package/src/adapters/jd/hot.yaml +0 -2
- package/src/adapters/jd/item.yaml +1 -2
- package/src/adapters/jd/search.yaml +0 -2
- package/src/adapters/jianyu/search.yaml +0 -2
- package/src/adapters/jike/feed.yaml +0 -2
- package/src/adapters/jike/notifications.yaml +0 -2
- package/src/adapters/jike/post.yaml +2 -2
- package/src/adapters/jike/search.yaml +0 -2
- package/src/adapters/jike/topic.yaml +2 -2
- package/src/adapters/jike/user.yaml +0 -2
- package/src/adapters/jimeng/generate.yaml +0 -2
- package/src/adapters/jimeng/history.yaml +0 -2
- package/src/adapters/jq/format.yaml +0 -2
- package/src/adapters/jq/query.yaml +0 -2
- package/src/adapters/kdenlive/effects.yaml +0 -2
- package/src/adapters/kdenlive/info.yaml +1 -2
- package/src/adapters/kdenlive/render.yaml +1 -2
- package/src/adapters/ke/ershoufang.yaml +0 -2
- package/src/adapters/ke/xiaoqu.yaml +0 -2
- package/src/adapters/krita/batch.yaml +1 -2
- package/src/adapters/krita/convert.yaml +1 -2
- package/src/adapters/krita/export.yaml +1 -2
- package/src/adapters/krita/info.yaml +1 -2
- package/src/adapters/kuaishou/hot.yaml +0 -2
- package/src/adapters/kuaishou/search.yaml +0 -2
- package/src/adapters/lark/version.yaml +0 -2
- package/src/adapters/lesswrong/comments.yaml +0 -2
- package/src/adapters/lesswrong/curated.yaml +0 -2
- package/src/adapters/lesswrong/frontpage.yaml +0 -2
- package/src/adapters/lesswrong/new.yaml +0 -2
- package/src/adapters/lesswrong/read.yaml +0 -2
- package/src/adapters/lesswrong/sequences.yaml +0 -2
- package/src/adapters/lesswrong/shortform.yaml +0 -2
- package/src/adapters/lesswrong/tag.yaml +0 -2
- package/src/adapters/lesswrong/tags.yaml +0 -2
- package/src/adapters/lesswrong/top-month.yaml +0 -2
- package/src/adapters/lesswrong/top-week.yaml +0 -2
- package/src/adapters/lesswrong/top-year.yaml +0 -2
- package/src/adapters/lesswrong/top.yaml +0 -2
- package/src/adapters/lesswrong/user-posts.yaml +0 -2
- package/src/adapters/lesswrong/user.yaml +0 -2
- package/src/adapters/libreoffice/convert.yaml +1 -2
- package/src/adapters/libreoffice/print.yaml +1 -2
- package/src/adapters/linear/issue-update.yaml +1 -0
- package/src/adapters/linkedin/jobs.yaml +0 -2
- package/src/adapters/linkedin/profile.yaml +0 -2
- package/src/adapters/linkedin/search.yaml +0 -2
- package/src/adapters/linkedin/timeline.yaml +0 -2
- package/src/adapters/linux-do/categories.yaml +0 -2
- package/src/adapters/linux-do/category.yaml +1 -2
- package/src/adapters/linux-do/feed.yaml +0 -2
- package/src/adapters/linux-do/hot.yaml +0 -2
- package/src/adapters/linux-do/latest.yaml +0 -2
- package/src/adapters/linux-do/search.yaml +0 -2
- package/src/adapters/linux-do/tags.yaml +0 -2
- package/src/adapters/linux-do/topic.yaml +1 -2
- package/src/adapters/linux-do/user-posts.yaml +0 -2
- package/src/adapters/linux-do/user-topics.yaml +0 -2
- package/src/adapters/lobsters/active.yaml +0 -2
- package/src/adapters/lobsters/hot.yaml +0 -2
- package/src/adapters/lobsters/newest.yaml +0 -2
- package/src/adapters/lobsters/search.yaml +0 -2
- package/src/adapters/lobsters/tag.yaml +0 -2
- package/src/adapters/macos/active-app.yaml +0 -2
- package/src/adapters/macos/apps-list.yaml +0 -2
- package/src/adapters/macos/apps.yaml +0 -2
- package/src/adapters/macos/battery.yaml +0 -2
- package/src/adapters/macos/bluetooth.yaml +0 -2
- package/src/adapters/macos/brightness.yaml +0 -2
- package/src/adapters/macos/caffeinate.yaml +0 -2
- package/src/adapters/macos/calendar-create.yaml +1 -2
- package/src/adapters/macos/calendar-list.yaml +0 -2
- package/src/adapters/macos/calendar-today.yaml +0 -2
- package/src/adapters/macos/clipboard.yaml +0 -2
- package/src/adapters/macos/contacts-search.yaml +0 -2
- package/src/adapters/macos/dark-mode.yaml +0 -2
- package/src/adapters/macos/disk-info.yaml +0 -2
- package/src/adapters/macos/disk-usage.yaml +0 -2
- package/src/adapters/macos/do-not-disturb.yaml +0 -2
- package/src/adapters/macos/empty-trash.yaml +0 -2
- package/src/adapters/macos/finder-copy.yaml +1 -2
- package/src/adapters/macos/finder-move.yaml +1 -2
- package/src/adapters/macos/finder-new-folder.yaml +1 -2
- package/src/adapters/macos/finder-recent.yaml +0 -2
- package/src/adapters/macos/finder-selection.yaml +0 -2
- package/src/adapters/macos/finder-tags.yaml +1 -2
- package/src/adapters/macos/lock-screen.yaml +0 -2
- package/src/adapters/macos/mail-send.yaml +0 -2
- package/src/adapters/macos/mail-status.yaml +0 -2
- package/src/adapters/macos/messages-send.yaml +0 -2
- package/src/adapters/macos/music-control.yaml +0 -2
- package/src/adapters/macos/music-now.yaml +0 -2
- package/src/adapters/macos/notes-list.yaml +0 -2
- package/src/adapters/macos/notes-search.yaml +0 -2
- package/src/adapters/macos/notification.yaml +0 -2
- package/src/adapters/macos/notify.yaml +0 -2
- package/src/adapters/macos/open-app.yaml +0 -2
- package/src/adapters/macos/open.yaml +2 -2
- package/src/adapters/macos/photos-search.yaml +0 -2
- package/src/adapters/macos/processes.yaml +0 -2
- package/src/adapters/macos/reminder-create.yaml +0 -2
- package/src/adapters/macos/reminders-complete.yaml +0 -2
- package/src/adapters/macos/reminders-list.yaml +0 -2
- package/src/adapters/macos/safari-history.yaml +0 -2
- package/src/adapters/macos/safari-tabs.yaml +0 -2
- package/src/adapters/macos/safari-url.yaml +0 -2
- package/src/adapters/macos/say.yaml +0 -2
- package/src/adapters/macos/screen-lock.yaml +0 -2
- package/src/adapters/macos/screen-recording.yaml +1 -2
- package/src/adapters/macos/screenshot.yaml +1 -2
- package/src/adapters/macos/shortcuts-list.yaml +0 -2
- package/src/adapters/macos/shortcuts-run.yaml +0 -2
- package/src/adapters/macos/sleep.yaml +0 -2
- package/src/adapters/macos/spotlight.yaml +1 -2
- package/src/adapters/macos/system-info.yaml +0 -2
- package/src/adapters/macos/trash.yaml +0 -2
- package/src/adapters/macos/uptime.yaml +0 -2
- package/src/adapters/macos/volume.yaml +0 -2
- package/src/adapters/macos/wallpaper.yaml +1 -2
- package/src/adapters/macos/wifi-info.yaml +0 -2
- package/src/adapters/macos/wifi.yaml +0 -2
- package/src/adapters/maimai/search.yaml +0 -2
- package/src/adapters/maoyan/hot.yaml +0 -2
- package/src/adapters/maoyan/search.yaml +0 -2
- package/src/adapters/mastodon/search.yaml +0 -2
- package/src/adapters/mastodon/timeline.yaml +0 -2
- package/src/adapters/mastodon/trending.yaml +0 -2
- package/src/adapters/mastodon/user.yaml +0 -2
- package/src/adapters/medium/article.yaml +1 -2
- package/src/adapters/medium/feed.yaml +0 -2
- package/src/adapters/medium/search.yaml +0 -2
- package/src/adapters/medium/trending.yaml +0 -2
- package/src/adapters/medium/user.yaml +0 -2
- package/src/adapters/meituan/hot.yaml +0 -2
- package/src/adapters/meituan/search.yaml +0 -2
- package/src/adapters/mermaid/render.yaml +1 -2
- package/src/adapters/minimax/chat.yaml +0 -2
- package/src/adapters/minimax/models.yaml +0 -2
- package/src/adapters/minimax/tts.yaml +1 -2
- package/src/adapters/motion-studio/component-get.yaml +1 -2
- package/src/adapters/mubu/list.yaml +0 -2
- package/src/adapters/mubu/search.yaml +0 -2
- package/src/adapters/musescore/convert.yaml +2 -2
- package/src/adapters/musescore/export.yaml +2 -2
- package/src/adapters/musescore/info.yaml +1 -2
- package/src/adapters/musescore/instruments.yaml +1 -2
- package/src/adapters/musescore/transpose.yaml +1 -2
- package/src/adapters/neonctl/projects.yaml +0 -2
- package/src/adapters/netease-music/hot.yaml +0 -2
- package/src/adapters/netease-music/playlist.yaml +1 -2
- package/src/adapters/netease-music/search.yaml +0 -2
- package/src/adapters/netease-music/top.yaml +1 -2
- package/src/adapters/netlify/sites.yaml +0 -2
- package/src/adapters/notebooklm/current.yaml +0 -2
- package/src/adapters/notebooklm/get.yaml +1 -2
- package/src/adapters/notebooklm/history.yaml +1 -2
- package/src/adapters/notebooklm/list.yaml +0 -2
- package/src/adapters/notebooklm/note-list.yaml +1 -2
- package/src/adapters/notebooklm/notes-get.yaml +1 -2
- package/src/adapters/notebooklm/open.yaml +1 -2
- package/src/adapters/notebooklm/rpc.yaml +0 -2
- package/src/adapters/notebooklm/shared.yaml +0 -2
- package/src/adapters/notebooklm/source-fulltext.yaml +1 -2
- package/src/adapters/notebooklm/source-get.yaml +1 -2
- package/src/adapters/notebooklm/source-guide.yaml +1 -2
- package/src/adapters/notebooklm/source-list.yaml +1 -2
- package/src/adapters/notebooklm/status.yaml +0 -2
- package/src/adapters/notebooklm/summary.yaml +1 -2
- package/src/adapters/notion/databases.yaml +0 -2
- package/src/adapters/notion/pages.yaml +0 -2
- package/src/adapters/notion/search.yaml +0 -2
- package/src/adapters/novita/generate.yaml +0 -2
- package/src/adapters/novita/models.yaml +0 -2
- package/src/adapters/novita/status.yaml +1 -2
- package/src/adapters/npm/downloads.yaml +0 -2
- package/src/adapters/npm/info.yaml +0 -2
- package/src/adapters/npm/search.yaml +0 -2
- package/src/adapters/npm/versions.yaml +0 -2
- package/src/adapters/npm-trends/compare.yaml +0 -2
- package/src/adapters/npm-trends/trending.yaml +0 -2
- package/src/adapters/nytimes/search.yaml +0 -2
- package/src/adapters/nytimes/top.yaml +0 -2
- package/src/adapters/obs/record-start.yaml +0 -2
- package/src/adapters/obs/record-stop.yaml +0 -2
- package/src/adapters/obs/scenes.yaml +0 -2
- package/src/adapters/obs/screenshot.yaml +1 -2
- package/src/adapters/obs/sources.yaml +0 -2
- package/src/adapters/obs/status.yaml +0 -2
- package/src/adapters/obs/stream-start.yaml +0 -2
- package/src/adapters/obs/stream-stop.yaml +0 -2
- package/src/adapters/obsidian/daily.yaml +0 -2
- package/src/adapters/obsidian/open.yaml +1 -2
- package/src/adapters/obsidian/search.yaml +0 -2
- package/src/adapters/ollama/generate.yaml +0 -2
- package/src/adapters/ollama/list.yaml +0 -2
- package/src/adapters/ollama/models.yaml +0 -2
- package/src/adapters/ollama/ps.yaml +0 -2
- package/src/adapters/ones/enrich-tasks.yaml +0 -2
- package/src/adapters/ones/login.yaml +1 -2
- package/src/adapters/ones/logout.yaml +0 -2
- package/src/adapters/ones/me.yaml +0 -2
- package/src/adapters/ones/my-tasks.yaml +0 -2
- package/src/adapters/ones/resolve-labels.yaml +0 -2
- package/src/adapters/ones/task-helpers.yaml +0 -2
- package/src/adapters/ones/task.yaml +1 -2
- package/src/adapters/ones/tasks.yaml +0 -2
- package/src/adapters/ones/token-info.yaml +0 -2
- package/src/adapters/ones/worklog.yaml +0 -2
- package/src/adapters/opencode/version.yaml +0 -2
- package/src/adapters/openharness/memory-read.yaml +0 -2
- package/src/adapters/openharness/skills-list.yaml +0 -2
- package/src/adapters/openrouter/models.yaml +0 -2
- package/src/adapters/openrouter/search.yaml +0 -2
- package/src/adapters/pandoc/convert.yaml +1 -2
- package/src/adapters/paperreview/feedback.yaml +2 -2
- package/src/adapters/paperreview/review.yaml +2 -2
- package/src/adapters/paperreview/submit.yaml +2 -2
- package/src/adapters/perplexity/ask.yaml +0 -2
- package/src/adapters/pexels/curated.yaml +0 -2
- package/src/adapters/pexels/search.yaml +0 -2
- package/src/adapters/pinduoduo/hot.yaml +0 -2
- package/src/adapters/pinduoduo/search.yaml +0 -2
- package/src/adapters/pixiv/detail.yaml +1 -2
- package/src/adapters/pixiv/download.yaml +2 -2
- package/src/adapters/pixiv/illusts.yaml +0 -2
- package/src/adapters/pixiv/ranking.yaml +0 -2
- package/src/adapters/pixiv/search.yaml +0 -2
- package/src/adapters/pixiv/user.yaml +0 -2
- package/src/adapters/producthunt/browse.yaml +0 -2
- package/src/adapters/producthunt/hot.yaml +0 -2
- package/src/adapters/producthunt/posts.yaml +0 -2
- package/src/adapters/producthunt/search.yaml +0 -2
- package/src/adapters/producthunt/today.yaml +0 -2
- package/src/adapters/pscale/databases.yaml +0 -2
- package/src/adapters/pypi/info.yaml +0 -2
- package/src/adapters/pypi/search.yaml +0 -2
- package/src/adapters/pypi/versions.yaml +0 -2
- package/src/adapters/quark/ls.yaml +1 -2
- package/src/adapters/quark/search.yaml +0 -2
- package/src/adapters/qweather/forecast.yaml +0 -2
- package/src/adapters/qweather/now.yaml +0 -2
- package/src/adapters/railway/deploy.yaml +0 -2
- package/src/adapters/reddit/comment.yaml +0 -2
- package/src/adapters/reddit/comments.yaml +2 -2
- package/src/adapters/reddit/frontpage.yaml +0 -2
- package/src/adapters/reddit/hot.yaml +0 -2
- package/src/adapters/reddit/new.yaml +0 -2
- package/src/adapters/reddit/popular.yaml +0 -2
- package/src/adapters/reddit/read.yaml +0 -2
- package/src/adapters/reddit/rising.yaml +0 -2
- package/src/adapters/reddit/save.yaml +0 -2
- package/src/adapters/reddit/saved.yaml +0 -2
- package/src/adapters/reddit/search.yaml +0 -2
- package/src/adapters/reddit/subreddit.yaml +0 -2
- package/src/adapters/reddit/subscribe.yaml +0 -2
- package/src/adapters/reddit/top.yaml +0 -2
- package/src/adapters/reddit/trending.yaml +0 -2
- package/src/adapters/reddit/upvote.yaml +0 -2
- package/src/adapters/reddit/upvoted.yaml +0 -2
- package/src/adapters/reddit/user-comments.yaml +0 -2
- package/src/adapters/reddit/user-posts.yaml +0 -2
- package/src/adapters/reddit/user.yaml +0 -2
- package/src/adapters/renderdoc/capture-list.yaml +1 -2
- package/src/adapters/renderdoc/frame-export.yaml +1 -2
- package/src/adapters/replicate/run.yaml +0 -2
- package/src/adapters/replicate/search.yaml +0 -2
- package/src/adapters/replicate/trending.yaml +0 -2
- package/src/adapters/reuters/article.yaml +2 -2
- package/src/adapters/reuters/latest.yaml +0 -2
- package/src/adapters/reuters/search.yaml +0 -2
- package/src/adapters/reuters/top.yaml +0 -2
- package/src/adapters/shotcut/effects.yaml +0 -2
- package/src/adapters/shotcut/info.yaml +1 -2
- package/src/adapters/shotcut/render.yaml +1 -2
- package/src/adapters/sinablog/article.yaml +1 -2
- package/src/adapters/sinablog/hot.yaml +0 -2
- package/src/adapters/sinablog/search.yaml +0 -2
- package/src/adapters/sinablog/user.yaml +1 -2
- package/src/adapters/sinafinance/market.yaml +0 -2
- package/src/adapters/sinafinance/news.yaml +0 -2
- package/src/adapters/sinafinance/rolling-news.yaml +0 -2
- package/src/adapters/sinafinance/stock-rank.yaml +0 -2
- package/src/adapters/sinafinance/stock.yaml +0 -2
- package/src/adapters/sketch/artboards.yaml +1 -2
- package/src/adapters/sketch/export.yaml +1 -2
- package/src/adapters/sketch/symbols.yaml +1 -2
- package/src/adapters/slack/channels.yaml +0 -2
- package/src/adapters/slack/messages.yaml +0 -2
- package/src/adapters/slack/post.yaml +0 -2
- package/src/adapters/slack/search.yaml +0 -2
- package/src/adapters/slack/send.yaml +0 -2
- package/src/adapters/slack/status.yaml +0 -2
- package/src/adapters/slack/users.yaml +0 -2
- package/src/adapters/slay-the-spire-ii/deck.yaml +0 -2
- package/src/adapters/slay-the-spire-ii/end-turn.yaml +0 -2
- package/src/adapters/slay-the-spire-ii/map.yaml +0 -2
- package/src/adapters/slay-the-spire-ii/play-card.yaml +0 -2
- package/src/adapters/slay-the-spire-ii/status.yaml +0 -2
- package/src/adapters/slay-the-spire-ii/use-potion.yaml +0 -2
- package/src/adapters/slock/servers.yaml +0 -2
- package/src/adapters/smzdm/article.yaml +1 -2
- package/src/adapters/smzdm/hot.yaml +0 -2
- package/src/adapters/smzdm/search.yaml +0 -2
- package/src/adapters/spotify/now-playing.yaml +0 -2
- package/src/adapters/spotify/playlists.yaml +0 -2
- package/src/adapters/spotify/search.yaml +0 -2
- package/src/adapters/spotify/top-tracks.yaml +0 -2
- package/src/adapters/sspai/hot.yaml +0 -2
- package/src/adapters/sspai/latest.yaml +0 -2
- package/src/adapters/stackoverflow/bounties.yaml +0 -2
- package/src/adapters/stackoverflow/hot.yaml +0 -2
- package/src/adapters/stackoverflow/question.yaml +1 -2
- package/src/adapters/stackoverflow/search.yaml +0 -2
- package/src/adapters/stackoverflow/tags.yaml +0 -2
- package/src/adapters/stackoverflow/unanswered.yaml +0 -2
- package/src/adapters/stagehand/wrap-observe.yaml +1 -2
- package/src/adapters/steam/app-details.yaml +0 -2
- package/src/adapters/steam/new-releases.yaml +0 -2
- package/src/adapters/steam/search.yaml +0 -2
- package/src/adapters/steam/specials.yaml +0 -2
- package/src/adapters/steam/top-sellers.yaml +0 -2
- package/src/adapters/steam/wishlist.yaml +1 -2
- package/src/adapters/substack/feed.yaml +0 -2
- package/src/adapters/substack/publication.yaml +0 -2
- package/src/adapters/substack/search.yaml +0 -2
- package/src/adapters/substack/trending.yaml +0 -2
- package/src/adapters/supabase/projects.yaml +0 -2
- package/src/adapters/taobao/hot.yaml +0 -2
- package/src/adapters/taobao/search.yaml +0 -2
- package/src/adapters/techcrunch/latest.yaml +0 -2
- package/src/adapters/techcrunch/search.yaml +0 -2
- package/src/adapters/theverge/latest.yaml +0 -2
- package/src/adapters/theverge/search.yaml +0 -2
- package/src/adapters/threads/hot.yaml +0 -2
- package/src/adapters/threads/search.yaml +0 -2
- package/src/adapters/tieba/hot.yaml +0 -2
- package/src/adapters/tieba/posts.yaml +0 -2
- package/src/adapters/tieba/read.yaml +1 -2
- package/src/adapters/tieba/search.yaml +0 -2
- package/src/adapters/tiktok/comment.yaml +1 -2
- package/src/adapters/tiktok/explore.yaml +0 -2
- package/src/adapters/tiktok/follow.yaml +0 -2
- package/src/adapters/tiktok/following.yaml +0 -2
- package/src/adapters/tiktok/friends.yaml +0 -2
- package/src/adapters/tiktok/like.yaml +1 -2
- package/src/adapters/tiktok/live.yaml +0 -2
- package/src/adapters/tiktok/notifications.yaml +0 -2
- package/src/adapters/tiktok/profile.yaml +0 -2
- package/src/adapters/tiktok/save.yaml +1 -2
- package/src/adapters/tiktok/search.yaml +0 -2
- package/src/adapters/tiktok/trending.yaml +0 -2
- package/src/adapters/tiktok/unfollow.yaml +0 -2
- package/src/adapters/tiktok/unlike.yaml +1 -2
- package/src/adapters/tiktok/unsave.yaml +1 -2
- package/src/adapters/tiktok/user.yaml +0 -2
- package/src/adapters/toutiao/hot.yaml +0 -2
- package/src/adapters/toutiao/search.yaml +0 -2
- package/src/adapters/twitch/games.yaml +0 -2
- package/src/adapters/twitch/search.yaml +0 -2
- package/src/adapters/twitch/streams.yaml +1 -2
- package/src/adapters/twitch/top.yaml +0 -2
- package/src/adapters/twitter/lists.yaml +0 -2
- package/src/adapters/twitter/media.yaml +0 -2
- package/src/adapters/twitter/mentions.yaml +0 -2
- package/src/adapters/twitter/mute.yaml +0 -2
- package/src/adapters/twitter/pin.yaml +0 -2
- package/src/adapters/twitter/quotes.yaml +2 -2
- package/src/adapters/twitter/retweets.yaml +1 -2
- package/src/adapters/twitter/spaces.yaml +0 -2
- package/src/adapters/twitter/unmute.yaml +0 -2
- package/src/adapters/unsplash/random.yaml +0 -2
- package/src/adapters/unsplash/search.yaml +0 -2
- package/src/adapters/v2ex/daily.yaml +0 -2
- package/src/adapters/v2ex/hot.yaml +0 -2
- package/src/adapters/v2ex/latest.yaml +0 -2
- package/src/adapters/v2ex/me.yaml +0 -2
- package/src/adapters/v2ex/member.yaml +0 -2
- package/src/adapters/v2ex/node.yaml +0 -2
- package/src/adapters/v2ex/nodes.yaml +0 -2
- package/src/adapters/v2ex/notifications.yaml +0 -2
- package/src/adapters/v2ex/replies.yaml +1 -2
- package/src/adapters/v2ex/search.yaml +0 -2
- package/src/adapters/v2ex/topic.yaml +1 -2
- package/src/adapters/v2ex/user.yaml +0 -2
- package/src/adapters/vercel/list.yaml +0 -2
- package/src/adapters/vscode/extensions.yaml +0 -2
- package/src/adapters/vscode/install-ext.yaml +1 -2
- package/src/adapters/vscode/open.yaml +1 -2
- package/src/adapters/web/read.yaml +1 -2
- package/src/adapters/wechat-channels/hot.yaml +0 -2
- package/src/adapters/wechat-channels/search.yaml +0 -2
- package/src/adapters/weibo/comments.yaml +1 -2
- package/src/adapters/weibo/feed.yaml +0 -2
- package/src/adapters/weibo/hot.yaml +0 -2
- package/src/adapters/weibo/me.yaml +0 -2
- package/src/adapters/weibo/post.yaml +1 -2
- package/src/adapters/weibo/profile.yaml +0 -2
- package/src/adapters/weibo/search.yaml +0 -2
- package/src/adapters/weibo/timeline.yaml +0 -2
- package/src/adapters/weibo/trending.yaml +0 -2
- package/src/adapters/weibo/user.yaml +0 -2
- package/src/adapters/weixin/article.yaml +0 -2
- package/src/adapters/weixin/download.yaml +1 -2
- package/src/adapters/weixin/hot.yaml +0 -2
- package/src/adapters/weixin/search.yaml +0 -2
- package/src/adapters/weread/book.yaml +0 -2
- package/src/adapters/weread/highlights.yaml +0 -2
- package/src/adapters/weread/notebooks.yaml +0 -2
- package/src/adapters/weread/notes.yaml +0 -2
- package/src/adapters/weread/ranking.yaml +0 -2
- package/src/adapters/weread/search.yaml +0 -2
- package/src/adapters/weread/shelf.yaml +0 -2
- package/src/adapters/wikipedia/random.yaml +0 -2
- package/src/adapters/wikipedia/search.yaml +0 -2
- package/src/adapters/wikipedia/summary.yaml +0 -2
- package/src/adapters/wikipedia/today.yaml +0 -2
- package/src/adapters/wikipedia/trending.yaml +0 -2
- package/src/adapters/wiremock/create-stub.yaml +2 -2
- package/src/adapters/wiremock/delete-stub.yaml +1 -2
- package/src/adapters/wiremock/reset.yaml +0 -2
- package/src/adapters/wiremock/stubs.yaml +0 -2
- package/src/adapters/wiremock/verify.yaml +1 -2
- package/src/adapters/wrangler/list.yaml +0 -2
- package/src/adapters/xianyu/chat.yaml +0 -2
- package/src/adapters/xianyu/item.yaml +1 -2
- package/src/adapters/xianyu/search.yaml +0 -2
- package/src/adapters/xiaoe/catalog.yaml +1 -2
- package/src/adapters/xiaoe/content.yaml +1 -2
- package/src/adapters/xiaoe/courses.yaml +0 -2
- package/src/adapters/xiaoe/detail.yaml +1 -2
- package/src/adapters/xiaoe/play-url.yaml +1 -2
- package/src/adapters/xiaohongshu/feed.yaml +0 -2
- package/src/adapters/xiaohongshu/follow.yaml +0 -2
- package/src/adapters/xiaohongshu/hashtag.yaml +0 -2
- package/src/adapters/xiaohongshu/hot.yaml +0 -2
- package/src/adapters/xiaohongshu/like.yaml +0 -2
- package/src/adapters/xiaohongshu/notifications.yaml +0 -2
- package/src/adapters/xiaohongshu/profile.yaml +0 -2
- package/src/adapters/xiaohongshu/save.yaml +0 -2
- package/src/adapters/xiaohongshu/suggest.yaml +0 -2
- package/src/adapters/xiaohongshu/trending.yaml +0 -2
- package/src/adapters/xiaohongshu/unfollow.yaml +0 -2
- package/src/adapters/xiaoyuzhou/episode.yaml +0 -2
- package/src/adapters/xiaoyuzhou/podcast-episodes.yaml +0 -2
- package/src/adapters/xiaoyuzhou/podcast.yaml +2 -2
- package/src/adapters/xueqiu/comments.yaml +0 -2
- package/src/adapters/xueqiu/earnings-date.yaml +0 -2
- package/src/adapters/xueqiu/feed.yaml +0 -2
- package/src/adapters/xueqiu/fund-holdings.yaml +0 -2
- package/src/adapters/xueqiu/fund-snapshot.yaml +0 -2
- package/src/adapters/xueqiu/hot-stock.yaml +0 -2
- package/src/adapters/xueqiu/hot.yaml +0 -2
- package/src/adapters/xueqiu/market.yaml +0 -2
- package/src/adapters/xueqiu/quote.yaml +0 -2
- package/src/adapters/xueqiu/search.yaml +0 -2
- package/src/adapters/xueqiu/stock.yaml +0 -2
- package/src/adapters/xueqiu/watchlist.yaml +0 -2
- package/src/adapters/yahoo-finance/quote.yaml +0 -2
- package/src/adapters/yahoo-finance/search.yaml +0 -2
- package/src/adapters/yahoo-finance/trending.yaml +0 -2
- package/src/adapters/ycombinator/launches.yaml +0 -2
- package/src/adapters/yollomi/background.yaml +0 -2
- package/src/adapters/yollomi/edit.yaml +2 -2
- package/src/adapters/yollomi/face-swap.yaml +0 -2
- package/src/adapters/yollomi/generate.yaml +0 -2
- package/src/adapters/yollomi/models.yaml +0 -2
- package/src/adapters/yollomi/object-remover.yaml +0 -2
- package/src/adapters/yollomi/remove-bg.yaml +2 -2
- package/src/adapters/yollomi/restore.yaml +2 -2
- package/src/adapters/yollomi/try-on.yaml +0 -2
- package/src/adapters/yollomi/upload.yaml +2 -2
- package/src/adapters/yollomi/upscale.yaml +2 -2
- package/src/adapters/yollomi/video.yaml +0 -2
- package/src/adapters/youtube/playlist.yaml +1 -2
- package/src/adapters/youtube/shorts.yaml +0 -2
- package/src/adapters/youtube/trending.yaml +0 -2
- package/src/adapters/yt-dlp/download.yaml +2 -2
- package/src/adapters/yt-dlp/extract-audio.yaml +2 -2
- package/src/adapters/yt-dlp/info.yaml +1 -2
- package/src/adapters/yt-dlp/search.yaml +0 -2
- package/src/adapters/yuanbao/ask.yaml +0 -2
- package/src/adapters/yuanbao/new.yaml +0 -2
- package/src/adapters/yuanbao/shared.yaml +0 -2
- package/src/adapters/zhihu/answer.yaml +1 -2
- package/src/adapters/zhihu/answers.yaml +2 -2
- package/src/adapters/zhihu/article.yaml +1 -2
- package/src/adapters/zhihu/articles.yaml +2 -2
- package/src/adapters/zhihu/collections.yaml +2 -2
- package/src/adapters/zhihu/columns.yaml +2 -2
- package/src/adapters/zhihu/comment.yaml +1 -2
- package/src/adapters/zhihu/download.yaml +1 -2
- package/src/adapters/zhihu/feed.yaml +0 -2
- package/src/adapters/zhihu/followers.yaml +2 -2
- package/src/adapters/zhihu/following.yaml +2 -2
- package/src/adapters/zhihu/hot.yaml +0 -2
- package/src/adapters/zhihu/me.yaml +0 -2
- package/src/adapters/zhihu/notifications.yaml +0 -2
- package/src/adapters/zhihu/pins.yaml +2 -2
- package/src/adapters/zhihu/question.yaml +1 -2
- package/src/adapters/zhihu/search.yaml +0 -2
- package/src/adapters/zhihu/topic.yaml +1 -2
- package/src/adapters/zhihu/topics.yaml +1 -2
- package/src/adapters/zhihu/trending.yaml +0 -2
- package/src/adapters/zhihu/user.yaml +2 -2
- package/src/adapters/zoom/join.yaml +1 -2
- package/src/adapters/zoom/start.yaml +0 -2
- package/src/adapters/zoom/toggle-mute.yaml +0 -2
- package/src/adapters/zotero/add-note.yaml +0 -2
- package/src/adapters/zotero/add-tag.yaml +0 -2
- package/src/adapters/zotero/collections.yaml +0 -2
- package/src/adapters/zotero/export.yaml +0 -2
- package/src/adapters/zotero/items.yaml +0 -2
- package/src/adapters/zotero/notes.yaml +0 -2
- package/src/adapters/zotero/search.yaml +0 -2
- package/src/adapters/zotero/tags.yaml +0 -2
- package/src/adapters/zsxq/dynamics.yaml +0 -2
- package/src/adapters/zsxq/groups.yaml +0 -2
- package/src/adapters/zsxq/search.yaml +1 -2
- package/src/adapters/zsxq/topic.yaml +1 -2
- package/src/adapters/zsxq/topics.yaml +1 -2
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fingerprint persistence for the ref-backed locator verification layer.
|
|
3
|
+
*
|
|
4
|
+
* On every snapshot we persist a map on the page:
|
|
5
|
+
*
|
|
6
|
+
* window.__unicli_ref_identity : Record<ref, {role, name?, bbox?, taken_at}>
|
|
7
|
+
* window.__unicli_ref_taken_at : number (ms epoch)
|
|
8
|
+
*
|
|
9
|
+
* Click/type steps read this map before acting and throw TargetError if the
|
|
10
|
+
* ref is stale, ambiguous, or not found. See target-errors.ts.
|
|
11
|
+
*/
|
|
12
|
+
import { ambiguous, notFound, staleRef, } from "./target-errors.js";
|
|
13
|
+
/**
|
|
14
|
+
* JS expression — scans all `[data-unicli-ref]` elements currently in the
|
|
15
|
+
* DOM and writes them to `window.__unicli_ref_identity`. Overwrites any
|
|
16
|
+
* prior map (spec: overwrite on each snapshot, not diff).
|
|
17
|
+
*
|
|
18
|
+
* Emits the map as a string via JSON.stringify so Runtime.evaluate returns
|
|
19
|
+
* a serialisable value (no function / bigint / DOM node in the return path).
|
|
20
|
+
*/
|
|
21
|
+
export const FINGERPRINT_PERSIST_JS = `(() => {
|
|
22
|
+
const takenAt = Date.now();
|
|
23
|
+
const map = {};
|
|
24
|
+
const nodes = document.querySelectorAll('[data-unicli-ref]');
|
|
25
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
26
|
+
const el = nodes[i];
|
|
27
|
+
const ref = el.getAttribute('data-unicli-ref');
|
|
28
|
+
if (!ref) continue;
|
|
29
|
+
const role = el.getAttribute('role') || el.tagName.toLowerCase();
|
|
30
|
+
const name =
|
|
31
|
+
el.getAttribute('aria-label') ||
|
|
32
|
+
el.getAttribute('name') ||
|
|
33
|
+
el.getAttribute('placeholder') ||
|
|
34
|
+
(el.textContent || '').trim().slice(0, 80) ||
|
|
35
|
+
undefined;
|
|
36
|
+
let bbox;
|
|
37
|
+
try {
|
|
38
|
+
const r = el.getBoundingClientRect();
|
|
39
|
+
bbox = [Math.round(r.left), Math.round(r.top), Math.round(r.width), Math.round(r.height)];
|
|
40
|
+
} catch { /* detached node */ }
|
|
41
|
+
const entry = { role: role, taken_at: takenAt };
|
|
42
|
+
if (name) entry.name = name;
|
|
43
|
+
if (bbox) entry.bbox = bbox;
|
|
44
|
+
map[ref] = entry;
|
|
45
|
+
}
|
|
46
|
+
window.__unicli_ref_identity = map;
|
|
47
|
+
window.__unicli_ref_taken_at = takenAt;
|
|
48
|
+
return takenAt;
|
|
49
|
+
})()`;
|
|
50
|
+
/**
|
|
51
|
+
* Returns ms since the most recent snapshot, or null if none has been taken
|
|
52
|
+
* (or the page has navigated away and the window globals were wiped).
|
|
53
|
+
*/
|
|
54
|
+
export async function getSnapshotAge(page) {
|
|
55
|
+
const raw = await page.evaluate(`(() => { const t = window.__unicli_ref_taken_at; return typeof t === 'number' ? (Date.now() - t) : null; })()`);
|
|
56
|
+
return typeof raw === "number" ? raw : null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Extract the numeric ref from a `[data-unicli-ref=<N>]` selector.
|
|
60
|
+
* Accepts double-quoted, single-quoted, and unquoted attribute-value
|
|
61
|
+
* forms, so compound selectors like `button[data-unicli-ref="3"].primary`
|
|
62
|
+
* and hand-rolled `[data-unicli-ref=3]` both resolve. Returns null for
|
|
63
|
+
* selectors that don't carry a data-unicli-ref attribute at all (plain
|
|
64
|
+
* CSS selectors bypass verification — backward compat).
|
|
65
|
+
*/
|
|
66
|
+
export function extractRef(selector) {
|
|
67
|
+
const match = /\[data-unicli-ref=(?:"([^"]+)"|'([^']+)'|([^\]\s]+))\]/.exec(selector);
|
|
68
|
+
if (!match)
|
|
69
|
+
return null;
|
|
70
|
+
return match[1] ?? match[2] ?? match[3] ?? null;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Canonical single-element selector for a given ref — used by verifyRef's
|
|
74
|
+
* `countMatches` call so the count reflects ref uniqueness and not the
|
|
75
|
+
* caller's compound selector (e.g. `button[data-unicli-ref="3"].primary`
|
|
76
|
+
* may narrow the match count artificially).
|
|
77
|
+
*/
|
|
78
|
+
function canonicalRefSelector(ref) {
|
|
79
|
+
return `[data-unicli-ref="${ref}"]`;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Reads the fingerprint entry for a given ref from the live page, or null
|
|
83
|
+
* if no entry exists (stale snapshot) or the global is malformed.
|
|
84
|
+
*/
|
|
85
|
+
export async function readFingerprint(page, ref) {
|
|
86
|
+
const refJson = JSON.stringify(ref);
|
|
87
|
+
const raw = await page.evaluate(`(() => { const m = window.__unicli_ref_identity; return m ? (m[${refJson}] || null) : null; })()`);
|
|
88
|
+
if (raw === null || raw === undefined)
|
|
89
|
+
return null;
|
|
90
|
+
if (typeof raw !== "object")
|
|
91
|
+
return null;
|
|
92
|
+
const entry = raw;
|
|
93
|
+
if (typeof entry.role !== "string")
|
|
94
|
+
return null;
|
|
95
|
+
return entry;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Counts how many live elements currently match the given CSS selector.
|
|
99
|
+
*/
|
|
100
|
+
export async function countMatches(page, selector) {
|
|
101
|
+
const selJson = JSON.stringify(selector);
|
|
102
|
+
const raw = await page.evaluate(`document.querySelectorAll(${selJson}).length`);
|
|
103
|
+
return typeof raw === "number" ? raw : 0;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Verify that a `[data-unicli-ref="<N>"]`-style selector binds to exactly
|
|
107
|
+
* one live element in the current fingerprint map. Throws TargetError on
|
|
108
|
+
* stale_ref / ambiguous / ref_not_found. Plain CSS selectors bypass
|
|
109
|
+
* verification (backward compat for hand-written YAML adapters).
|
|
110
|
+
*
|
|
111
|
+
* NOTE: verifyRef is best-effort, not atomic with the subsequent click/type
|
|
112
|
+
* call. Between the fingerprint read, the match count, and the caller's
|
|
113
|
+
* action, the DOM may re-render. A pass means the ref was valid at verify
|
|
114
|
+
* time; callers doing recovery should retry with a fresh snapshot on any
|
|
115
|
+
* post-click surprise.
|
|
116
|
+
*/
|
|
117
|
+
export async function verifyRef(page, selector) {
|
|
118
|
+
const ref = extractRef(selector);
|
|
119
|
+
if (ref === null)
|
|
120
|
+
return;
|
|
121
|
+
const entry = await readFingerprint(page, ref);
|
|
122
|
+
if (!entry) {
|
|
123
|
+
const age = await getSnapshotAge(page);
|
|
124
|
+
const candidates = await listCandidates(page);
|
|
125
|
+
throw staleRef(ref, age ?? undefined, candidates.length ? candidates : undefined);
|
|
126
|
+
}
|
|
127
|
+
// Count via the canonical ref selector so ref uniqueness is verified,
|
|
128
|
+
// not the caller's compound selector (e.g. `button[data-unicli-ref="3"].primary`).
|
|
129
|
+
const count = await countMatches(page, canonicalRefSelector(ref));
|
|
130
|
+
if (count === 0) {
|
|
131
|
+
const candidates = await listCandidates(page);
|
|
132
|
+
throw notFound(ref, candidates.length ? candidates : undefined);
|
|
133
|
+
}
|
|
134
|
+
if (count > 1) {
|
|
135
|
+
const candidates = await listCandidates(page);
|
|
136
|
+
throw ambiguous(ref, candidates);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Returns the list of candidate refs from the current fingerprint map.
|
|
141
|
+
* Used to populate TargetError.detail.candidates so the caller can recover.
|
|
142
|
+
*/
|
|
143
|
+
export async function listCandidates(page) {
|
|
144
|
+
const raw = await page.evaluate(`(() => {
|
|
145
|
+
const m = window.__unicli_ref_identity;
|
|
146
|
+
if (!m) return [];
|
|
147
|
+
const out = [];
|
|
148
|
+
for (const k of Object.keys(m)) {
|
|
149
|
+
out.push({ ref: k, role: m[k].role, name: m[k].name });
|
|
150
|
+
}
|
|
151
|
+
return out;
|
|
152
|
+
})()`);
|
|
153
|
+
return Array.isArray(raw) ? raw : [];
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=snapshot-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-identity.js","sourceRoot":"","sources":["../../src/browser/snapshot-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured errors for ref-backed locator verification.
|
|
3
|
+
*
|
|
4
|
+
* Ports the diagnostics layer from OpenCLI PR #1016 on top of our existing
|
|
5
|
+
* numbered-ref snapshot primitive. Three failure modes:
|
|
6
|
+
*
|
|
7
|
+
* stale_ref — snapshot was consumed, page mutated, ref no longer binds
|
|
8
|
+
* ambiguous — the selector resolves to more than one live element
|
|
9
|
+
* ref_not_found — the selector resolves to zero live elements
|
|
10
|
+
*
|
|
11
|
+
* Each error carries a candidate list (from the latest fingerprint map)
|
|
12
|
+
* so the caller can recover without taking a fresh snapshot.
|
|
13
|
+
*
|
|
14
|
+
* TargetError is a sibling of PipelineError, not a subclass. When a step
|
|
15
|
+
* throws a TargetError, `executor.ts` re-wraps it into a PipelineError and
|
|
16
|
+
* preserves `detail.code` as the PipelineError's `errorType`. `dispatch.ts`
|
|
17
|
+
* then passes that `errorType` through verbatim as the v2 envelope's
|
|
18
|
+
* `AgentError.code` — so the three codes above surface without re-mapping.
|
|
19
|
+
*
|
|
20
|
+
* NOTE: the `ref_not_found` code is deliberately distinct from the generic
|
|
21
|
+
* HTTP-404 `not_found` code emitted by `dispatch.ts`. Ref-locator failures
|
|
22
|
+
* describe a DOM state; `not_found` describes a server response.
|
|
23
|
+
*/
|
|
24
|
+
export type TargetErrorCode = "stale_ref" | "ambiguous" | "ref_not_found";
|
|
25
|
+
export interface TargetCandidate {
|
|
26
|
+
ref: string;
|
|
27
|
+
role: string;
|
|
28
|
+
name?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface TargetErrorDetail {
|
|
31
|
+
code: TargetErrorCode;
|
|
32
|
+
ref: string;
|
|
33
|
+
message: string;
|
|
34
|
+
candidates?: TargetCandidate[];
|
|
35
|
+
snapshot_age_ms?: number;
|
|
36
|
+
}
|
|
37
|
+
export declare class TargetError extends Error {
|
|
38
|
+
readonly detail: TargetErrorDetail;
|
|
39
|
+
constructor(detail: TargetErrorDetail);
|
|
40
|
+
}
|
|
41
|
+
export declare function staleRef(ref: string, ageMs?: number, candidates?: TargetCandidate[]): TargetError;
|
|
42
|
+
export declare function ambiguous(ref: string, candidates: TargetCandidate[]): TargetError;
|
|
43
|
+
export declare function notFound(ref: string, candidates?: TargetCandidate[]): TargetError;
|
|
44
|
+
export declare function isTargetError(err: unknown): err is TargetError;
|
|
45
|
+
//# sourceMappingURL=target-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-errors.d.ts","sourceRoot":"","sources":["../../src/browser/target-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,eAAe,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,iBAAiB;CAKtC;AAED,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,eAAe,EAAE,GAC7B,WAAW,CAUb;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,eAAe,EAAE,GAC5B,WAAW,CAOb;AAED,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,eAAe,EAAE,GAC7B,WAAW,CAOb;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAE9D"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured errors for ref-backed locator verification.
|
|
3
|
+
*
|
|
4
|
+
* Ports the diagnostics layer from OpenCLI PR #1016 on top of our existing
|
|
5
|
+
* numbered-ref snapshot primitive. Three failure modes:
|
|
6
|
+
*
|
|
7
|
+
* stale_ref — snapshot was consumed, page mutated, ref no longer binds
|
|
8
|
+
* ambiguous — the selector resolves to more than one live element
|
|
9
|
+
* ref_not_found — the selector resolves to zero live elements
|
|
10
|
+
*
|
|
11
|
+
* Each error carries a candidate list (from the latest fingerprint map)
|
|
12
|
+
* so the caller can recover without taking a fresh snapshot.
|
|
13
|
+
*
|
|
14
|
+
* TargetError is a sibling of PipelineError, not a subclass. When a step
|
|
15
|
+
* throws a TargetError, `executor.ts` re-wraps it into a PipelineError and
|
|
16
|
+
* preserves `detail.code` as the PipelineError's `errorType`. `dispatch.ts`
|
|
17
|
+
* then passes that `errorType` through verbatim as the v2 envelope's
|
|
18
|
+
* `AgentError.code` — so the three codes above surface without re-mapping.
|
|
19
|
+
*
|
|
20
|
+
* NOTE: the `ref_not_found` code is deliberately distinct from the generic
|
|
21
|
+
* HTTP-404 `not_found` code emitted by `dispatch.ts`. Ref-locator failures
|
|
22
|
+
* describe a DOM state; `not_found` describes a server response.
|
|
23
|
+
*/
|
|
24
|
+
export class TargetError extends Error {
|
|
25
|
+
detail;
|
|
26
|
+
constructor(detail) {
|
|
27
|
+
super(detail.message);
|
|
28
|
+
this.name = "TargetError";
|
|
29
|
+
this.detail = detail;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function staleRef(ref, ageMs, candidates) {
|
|
33
|
+
const agePart = ageMs !== undefined ? ` (snapshot age ${String(ageMs)}ms)` : "";
|
|
34
|
+
return new TargetError({
|
|
35
|
+
code: "stale_ref",
|
|
36
|
+
ref,
|
|
37
|
+
message: `ref ${ref} is stale — no entry in the current fingerprint map${agePart}. Take a fresh snapshot before acting.`,
|
|
38
|
+
candidates,
|
|
39
|
+
snapshot_age_ms: ageMs,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export function ambiguous(ref, candidates) {
|
|
43
|
+
return new TargetError({
|
|
44
|
+
code: "ambiguous",
|
|
45
|
+
ref,
|
|
46
|
+
message: `ref ${ref} resolves to ${String(candidates.length)} live elements. Disambiguate with a role- or name-qualified ref.`,
|
|
47
|
+
candidates,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
export function notFound(ref, candidates) {
|
|
51
|
+
return new TargetError({
|
|
52
|
+
code: "ref_not_found",
|
|
53
|
+
ref,
|
|
54
|
+
message: `ref ${ref} resolves to zero live elements. The target may have been removed or re-rendered.`,
|
|
55
|
+
candidates,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
export function isTargetError(err) {
|
|
59
|
+
return err instanceof TargetError;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=target-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-errors.js","sourceRoot":"","sources":["../../src/browser/target-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAkBH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,MAAM,CAAoB;IAEnC,YAAY,MAAyB;QACnC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CACtB,GAAW,EACX,KAAc,EACd,UAA8B;IAE9B,MAAM,OAAO,GACX,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,OAAO,IAAI,WAAW,CAAC;QACrB,IAAI,EAAE,WAAW;QACjB,GAAG;QACH,OAAO,EAAE,OAAO,GAAG,sDAAsD,OAAO,wCAAwC;QACxH,UAAU;QACV,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,GAAW,EACX,UAA6B;IAE7B,OAAO,IAAI,WAAW,CAAC;QACrB,IAAI,EAAE,WAAW;QACjB,GAAG;QACH,OAAO,EAAE,OAAO,GAAG,gBAAgB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,kEAAkE;QAC9H,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,GAAW,EACX,UAA8B;IAE9B,OAAO,IAAI,WAAW,CAAC;QACrB,IAAI,EAAE,eAAe;QACrB,GAAG;QACH,OAAO,EAAE,OAAO,GAAG,mFAAmF;QACtG,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,GAAG,YAAY,WAAW,CAAC;AACpC,CAAC"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -2,13 +2,5 @@
|
|
|
2
2
|
* CLI entry point — Commander-based routing with dynamic adapter commands.
|
|
3
3
|
*/
|
|
4
4
|
import { Command } from "commander";
|
|
5
|
-
/**
|
|
6
|
-
* Apply the `--json` deprecation alias.
|
|
7
|
-
*
|
|
8
|
-
* Exported so unit tests can exercise the alias logic without booting the
|
|
9
|
-
* full Commander program. Walks up to the root `Command` so nested
|
|
10
|
-
* subcommands still read `format: "json"` from `program.opts()`.
|
|
11
|
-
*/
|
|
12
|
-
export declare function applyJsonAlias(cmd: Command): void;
|
|
13
5
|
export declare function createCli(): Promise<Command>;
|
|
14
6
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDpC,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CA0alD"}
|
package/dist/cli.js
CHANGED
|
@@ -43,27 +43,9 @@ import { registerLintCommand } from "./commands/lint.js";
|
|
|
43
43
|
import { registerMigrateCommand } from "./commands/migrate.js";
|
|
44
44
|
import { registerMigrateSchemaCommand } from "./commands/migrate-schema.js";
|
|
45
45
|
import { registerAdapterDispatch } from "./commands/dispatch.js";
|
|
46
|
+
import { registerDescribeCommand } from "./commands/describe.js";
|
|
46
47
|
import { emitHook } from "./hooks.js";
|
|
47
48
|
import { checkForUpdates } from "./engine/update-check.js";
|
|
48
|
-
/**
|
|
49
|
-
* Apply the `--json` deprecation alias.
|
|
50
|
-
*
|
|
51
|
-
* Exported so unit tests can exercise the alias logic without booting the
|
|
52
|
-
* full Commander program. Walks up to the root `Command` so nested
|
|
53
|
-
* subcommands still read `format: "json"` from `program.opts()`.
|
|
54
|
-
*/
|
|
55
|
-
export function applyJsonAlias(cmd) {
|
|
56
|
-
// Walk to the root — Commander stores shared opts on the program itself.
|
|
57
|
-
let root = cmd;
|
|
58
|
-
while (root.parent) {
|
|
59
|
-
root = root.parent;
|
|
60
|
-
}
|
|
61
|
-
const opts = root.opts();
|
|
62
|
-
if (!opts.format) {
|
|
63
|
-
root.setOptionValue("format", "json");
|
|
64
|
-
}
|
|
65
|
-
process.stderr.write("[deprecation] --json is deprecated; use -f json (will be removed in v0.214)\n");
|
|
66
|
-
}
|
|
67
49
|
export async function createCli() {
|
|
68
50
|
const program = new Command();
|
|
69
51
|
// Non-blocking update check (fire-and-forget)
|
|
@@ -73,17 +55,13 @@ export async function createCli() {
|
|
|
73
55
|
.description("The universal interface between AI agents and the world's software")
|
|
74
56
|
.version(VERSION)
|
|
75
57
|
.option("-f, --format <format>", "output format: json, yaml, csv, md, compact (table deprecated, falls back to md)")
|
|
76
|
-
.option("--
|
|
77
|
-
.option("-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
if (opts.json) {
|
|
84
|
-
applyJsonAlias(thisCommand);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
58
|
+
.option("-v, --verbose", "show pipeline debug steps")
|
|
59
|
+
.option("--args-file <path>", "read args as JSON from a file (overrides shell flags; stdin JSON still wins)")
|
|
60
|
+
.option("--dry-run", "resolve args + print execution plan without running the pipeline")
|
|
61
|
+
.option("--select <jsonpath>", "project results via JSONPath (e.g. '$[*].title') before formatting")
|
|
62
|
+
.option("--fields <list>", "comma-separated column list applied to tabular output (overrides adapter columns)")
|
|
63
|
+
.option("--pluck <field>", "emit a single field one-per-line (plain text stream, wins over --select/--fields)")
|
|
64
|
+
.option("--pluck0 <field>", "emit a single field NUL-delimited (for `xargs -0`, wins over --pluck)");
|
|
87
65
|
// Load YAML adapters synchronously, then TS adapters asynchronously
|
|
88
66
|
const yamlCount = loadAllAdapters();
|
|
89
67
|
const tsCount = await loadTsAdapters();
|
|
@@ -271,6 +249,8 @@ export async function createCli() {
|
|
|
271
249
|
registerSearchCommand(program);
|
|
272
250
|
// Register lint command — schema-v2 static validation
|
|
273
251
|
registerLintCommand(program);
|
|
252
|
+
// Register describe command — runtime schema introspection for agents
|
|
253
|
+
registerDescribeCommand(program);
|
|
274
254
|
// Register `unicli import opencli-yaml` and friends
|
|
275
255
|
registerMigrateCommand(program);
|
|
276
256
|
// Register migrate commands — schema-v1 → schema-v2 mass migration
|
|
@@ -318,7 +298,7 @@ export async function createCli() {
|
|
|
318
298
|
try {
|
|
319
299
|
const controller = new AbortController();
|
|
320
300
|
const timer = setTimeout(() => controller.abort(), timeout);
|
|
321
|
-
const results = await runPipeline(cmd.pipeline, { limit: 2 }, adapter.base, { site: adapter.name, strategy: adapter.strategy });
|
|
301
|
+
const results = await runPipeline(cmd.pipeline, { args: { limit: 2 }, source: "internal" }, adapter.base, { site: adapter.name, strategy: adapter.strategy });
|
|
322
302
|
clearTimeout(timer);
|
|
323
303
|
if (results.length > 0) {
|
|
324
304
|
console.log(chalk.green(` ${cmdName}: ✓ (${results.length} results)`));
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAubpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuF5D"}
|
package/dist/commands/agents.js
CHANGED
|
@@ -23,6 +23,8 @@ import { writeFileSync } from "node:fs";
|
|
|
23
23
|
import { resolve } from "node:path";
|
|
24
24
|
import { getAllAdapters, listCommands } from "../registry.js";
|
|
25
25
|
import { VERSION } from "../constants.js";
|
|
26
|
+
import { format, detectFormat } from "../output/formatter.js";
|
|
27
|
+
import { makeCtx } from "../output/envelope.js";
|
|
26
28
|
// ── MCP config snippet (reused by multiple platforms) ─────────────────────
|
|
27
29
|
function mcpConfigObject() {
|
|
28
30
|
return {
|
|
@@ -32,39 +34,20 @@ function mcpConfigObject() {
|
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
36
|
// ── Platform format generators ────────────────────────────────────────────
|
|
35
|
-
function
|
|
36
|
-
const lines = [];
|
|
37
|
-
lines.push(`<!-- unicli v${ctx.version} | ${ctx.sites} sites | ${ctx.commands} commands -->`);
|
|
38
|
-
lines.push("# AGENTS.md — Uni-CLI Capability Discovery");
|
|
39
|
-
lines.push("");
|
|
40
|
-
lines.push("> Auto-generated. Do not edit manually.");
|
|
41
|
-
lines.push("> Regenerate with: `unicli agents generate`");
|
|
42
|
-
lines.push("");
|
|
43
|
-
// Installation
|
|
44
|
-
lines.push("## Installation");
|
|
45
|
-
lines.push("");
|
|
46
|
-
lines.push("```bash");
|
|
47
|
-
lines.push("npm i -g @zenalexa/unicli");
|
|
48
|
-
lines.push("```");
|
|
49
|
-
lines.push("");
|
|
50
|
-
// Sites by Category
|
|
51
|
-
lines.push("## Sites by Category");
|
|
52
|
-
lines.push("");
|
|
37
|
+
function genericSitesByCategory(adapters) {
|
|
38
|
+
const lines = ["## Sites by Category", ""];
|
|
53
39
|
const categories = new Map();
|
|
54
|
-
for (const adapter of
|
|
40
|
+
for (const adapter of adapters) {
|
|
55
41
|
const cat = adapter.category ?? "Uncategorized";
|
|
56
42
|
const group = categories.get(cat);
|
|
57
|
-
if (group)
|
|
43
|
+
if (group)
|
|
58
44
|
group.push(adapter);
|
|
59
|
-
|
|
60
|
-
else {
|
|
45
|
+
else
|
|
61
46
|
categories.set(cat, [adapter]);
|
|
62
|
-
}
|
|
63
47
|
}
|
|
64
48
|
const sortedCategories = Array.from(categories.entries()).sort(([a], [b]) => a.localeCompare(b));
|
|
65
49
|
for (const [category, adaptersInCat] of sortedCategories) {
|
|
66
|
-
lines.push(`### ${category}
|
|
67
|
-
lines.push("");
|
|
50
|
+
lines.push(`### ${category}`, "");
|
|
68
51
|
lines.push("| Site | Commands | Auth | Description |");
|
|
69
52
|
lines.push("|------|----------|------|-------------|");
|
|
70
53
|
const sorted = adaptersInCat.sort((a, b) => a.name.localeCompare(b.name));
|
|
@@ -76,27 +59,54 @@ function formatGeneric(ctx) {
|
|
|
76
59
|
}
|
|
77
60
|
lines.push("");
|
|
78
61
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
lines
|
|
83
|
-
|
|
84
|
-
|
|
62
|
+
return lines;
|
|
63
|
+
}
|
|
64
|
+
function genericAllCommandsTable(commandList) {
|
|
65
|
+
const lines = [
|
|
66
|
+
"## All Commands",
|
|
67
|
+
"",
|
|
68
|
+
"| Site | Command | Description | Auth |",
|
|
69
|
+
"|------|---------|-------------|------|",
|
|
70
|
+
];
|
|
71
|
+
for (const cmd of commandList) {
|
|
85
72
|
const auth = cmd.auth ? "yes" : "no";
|
|
86
73
|
lines.push(`| ${cmd.site} | ${cmd.command} | ${cmd.description} | ${auth} |`);
|
|
87
74
|
}
|
|
88
75
|
lines.push("");
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
76
|
+
return lines;
|
|
77
|
+
}
|
|
78
|
+
function formatGeneric(ctx) {
|
|
79
|
+
const header = [
|
|
80
|
+
`<!-- unicli v${ctx.version} | ${ctx.sites} sites | ${ctx.commands} commands -->`,
|
|
81
|
+
"# AGENTS.md — Uni-CLI Capability Discovery",
|
|
82
|
+
"",
|
|
83
|
+
"> Auto-generated. Do not edit manually.",
|
|
84
|
+
"> Regenerate with: `unicli agents generate`",
|
|
85
|
+
"",
|
|
86
|
+
"## Installation",
|
|
87
|
+
"",
|
|
88
|
+
"```bash",
|
|
89
|
+
"npm i -g @zenalexa/unicli",
|
|
90
|
+
"```",
|
|
91
|
+
"",
|
|
92
|
+
];
|
|
93
|
+
const selfRepair = [
|
|
94
|
+
"## Self-Repair",
|
|
95
|
+
"",
|
|
96
|
+
"When a command fails, unicli outputs structured JSON to stderr with `adapter_path` and `suggestion` fields.",
|
|
97
|
+
"Read the YAML adapter at that path to understand and fix the issue.",
|
|
98
|
+
"Run `unicli repair <site> <command>` for automated repair.",
|
|
99
|
+
"",
|
|
100
|
+
"---",
|
|
101
|
+
`<!-- Generated by Uni-CLI v${ctx.version} on ${ctx.date} -->`,
|
|
102
|
+
"",
|
|
103
|
+
];
|
|
104
|
+
return [
|
|
105
|
+
...header,
|
|
106
|
+
...genericSitesByCategory(ctx.adapters),
|
|
107
|
+
...genericAllCommandsTable(ctx.commandList),
|
|
108
|
+
...selfRepair,
|
|
109
|
+
].join("\n");
|
|
100
110
|
}
|
|
101
111
|
function formatClaude(ctx) {
|
|
102
112
|
const lines = [];
|
|
@@ -365,19 +375,35 @@ export function registerAgentsCommand(program) {
|
|
|
365
375
|
.option("--output <path>", "write to file instead of stdout")
|
|
366
376
|
.option("--for <platform>", `target platform (${PLATFORMS.join("|")})`, "generic")
|
|
367
377
|
.action((opts) => {
|
|
378
|
+
const startedAt = Date.now();
|
|
379
|
+
const ctx = makeCtx("agents.generate", startedAt);
|
|
380
|
+
const fmt = detectFormat(program.opts().format);
|
|
368
381
|
const platform = opts.for;
|
|
369
382
|
if (!PLATFORMS.includes(platform)) {
|
|
370
|
-
|
|
371
|
-
|
|
383
|
+
ctx.error = {
|
|
384
|
+
code: "invalid_input",
|
|
385
|
+
message: `Unknown platform: ${platform}. Available: ${PLATFORMS.join(", ")}`,
|
|
386
|
+
suggestion: `Use one of: ${PLATFORMS.join(", ")}`,
|
|
387
|
+
retryable: false,
|
|
388
|
+
};
|
|
389
|
+
console.error(format(null, undefined, fmt, ctx));
|
|
390
|
+
process.exitCode = 2;
|
|
372
391
|
return;
|
|
373
392
|
}
|
|
374
393
|
const adapters = getAllAdapters();
|
|
375
394
|
const commandList = listCommands();
|
|
376
395
|
if (adapters.length === 0) {
|
|
377
|
-
|
|
378
|
-
|
|
396
|
+
ctx.error = {
|
|
397
|
+
code: "internal_error",
|
|
398
|
+
message: "No adapters loaded",
|
|
399
|
+
suggestion: "Run `unicli doctor` to diagnose the environment.",
|
|
400
|
+
retryable: false,
|
|
401
|
+
};
|
|
402
|
+
console.error(format(null, undefined, fmt, ctx));
|
|
403
|
+
process.exitCode = 1;
|
|
404
|
+
return;
|
|
379
405
|
}
|
|
380
|
-
const
|
|
406
|
+
const templateCtx = {
|
|
381
407
|
sites: adapters.length,
|
|
382
408
|
commands: commandList.length,
|
|
383
409
|
version: VERSION,
|
|
@@ -385,15 +411,25 @@ export function registerAgentsCommand(program) {
|
|
|
385
411
|
adapters,
|
|
386
412
|
commandList,
|
|
387
413
|
};
|
|
388
|
-
const content = formatters[platform](
|
|
389
|
-
|
|
390
|
-
|
|
414
|
+
const content = formatters[platform](templateCtx);
|
|
415
|
+
const outPath = opts.output ? resolve(opts.output) : undefined;
|
|
416
|
+
if (outPath) {
|
|
391
417
|
writeFileSync(outPath, content, "utf-8");
|
|
392
|
-
console.error(chalk.green(`Generated ${outPath} (${ctx.sites} sites, ${ctx.commands} commands, format: ${platform})`));
|
|
393
418
|
}
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
419
|
+
const data = {
|
|
420
|
+
platform,
|
|
421
|
+
sites: templateCtx.sites,
|
|
422
|
+
commands: templateCtx.commands,
|
|
423
|
+
version: templateCtx.version,
|
|
424
|
+
date: templateCtx.date,
|
|
425
|
+
output_path: outPath ?? null,
|
|
426
|
+
bytes: Buffer.byteLength(content, "utf-8"),
|
|
427
|
+
generated: content,
|
|
428
|
+
};
|
|
429
|
+
ctx.duration_ms = Date.now() - startedAt;
|
|
430
|
+
console.log(format(data, undefined, fmt, ctx));
|
|
431
|
+
if (outPath) {
|
|
432
|
+
console.error(chalk.green(`Generated ${outPath} (${templateCtx.sites} sites, ${templateCtx.commands} commands, format: ${platform})`));
|
|
397
433
|
}
|
|
398
434
|
});
|
|
399
435
|
}
|