@zenalexa/unicli 0.209.0 → 0.210.0

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.
Files changed (325) hide show
  1. package/AGENTS.md +56 -15
  2. package/README.md +228 -278
  3. package/dist/adapters/cursor/cursor.d.ts +2 -1
  4. package/dist/adapters/cursor/cursor.d.ts.map +1 -1
  5. package/dist/adapters/cursor/cursor.js +87 -1
  6. package/dist/adapters/cursor/cursor.js.map +1 -1
  7. package/dist/adapters/discord-app/discord-app.d.ts +1 -1
  8. package/dist/adapters/discord-app/discord-app.js +94 -1
  9. package/dist/adapters/discord-app/discord-app.js.map +1 -1
  10. package/dist/browser/bridge.d.ts +45 -0
  11. package/dist/browser/bridge.d.ts.map +1 -1
  12. package/dist/browser/bridge.js +94 -1
  13. package/dist/browser/bridge.js.map +1 -1
  14. package/dist/browser/cdp-client.d.ts +24 -1
  15. package/dist/browser/cdp-client.d.ts.map +1 -1
  16. package/dist/browser/cdp-client.js +56 -2
  17. package/dist/browser/cdp-client.js.map +1 -1
  18. package/dist/browser/launcher.d.ts +5 -0
  19. package/dist/browser/launcher.d.ts.map +1 -1
  20. package/dist/browser/launcher.js +7 -0
  21. package/dist/browser/launcher.js.map +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +67 -2
  24. package/dist/cli.js.map +1 -1
  25. package/dist/commands/browser.d.ts.map +1 -1
  26. package/dist/commands/browser.js +79 -1
  27. package/dist/commands/browser.js.map +1 -1
  28. package/dist/commands/ext.d.ts +11 -0
  29. package/dist/commands/ext.d.ts.map +1 -0
  30. package/dist/commands/ext.js +122 -0
  31. package/dist/commands/ext.js.map +1 -0
  32. package/dist/commands/skills.d.ts +2 -3
  33. package/dist/commands/skills.d.ts.map +1 -1
  34. package/dist/commands/skills.js +2 -3
  35. package/dist/commands/skills.js.map +1 -1
  36. package/dist/commands/status.d.ts +12 -0
  37. package/dist/commands/status.d.ts.map +1 -0
  38. package/dist/commands/status.js +137 -0
  39. package/dist/commands/status.js.map +1 -0
  40. package/dist/engine/yaml-runner.d.ts +10 -0
  41. package/dist/engine/yaml-runner.d.ts.map +1 -1
  42. package/dist/engine/yaml-runner.js +51 -3
  43. package/dist/engine/yaml-runner.js.map +1 -1
  44. package/dist/hub/index.d.ts +37 -0
  45. package/dist/hub/index.d.ts.map +1 -0
  46. package/dist/hub/index.js +98 -0
  47. package/dist/hub/index.js.map +1 -0
  48. package/dist/hub/passthrough.d.ts +21 -0
  49. package/dist/hub/passthrough.d.ts.map +1 -0
  50. package/dist/hub/passthrough.js +71 -0
  51. package/dist/hub/passthrough.js.map +1 -0
  52. package/dist/manifest.json +1770 -64
  53. package/dist/types.d.ts +15 -0
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/types.js.map +1 -1
  56. package/package.json +2 -1
  57. package/src/adapters/36kr/latest.yaml +36 -0
  58. package/src/adapters/arxiv/trending.yaml +37 -0
  59. package/src/adapters/baidu/hot.yaml +37 -0
  60. package/src/adapters/baidu/search.yaml +41 -0
  61. package/src/adapters/bbc/technology.yaml +26 -0
  62. package/src/adapters/bbc/top.yaml +26 -0
  63. package/src/adapters/bbc/world.yaml +26 -0
  64. package/src/adapters/bilibili/coin.yaml +33 -0
  65. package/src/adapters/bilibili/later.yaml +31 -0
  66. package/src/adapters/bilibili/live.yaml +41 -0
  67. package/src/adapters/bilibili/trending.yaml +29 -0
  68. package/src/adapters/binance/hot.yaml +39 -0
  69. package/src/adapters/binance/kline.yaml +35 -0
  70. package/src/adapters/binance/ticker.yaml +33 -0
  71. package/src/adapters/bluesky/likes.yaml +35 -0
  72. package/src/adapters/bluesky/notifications.yaml +30 -0
  73. package/src/adapters/bluesky/post.yaml +25 -0
  74. package/src/adapters/chrome/bookmarks.yaml +26 -0
  75. package/src/adapters/chrome/tabs.yaml +25 -0
  76. package/src/adapters/cnki/search.yaml +40 -0
  77. package/src/adapters/cnn/technology.yaml +26 -0
  78. package/src/adapters/cocoapods/info.yaml +33 -0
  79. package/src/adapters/coinbase/prices.yaml +27 -0
  80. package/src/adapters/coinbase/rates.yaml +24 -0
  81. package/src/adapters/coupang/hot.yaml +29 -0
  82. package/src/adapters/crates-io/info.yaml +29 -0
  83. package/src/adapters/crates-io/versions.yaml +33 -0
  84. package/src/adapters/ctrip/hot.yaml +28 -0
  85. package/src/adapters/cursor/cursor.ts +91 -1
  86. package/src/adapters/dangdang/hot.yaml +38 -0
  87. package/src/adapters/dangdang/search.yaml +43 -0
  88. package/src/adapters/deepseek/chat.yaml +33 -0
  89. package/src/adapters/deepseek/models.yaml +18 -0
  90. package/src/adapters/devto/latest.yaml +29 -0
  91. package/src/adapters/devto/search.yaml +34 -0
  92. package/src/adapters/dianping/hot.yaml +43 -0
  93. package/src/adapters/dianping/search.yaml +48 -0
  94. package/src/adapters/discord-app/discord-app.ts +99 -1
  95. package/src/adapters/docker/networks.yaml +20 -0
  96. package/src/adapters/docker/volumes.yaml +19 -0
  97. package/src/adapters/docker-hub/info.yaml +26 -0
  98. package/src/adapters/docker-hub/tags.yaml +34 -0
  99. package/src/adapters/douban/group-hot.yaml +29 -0
  100. package/src/adapters/douban/new-movies.yaml +32 -0
  101. package/src/adapters/douban/tv-hot.yaml +32 -0
  102. package/src/adapters/doubao/ask.yaml +64 -0
  103. package/src/adapters/doubao/new.yaml +18 -0
  104. package/src/adapters/doubao/status.yaml +21 -0
  105. package/src/adapters/douyu/hot.yaml +34 -0
  106. package/src/adapters/douyu/search.yaml +42 -0
  107. package/src/adapters/eastmoney/fund.yaml +36 -0
  108. package/src/adapters/eastmoney/market.yaml +26 -0
  109. package/src/adapters/ele/hot.yaml +40 -0
  110. package/src/adapters/ele/search.yaml +47 -0
  111. package/src/adapters/exchangerate/list.yaml +25 -0
  112. package/src/adapters/facebook/marketplace.yaml +43 -0
  113. package/src/adapters/facebook/post.yaml +29 -0
  114. package/src/adapters/futu/hot.yaml +49 -0
  115. package/src/adapters/futu/quote.yaml +46 -0
  116. package/src/adapters/gitee/repos.yaml +34 -0
  117. package/src/adapters/github-trending/developers.yaml +33 -0
  118. package/src/adapters/github-trending/weekly.yaml +34 -0
  119. package/src/adapters/gitlab/projects.yaml +34 -0
  120. package/src/adapters/godot/scene-export.yaml +1 -1
  121. package/src/adapters/hackernews/comments.yaml +36 -0
  122. package/src/adapters/hackernews/item.yaml +28 -0
  123. package/src/adapters/hf/datasets.yaml +34 -0
  124. package/src/adapters/hf/spaces.yaml +34 -0
  125. package/src/adapters/homebrew/search.yaml +27 -0
  126. package/src/adapters/huggingface-papers/search.yaml +33 -0
  127. package/src/adapters/imdb/box-office.yaml +28 -0
  128. package/src/adapters/infoq/latest.yaml +26 -0
  129. package/src/adapters/instagram/activity.yaml +45 -0
  130. package/src/adapters/instagram/highlights.yaml +48 -0
  131. package/src/adapters/instagram/reels-trending.yaml +51 -0
  132. package/src/adapters/instagram/reels.yaml +34 -0
  133. package/src/adapters/instagram/stories.yaml +29 -0
  134. package/src/adapters/instagram/suggested.yaml +40 -0
  135. package/src/adapters/instagram/tags.yaml +52 -0
  136. package/src/adapters/itch-io/search.yaml +35 -0
  137. package/src/adapters/itch-io/top.yaml +31 -0
  138. package/src/adapters/ithome/hot.yaml +27 -0
  139. package/src/adapters/ithome/latest.yaml +26 -0
  140. package/src/adapters/jianyu/search.yaml +42 -0
  141. package/src/adapters/ke/ershoufang.yaml +75 -0
  142. package/src/adapters/ke/xiaoqu.yaml +73 -0
  143. package/src/adapters/kuaishou/hot.yaml +39 -0
  144. package/src/adapters/kuaishou/search.yaml +44 -0
  145. package/src/adapters/linkedin/jobs.yaml +47 -0
  146. package/src/adapters/lobsters/search.yaml +35 -0
  147. package/src/adapters/macos/active-app.yaml +16 -0
  148. package/src/adapters/macos/apps-list.yaml +14 -0
  149. package/src/adapters/macos/apps.yaml +31 -0
  150. package/src/adapters/macos/battery.yaml +26 -0
  151. package/src/adapters/macos/bluetooth.yaml +14 -0
  152. package/src/adapters/macos/brightness.yaml +22 -0
  153. package/src/adapters/macos/caffeinate.yaml +25 -0
  154. package/src/adapters/macos/calendar-create.yaml +81 -0
  155. package/src/adapters/macos/calendar-list.yaml +53 -0
  156. package/src/adapters/macos/calendar-today.yaml +30 -0
  157. package/src/adapters/macos/clipboard.yaml +23 -0
  158. package/src/adapters/macos/contacts-search.yaml +59 -0
  159. package/src/adapters/macos/dark-mode.yaml +19 -0
  160. package/src/adapters/macos/disk-info.yaml +31 -0
  161. package/src/adapters/macos/disk-usage.yaml +14 -0
  162. package/src/adapters/macos/do-not-disturb.yaml +21 -0
  163. package/src/adapters/macos/empty-trash.yaml +16 -0
  164. package/src/adapters/macos/finder-recent.yaml +24 -0
  165. package/src/adapters/macos/finder-selection.yaml +22 -0
  166. package/src/adapters/macos/finder-tags.yaml +40 -0
  167. package/src/adapters/macos/lock-screen.yaml +16 -0
  168. package/src/adapters/macos/mail-send.yaml +54 -0
  169. package/src/adapters/macos/mail-status.yaml +38 -0
  170. package/src/adapters/macos/messages-send.yaml +42 -0
  171. package/src/adapters/macos/music-control.yaml +43 -0
  172. package/src/adapters/macos/music-now.yaml +34 -0
  173. package/src/adapters/macos/notes-list.yaml +30 -0
  174. package/src/adapters/macos/notes-search.yaml +45 -0
  175. package/src/adapters/macos/notification.yaml +27 -0
  176. package/src/adapters/macos/notify.yaml +46 -0
  177. package/src/adapters/macos/open-app.yaml +21 -0
  178. package/src/adapters/macos/open.yaml +24 -0
  179. package/src/adapters/macos/photos-search.yaml +44 -0
  180. package/src/adapters/macos/processes.yaml +14 -0
  181. package/src/adapters/macos/reminder-create.yaml +75 -0
  182. package/src/adapters/macos/reminders-complete.yaml +33 -0
  183. package/src/adapters/macos/reminders-list.yaml +28 -0
  184. package/src/adapters/macos/safari-tabs.yaml +26 -0
  185. package/src/adapters/macos/say.yaml +36 -0
  186. package/src/adapters/macos/screen-lock.yaml +16 -0
  187. package/src/adapters/macos/screenshot.yaml +34 -0
  188. package/src/adapters/macos/shortcuts-list.yaml +14 -0
  189. package/src/adapters/macos/shortcuts-run.yaml +28 -0
  190. package/src/adapters/macos/sleep.yaml +14 -0
  191. package/src/adapters/macos/spotlight.yaml +43 -0
  192. package/src/adapters/macos/system-info.yaml +32 -0
  193. package/src/adapters/macos/trash.yaml +32 -0
  194. package/src/adapters/macos/uptime.yaml +14 -0
  195. package/src/adapters/macos/volume.yaml +19 -0
  196. package/src/adapters/macos/wifi-info.yaml +14 -0
  197. package/src/adapters/macos/wifi.yaml +63 -0
  198. package/src/adapters/maimai/search.yaml +62 -0
  199. package/src/adapters/maoyan/hot.yaml +33 -0
  200. package/src/adapters/maoyan/search.yaml +40 -0
  201. package/src/adapters/mastodon/timeline.yaml +33 -0
  202. package/src/adapters/mastodon/user.yaml +32 -0
  203. package/src/adapters/medium/article.yaml +22 -0
  204. package/src/adapters/medium/trending.yaml +30 -0
  205. package/src/adapters/meituan/hot.yaml +26 -0
  206. package/src/adapters/mubu/list.yaml +36 -0
  207. package/src/adapters/mubu/search.yaml +54 -0
  208. package/src/adapters/netease-music/playlist.yaml +34 -0
  209. package/src/adapters/netease-music/top.yaml +33 -0
  210. package/src/adapters/notion/databases.yaml +41 -0
  211. package/src/adapters/notion/pages.yaml +44 -0
  212. package/src/adapters/notion/search.yaml +41 -0
  213. package/src/adapters/npm/downloads.yaml +28 -0
  214. package/src/adapters/npm/info.yaml +25 -0
  215. package/src/adapters/npm/search.yaml +35 -0
  216. package/src/adapters/npm/versions.yaml +33 -0
  217. package/src/adapters/npm-trends/trending.yaml +17 -0
  218. package/src/adapters/nytimes/search.yaml +35 -0
  219. package/src/adapters/obsidian/daily.yaml +23 -0
  220. package/src/adapters/obsidian/open.yaml +26 -0
  221. package/src/adapters/obsidian/search.yaml +28 -0
  222. package/src/adapters/ollama/generate.yaml +33 -0
  223. package/src/adapters/ollama/models.yaml +29 -0
  224. package/src/adapters/ollama/ps.yaml +20 -0
  225. package/src/adapters/openrouter/search.yaml +31 -0
  226. package/src/adapters/perplexity/ask.yaml +33 -0
  227. package/src/adapters/pexels/curated.yaml +31 -0
  228. package/src/adapters/pinduoduo/search.yaml +36 -0
  229. package/src/adapters/producthunt/search.yaml +41 -0
  230. package/src/adapters/pypi/search.yaml +37 -0
  231. package/src/adapters/pypi/versions.yaml +31 -0
  232. package/src/adapters/quark/ls.yaml +39 -0
  233. package/src/adapters/quark/search.yaml +39 -0
  234. package/src/adapters/qweather/forecast.yaml +37 -0
  235. package/src/adapters/reddit/new.yaml +34 -0
  236. package/src/adapters/reddit/rising.yaml +33 -0
  237. package/src/adapters/reddit/top.yaml +40 -0
  238. package/src/adapters/reddit/trending.yaml +25 -0
  239. package/src/adapters/replicate/run.yaml +39 -0
  240. package/src/adapters/reuters/latest.yaml +26 -0
  241. package/src/adapters/sinafinance/market.yaml +21 -0
  242. package/src/adapters/slack/messages.yaml +41 -0
  243. package/src/adapters/slack/post.yaml +32 -0
  244. package/src/adapters/slack/search.yaml +28 -0
  245. package/src/adapters/slack/send.yaml +35 -0
  246. package/src/adapters/slack/status.yaml +19 -0
  247. package/src/adapters/slack/users.yaml +37 -0
  248. package/src/adapters/slock/servers.yaml +32 -0
  249. package/src/adapters/spotify/now-playing.yaml +28 -0
  250. package/src/adapters/spotify/playlists.yaml +37 -0
  251. package/src/adapters/spotify/top-tracks.yaml +42 -0
  252. package/src/adapters/stackoverflow/question.yaml +34 -0
  253. package/src/adapters/stackoverflow/tags.yaml +30 -0
  254. package/src/adapters/steam/app-details.yaml +32 -0
  255. package/src/adapters/steam/new-releases.yaml +28 -0
  256. package/src/adapters/steam/search.yaml +36 -0
  257. package/src/adapters/steam/specials.yaml +29 -0
  258. package/src/adapters/steam/wishlist.yaml +36 -0
  259. package/src/adapters/substack/trending.yaml +28 -0
  260. package/src/adapters/taobao/hot.yaml +31 -0
  261. package/src/adapters/taobao/search.yaml +44 -0
  262. package/src/adapters/techcrunch/search.yaml +33 -0
  263. package/src/adapters/theverge/search.yaml +33 -0
  264. package/src/adapters/threads/hot.yaml +44 -0
  265. package/src/adapters/threads/search.yaml +47 -0
  266. package/src/adapters/tiktok/trending.yaml +28 -0
  267. package/src/adapters/toutiao/hot.yaml +31 -0
  268. package/src/adapters/toutiao/search.yaml +47 -0
  269. package/src/adapters/twitch/games.yaml +31 -0
  270. package/src/adapters/twitch/search.yaml +39 -0
  271. package/src/adapters/twitch/streams.yaml +38 -0
  272. package/src/adapters/twitter/lists.yaml +49 -0
  273. package/src/adapters/twitter/media.yaml +48 -0
  274. package/src/adapters/twitter/mentions.yaml +38 -0
  275. package/src/adapters/twitter/mute.yaml +42 -0
  276. package/src/adapters/twitter/pin.yaml +43 -0
  277. package/src/adapters/twitter/quotes.yaml +43 -0
  278. package/src/adapters/twitter/retweets.yaml +44 -0
  279. package/src/adapters/twitter/spaces.yaml +43 -0
  280. package/src/adapters/twitter/unmute.yaml +42 -0
  281. package/src/adapters/unsplash/random.yaml +27 -0
  282. package/src/adapters/v2ex/search.yaml +36 -0
  283. package/src/adapters/vscode/extensions.yaml +23 -0
  284. package/src/adapters/vscode/install-ext.yaml +26 -0
  285. package/src/adapters/vscode/open.yaml +25 -0
  286. package/src/adapters/wechat-channels/hot.yaml +39 -0
  287. package/src/adapters/wechat-channels/search.yaml +57 -0
  288. package/src/adapters/weibo/trending.yaml +28 -0
  289. package/src/adapters/weixin/hot.yaml +22 -0
  290. package/src/adapters/wikipedia/today.yaml +25 -0
  291. package/src/adapters/xiaohongshu/follow.yaml +35 -0
  292. package/src/adapters/xiaohongshu/hashtag.yaml +44 -0
  293. package/src/adapters/xiaohongshu/hot.yaml +34 -0
  294. package/src/adapters/xiaohongshu/like.yaml +27 -0
  295. package/src/adapters/xiaohongshu/profile.yaml +39 -0
  296. package/src/adapters/xiaohongshu/save.yaml +27 -0
  297. package/src/adapters/xiaohongshu/suggest.yaml +34 -0
  298. package/src/adapters/xiaohongshu/trending.yaml +35 -0
  299. package/src/adapters/xiaohongshu/unfollow.yaml +40 -0
  300. package/src/adapters/xueqiu/market.yaml +25 -0
  301. package/src/adapters/yahoo-finance/quote.yaml +35 -0
  302. package/src/adapters/yahoo-finance/search.yaml +42 -0
  303. package/src/adapters/yahoo-finance/trending.yaml +30 -0
  304. package/src/adapters/youtube/playlist.yaml +43 -0
  305. package/src/adapters/youtube/shorts.yaml +42 -0
  306. package/src/adapters/youtube/trending.yaml +41 -0
  307. package/src/adapters/zhihu/answer.yaml +29 -0
  308. package/src/adapters/zhihu/answers.yaml +38 -0
  309. package/src/adapters/zhihu/article.yaml +27 -0
  310. package/src/adapters/zhihu/articles.yaml +38 -0
  311. package/src/adapters/zhihu/collections.yaml +37 -0
  312. package/src/adapters/zhihu/columns.yaml +38 -0
  313. package/src/adapters/zhihu/comment.yaml +42 -0
  314. package/src/adapters/zhihu/followers.yaml +37 -0
  315. package/src/adapters/zhihu/following.yaml +37 -0
  316. package/src/adapters/zhihu/pins.yaml +37 -0
  317. package/src/adapters/zhihu/topic.yaml +35 -0
  318. package/src/adapters/zhihu/topics.yaml +37 -0
  319. package/src/adapters/zhihu/trending.yaml +36 -0
  320. package/src/adapters/zhihu/user.yaml +30 -0
  321. package/src/adapters/zoom/join.yaml +24 -0
  322. package/src/adapters/zoom/start.yaml +17 -0
  323. package/src/hub/external-clis.yaml +343 -0
  324. package/src/hub/index.ts +128 -0
  325. package/src/hub/passthrough.ts +85 -0
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgBnE,UAAU,SAAS;IACjB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,cAAc,GAClB,SAAS,CA0DX;AAiDD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAY5D;AAgBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAanD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,EAAE,KAAK,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,QAAQ,EAAE,OAAO,CAAC;gBAClB,UAAU,EAAE,OAAO,CAAC;gBACpB,WAAW,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,CAwCA;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiE5D"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgBnE,UAAU,SAAS;IACjB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,cAAc,GAClB,SAAS,CA0DX;AAiDD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAY5D;AAgBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAanD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,EAAE,KAAK,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,QAAQ,EAAE,OAAO,CAAC;gBAClB,UAAU,EAAE,OAAO,CAAC;gBACpB,WAAW,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,CAwCA;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiE5D"}
@@ -8,9 +8,8 @@
8
8
  * Why this exists:
