@zenalexa/unicli 0.224.0 → 0.225.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 (170) 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/marxists-cn/archive.d.ts +61 -0
  5. package/dist/adapters/marxists-cn/archive.d.ts.map +1 -0
  6. package/dist/adapters/marxists-cn/archive.js +861 -0
  7. package/dist/adapters/marxists-cn/archive.js.map +1 -0
  8. package/dist/adapters/twitter/lists-extra.d.ts +17 -1
  9. package/dist/adapters/twitter/lists-extra.d.ts.map +1 -1
  10. package/dist/adapters/twitter/lists-extra.js +123 -21
  11. package/dist/adapters/twitter/lists-extra.js.map +1 -1
  12. package/dist/adapters/twitter/post.js +1 -0
  13. package/dist/adapters/twitter/post.js.map +1 -1
  14. package/dist/adapters/twitter/thread.d.ts +13 -1
  15. package/dist/adapters/twitter/thread.d.ts.map +1 -1
  16. package/dist/adapters/twitter/thread.js +76 -33
  17. package/dist/adapters/twitter/thread.js.map +1 -1
  18. package/dist/adapters/xueqiu/extra.js +2 -2
  19. package/dist/adapters/xueqiu/extra.js.map +1 -1
  20. package/dist/browser/cdp-client.d.ts +10 -0
  21. package/dist/browser/cdp-client.d.ts.map +1 -1
  22. package/dist/browser/cdp-client.js +21 -0
  23. package/dist/browser/cdp-client.js.map +1 -1
  24. package/dist/cli.d.ts.map +1 -1
  25. package/dist/cli.js +4 -3
  26. package/dist/cli.js.map +1 -1
  27. package/dist/commands/architecture.d.ts +3 -1
  28. package/dist/commands/architecture.d.ts.map +1 -1
  29. package/dist/commands/architecture.js +13 -5
  30. package/dist/commands/architecture.js.map +1 -1
  31. package/dist/commands/delivery.d.ts.map +1 -1
  32. package/dist/commands/delivery.js.map +1 -1
  33. package/dist/commands/describe.d.ts.map +1 -1
  34. package/dist/commands/describe.js +104 -9
  35. package/dist/commands/describe.js.map +1 -1
  36. package/dist/commands/dispatch.d.ts.map +1 -1
  37. package/dist/commands/dispatch.js +3 -13
  38. package/dist/commands/dispatch.js.map +1 -1
  39. package/dist/commands/do.d.ts +2 -1
  40. package/dist/commands/do.d.ts.map +1 -1
  41. package/dist/commands/do.js +43 -4
  42. package/dist/commands/do.js.map +1 -1
  43. package/dist/commands/social.d.ts.map +1 -1
  44. package/dist/commands/social.js +3 -13
  45. package/dist/commands/social.js.map +1 -1
  46. package/dist/core/architecture-tree.d.ts +26 -6
  47. package/dist/core/architecture-tree.d.ts.map +1 -1
  48. package/dist/core/architecture-tree.js +184 -40
  49. package/dist/core/architecture-tree.js.map +1 -1
  50. package/dist/core/capability-matrix.d.ts +63 -0
  51. package/dist/core/capability-matrix.d.ts.map +1 -0
  52. package/dist/core/capability-matrix.js +316 -0
  53. package/dist/core/capability-matrix.js.map +1 -0
  54. package/dist/core/command-contract-lint.d.ts.map +1 -1
  55. package/dist/core/command-contract-lint.js +3 -1
  56. package/dist/core/command-contract-lint.js.map +1 -1
  57. package/dist/core/command-contract.d.ts +10 -3
  58. package/dist/core/command-contract.d.ts.map +1 -1
  59. package/dist/core/command-contract.js +87 -5
  60. package/dist/core/command-contract.js.map +1 -1
  61. package/dist/discovery/aliases.d.ts.map +1 -1
  62. package/dist/discovery/aliases.js +93 -0
  63. package/dist/discovery/aliases.js.map +1 -1
  64. package/dist/discovery/core-catalog.d.ts +1 -0
  65. package/dist/discovery/core-catalog.d.ts.map +1 -1
  66. package/dist/discovery/core-catalog.js +22 -5
  67. package/dist/discovery/core-catalog.js.map +1 -1
  68. package/dist/discovery/intents.d.ts.map +1 -1
  69. package/dist/discovery/intents.js +124 -0
  70. package/dist/discovery/intents.js.map +1 -1
  71. package/dist/engine/cascade.d.ts.map +1 -1
  72. package/dist/engine/cascade.js +21 -25
  73. package/dist/engine/cascade.js.map +1 -1
  74. package/dist/engine/chromium-cookies.d.ts +27 -0
  75. package/dist/engine/chromium-cookies.d.ts.map +1 -1
  76. package/dist/engine/chromium-cookies.js +53 -14
  77. package/dist/engine/chromium-cookies.js.map +1 -1
  78. package/dist/engine/cookie-capture.d.ts +30 -0
  79. package/dist/engine/cookie-capture.d.ts.map +1 -0
  80. package/dist/engine/cookie-capture.js +104 -0
  81. package/dist/engine/cookie-capture.js.map +1 -0
  82. package/dist/engine/cookie-extractor.d.ts.map +1 -1
  83. package/dist/engine/cookie-extractor.js +4 -12
  84. package/dist/engine/cookie-extractor.js.map +1 -1
  85. package/dist/engine/cookie-refresh.d.ts +59 -8
  86. package/dist/engine/cookie-refresh.d.ts.map +1 -1
  87. package/dist/engine/cookie-refresh.js +80 -58
  88. package/dist/engine/cookie-refresh.js.map +1 -1
  89. package/dist/engine/cookie-source.d.ts +110 -0
  90. package/dist/engine/cookie-source.d.ts.map +1 -0
  91. package/dist/engine/cookie-source.js +207 -0
  92. package/dist/engine/cookie-source.js.map +1 -0
  93. package/dist/engine/cookies.d.ts +37 -25
  94. package/dist/engine/cookies.d.ts.map +1 -1
  95. package/dist/engine/cookies.js +58 -157
  96. package/dist/engine/cookies.js.map +1 -1
  97. package/dist/engine/delivery/index.d.ts +2 -1
  98. package/dist/engine/delivery/index.d.ts.map +1 -1
  99. package/dist/engine/delivery/index.js +2 -1
  100. package/dist/engine/delivery/index.js.map +1 -1
  101. package/dist/engine/delivery/spec.d.ts +44 -0
  102. package/dist/engine/delivery/spec.d.ts.map +1 -0
  103. package/dist/engine/delivery/spec.js +82 -0
  104. package/dist/engine/delivery/spec.js.map +1 -0
  105. package/dist/engine/executor.d.ts +17 -6
  106. package/dist/engine/executor.d.ts.map +1 -1
  107. package/dist/engine/executor.js +131 -68
  108. package/dist/engine/executor.js.map +1 -1
  109. package/dist/engine/runtime.d.ts.map +1 -1
  110. package/dist/engine/runtime.js +9 -4
  111. package/dist/engine/runtime.js.map +1 -1
  112. package/dist/engine/step-observer.d.ts +62 -0
  113. package/dist/engine/step-observer.d.ts.map +1 -0
  114. package/dist/engine/step-observer.js +38 -0
  115. package/dist/engine/step-observer.js.map +1 -0
  116. package/dist/engine/steps/browser-helpers.d.ts.map +1 -1
  117. package/dist/engine/steps/browser-helpers.js +2 -8
  118. package/dist/engine/steps/browser-helpers.js.map +1 -1
  119. package/dist/engine/steps/fetch-text.d.ts.map +1 -1
  120. package/dist/engine/steps/fetch-text.js +106 -33
  121. package/dist/engine/steps/fetch-text.js.map +1 -1
  122. package/dist/engine/steps/fetch.d.ts +20 -0
  123. package/dist/engine/steps/fetch.d.ts.map +1 -1
  124. package/dist/engine/steps/fetch.js.map +1 -1
  125. package/dist/engine/steps/index.d.ts +2 -0
  126. package/dist/engine/steps/index.d.ts.map +1 -1
  127. package/dist/engine/steps/index.js +2 -0
  128. package/dist/engine/steps/index.js.map +1 -1
  129. package/dist/engine/steps/split-text.d.ts +26 -0
  130. package/dist/engine/steps/split-text.d.ts.map +1 -0
  131. package/dist/engine/steps/split-text.js +89 -0
  132. package/dist/engine/steps/split-text.js.map +1 -0
  133. package/dist/engine/steps/to-entries.d.ts +9 -0
  134. package/dist/engine/steps/to-entries.d.ts.map +1 -0
  135. package/dist/engine/steps/to-entries.js +27 -0
  136. package/dist/engine/steps/to-entries.js.map +1 -0
  137. package/dist/engine/text-normalize.d.ts +14 -0
  138. package/dist/engine/text-normalize.d.ts.map +1 -1
  139. package/dist/engine/text-normalize.js +64 -0
  140. package/dist/engine/text-normalize.js.map +1 -1
  141. package/dist/fast-path/handlers/discovery.d.ts.map +1 -1
  142. package/dist/fast-path/handlers/discovery.js +7 -7
  143. package/dist/fast-path/handlers/discovery.js.map +1 -1
  144. package/dist/manifest-compact.txt +3 -3
  145. package/dist/manifest.json +493 -3
  146. package/dist/mcp/tools.js +1 -1
  147. package/dist/mcp/tools.js.map +1 -1
  148. package/dist/output/auth-guidance.d.ts +17 -3
  149. package/dist/output/auth-guidance.d.ts.map +1 -1
  150. package/dist/output/auth-guidance.js +27 -3
  151. package/dist/output/auth-guidance.js.map +1 -1
  152. package/dist/output/error-map.d.ts.map +1 -1
  153. package/dist/output/error-map.js +4 -0
  154. package/dist/output/error-map.js.map +1 -1
  155. package/package.json +2 -2
  156. package/server.json +2 -2
  157. package/skills/unicli/SKILL.md +1 -1
  158. package/skills/unicli-claude-code/SKILL.md +1 -1
  159. package/skills/unicli-hermes/SKILL.md +1 -1
  160. package/src/adapters/12306/price.yaml +91 -0
  161. package/src/adapters/12306/stations.yaml +52 -0
  162. package/src/adapters/12306/trains.yaml +129 -0
  163. package/src/adapters/marxists-cn/archive.test.ts +173 -0
  164. package/src/adapters/marxists-cn/archive.ts +1049 -0
  165. package/src/adapters/twitter/lists-extra.test.ts +115 -0
  166. package/src/adapters/twitter/lists-extra.ts +146 -26
  167. package/src/adapters/twitter/post.ts +1 -0
  168. package/src/adapters/twitter/thread.test.ts +25 -1
  169. package/src/adapters/twitter/thread.ts +99 -47
  170. package/src/adapters/xueqiu/extra.ts +5 -2
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.224.0",
2
+ "version": "0.225.0",
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
  {
@@ -26661,6 +26802,251 @@
26661
26802
  ],
