@zenalexa/unicli 0.224.1 → 0.225.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/AGENTS.md +5 -5
  2. package/README.md +92 -92
  3. package/README.zh-CN.md +69 -69
  4. package/dist/adapters/_electron/desktop-shared.d.ts.map +1 -1
  5. package/dist/adapters/_electron/desktop-shared.js +2 -1
  6. package/dist/adapters/_electron/desktop-shared.js.map +1 -1
  7. package/dist/adapters/_electron/shared.d.ts +6 -0
  8. package/dist/adapters/_electron/shared.d.ts.map +1 -1
  9. package/dist/adapters/_electron/shared.js +9 -0
  10. package/dist/adapters/_electron/shared.js.map +1 -1
  11. package/dist/adapters/antigravity/extra.js +4 -1
  12. package/dist/adapters/antigravity/extra.js.map +1 -1
  13. package/dist/adapters/chatwise/extra.js +4 -1
  14. package/dist/adapters/chatwise/extra.js.map +1 -1
  15. package/dist/adapters/codex/codex.js +3 -1
  16. package/dist/adapters/codex/codex.js.map +1 -1
  17. package/dist/adapters/codex/extra.js +4 -1
  18. package/dist/adapters/codex/extra.js.map +1 -1
  19. package/dist/adapters/codex/projects.d.ts.map +1 -1
  20. package/dist/adapters/codex/projects.js +3 -1
  21. package/dist/adapters/codex/projects.js.map +1 -1
  22. package/dist/adapters/cursor/cursor.js +6 -1
  23. package/dist/adapters/cursor/cursor.js.map +1 -1
  24. package/dist/adapters/discord-app/discord-app.js +10 -1
  25. package/dist/adapters/discord-app/discord-app.js.map +1 -1
  26. package/dist/adapters/notion-app/notion-app.js +11 -1
  27. package/dist/adapters/notion-app/notion-app.js.map +1 -1
  28. package/dist/adapters/spotify/api.js +36 -6
  29. package/dist/adapters/spotify/api.js.map +1 -1
  30. package/dist/adapters/xiaohongshu/browser-state.d.ts +2 -1
  31. package/dist/adapters/xiaohongshu/browser-state.d.ts.map +1 -1
  32. package/dist/adapters/xiaohongshu/browser-state.js +56 -2
  33. package/dist/adapters/xiaohongshu/browser-state.js.map +1 -1
  34. package/dist/adapters/xiaohongshu/feed.d.ts +24 -0
  35. package/dist/adapters/xiaohongshu/feed.d.ts.map +1 -0
  36. package/dist/adapters/xiaohongshu/feed.js +82 -0
  37. package/dist/adapters/xiaohongshu/feed.js.map +1 -0
  38. package/dist/adapters/xueqiu/extra.js +2 -2
  39. package/dist/adapters/xueqiu/extra.js.map +1 -1
  40. package/dist/browser/cdp-client.d.ts +15 -1
  41. package/dist/browser/cdp-client.d.ts.map +1 -1
  42. package/dist/browser/cdp-client.js +45 -16
  43. package/dist/browser/cdp-client.js.map +1 -1
  44. package/dist/browser/daemon.js +29 -7
  45. package/dist/browser/daemon.js.map +1 -1
  46. package/dist/browser/launcher.d.ts.map +1 -1
  47. package/dist/browser/launcher.js +22 -8
  48. package/dist/browser/launcher.js.map +1 -1
  49. package/dist/browser/local-profiles.d.ts +2 -0
  50. package/dist/browser/local-profiles.d.ts.map +1 -1
  51. package/dist/browser/local-profiles.js +42 -2
  52. package/dist/browser/local-profiles.js.map +1 -1
  53. package/dist/browser/page.d.ts +2 -2
  54. package/dist/browser/page.d.ts.map +1 -1
  55. package/dist/browser/page.js +2 -2
  56. package/dist/browser/page.js.map +1 -1
  57. package/dist/browser/protocol.d.ts +7 -0
  58. package/dist/browser/protocol.d.ts.map +1 -1
  59. package/dist/browser/protocol.js +5 -0
  60. package/dist/browser/protocol.js.map +1 -1
  61. package/dist/cli.d.ts.map +1 -1
  62. package/dist/cli.js +4 -3
  63. package/dist/cli.js.map +1 -1
  64. package/dist/commands/architecture.d.ts +3 -1
  65. package/dist/commands/architecture.d.ts.map +1 -1
  66. package/dist/commands/architecture.js +13 -5
  67. package/dist/commands/architecture.js.map +1 -1
  68. package/dist/commands/browser/index.d.ts.map +1 -1
  69. package/dist/commands/browser/index.js +26 -4
  70. package/dist/commands/browser/index.js.map +1 -1
  71. package/dist/commands/delivery.d.ts.map +1 -1
  72. package/dist/commands/delivery.js.map +1 -1
  73. package/dist/commands/describe.d.ts.map +1 -1
  74. package/dist/commands/describe.js +104 -9
  75. package/dist/commands/describe.js.map +1 -1
  76. package/dist/commands/dispatch.d.ts.map +1 -1
  77. package/dist/commands/dispatch.js +3 -13
  78. package/dist/commands/dispatch.js.map +1 -1
  79. package/dist/commands/do.d.ts +16 -13
  80. package/dist/commands/do.d.ts.map +1 -1
  81. package/dist/commands/do.js +72 -18
  82. package/dist/commands/do.js.map +1 -1
  83. package/dist/commands/social.d.ts.map +1 -1
  84. package/dist/commands/social.js +3 -13
  85. package/dist/commands/social.js.map +1 -1
  86. package/dist/core/architecture-tree.d.ts +26 -6
  87. package/dist/core/architecture-tree.d.ts.map +1 -1
  88. package/dist/core/architecture-tree.js +184 -40
  89. package/dist/core/architecture-tree.js.map +1 -1
  90. package/dist/core/capability-matrix.d.ts +63 -0
  91. package/dist/core/capability-matrix.d.ts.map +1 -0
  92. package/dist/core/capability-matrix.js +316 -0
  93. package/dist/core/capability-matrix.js.map +1 -0
  94. package/dist/core/command-contract-lint.d.ts.map +1 -1
  95. package/dist/core/command-contract-lint.js +3 -1
  96. package/dist/core/command-contract-lint.js.map +1 -1
  97. package/dist/core/command-contract.d.ts +10 -3
  98. package/dist/core/command-contract.d.ts.map +1 -1
  99. package/dist/core/command-contract.js +87 -5
  100. package/dist/core/command-contract.js.map +1 -1
  101. package/dist/discovery/aliases.d.ts.map +1 -1
  102. package/dist/discovery/aliases.js +26 -0
  103. package/dist/discovery/aliases.js.map +1 -1
  104. package/dist/discovery/core-catalog.d.ts +1 -0
  105. package/dist/discovery/core-catalog.d.ts.map +1 -1
  106. package/dist/discovery/core-catalog.js +22 -5
  107. package/dist/discovery/core-catalog.js.map +1 -1
  108. package/dist/discovery/intents.d.ts +31 -4
  109. package/dist/discovery/intents.d.ts.map +1 -1
  110. package/dist/discovery/intents.js +166 -3
  111. package/dist/discovery/intents.js.map +1 -1
  112. package/dist/discovery/loader.d.ts.map +1 -1
  113. package/dist/discovery/loader.js +3 -0
  114. package/dist/discovery/loader.js.map +1 -1
  115. package/dist/discovery/search.d.ts.map +1 -1
  116. package/dist/discovery/search.js +10 -1
  117. package/dist/discovery/search.js.map +1 -1
  118. package/dist/engine/cascade.d.ts.map +1 -1
  119. package/dist/engine/cascade.js +21 -25
  120. package/dist/engine/cascade.js.map +1 -1
  121. package/dist/engine/chromium-cookies.d.ts +27 -0
  122. package/dist/engine/chromium-cookies.d.ts.map +1 -1
  123. package/dist/engine/chromium-cookies.js +53 -14
  124. package/dist/engine/chromium-cookies.js.map +1 -1
  125. package/dist/engine/cookie-capture.d.ts +30 -0
  126. package/dist/engine/cookie-capture.d.ts.map +1 -0
  127. package/dist/engine/cookie-capture.js +104 -0
  128. package/dist/engine/cookie-capture.js.map +1 -0
  129. package/dist/engine/cookie-extractor.d.ts.map +1 -1
  130. package/dist/engine/cookie-extractor.js +4 -12
  131. package/dist/engine/cookie-extractor.js.map +1 -1
  132. package/dist/engine/cookie-refresh.d.ts +59 -8
  133. package/dist/engine/cookie-refresh.d.ts.map +1 -1
  134. package/dist/engine/cookie-refresh.js +80 -58
  135. package/dist/engine/cookie-refresh.js.map +1 -1
  136. package/dist/engine/cookie-source.d.ts +110 -0
  137. package/dist/engine/cookie-source.d.ts.map +1 -0
  138. package/dist/engine/cookie-source.js +207 -0
  139. package/dist/engine/cookie-source.js.map +1 -0
  140. package/dist/engine/cookies.d.ts +37 -25
  141. package/dist/engine/cookies.d.ts.map +1 -1
  142. package/dist/engine/cookies.js +58 -157
  143. package/dist/engine/cookies.js.map +1 -1
  144. package/dist/engine/delivery/index.d.ts +2 -1
  145. package/dist/engine/delivery/index.d.ts.map +1 -1
  146. package/dist/engine/delivery/index.js +2 -1
  147. package/dist/engine/delivery/index.js.map +1 -1
  148. package/dist/engine/delivery/spec.d.ts +44 -0
  149. package/dist/engine/delivery/spec.d.ts.map +1 -0
  150. package/dist/engine/delivery/spec.js +82 -0
  151. package/dist/engine/delivery/spec.js.map +1 -0
  152. package/dist/engine/executor.d.ts +17 -6
  153. package/dist/engine/executor.d.ts.map +1 -1
  154. package/dist/engine/executor.js +131 -68
  155. package/dist/engine/executor.js.map +1 -1
  156. package/dist/engine/kernel/stages.d.ts.map +1 -1
  157. package/dist/engine/kernel/stages.js +14 -4
  158. package/dist/engine/kernel/stages.js.map +1 -1
  159. package/dist/engine/objective/catalog.d.ts +23 -0
  160. package/dist/engine/objective/catalog.d.ts.map +1 -0
  161. package/dist/engine/objective/catalog.js +42 -0
  162. package/dist/engine/objective/catalog.js.map +1 -0
  163. package/dist/engine/objective/delivery.d.ts +18 -0
  164. package/dist/engine/objective/delivery.d.ts.map +1 -0
  165. package/dist/engine/objective/delivery.js +64 -0
  166. package/dist/engine/objective/delivery.js.map +1 -0
  167. package/dist/engine/objective/index.d.ts +20 -0
  168. package/dist/engine/objective/index.d.ts.map +1 -0
  169. package/dist/engine/objective/index.js +20 -0
  170. package/dist/engine/objective/index.js.map +1 -0
  171. package/dist/engine/objective/media-playback.d.ts +17 -0
  172. package/dist/engine/objective/media-playback.d.ts.map +1 -0
  173. package/dist/engine/objective/media-playback.js +186 -0
  174. package/dist/engine/objective/media-playback.js.map +1 -0
  175. package/dist/engine/objective/output.d.ts +20 -0
  176. package/dist/engine/objective/output.d.ts.map +1 -0
  177. package/dist/engine/objective/output.js +88 -0
  178. package/dist/engine/objective/output.js.map +1 -0
  179. package/dist/engine/objective/planner.d.ts +17 -0
  180. package/dist/engine/objective/planner.d.ts.map +1 -0
  181. package/dist/engine/objective/planner.js +60 -0
  182. package/dist/engine/objective/planner.js.map +1 -0
  183. package/dist/engine/objective/types.d.ts +66 -0
  184. package/dist/engine/objective/types.d.ts.map +1 -0
  185. package/dist/engine/objective/types.js +16 -0
  186. package/dist/engine/objective/types.js.map +1 -0
  187. package/dist/engine/runtime.d.ts.map +1 -1
  188. package/dist/engine/runtime.js +9 -4
  189. package/dist/engine/runtime.js.map +1 -1
  190. package/dist/engine/step-observer.d.ts +62 -0
  191. package/dist/engine/step-observer.d.ts.map +1 -0
  192. package/dist/engine/step-observer.js +38 -0
  193. package/dist/engine/step-observer.js.map +1 -0
  194. package/dist/engine/steps/browser-helpers.d.ts.map +1 -1
  195. package/dist/engine/steps/browser-helpers.js +36 -8
  196. package/dist/engine/steps/browser-helpers.js.map +1 -1
  197. package/dist/engine/steps/fetch-text.d.ts.map +1 -1
  198. package/dist/engine/steps/fetch-text.js +106 -33
  199. package/dist/engine/steps/fetch-text.js.map +1 -1
  200. package/dist/engine/steps/fetch.d.ts +20 -0
  201. package/dist/engine/steps/fetch.d.ts.map +1 -1
  202. package/dist/engine/steps/fetch.js.map +1 -1
  203. package/dist/engine/steps/index.d.ts +2 -0
  204. package/dist/engine/steps/index.d.ts.map +1 -1
  205. package/dist/engine/steps/index.js +2 -0
  206. package/dist/engine/steps/index.js.map +1 -1
  207. package/dist/engine/steps/split-text.d.ts +26 -0
  208. package/dist/engine/steps/split-text.d.ts.map +1 -0
  209. package/dist/engine/steps/split-text.js +89 -0
  210. package/dist/engine/steps/split-text.js.map +1 -0
  211. package/dist/engine/steps/to-entries.d.ts +9 -0
  212. package/dist/engine/steps/to-entries.d.ts.map +1 -0
  213. package/dist/engine/steps/to-entries.js +27 -0
  214. package/dist/engine/steps/to-entries.js.map +1 -0
  215. package/dist/fast-path/handlers/discovery.d.ts.map +1 -1
  216. package/dist/fast-path/handlers/discovery.js +7 -7
  217. package/dist/fast-path/handlers/discovery.js.map +1 -1
  218. package/dist/manifest-compact.txt +3 -2
  219. package/dist/manifest.json +183 -17
  220. package/dist/mcp/tools.js +1 -1
  221. package/dist/mcp/tools.js.map +1 -1
  222. package/dist/output/auth-guidance.d.ts +17 -3
  223. package/dist/output/auth-guidance.d.ts.map +1 -1
  224. package/dist/output/auth-guidance.js +27 -3
  225. package/dist/output/auth-guidance.js.map +1 -1
  226. package/dist/output/error-map.d.ts.map +1 -1
  227. package/dist/output/error-map.js +4 -0
  228. package/dist/output/error-map.js.map +1 -1
  229. package/package.json +4 -2
  230. package/server.json +2 -2
  231. package/skills/unicli/SKILL.md +1 -1
  232. package/skills/unicli-claude-code/SKILL.md +1 -1
  233. package/skills/unicli-hermes/SKILL.md +1 -1
  234. package/src/adapters/12306/price.yaml +91 -0
  235. package/src/adapters/12306/stations.yaml +52 -0
  236. package/src/adapters/12306/trains.yaml +129 -0
  237. package/src/adapters/_electron/desktop-shared.ts +5 -1
  238. package/src/adapters/_electron/shared.ts +15 -0
  239. package/src/adapters/antigravity/extra.ts +10 -1
  240. package/src/adapters/chatwise/extra.ts +10 -1
  241. package/src/adapters/codex/codex.ts +6 -0
  242. package/src/adapters/codex/extra.ts +10 -1
  243. package/src/adapters/codex/projects.ts +9 -1
  244. package/src/adapters/cursor/cursor.ts +9 -0
  245. package/src/adapters/discord-app/discord-app.ts +16 -1
  246. package/src/adapters/macos/brightness.yaml +6 -3
  247. package/src/adapters/macos/calendar-list.yaml +9 -11
  248. package/src/adapters/macos/calendar-today.yaml +1 -1
  249. package/src/adapters/macos/safari-url.yaml +8 -4
  250. package/src/adapters/maoyan/hot.yaml +1 -1
  251. package/src/adapters/notion-app/notion-app.ts +17 -1
  252. package/src/adapters/spotify/api.ts +54 -8
  253. package/src/adapters/weibo/trending.yaml +2 -0
  254. package/src/adapters/xiaohongshu/browser-state.ts +59 -2
  255. package/src/adapters/xiaohongshu/feed.ts +103 -0
  256. package/src/adapters/xueqiu/extra.ts +5 -2
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.224.1",
2
+ "version": "0.225.1",
3
3
  "sites": {
4
4
  "1688": {
5
5
  "commands": [
@@ -179,6 +179,147 @@
179
179
  ],
180
180
  "category": "shopping"
181
181
  },
182
+ "12306": {
183
+ "commands": [
184
+ {
185
+ "name": "price",
186
+ "description": "12306 ticket prices by seat class for one train + segment (anonymous)",
187
+ "strategy": "public",
188
+ "type": "web-api",
189
+ "domain": "kyfw.12306.cn",
190
+ "browser": false,
191
+ "quarantined": false,
192
+ "args": [
193
+ {
194
+ "name": "train_no",
195
+ "type": "str",
196
+ "required": true,
197
+ "positional": true,
198
+ "description": "Internal train_no from `12306 trains` (e.g. 240000G54700), not the public code G547"
199
+ },
200
+ {
201
+ "name": "from",
202
+ "type": "str",
203
+ "required": true,
204
+ "positional": true,
205
+ "description": "Origin station telecode (e.g. VNP) — from `12306 stations <name>`"
206
+ },
207
+ {
208
+ "name": "to",
209
+ "type": "str",
210
+ "required": true,
211
+ "positional": true,
212
+ "description": "Destination station telecode (e.g. AOH) — from `12306 stations <name>`"
213
+ },
214
+ {
215
+ "name": "date",
216
+ "type": "str",
217
+ "required": true,
218
+ "positional": true,
219
+ "description": "Departure date YYYY-MM-DD"
220
+ }
221
+ ],
222
+ "columns": [
223
+ "seat_name",
224
+ "price",
225
+ "currency",
226
+ "seat_code"
227
+ ],
228
+ "pipeline_steps": 9,
229
+ "adapter_path": "src/adapters/12306/price.yaml"
230
+ },
231
+ {
232
+ "name": "stations",
233
+ "description": "Search 12306 (China Railway) stations by Chinese name, telecode, or pinyin",
234
+ "strategy": "public",
235
+ "type": "web-api",
236
+ "domain": "kyfw.12306.cn",
237
+ "browser": false,
238
+ "quarantined": false,
239
+ "args": [
240
+ {
241
+ "name": "keyword",
242
+ "type": "str",
243
+ "required": true,
244
+ "positional": true,
245
+ "description": "Chinese substring (北京), telecode (VAP), or pinyin (beijing)"
246
+ },
247
+ {
248
+ "name": "limit",
249
+ "type": "int",
250
+ "required": false,
251
+ "positional": false,
252
+ "default": 20,
253
+ "description": "Maximum results (1-50)"
254
+ }
255
+ ],
256
+ "columns": [
257
+ "name",
258
+ "code",
259
+ "pinyin",
260
+ "abbr",
261
+ "city"
262
+ ],
263
+ "pipeline_steps": 5,
264
+ "adapter_path": "src/adapters/12306/stations.yaml"
265
+ },
266
+ {
267
+ "name": "trains",
268
+ "description": "List trains between two 12306 stations on a date (telecodes from `12306 stations`)",
269
+ "strategy": "public",
270
+ "type": "web-api",
271
+ "domain": "kyfw.12306.cn",
272
+ "browser": false,
273
+ "quarantined": false,
274
+ "args": [
275
+ {
276
+ "name": "from",
277
+ "type": "str",
278
+ "required": true,
279
+ "positional": true,
280
+ "description": "Origin station telecode (e.g. VNP for 北京南) — get it from `12306 stations <name>`"
281
+ },
282
+ {
283
+ "name": "to",
284
+ "type": "str",
285
+ "required": true,
286
+ "positional": true,
287
+ "description": "Destination station telecode (e.g. AOH) — get it from `12306 stations <name>`"
288
+ },
289
+ {
290
+ "name": "date",
291
+ "type": "str",
292
+ "required": true,
293
+ "positional": true,
294
+ "description": "Departure date YYYY-MM-DD"
295
+ },
296
+ {
297
+ "name": "limit",
298
+ "type": "int",
299
+ "required": false,
300
+ "positional": false,
301
+ "default": 50,
302
+ "description": "Maximum rows (1-100)"
303
+ }
304
+ ],
305
+ "columns": [
306
+ "code",
307
+ "from_to",
308
+ "depart",
309
+ "arrive",
310
+ "duration",
311
+ "second",
312
+ "first",
313
+ "business",
314
+ "hard_sleeper",
315
+ "bookable"
316
+ ],
317
+ "pipeline_steps": 6,
318
+ "adapter_path": "src/adapters/12306/trains.yaml"
319
+ }
320
+ ],
321
+ "category": "other"
322
+ },
182
323
  "1point3acres": {
183
324
  "commands": [
184
325
  {
@@ -8531,7 +8672,7 @@
8531
8672
  "target_surface": ""
8532
8673
  }
8533
8674
  ],
8534
- "category": "other"
8675
+ "category": "travel"
8535
8676
  },
8536
8677
  "cursor": {
8537
8678
  "commands": [
@@ -25202,7 +25343,8 @@
25202
25343
  "quarantined": false,
25203
25344
  "args": [],
25204
25345
  "columns": [
25205
- "brightness"
25346
+ "brightness",
25347
+ "status"
25206
25348
  ],
25207
25349
  "pipeline_steps": 1,
25208
25350
  "adapter_path": "src/adapters/macos/brightness.yaml"
@@ -26063,6 +26205,7 @@
26063
26205
  "quarantined": false,
26064
26206
  "args": [],
26065
26207
  "columns": [
26208
+ "state",
26066
26209
  "url",
26067
26210
  "title"
26068
26211
  ],
@@ -37142,6 +37285,31 @@
37142
37285
  "adapter_path": "src/adapters/electron-desktop/electron-desktop.ts",
37143
37286
  "target_surface": "desktop"
37144
37287
  },
37288
+ {
37289
+ "name": "play-track",
37290
+ "description": "Search Spotify for a track query and start playback",
37291
+ "strategy": "cookie",
37292
+ "type": "web-api",
37293
+ "domain": "api.spotify.com",
37294
+ "columns": [
37295
+ "ok",
37296
+ "query",
37297
+ "track",
37298
+ "artist",
37299
+ "uri"
37300
+ ],
37301
+ "args": [
37302
+ {
37303
+ "name": "query",
37304
+ "type": "str",
37305
+ "required": true,
37306
+ "positional": true
37307
+ }
37308
+ ],
37309
+ "pipeline_steps": 0,
37310
+ "adapter_path": "src/adapters/spotify/api.ts",
37311
+ "target_surface": ""
37312
+ },
37145
37313
  {
37146
37314
  "name": "playlists",
37147
37315
  "description": "Get user's playlists on Spotify",
@@ -44423,31 +44591,29 @@
44423
44591
  },
44424
44592
  {
44425
44593
  "name": "feed",
44426
- "description": "Xiaohongshu home feed (via Pinia Store Action)",
44427
- "strategy": "intercept",
44594
+ "description": "Xiaohongshu home feed",
44595
+ "strategy": "cookie",
44428
44596
  "type": "web-api",
44429
44597
  "domain": "www.xiaohongshu.com",
44430
44598
  "browser": true,
44431
- "quarantined": false,
44599
+ "columns": [
44600
+ "title",
44601
+ "author",
44602
+ "likes",
44603
+ "type",
44604
+ "url"
44605
+ ],
44432
44606
  "args": [
44433
44607
  {
44434
44608
  "name": "limit",
44435
44609
  "type": "int",
44436
- "required": false,
44437
- "positional": false,
44438
44610
  "default": 20,
44439
44611
  "description": "Number of items to return"
44440
44612
  }
44441
44613
  ],
44442
- "columns": [
44443
- "title",
44444
- "author",
44445
- "likes",
44446
- "type",
44447
- "url"
44448
- ],
44449
- "pipeline_steps": 4,
44450
- "adapter_path": "src/adapters/xiaohongshu/feed.yaml"
44614
+ "pipeline_steps": 0,
44615
+ "adapter_path": "src/adapters/xiaohongshu/feed.ts",
44616
+ "target_surface": ""
44451
44617
  },
44452
44618
  {
44453
44619
  "name": "follow",
package/dist/mcp/tools.js CHANGED
@@ -108,7 +108,7 @@ export function buildDefaultTools() {
108
108
  },
109
109
  {
110
110
  name: "unicli_search",
111
- description: "Search the Uni-CLI command catalog by intent and optional category. Bilingual (EN/ZH). Returns top matches with usage examples.",
111
+ description: "Search the Uni-CLI operation catalog by intent and optional category. Bilingual (EN/ZH). Returns top matches with usage examples.",
112
112
  inputSchema: {
113
113
  type: "object",
114
114
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,28 @@
1
1
  /**
2
2
  * @owner Auth failure guidance.
3
- * @does Builds concrete commands for refreshing browser-backed login state.
4
- * @needs Site name and optional domain from adapter metadata.
5
- * @feeds Error envelopes, next_actions, and CLI retry messages.
3
+ * @does Builds concrete commands for refreshing browser-backed login state,
4
+ * and applies the canonical --auth-retry failure annotation so every
5
+ * command path annotates the error envelope identically.
6
+ * @needs Site name + optional domain from adapter metadata; AgentError/AgentEnvelope shapes.
7
+ * @feeds Error envelopes, next_actions, CLI retry messages, dispatch/social --auth-retry.
6
8
  * @breaks Auth failures become vague when platform login URLs or retry commands drift.
7
9
  */
10
+ import type { InvocationResult } from "../engine/kernel/types.js";
8
11
  export declare function authDomainForSite(site: string, domain?: string): string;
9
12
  export declare function authLoginUrl(site: string, domain?: string): string;
10
13
  export declare function authImportCommand(site: string, domain?: string): string;
11
14
  export declare function authRetryCommand(site: string, cmdName: string): string;
12
15
  export declare function authFailureSuggestion(site: string, cmdName: string): string;
13
16
  export declare function challengeFailureSuggestion(site: string, cmdName: string): string;
17
+ /**
18
+ * Annotate a failed invocation after a --auth-retry cookie refresh did NOT
19
+ * recover it: merge the refresh suggestion into the error, attach a re-import
20
+ * remedy, and mirror the error onto the envelope. The single source of this
21
+ * annotation so the dispatch and social command paths stay byte-identical
22
+ * (the envelope fields are the measured IV — both paths must agree).
23
+ *
24
+ * No-ops when there is no error to annotate. Mutates `result` in place; the
25
+ * error/envelope field SHAPE is unchanged (only values are filled).
26
+ */
27
+ export declare function annotateAuthRetryFailure(result: Pick<InvocationResult, "error" | "envelope">, refreshSuggestion: string | undefined, site: string): void;
14
28
  //# sourceMappingURL=auth-guidance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-guidance.d.ts","sourceRoot":"","sources":["../../src/output/auth-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3E;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CAMR"}
1
+ {"version":3,"file":"auth-guidance.d.ts","sourceRoot":"","sources":["../../src/output/auth-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAiBlE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3E;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CAMR;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,UAAU,CAAC,EACpD,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,IAAI,EAAE,MAAM,GACX,IAAI,CAUN"}
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * @owner Auth failure guidance.
3
- * @does Builds concrete commands for refreshing browser-backed login state.
4
- * @needs Site name and optional domain from adapter metadata.
5
- * @feeds Error envelopes, next_actions, and CLI retry messages.
3
+ * @does Builds concrete commands for refreshing browser-backed login state,
4
+ * and applies the canonical --auth-retry failure annotation so every
5
+ * command path annotates the error envelope identically.
6
+ * @needs Site name + optional domain from adapter metadata; AgentError/AgentEnvelope shapes.
7
+ * @feeds Error envelopes, next_actions, CLI retry messages, dispatch/social --auth-retry.
6
8
  * @breaks Auth failures become vague when platform login URLs or retry commands drift.
7
9
  */
8
10
  const SITE_DOMAINS = {
@@ -47,4 +49,26 @@ export function challengeFailureSuggestion(site, cmdName) {
47
49
  `For one-shot recovery after the browser is clean, run \`${authRetryCommand(site, cmdName)}\`.`,
48
50
  ].join(" ");
49
51
  }
52
+ /**
53
+ * Annotate a failed invocation after a --auth-retry cookie refresh did NOT
54
+ * recover it: merge the refresh suggestion into the error, attach a re-import
55
+ * remedy, and mirror the error onto the envelope. The single source of this
56
+ * annotation so the dispatch and social command paths stay byte-identical
57
+ * (the envelope fields are the measured IV — both paths must agree).
58
+ *
59
+ * No-ops when there is no error to annotate. Mutates `result` in place; the
60
+ * error/envelope field SHAPE is unchanged (only values are filled).
61
+ */
62
+ export function annotateAuthRetryFailure(result, refreshSuggestion, site) {
63
+ if (!result.error)
64
+ return;
65
+ result.error.suggestion = [result.error.suggestion, refreshSuggestion]
66
+ .filter(Boolean)
67
+ .join(" ");
68
+ result.error.remedy = {
69
+ message: refreshSuggestion ?? "Refresh browser login state, then retry.",
70
+ command: `unicli auth import ${site}`,
71
+ };
72
+ result.envelope.error = result.error;
73
+ }
50
74
  //# sourceMappingURL=auth-guidance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-guidance.js","sourceRoot":"","sources":["../../src/output/auth-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,YAAY,GAA2B;IAC3C,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,kBAAkB;IAC1B,WAAW,EAAE,qBAAqB;IAClC,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAe;IAC7D,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAe;IACxD,OAAO,WAAW,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAe;IAC7D,OAAO,sBAAsB,IAAI,aAAa,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAe;IAC5D,OAAO,uBAAuB,IAAI,IAAI,OAAO,0BAA0B,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,OAAe;IACjE,OAAO;QACL,8BAA8B,iBAAiB,CAAC,IAAI,CAAC,iBAAiB;QACtE,gCAAgC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK;QACpE,mCAAmC,YAAY,CAAC,IAAI,CAAC,yCAAyC;KAC/F,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,UAAU,YAAY,CAAC,IAAI,CAAC,sFAAsF;QAClH,+BAA+B,iBAAiB,CAAC,IAAI,CAAC,KAAK;QAC3D,2DAA2D,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK;KAChG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"auth-guidance.js","sourceRoot":"","sources":["../../src/output/auth-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,YAAY,GAA2B;IAC3C,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,kBAAkB;IAC1B,WAAW,EAAE,qBAAqB;IAClC,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAe;IAC7D,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAe;IACxD,OAAO,WAAW,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAe;IAC7D,OAAO,sBAAsB,IAAI,aAAa,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAe;IAC5D,OAAO,uBAAuB,IAAI,IAAI,OAAO,0BAA0B,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,OAAe;IACjE,OAAO;QACL,8BAA8B,iBAAiB,CAAC,IAAI,CAAC,iBAAiB;QACtE,gCAAgC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK;QACpE,mCAAmC,YAAY,CAAC,IAAI,CAAC,yCAAyC;KAC/F,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,UAAU,YAAY,CAAC,IAAI,CAAC,sFAAsF;QAClH,+BAA+B,iBAAiB,CAAC,IAAI,CAAC,KAAK;QAC3D,2DAA2D,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK;KAChG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAoD,EACpD,iBAAqC,EACrC,IAAY;IAEZ,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO;IAC1B,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC;SACnE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG;QACpB,OAAO,EAAE,iBAAiB,IAAI,0CAA0C;QACxE,OAAO,EAAE,sBAAsB,IAAI,EAAE;KACtC,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-map.d.ts","sourceRoot":"","sources":["../../src/output/error-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,aAI5B,CAAC;AA2BH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA2CpD;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA2BvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAc,GACpB;IACD,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAiDA"}
1
+ {"version":3,"file":"error-map.d.ts","sourceRoot":"","sources":["../../src/output/error-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,aAI5B,CAAC;AA2BH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA4CpD;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA4BvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAc,GACpB;IACD,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAiDA"}
@@ -74,6 +74,8 @@ export function errorTypeToCode(err) {
74
74
  return "network_error";
75
75
  if (errorType === "timeout")
76
76
  return "network_error";
77
+ if (errorType === "unknown_action")
78
+ return "unknown_action";
77
79
  return "internal_error";
78
80
  }
79
81
  if (err instanceof Error && typeof err.code === "string")
@@ -105,6 +107,8 @@ export function mapErrorToExitCode(err) {
105
107
  return ExitCode.EMPTY_RESULT;
106
108
  if (errorType === "permission_denied")
107
109
  return ExitCode.AUTH_REQUIRED;
110
+ if (errorType === "unknown_action")
111
+ return ExitCode.CONFIG_ERROR;
108
112
  if (errorType === "network_error" || errorType === "timeout") {
109
113
  return ExitCode.TEMP_FAILURE;
110
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error-map.js","sourceRoot":"","sources":["../../src/output/error-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-map.js","sourceRoot":"","sources":["../../src/output/error-map.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zenalexa/unicli",
3
- "version": "0.224.1",
4
- "description": "Operations substrate for agents that use real software: web, browsers, desktop apps, local tools, MCP, policy, evidence, and self-repair.",
3
+ "version": "0.225.1",
4
+ "description": "Universal computer-control platform for agents: intent, policy, action substrates, evidence, delivery, and repair.",
5
5
  "packageManager": "npm@11.14.0",
6
6
  "type": "module",
7
7
  "main": "dist/main.js",
@@ -155,11 +155,13 @@
155
155
  "test": "vitest run --project unit --maxWorkers=1 --reporter=dot",
156
156
  "test:adapter": "vitest run --project adapter",
157
157
  "test:perf": "vitest run --project perf",
158
+ "e2e:real": "npm run build && tsx scripts/e2e-real-matrix.ts",
158
159
  "compute:smoke": "tsx scripts/compute-live-smoke.ts",
159
160
  "coverage:compute-snapshot": "vitest run --project unit tests/unit/refs.test.ts tests/unit/snapshot-encoder.test.ts --coverage --coverage.enabled=true --coverage.provider=v8 --coverage.include=src/transport/refs.ts --coverage.include=src/transport/snapshot-encoder.ts --coverage.reporter=text --coverage.thresholds.lines=100 --coverage.thresholds.functions=100 --coverage.thresholds.branches=100 --coverage.thresholds.statements=100",
160
161
  "coverage:adapter-test": "tsx scripts/check-adapter-test-coverage.ts --threshold 50",
161
162
  "adapter:bootstrap": "tsx scripts/bootstrap-adapter-tests.ts",
162
163
  "adapter:health": "tsx scripts/adapter-health-probe.ts",
164
+ "site:availability": "tsx scripts/site-availability-sweep.ts",
163
165
  "test:all": "vitest run",
164
166
  "typecheck": "tsc --noEmit",
165
167
  "lint": "oxlint src/",
package/server.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
3
3
  "name": "io.github.olo-dot-io/Uni-CLI",
4
4
  "description": "Self-repairing CLI catalog that exposes 311 websites, desktop apps, and external CLIs as one MCP server. 977 declarative YAML adapters and 1753 commands; structured error envelopes let agents fix failing adapters at runtime and retry.",
5
- "version": "0.224.1",
5
+ "version": "0.225.1",
6
6
  "repository": {
7
7
  "url": "https://github.com/olo-dot-io/Uni-CLI",
8
8
  "source": "github"
@@ -13,7 +13,7 @@
13
13
  "registryType": "npm",
14
14
  "registryBaseUrl": "https://registry.npmjs.org",
15
15
  "identifier": "@zenalexa/unicli",
16
- "version": "0.224.1",
16
+ "version": "0.225.1",
17
17
  "transport": {
18
18
  "type": "stdio"
19
19
  },
@@ -11,7 +11,7 @@ description: >
11
11
  major platform; run desktop workflows or system tasks; or when the user says
12
12
  "unicli", "scrape", "fetch from", "get trending", "check [site]", "find on
13
13
  [platform]", "获取", "查询", "抓取".
14
- version: 0.224.1
14
+ version: 0.225.1
15
15
  category: core
16
16
  depends-on:
17
17
  - talk-normal
@@ -6,7 +6,7 @@ description: >
6
6
  newlines, or inline JSON — shell-quoted invocations hit TC0 circuit
7
7
  limits and drop to <50% success above ICS=4. Also covers --describe
8
8
  introspection and next_actions-driven navigation.
9
- version: 0.224.1
9
+ version: 0.225.1
10
10
  depends-on:
11
11
  - talk-normal
12
12
  triggers:
@@ -4,7 +4,7 @@ description: >
4
4
  Use Uni-CLI to interact with 237 websites, desktop apps, and system tools.
5
5
  Trigger when: user asks to check a website, fetch data, control a desktop app,
6
6
  or interact with social media, news, finance, or AI platforms.
7
- version: 0.224.1
7
+ version: 0.225.1
8
8
  depends-on:
9
9
  - talk-normal
10
10
  triggers:
@@ -0,0 +1,91 @@
1
+ site: 12306
2
+ name: price
3
+ description: 12306 ticket prices by seat class for one train + segment (anonymous)
4
+ type: web-api
5
+ domain: kyfw.12306.cn
6
+ strategy: public
7
+
8
+ args:
9
+ train_no:
10
+ type: str
11
+ required: true
12
+ positional: true
13
+ description: Internal train_no from `12306 trains` (e.g. 240000G54700), not the public code G547
14
+ from:
15
+ type: str
16
+ required: true
17
+ positional: true
18
+ description: Origin station telecode (e.g. VNP) — from `12306 stations <name>`
19
+ to:
20
+ type: str
21
+ required: true
22
+ positional: true
23
+ description: Destination station telecode (e.g. AOH) — from `12306 stations <name>`
24
+ date:
25
+ type: str
26
+ required: true
27
+ positional: true
28
+ description: Departure date YYYY-MM-DD
29
+
30
+ pipeline:
31
+ # 1. Mint an anonymous session.
32
+ - fetch_text:
33
+ url: https://kyfw.12306.cn/otn/leftTicket/init
34
+ capture_cookies: true
35
+
36
+ # 2. Resolve from/to station_no within this train's route. The price endpoint
37
+ # addresses stops by station_no, not telecode.
38
+ - fetch:
39
+ url: https://kyfw.12306.cn/otn/czxx/queryByTrainNo
40
+ headers:
41
+ Referer: https://kyfw.12306.cn/otn/leftTicket/init
42
+ params:
43
+ train_no: "${{ args.train_no }}"
44
+ from_station_telecode: "${{ args.from }}"
45
+ to_station_telecode: "${{ args.to }}"
46
+ depart_date: "${{ args.date }}"
47
+
48
+ - set:
49
+ stops: "${{ item.data.data }}"
50
+ - set:
51
+ from_no: "${{ vars.stops[0].station_no }}"
52
+ to_no: "${{ vars.stops[vars.stops.length - 1].station_no }}"
53
+
54
+ # 3. Query prices keyed by seat letter.
55
+ - fetch:
56
+ url: https://kyfw.12306.cn/otn/leftTicket/queryTicketPrice
57
+ headers:
58
+ Referer: https://kyfw.12306.cn/otn/leftTicket/init
59
+ params:
60
+ train_no: "${{ args.train_no }}"
61
+ from_station_no: "${{ vars.from_no }}"
62
+ to_station_no: "${{ vars.to_no }}"
63
+ seat_types: OM9PA1A3A4FWZ
64
+ train_date: "${{ args.date }}"
65
+
66
+ - select: data
67
+
68
+ - to_entries:
69
+ key_name: seat_code
70
+ value_name: raw_price
71
+
72
+ # Keep only real seat-letter entries with a ¥ price string.
73
+ - filter: >-
74
+ item.seat_code != 'train_no'
75
+ && item.seat_code != 'OT'
76
+ && typeof item.raw_price == 'string'
77
+ && item.raw_price.indexOf('¥') >= 0
78
+
79
+ - map:
80
+ seat_code: ${{ item.seat_code }}
81
+ seat_name: ${{ ({A9:'商务座',P:'特等座',M:'一等座',O:'二等座',A1:'硬座',A3:'硬卧',A4:'软卧',F:'动卧',WZ:'无座'})[item.seat_code] || item.seat_code }}
82
+ price: ${{ String(item.raw_price).replace('¥','') }}
83
+ currency: CNY
84
+
85
+ columns: [seat_name, price, currency, seat_code]
86
+ capabilities: ["http.fetch"]
87
+ minimum_capability: http.fetch
88
+ trust: public
89
+ confidentiality: public
90
+ quarantine: false
91
+ schema_version: v2
@@ -0,0 +1,52 @@
1
+ site: 12306
2
+ name: stations
3
+ description: Search 12306 (China Railway) stations by Chinese name, telecode, or pinyin
4
+ type: web-api
5
+ domain: kyfw.12306.cn
6
+ strategy: public
7
+
8
+ args:
9
+ keyword:
10
+ type: str
11
+ required: true
12
+ positional: true
13
+ description: Chinese substring (北京), telecode (VAP), or pinyin (beijing)
14
+ limit:
15
+ type: int
16
+ default: 20
17
+ description: Maximum results (1-50)
18
+
19
+ pipeline:
20
+ - fetch_text:
21
+ url: https://kyfw.12306.cn/otn/resources/js/framework/station_name.js
22
+
23
+ - split_text:
24
+ strip_prefix: "^var station_names\\s*='"
25
+ strip_suffix: "';?\\s*$"
26
+ record_separator: "@"
27
+ field_separator: "|"
28
+ columns: [abbr, name, code, pinyin, short, index, telecode, city]
29
+
30
+ - filter: >-
31
+ item.name.includes(args.keyword)
32
+ || item.code == args.keyword.toUpperCase()
33
+ || item.pinyin.includes(args.keyword.toLowerCase())
34
+ || item.short.includes(args.keyword.toLowerCase())
35
+ || item.city.includes(args.keyword)
36
+
37
+ - map:
38
+ name: ${{ item.name }}
39
+ code: ${{ item.code }}
40
+ pinyin: ${{ item.pinyin }}
41
+ abbr: ${{ item.short }}
42
+ city: ${{ item.city }}
43
+
44
+ - limit: ${{ args.limit }}
45
+
46
+ columns: [name, code, pinyin, abbr, city]
47
+ capabilities: ["http.fetch"]
48
+ minimum_capability: http.fetch
49
+ trust: public
50
+ confidentiality: public
51
+ quarantine: false
52
+ schema_version: v2