9
9
  * The Anthropic SKILL.md spec is becoming the de-facto standard for agent
10
10
  * capability discovery (Claude Code, Codex, Cursor, Cline, Windsurf all read
11
- * it). CLI-Anything ships an automatic skill generator per harness that's
12
- * their #1 distribution moat. This command closes the gap by emitting one
13
- * SKILL.md per adapter command from the existing YAML/TS metadata.
11
+ * it). This command emits one SKILL.md per adapter command from the existing
12
+ * YAML/TS metadata, enabling agent discovery without separate documentation.
14
13
  *
15
14
  * Output shape (per adapter command):
16
15
  * skills/<site>/<command>.md
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Status command — lightweight system health snapshot for AI agents.
3
+ *
4
+ * Command:
5
+ * unicli status — Output structured system health as JSON
6
+ *
7
+ * Designed for machine consumption: always outputs JSON, no chalk formatting.
8
+ * Checks version, platform, daemon, browser, adapter counts, and external CLIs.
9
+ */
10
+ import { Command } from "commander";
11
+ export declare function registerStatusCommand(program: Command): void;
12
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmFpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4E5D"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Status command — lightweight system health snapshot for AI agents.
3
+ *
4
+ * Command:
5
+ * unicli status — Output structured system health as JSON
6
+ *
7
+ * Designed for machine consumption: always outputs JSON, no chalk formatting.
8
+ * Checks version, platform, daemon, browser, adapter counts, and external CLIs.
9
+ */
10
+ import { readdirSync, existsSync, statSync } from "node:fs";
11
+ import { join, extname, dirname } from "node:path";
12
+ import { fileURLToPath } from "node:url";
13
+ import { VERSION } from "../constants.js";
14
+ import { loadExternalClis, isInstalled } from "../hub/index.js";
15
+ import { fetchDaemonStatus } from "../browser/daemon-client.js";
16
+ import { DAEMON_PORT } from "../browser/protocol.js";
17
+ const __dirname = dirname(fileURLToPath(import.meta.url));
18
+ /** Count YAML and TS adapter files across built-in and user directories. */
19
+ function countAdapterFiles() {
20
+ // Resolve adapter directories (same logic as discovery/loader.ts)
21
+ const candidates = [
22
+ join(__dirname, "..", "adapters"),
23
+ join(__dirname, "..", "..", "src", "adapters"),
24
+ ];
25
+ const userDir = join(process.env.HOME ?? "~", ".unicli", "adapters");
26
+ let yaml = 0;
27
+ let ts = 0;
28
+ function scanDir(dir) {
29
+ if (!existsSync(dir))
30
+ return;
31
+ for (const site of readdirSync(dir)) {
32
+ if (site.startsWith("_") || site.startsWith("."))
33
+ continue;
34
+ const siteDir = join(dir, site);
35
+ if (!statSync(siteDir).isDirectory())
36
+ continue;
37
+ for (const file of readdirSync(siteDir)) {
38
+ const ext = extname(file);
39
+ if (ext === ".yaml" || ext === ".yml") {
40
+ yaml++;
41
+ }
42
+ else if (ext === ".ts" &&
43
+ !file.endsWith(".d.ts") &&
44
+ !file.endsWith(".test.ts")) {
45
+ ts++;
46
+ }
47
+ else if (ext === ".js" &&
48
+ !file.endsWith(".d.ts") &&
49
+ !file.endsWith(".test.js")) {
50
+ ts++;
51
+ }
52
+ }
53
+ }
54
+ }
55
+ for (const dir of candidates) {
56
+ scanDir(dir);
57
+ // Stop after first directory that has adapters
58
+ if (yaml + ts > 0)
59
+ break;
60
+ }
61
+ scanDir(userDir);
62
+ return { yaml, ts };
63
+ }
64
+ export function registerStatusCommand(program) {
65
+ program
66
+ .command("status")
67
+ .description("System health snapshot — version, daemon, browser, adapters")
68
+ .action(async () => {
69
+ // 1. Basic info
70
+ const version = VERSION;
71
+ const platform = process.platform;
72
+ const node = process.version;
73
+ // 2. Daemon status (quick check with short timeout)
74
+ let daemonStatus = "unknown";
75
+ let daemonPort = DAEMON_PORT;
76
+ try {
77
+ const status = await fetchDaemonStatus({ timeout: 2000 });
78
+ if (status) {
79
+ daemonStatus = "running";
80
+ daemonPort = status.port ?? DAEMON_PORT;
81
+ }
82
+ else {
83
+ daemonStatus = "stopped";
84
+ }
85
+ }
86
+ catch {
87
+ daemonStatus = "unknown";
88
+ }
89
+ // 3. Browser (CDP) status
90
+ let browserStatus = "unknown";
91
+ try {
92
+ const { isCDPAvailable, getCDPPort } = await import("../browser/launcher.js");
93
+ const port = getCDPPort();
94
+ const available = await isCDPAvailable(port);
95
+ browserStatus = available ? "running" : "stopped";
96
+ }
97
+ catch {
98
+ browserStatus = "unknown";
99
+ }
100
+ // 4. Adapter counts — scan filesystem
101
+ const { yaml, ts } = countAdapterFiles();
102
+ const total = yaml + ts;
103
+ // 5. External CLIs
104
+ const externalClis = loadExternalClis();
105
+ const declared = externalClis.length;
106
+ let installed = 0;
107
+ for (const cli of externalClis) {
108
+ if (isInstalled(cli.binary)) {
109
+ installed++;
110
+ }
111
+ }
112
+ // 6. Assemble output
113
+ const output = {
114
+ version,
115
+ platform,
116
+ node,
117
+ browser: {
118
+ status: browserStatus,
119
+ },
120
+ daemon: {
121
+ status: daemonStatus,
122
+ port: daemonPort,
123
+ },
124
+ adapters: {
125
+ total,
126
+ yaml,
127
+ typescript: ts,
128
+ },
129
+ external_clis: {
130
+ declared,
131
+ installed,
132
+ },
133
+ };
134
+ console.log(JSON.stringify(output, null, 2));
135
+ });
136
+ }
137
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,10 @@ export declare class PipelineError extends Error {
45
45
  statusCode?: number;
46
46
  responsePreview?: string;
47
47
  suggestion: string;
48
+ /** true for transient failures (timeout, 429, 5xx), false for permanent (404, auth, config) */
49
+ retryable?: boolean;
50
+ /** Fallback commands the agent can try when this command fails */
51
+ alternatives?: string[];
48
52
  };