26662
26803
  "category": "shopping"
26663
26804
  },
26805
+ "marxists-cn": {
26806
+ "commands": [
26807
+ {
26808
+ "name": "authors",
26809
+ "description": "List people, authors, organizations, and topic directories in the Chinese Marxists archive",
26810
+ "strategy": "public",
26811
+ "type": "web-api",
26812
+ "columns": [
26813
+ "rank",
26814
+ "title",
26815
+ "latinName",
26816
+ "kind",
26817
+ "path",
26818
+ "url"
26819
+ ],
26820
+ "args": [
26821
+ {
26822
+ "name": "limit",
26823
+ "type": "int",
26824
+ "default": 120,
26825
+ "description": "Max rows"
26826
+ }
26827
+ ],
26828
+ "pipeline_steps": 0,
26829
+ "adapter_path": "src/adapters/marxists-cn/archive.ts",
26830
+ "target_surface": ""
26831
+ },
26832
+ {
26833
+ "name": "index",
26834
+ "description": "List Chinese Marxists Internet Archive top-level people, topics, and library links",
26835
+ "strategy": "public",
26836
+ "type": "web-api",
26837
+ "columns": [
26838
+ "rank",
26839
+ "title",
26840
+ "latinName",
26841
+ "kind",
26842
+ "path",
26843
+ "url"
26844
+ ],
26845
+ "args": [
26846
+ {
26847
+ "name": "limit",
26848
+ "type": "int",
26849
+ "default": 80,
26850
+ "description": "Max rows"
26851
+ }
26852
+ ],
26853
+ "pipeline_steps": 0,
26854
+ "adapter_path": "src/adapters/marxists-cn/archive.ts",
26855
+ "target_surface": ""
26856
+ },
26857
+ {
26858
+ "name": "read",
26859
+ "description": "Read a Chinese Marxists archive HTML page as clean plain text",
26860
+ "strategy": "public",
26861
+ "type": "web-api",
26862
+ "columns": [
26863
+ "title",
26864
+ "author",
26865
+ "date",
26866
+ "chars",
26867
+ "text",
26868
+ "url"
26869
+ ],
26870
+ "args": [
26871
+ {
26872
+ "name": "path",
26873
+ "type": "str",
26874
+ "required": true,
26875
+ "positional": true,
26876
+ "description": "Archive path or URL under /chinese/"
26877
+ },
26878
+ {
26879
+ "name": "max-length",
26880
+ "type": "int",
26881
+ "default": 30000,
26882
+ "description": "Max text characters"
26883
+ }
26884
+ ],
26885
+ "pipeline_steps": 0,
26886
+ "adapter_path": "src/adapters/marxists-cn/archive.ts",
26887
+ "target_surface": ""
26888
+ },
26889
+ {
26890
+ "name": "reading-list",
26891
+ "description": "Return curated Chinese Marxists archive reading lists with directly readable paths",
26892
+ "strategy": "public",
26893
+ "type": "web-api",
26894
+ "columns": [
26895
+ "rank",
26896
+ "preset",
26897
+ "author",
26898
+ "title",
26899
+ "year",
26900
+ "theme",
26901
+ "path",
26902
+ "url",
26903
+ "readCommand",
26904
+ "note"
26905
+ ],
26906
+ "args": [
26907
+ {
26908
+ "name": "preset",
26909
+ "type": "str",
26910
+ "required": true,
26911
+ "positional": true,
26912
+ "description": "Reading list preset, currently western-marxism"
26913
+ },
26914
+ {
26915
+ "name": "limit",
26916
+ "type": "int",
26917
+ "default": 40,
26918
+ "description": "Max rows"
26919
+ }
26920
+ ],
26921
+ "pipeline_steps": 0,
26922
+ "adapter_path": "src/adapters/marxists-cn/archive.ts",
26923
+ "target_surface": ""
26924
+ },
26925
+ {
26926
+ "name": "search",
26927
+ "description": "Search Chinese Marxists archive people, books, works, and scoped full text",
26928
+ "strategy": "public",
26929
+ "type": "web-api",
26930
+ "columns": [
26931
+ "rank",
26932
+ "type",
26933
+ "scope",
26934
+ "section",
26935
+ "title",
26936
+ "snippet",
26937
+ "path",
26938
+ "url",
26939
+ "score"
26940
+ ],
26941
+ "args": [
26942
+ {
26943
+ "name": "query",
26944
+ "type": "str",
26945
+ "required": true,
26946
+ "positional": true,
26947
+ "description": "Chinese or English search text"
26948
+ },
26949
+ {
26950
+ "name": "limit",
26951
+ "type": "int",
26952
+ "default": 20,
26953
+ "description": "Max rows"
26954
+ },
26955
+ {
26956
+ "name": "scope",
26957
+ "type": "str",
26958
+ "default": "",
26959
+ "description": "Optional author/topic path for focused search, e.g. marx"
26960
+ },
26961
+ {
26962
+ "name": "scan-pages",
26963
+ "type": "int",
26964
+ "default": 24,
26965
+ "description": "Top-level index pages to scan when scope is omitted"
26966
+ },
26967
+ {
26968
+ "name": "full-text",
26969
+ "type": "bool",
26970
+ "default": false,
26971
+ "description": "When true, search text inside scoped HTML work pages"
26972
+ },
26973
+ {
26974
+ "name": "content-pages",
26975
+ "type": "int",
26976
+ "default": 40,
26977
+ "description": "Max HTML pages to read for full-text scoped search"
26978
+ }
26979
+ ],
26980
+ "pipeline_steps": 0,
26981
+ "adapter_path": "src/adapters/marxists-cn/archive.ts",
26982
+ "target_surface": ""
26983
+ },
26984
+ {
26985
+ "name": "western-marxism",
26986
+ "description": "List famous Western Marxist authors and works from the Chinese Marxists archive with read commands",
26987
+ "strategy": "public",
26988
+ "type": "web-api",
26989
+ "columns": [
26990
+ "rank",
26991
+ "preset",
26992
+ "author",
26993
+ "title",
26994
+ "year",
26995
+ "theme",
26996
+ "path",
26997
+ "url",
26998
+ "readCommand",
26999
+ "note"
27000
+ ],
27001
+ "args": [
27002
+ {
27003
+ "name": "limit",
27004
+ "type": "int",
27005
+ "default": 40,
27006
+ "description": "Max rows"
27007
+ }
27008
+ ],
27009
+ "pipeline_steps": 0,
27010
+ "adapter_path": "src/adapters/marxists-cn/archive.ts",
27011
+ "target_surface": ""
27012
+ },
27013
+ {
27014
+ "name": "works",
27015
+ "description": "List works/books/articles under a Chinese Marxists archive author or topic path",
27016
+ "strategy": "public",
27017
+ "type": "web-api",
27018
+ "columns": [
27019
+ "rank",
27020
+ "scope",
27021
+ "section",
27022
+ "title",
27023
+ "note",
27024
+ "format",
27025
+ "path",
27026
+ "url"
27027
+ ],
27028
+ "args": [
27029
+ {
27030
+ "name": "scope",
27031
+ "type": "str",
27032
+ "required": true,
27033
+ "positional": true,
27034
+ "description": "Author/topic path, e.g. marx, lenin, georg-lukacs"
27035
+ },
27036
+ {
27037
+ "name": "limit",
27038
+ "type": "int",
27039
+ "default": 120,
27040
+ "description": "Max rows"
27041
+ }
27042
+ ],
27043
+ "pipeline_steps": 0,
27044
+ "adapter_path": "src/adapters/marxists-cn/archive.ts",
27045
+ "target_surface": ""
27046
+ }
27047
+ ],
27048
+ "category": "reference"
27049
+ },
26664
27050
  "mastodon": {
26665
27051
  "commands": [
26666
27052
  {
@@ -39748,6 +40134,36 @@
39748
40134
  "adapter_path": "src/adapters/twitter/bookmarks.ts",
39749
40135
  "target_surface": ""
39750
40136
  },
40137
+ {
40138
+ "name": "comments",
40139
+ "description": "Get replies/comments for a Twitter/X tweet",
40140
+ "strategy": "cookie",
40141
+ "type": "web-api",
40142
+ "domain": "x.com",
40143
+ "columns": [
40144
+ "id",
40145
+ "parent_id",
40146
+ "author",
40147
+ "text",
40148
+ "likes",
40149
+ "retweets",
40150
+ "views",
40151
+ "url",
40152
+ "depth",
40153
+ "path"
40154
+ ],
40155
+ "args": [
40156
+ {
40157
+ "name": "url",
40158
+ "required": true,
40159
+ "positional": true,
40160
+ "description": "Tweet ID or Twitter/X status URL"
40161
+ }
40162
+ ],
40163
+ "pipeline_steps": 0,
40164
+ "adapter_path": "src/adapters/twitter/thread.ts",
40165
+ "target_surface": ""
40166
+ },
39751
40167
  {
39752
40168
  "name": "delete",
39753
40169
  "description": "Delete your own tweet",
@@ -39999,14 +40415,18 @@
39999
40415
  },
40000
40416
  {
40001
40417
  "name": "list-tweets",
40002
- "description": "Read tweets from a Twitter/X list",
40418
+ "description": "Read tweets from a Twitter/X list timeline",
40003
40419
  "strategy": "cookie",
40004
40420
  "type": "web-api",
40005
40421
  "domain": "x.com",
40006
40422
  "browser": true,
40007
40423
  "columns": [
40424
+ "id",
40008
40425
  "author",
40009
40426
  "text",
40427
+ "likes",
40428
+ "retweets",
40429
+ "views",
40010
40430
  "url"
40011
40431
  ],
40012
40432
  "args": [
@@ -40528,7 +40948,7 @@
40528
40948
  "name": "tweet_id",
40529
40949
  "required": true,
40530
40950
  "positional": true,
40531
- "description": "Tweet ID (numeric)"
40951
+ "description": "Tweet ID or Twitter/X status URL"
40532
40952
  }
40533
40953
  ],
40534
40954
  "pipeline_steps": 0,
@@ -40587,8 +41007,12 @@
40587
41007
  "domain": "x.com",
40588
41008
  "browser": true,
40589
41009
  "columns": [
41010
+ "id",
40590
41011
  "author",
40591
41012
  "text",
41013
+ "likes",
41014
+ "retweets",
41015
+ "views",
40592
41016
  "url"
40593
41017
  ],
40594
41018
  "args": [
@@ -40745,6 +41169,72 @@
40745
41169
  "pipeline_steps": 0,
40746
41170
  "adapter_path": "src/adapters/twitter/tweet-actions.ts",
40747
41171
  "target_surface": ""
41172
+ },
41173
+ {
41174
+ "name": "user-timeline",
41175
+ "description": "Read a Twitter/X user's tweet timeline",
41176
+ "strategy": "cookie",
41177
+ "type": "web-api",
41178
+ "domain": "x.com",
41179
+ "browser": true,
41180
+ "columns": [
41181
+ "id",
41182
+ "author",
41183
+ "text",
41184
+ "likes",
41185
+ "retweets",
41186
+ "views",
41187
+ "url"
41188
+ ],
41189
+ "args": [
41190
+ {
41191
+ "name": "user",
41192
+ "type": "str",
41193
+ "required": true,
41194
+ "positional": true
41195
+ },
41196
+ {
41197
+ "name": "limit",
41198
+ "type": "int",
41199
+ "default": 20
41200
+ }
41201
+ ],
41202
+ "pipeline_steps": 0,
41203
+ "adapter_path": "src/adapters/twitter/lists-extra.ts",
41204
+ "target_surface": ""
41205
+ },
41206
+ {
41207
+ "name": "user-tweets",
41208
+ "description": "Read recent tweets from a Twitter/X user profile",
41209
+ "strategy": "cookie",
41210
+ "type": "web-api",
41211
+ "domain": "x.com",
41212
+ "browser": true,
41213
+ "columns": [
41214
+ "id",
41215
+ "author",
41216
+ "text",
41217
+ "likes",
41218
+ "retweets",
41219
+ "views",
41220
+ "url"
41221
+ ],
41222
+ "args": [
41223
+ {
41224
+ "name": "user",
41225
+ "type": "str",
41226
+ "required": true,
41227
+ "positional": true
41228
+ },
41229
+ {
41230
+ "name": "limit",
41231
+ "type": "int",
41232
+ "default": 20
41233
+ }
41234
+ ],
41235
+ "pipeline_steps": 0,
41236
+ "adapter_path": "src/adapters/twitter/lists-extra.ts",
41237
+ "target_surface": ""
40748
41238
  }
40749
41239
  ],
40750
41240
  "category": "social"
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