49
53
  constructor(message: string, detail: {
50
54
  step: number;
@@ -55,9 +59,15 @@ export declare class PipelineError extends Error {
55
59
  statusCode?: number;
56
60
  responsePreview?: string;
57
61
  suggestion: string;
62
+ /** true for transient failures (timeout, 429, 5xx), false for permanent (404, auth, config) */
63
+ retryable?: boolean;
64
+ /** Fallback commands the agent can try when this command fails */
65
+ alternatives?: string[];
58
66
  });
59
67
  /** JSON output for AI agents — includes everything needed to self-repair */
60
68
  toAgentJSON(adapterPath?: string): {
69
+ retryable: boolean;
70
+ alternatives: string[];
61
71
  step: number;
62
72
  action: string;
63
73
  config: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-runner.d.ts","sourceRoot":"","sources":["../../src/engine/yaml-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAkBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmBtD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGpB,MAAM,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EACL,YAAY,GACZ,eAAe,GACf,cAAc,GACd,aAAa,GACb,SAAS,GACT,kBAAkB,GAClB,kBAAkB,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;KACpB;gBAjBD,OAAO,EAAE,MAAM,EACC,MAAM,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EACL,YAAY,GACZ,eAAe,GACf,cAAc,GACd,aAAa,GACb,SAAS,GACT,kBAAkB,GAClB,kBAAkB,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;KACpB;IAMH,4EAA4E;IAC5E,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM;cAtBtB,MAAM;gBACJ,MAAM;gBACN,OAAO;mBAEX,YAAY,GACZ,eAAe,GACf,cAAc,GACd,aAAa,GACb,SAAS,GACT,kBAAkB,GAClB,kBAAkB;cAChB,MAAM;qBACC,MAAM;0BACD,MAAM;oBACZ,MAAM;;;;CAevB;AAmID,wBAAsB,WAAW,CAC/B,KAAK,EAAE,YAAY,EAAE,EACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,OAAO,EAAE,CAAC,CAqPpB;AA+wBD,iBAAS,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBjE;AAwOD;;;;;GAKG;AACH,QAAA,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAyFjE,CAAC;AA0GF;;;;;;;GAOG;AACH,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CA6D7E;AAqwBD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"yaml-runner.d.ts","sourceRoot":"","sources":["../../src/engine/yaml-runner.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,8 @@ export class PipelineError extends Error {
49
49
  error: this.message,
50
50
  adapter: adapterPath,
51
51
  ...this.detail,
52
+ retryable: this.detail.retryable ?? false,
53
+ alternatives: this.detail.alternatives ?? [],
52
54
  };
53
55
  }
54
56
  }
@@ -170,6 +172,8 @@ export async function runPipeline(steps, args, base, options) {
170
172
  config: { site: options.site, strategy: options.strategy },
171
173
  errorType: "http_error",
172
174
  suggestion: `Either start Chrome with "unicli browser start" and login to ${options.site}, or create cookie file at ~/.unicli/cookies/${options.site}.json`,
175
+ retryable: false,
176
+ alternatives: [`unicli auth setup ${options.site}`],
173
177
  });
174
178
  }
175
179
  cookieHeader = formatCookieHeader(cookies);
@@ -353,12 +357,16 @@ export async function runPipeline(steps, args, base, options) {
353
357
  }
354
358
  if (err instanceof PipelineError)
355
359
  throw err;
356
- throw new PipelineError(`Step ${i} (${action}) failed: ${err instanceof Error ? err.message : String(err)}`, {
360
+ const errMsg = err instanceof Error ? err.message : String(err);
361
+ const isTransient = /timeout|ETIMEDOUT|ECONNREFUSED|ECONNRESET|socket hang up/i.test(errMsg);
362
+ throw new PipelineError(`Step ${i} (${action}) failed: ${errMsg}`, {
357
363
  step: i,
358
364
  action,
359
365
  config,
360
- errorType: "parse_error",
366
+ errorType: isTransient ? "timeout" : "parse_error",
361
367
  suggestion: `Check the ${action} step at index ${i} in the adapter YAML. The expression or configuration may be invalid.`,
368
+ retryable: isTransient,
369
+ alternatives: [],
362
370
  });
363
371
  }
364
372
  if (ctx.tempDir)
@@ -468,6 +476,8 @@ function assertionError(message, config, stepIndex) {
468
476
  config,
469
477
  errorType: "assertion_failed",
470
478
  suggestion: "Check the assertion conditions in the adapter YAML. The page state may not match expectations.",
479
+ retryable: false,
480
+ alternatives: [],
471
481
  });
472
482
  }
473
483
  async function stepFetch(ctx, config) {
@@ -619,6 +629,10 @@ async function fetchJson(url, config, cookieHeader) {
619
629
  catch {
620
630
  /* ignore */
621
631
  }
632
+ const isRetryableStatus = resp.status === 429 ||
633
+ resp.status === 500 ||
634
+ resp.status === 502 ||
635
+ resp.status === 503;
622
636
  throw new PipelineError(`HTTP ${resp.status} ${resp.statusText} from ${url}`, {
623
637
  step: -1, // will be overwritten by caller
624
638
  action: "fetch",
@@ -634,6 +648,10 @@ async function fetchJson(url, config, cookieHeader) {
634
648
  : resp.status === 429
635
649
  ? "Rate limited. Add a delay between requests or reduce the limit parameter."
636
650
  : `HTTP ${resp.status} error. Check if the API endpoint is still valid.`,
651
+ retryable: isRetryableStatus,
652
+ alternatives: resp.status === 401 || resp.status === 403
653
+ ? ["unicli auth setup <site>"]
654
+ : [],
637
655
  });
638
656
  }
639
657
  // Unreachable — loop always returns or throws — but satisfies TypeScript
@@ -649,6 +667,8 @@ function stepSelect(ctx, path, stepIndex) {
649
667
  config: path,
650
668
  errorType: "selector_miss",
651
669
  suggestion: `The path "${resolved}" does not exist in the API response. Inspect the actual response JSON to find the correct path, then update the "select" step in the adapter YAML.`,
670
+ retryable: false,
671
+ alternatives: [],
652
672
  });
653
673
  }
654
674
  return { ...ctx, data };
@@ -725,6 +745,13 @@ async function stepFetchText(ctx, config) {
725
745
  url,
726
746
  statusCode: resp.status,
727
747
  suggestion: `Check if the URL is still valid: ${url}`,
748
+ retryable: resp.status === 429 ||
749
+ resp.status === 500 ||
750
+ resp.status === 502 ||
751
+ resp.status === 503,
752
+ alternatives: resp.status === 401 || resp.status === 403
753
+ ? ["unicli auth setup <site>"]
754
+ : [],
728
755
  });
729
756
  }
730
757
  const text = await resp.text();
@@ -837,6 +864,8 @@ async function stepExec(ctx, config) {
837
864
  },
838
865
  errorType: "assertion_failed",
839
866
  suggestion: denial.hint,
867
+ retryable: false,
868
+ alternatives: [],
840
869
  });
841
870
  }
842
871
  }
@@ -910,6 +939,8 @@ async function stepExec(ctx, config) {
910
939
  config: { command: cmd, args: execArgs },
911
940
  errorType: "parse_error",
912
941
  suggestion: `Check that the command writes to "${outputFile}". Verify the path is correct.`,
942
+ retryable: false,
943
+ alternatives: [],
913
944
  });
914
945
  }
915
946
  }
@@ -951,12 +982,15 @@ async function stepExec(ctx, config) {
951
982
  if (err instanceof PipelineError)
952
983
  throw err;
953
984
  const msg = err instanceof Error ? err.message : String(err);
985
+ const isExecTransient = /timeout|ETIMEDOUT|ECONNREFUSED|ECONNRESET/i.test(msg);
954
986
  throw new PipelineError(`exec "${cmd}" failed: ${msg}`, {
955
987
  step: -1,
956
988
  action: "exec",
957
989
  config: { command: cmd, args: execArgs },
958
- errorType: "parse_error",
990
+ errorType: isExecTransient ? "timeout" : "parse_error",
959
991
  suggestion: `Check that "${cmd}" is installed and accessible. Run: which ${cmd}`,
992
+ retryable: isExecTransient,
993
+ alternatives: [],
960
994
  });
961
995
  }
962
996
  }
@@ -1043,6 +1077,8 @@ async function stepIf(ctx, config, stepIndex, depth = 0) {
1043
1077
  config,
1044
1078
  errorType: "parse_error",
1045
1079
  suggestion: "Reduce nesting depth of if/else steps. Maximum is 10 levels.",
1080
+ retryable: false,
1081
+ alternatives: [],
1046
1082
  });
1047
1083
  }
1048
1084
  const conditionStr = typeof config.if === "string" ? config.if : String(config.if);
@@ -1069,6 +1105,8 @@ async function stepEach(ctx, config, stepIndex, depth) {
1069
1105
  config,
1070
1106
  errorType: "parse_error",
1071
1107
  suggestion: "Reduce nesting depth of loop steps. Maximum is 10 levels.",
1108
+ retryable: false,
1109
+ alternatives: [],
1072
1110
  });
1073
1111
  }
1074
1112
  const maxIterations = Math.max(config.max ?? 100, 1);
@@ -1111,6 +1149,8 @@ async function stepParallel(ctx, branches, merge, stepIndex, depth) {
1111
1149
  config: branches,
1112
1150
  errorType: "parse_error",
1113
1151
  suggestion: "Reduce nesting depth of parallel steps. Maximum is 10 levels.",
1152
+ retryable: false,
1153
+ alternatives: [],
1114
1154
  });
1115
1155
  }
1116
1156
  const results = await Promise.all(branches.map(async (branch) => {
@@ -1597,6 +1637,8 @@ async function stepClick(ctx, config) {
1597
1637
  config,
1598
1638
  errorType: "expression_error",
1599
1639
  suggestion: 'Provide either a CSS selector string, {selector: "..."}, or {x: N, y: N} for coordinate click.',
1640
+ retryable: false,
1641
+ alternatives: [],
1600
1642
  });
1601
1643
  }
1602
1644
  async function stepType(ctx, config) {
@@ -1675,6 +1717,8 @@ async function stepIntercept(ctx, config) {
1675
1717
  config: { capture: capturePattern, trigger },
1676
1718
  errorType: "timeout",
1677
1719
  suggestion: `No network request matching "${capturePattern}" was observed. Verify the capture pattern matches the target API URL and that the trigger action causes the request.`,
1720
+ retryable: true,
1721
+ alternatives: [],
1678
1722
  });
1679
1723
  }
1680
1724
  // Apply optional dot-path selector to captured data
@@ -1760,6 +1804,8 @@ async function stepTap(ctx, config) {
1760
1804
  config,
1761
1805
  errorType: "expression_error",
1762
1806
  suggestion: "Store name must be a valid JavaScript identifier.",
1807
+ retryable: false,
1808
+ alternatives: [],
1763
1809
  });
1764
1810
  }
1765
1811
  if (!/^[a-zA-Z_$][\w$]*$/.test(actionName)) {
@@ -1769,6 +1815,8 @@ async function stepTap(ctx, config) {
1769
1815
  config,
1770
1816
  errorType: "expression_error",
1771
1817
  suggestion: "Action name must be a valid JavaScript identifier.",
1818
+ retryable: false,
1819
+ alternatives: [],
1772
1820
  });
1773
1821
  }
1774
1822
  const framework = config.framework ?? "auto";