@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
@@ -0,0 +1,316 @@
1
+ /**
2
+ * @owner src/core/capability-matrix.ts
3
+ * @does Builds live-catalog substrate and workflow readiness matrices for agent-to-computer control.
4
+ * @needs command inventory rows from src/core/architecture-tree.ts
5
+ * @feeds architecture tree/audit payloads and architecture regression tests.
6
+ * @breaks Misclassification overstates what Uni-CLI can control, especially visual or workflow coverage.
7
+ * @invariants Readiness is catalog-derived only; live verification must be represented as required next evidence, not implied success.
8
+ * @side-effects none
9
+ * @perf O(commands * surfaces + commands * workflows), bounded by catalog size.
10
+ * @concurrency pure and reentrant.
11
+ * @test tests/unit/core/capability-matrix.test.ts
12
+ * @stability experimental
13
+ * @since 2026-05-31
14
+ */
15
+ export const CAPABILITY_SURFACES = [
16
+ "web",
17
+ "browser",
18
+ "desktop",
19
+ "system",
20
+ "protocol",
21
+ "bridge",
22
+ ];
23
+ const MEDIA_SITES = new Set([
24
+ "spotify",
25
+ "netease-music",
26
+ "apple-podcasts",
27
+ "youtube",
28
+ "yt-dlp",
29
+ ]);
30
+ const VIDEO_SITES = new Set([
31
+ "bilibili",
32
+ "youtube",
33
+ "tiktok",
34
+ "douyin",
35
+ "kuaishou",
36
+ "yt-dlp",
37
+ ]);
38
+ const BROWSER_CONTROL_SITES = new Set(["browser", "operate", "chrome"]);
39
+ const PRODUCTIVITY_SITES = new Set([
40
+ "apple-notes",
41
+ "notion",
42
+ "todoist",
43
+ "linear",
44
+ "word",
45
+ "powerpoint",
46
+ "excel",
47
+ "obsidian",
48
+ "notebooklm",
49
+ ]);
50
+ const DESTINATION_SITES = new Set([
51
+ "browser",
52
+ "operate",
53
+ "chrome",
54
+ "macos",
55
+ "google",
56
+ "brave",
57
+ "duckduckgo",
58
+ "baidu",
59
+ "ctrip",
60
+ "12306",
61
+ ]);
62
+ const PROTOCOL_SITES = new Set([
63
+ "agents",
64
+ "architecture",
65
+ "delivery",
66
+ "mcp",
67
+ "operate",
68
+ "runs",
69
+ ]);
70
+ const ACTION_COMMAND_TERMS = [
71
+ "click",
72
+ "type",
73
+ "press",
74
+ "scroll",
75
+ "open",
76
+ "launch",
77
+ "create",
78
+ "send",
79
+ "set",
80
+ "insert",
81
+ "move",
82
+ "copy",
83
+ "run",
84
+ "play",
85
+ "control",
86
+ ];
87
+ const SEARCH_OR_DISCOVERY_TERMS = [
88
+ "search",
89
+ "trending",
90
+ "hot",
91
+ "ranking",
92
+ "top",
93
+ "shorts",
94
+ "playlist",
95
+ "feed",
96
+ "history",
97
+ "live",
98
+ ];
99
+ const WORKFLOW_DEFINITIONS = [
100
+ {
101
+ id: "media-playback",
102
+ label: "Play or inspect media",
103
+ vehicle_assistant_analogy: "play a song or inspect current media state",
104
+ required_next_evidence: [
105
+ "run the selected media command",
106
+ "capture post-state or service response",
107
+ "record auth and permission posture",
108
+ ],
109
+ gap: "no cataloged music/audio/media control path",
110
+ match: (entry) => MEDIA_SITES.has(entry.site) ||
111
+ includesAny(entry.command, ["music", "playlist", "podcast", "audio"]),
112
+ isActionCommand: (entry) => includesAny(entry.command, ["play", "control", "now-playing"]) ||
113
+ entry.safety_class !== "read",
114
+ },
115
+ {
116
+ id: "video-search",
117
+ label: "Search video platforms",
118
+ vehicle_assistant_analogy: "search Bilibili, YouTube, TikTok, or short video feeds",
119
+ required_next_evidence: [
120
+ "run the search/trending command",
121
+ "assert non-empty result envelope",
122
+ "record auth requirement when needed",
123
+ ],
124
+ gap: "no cataloged video-platform search path",
125
+ match: (entry) => VIDEO_SITES.has(entry.site) &&
126
+ includesAny(entry.command, SEARCH_OR_DISCOVERY_TERMS),
127
+ isActionCommand: (entry) => includesAny(entry.command, SEARCH_OR_DISCOVERY_TERMS),
128
+ },
129
+ {
130
+ id: "browser-tab-control",
131
+ label: "Operate browser tabs",
132
+ vehicle_assistant_analogy: "navigate, inspect, and click inside the current browser",
133
+ required_next_evidence: [
134
+ "capture browser state before action",
135
+ "perform one browser operation",
136
+ "capture post-action evidence",
137
+ ],
138
+ gap: "no cataloged browser tab control path",
139
+ match: (entry) => BROWSER_CONTROL_SITES.has(entry.site) ||
140
+ entry.uses_browser ||
141
+ entry.capabilities.some((capability) => capability.startsWith("cdp-browser.")),
142
+ isActionCommand: (entry) => includesAny(entry.command, [
143
+ "click",
144
+ "bind",
145
+ "state",
146
+ "evidence",
147
+ "extract",
148
+ ]),
149
+ },
150
+ {
151
+ id: "installed-app-operation",
152
+ label: "Operate installed apps",
153
+ vehicle_assistant_analogy: "open apps, inspect UI, and dispatch local actions",
154
+ required_next_evidence: [
155
+ "run compute or desktop app discovery",
156
+ "resolve an accessibility or app ref",
157
+ "verify post-action app state",
158
+ ],
159
+ gap: "no cataloged installed-app operation path",
160
+ match: (entry) => entry.is_local_computer_use ||
161
+ entry.target_surface === "desktop" ||
162
+ entry.adapter_type === "desktop",
163
+ isActionCommand: (entry) => entry.safety_class !== "read" ||
164
+ includesAny(entry.command, ACTION_COMMAND_TERMS),
165
+ },
166
+ {
167
+ id: "productivity-state",
168
+ label: "Read and write productivity state",
169
+ vehicle_assistant_analogy: "read notes/calendar/docs or create/update local productivity state",
170
+ required_next_evidence: [
171
+ "run read/list and one write-capable command when present",
172
+ "capture structured envelope",
173
+ "record local file/app permission posture",
174
+ ],
175
+ gap: "no cataloged productivity state path",
176
+ match: (entry) => PRODUCTIVITY_SITES.has(entry.site) ||
177
+ includesAny(entry.command, ["notes", "calendar", "reminder", "mail"]),
178
+ isActionCommand: (entry) => entry.safety_class !== "read" ||
179
+ includesAny(entry.command, ["create", "send", "set", "insert"]),
180
+ },
181
+ {
182
+ id: "open-destination",
183
+ label: "Open or navigate to a destination",
184
+ vehicle_assistant_analogy: "navigate to a place; on a computer, open a URL, app, file, route, or travel destination",
185
+ required_next_evidence: [
186
+ "resolve the destination into a command and args",
187
+ "run with policy profile",
188
+ "capture URL/app/file/travel result evidence",
189
+ ],
190
+ gap: "no cataloged destination/open/navigation path",
191
+ match: (entry) => DESTINATION_SITES.has(entry.site) &&
192
+ includesAny(entry.command, [
193
+ "open",
194
+ "navigate",
195
+ "url",
196
+ "route",
197
+ "travel",
198
+ "station",
199
+ "train",
200
+ "flight",
201
+ "search",
202
+ ]),
203
+ isActionCommand: (entry) => includesAny(entry.command, ["open", "navigate"]) ||
204
+ entry.safety_class !== "read",
205
+ },
206
+ ];
207
+ export function surfacesForCapabilityEntry(entry) {
208
+ const surfaces = new Set();
209
+ if (entry.target_surface === "web" || entry.adapter_type === "web-api") {
210
+ surfaces.add("web");
211
+ }
212
+ if (entry.target_surface === "desktop" || entry.adapter_type === "desktop") {
213
+ surfaces.add("desktop");
214
+ }
215
+ if (entry.target_surface === "system" || entry.site === "macos") {
216
+ surfaces.add("system");
217
+ }
218
+ if (entry.uses_browser ||
219
+ entry.adapter_type === "browser" ||
220
+ hasCapabilityPrefix(entry, "cdp-browser.") ||
221
+ hasCapabilityPrefix(entry, "mcp-browser.")) {
222
+ surfaces.add("browser");
223
+ }
224
+ if (entry.adapter_type === "bridge") {
225
+ surfaces.add("bridge");
226
+ }
227
+ if (entry.adapter_type === "service" ||
228
+ PROTOCOL_SITES.has(entry.site) ||
229
+ hasCapabilityPrefix(entry, "mcp.") ||
230
+ hasCapabilityPrefix(entry, "acp.")) {
231
+ surfaces.add("protocol");
232
+ }
233
+ return CAPABILITY_SURFACES.filter((surface) => surfaces.has(surface));
234
+ }
235
+ export function buildArchitectureCapabilityMatrix(entries) {
236
+ return CAPABILITY_SURFACES.map((surface) => {
237
+ const matchingEntries = entries.filter((entry) => surfacesForCapabilityEntry(entry).includes(surface));
238
+ const sourcePathPresent = matchingEntries.filter((entry) => entry.source_path !== undefined).length;
239
+ return {
240
+ surface,
241
+ command_count: matchingEntries.length,
242
+ adapter_commands: matchingEntries.filter((entry) => entry.source_kind === "adapter").length,
243
+ core_commands: matchingEntries.filter((entry) => entry.source_kind === "core").length,
244
+ write_commands: matchingEntries.filter((entry) => entry.safety_class !== "read").length,
245
+ auth_or_write_commands: matchingEntries.filter((entry) => entry.safety_class === "auth_read" ||
246
+ entry.safety_class === "write" ||
247
+ entry.safety_class === "destructive").length,
248
+ local_computer_use_commands: matchingEntries.filter((entry) => entry.is_local_computer_use).length,
249
+ source_path_coverage: {
250
+ present: sourcePathPresent,
251
+ missing: matchingEntries.length - sourcePathPresent,
252
+ },
253
+ representative_commands: representativeRefs(matchingEntries),
254
+ };
255
+ });
256
+ }
257
+ export function buildArchitectureWorkflowReadiness(entries) {
258
+ return WORKFLOW_DEFINITIONS.map((workflow) => {
259
+ const matchingEntries = entries
260
+ .filter((entry) => workflow.match(entry))
261
+ .sort((left, right) => left.ref.localeCompare(right.ref));
262
+ const actionEntries = matchingEntries.filter((entry) => (workflow.isActionCommand ?? defaultIsActionCommand)(entry));
263
+ const surfaces = Array.from(new Set(matchingEntries.flatMap((entry) => surfacesForCapabilityEntry(entry)))).sort((left, right) => surfaceRank(left) - surfaceRank(right));
264
+ const readiness = workflowReadiness(matchingEntries, actionEntries);
265
+ return {
266
+ id: workflow.id,
267
+ label: workflow.label,
268
+ vehicle_assistant_analogy: workflow.vehicle_assistant_analogy,
269
+ readiness,
270
+ command_count: matchingEntries.length,
271
+ action_command_count: actionEntries.length,
272
+ surfaces,
273
+ representative_commands: workflowRepresentativeRefs(matchingEntries, actionEntries),
274
+ required_next_evidence: workflow.required_next_evidence,
275
+ ...(readiness === "gap" ? { gap: workflow.gap } : {}),
276
+ };
277
+ });
278
+ }
279
+ function workflowReadiness(matchingEntries, actionEntries) {
280
+ if (matchingEntries.length === 0)
281
+ return "gap";
282
+ if (actionEntries.length === 0)
283
+ return "partial";
284
+ return "cataloged";
285
+ }
286
+ function defaultIsActionCommand(entry) {
287
+ return (entry.safety_class !== "read" ||
288
+ includesAny(entry.command, ACTION_COMMAND_TERMS));
289
+ }
290
+ function representativeRefs(entries) {
291
+ return entries
292
+ .map((entry) => entry.ref)
293
+ .sort((left, right) => left.localeCompare(right))
294
+ .slice(0, 8);
295
+ }
296
+ function workflowRepresentativeRefs(matchingEntries, actionEntries) {
297
+ const seen = new Set();
298
+ const orderedEntries = [...actionEntries, ...matchingEntries].filter((entry) => {
299
+ if (seen.has(entry.ref))
300
+ return false;
301
+ seen.add(entry.ref);
302
+ return true;
303
+ });
304
+ return orderedEntries.map((entry) => entry.ref).slice(0, 8);
305
+ }
306
+ function hasCapabilityPrefix(entry, prefix) {
307
+ return entry.capabilities.some((capability) => capability.startsWith(prefix));
308
+ }
309
+ function includesAny(text, terms) {
310
+ const lowerText = text.toLowerCase();
311
+ return terms.some((term) => lowerText.includes(term));
312
+ }
313
+ function surfaceRank(surface) {
314
+ return CAPABILITY_SURFACES.indexOf(surface);
315
+ }
316
+ //# sourceMappingURL=capability-matrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-matrix.js","sourceRoot":"","sources":["../../src/core/capability-matrix.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command-contract-lint.d.ts","sourceRoot":"","sources":["../../src/core/command-contract-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,GACxB,wBAAwB,EAAE,CAkC5B"}
1
+ {"version":3,"file":"command-contract-lint.d.ts","sourceRoot":"","sources":["../../src/core/command-contract-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,GACxB,wBAAwB,EAAE,CAsC5B"}
@@ -29,7 +29,9 @@ export function lintCommandContract(contract) {
29
29
  message: `${label} has no target surface`,
30
30
  });
31
31
  }
32
- if (contract.repair.repair_command.length === 0) {
32
+ if (contract.repair.source_kind === "adapter" &&
33
+ (contract.repair.repair_command === undefined ||
34
+ contract.repair.repair_command.length === 0)) {
33
35
  issues.push({
34
36
  code: "missing_repair_command",
35
37
  severity: "error",
@@ -1 +1 @@
1
- {"version":3,"file":"command-contract-lint.js","sourceRoot":"","sources":["../../src/core/command-contract-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,UAAU,mBAAmB,CACjC,QAAyB;IAEzB,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAEvE,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,6BAA6B;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,KAAK,+BAA+B;SACjD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,wBAAwB;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,wBAAwB;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"command-contract-lint.js","sourceRoot":"","sources":["../../src/core/command-contract-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,UAAU,mBAAmB,CACjC,QAAyB;IAEzB,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAEvE,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,6BAA6B;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,KAAK,+BAA+B;SACjD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,wBAAwB;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,IACE,QAAQ,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;QACzC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;YAC3C,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,EAC9C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,wBAAwB;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * @owner Uni-CLI Core
3
- * @does Projects adapter registry commands into the agent-native command contract.
4
- * @needs AdapterManifest, AdapterCommand, operation policy metadata.
3
+ * @does Projects adapter and core registry commands into the agent-native command contract.
4
+ * @needs AdapterManifest, AdapterCommand, CoreDiscoveryCommand, operation policy metadata.
5
5
  * @feeds describe, MCP, agent packs, benchmark generation, repair tooling.
6
6
  * @breaks Missing source paths, schemas, safety metadata, or repair metadata.
7
7
  */
8
8
  import { evaluateOperationPolicy, type OperationEffect, type OperationRisk } from "../engine/operation-policy.js";
9
9
  import type { AdapterArg, AdapterCommand, AdapterManifest, Strategy, TargetSurface } from "../types.js";
10
+ import type { CoreDiscoveryCommand } from "../discovery/core-catalog.js";
10
11
  export type CommandSafetyClass = "read" | "auth_read" | "write" | "destructive";
11
12
  export interface CommandContractIdentity {
12
13
  site: string;
@@ -63,8 +64,10 @@ export interface CommandContractEval {
63
64
  health_status: "unknown" | "healthy" | "unhealthy" | "quarantined";
64
65
  }
65
66
  export interface CommandContractRepair {
67
+ source_kind: "adapter" | "core";
68
+ source_path?: string;
66
69
  adapter_path?: string;
67
- repair_command: string;
70
+ repair_command?: string;
68
71
  quarantined: boolean;
69
72
  quarantine_reason?: string;
70
73
  minimum_capability?: string;
@@ -96,5 +99,9 @@ export interface BuildCommandContractInput {
96
99
  commandName: string;
97
100
  command: AdapterCommand;
98
101
  }
102
+ export interface BuildCoreCommandContractInput {
103
+ command: CoreDiscoveryCommand;
104
+ }
99
105
  export declare function buildCommandContract(input: BuildCommandContractInput): CommandContract;
106
+ export declare function buildCoreCommandContract(input: BuildCoreCommandContractInput): CommandContract;
100
107
  //# sourceMappingURL=command-contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-contract.d.ts","sourceRoot":"","sources":["../../src/core/command-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-contract.d.ts","sourceRoot":"","sources":["../../src/core/command-contract.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @owner Uni-CLI Core
3
- * @does Projects adapter registry commands into the agent-native command contract.
4
- * @needs AdapterManifest, AdapterCommand, operation policy metadata.
3
+ * @does Projects adapter and core registry commands into the agent-native command contract.
4
+ * @needs AdapterManifest, AdapterCommand, CoreDiscoveryCommand, operation policy metadata.
5
5
  * @feeds describe, MCP, agent packs, benchmark generation, repair tooling.
6
6
  * @breaks Missing source paths, schemas, safety metadata, or repair metadata.
7
7
  */
@@ -35,12 +35,13 @@ function buildInputSchema(args) {
35
35
  if (arg.choices !== undefined && arg.choices.length > 0) {
36
36
  property.enum = arg.choices;
37
37
  }
38
- if (arg.format !== undefined)
38
+ if ("format" in arg && arg.format !== undefined) {
39
39
  property.format = arg.format;
40
- if (arg["x-unicli-kind"] !== undefined) {
40
+ }
41
+ if ("x-unicli-kind" in arg && arg["x-unicli-kind"] !== undefined) {
41
42
  property["x-unicli-kind"] = arg["x-unicli-kind"];
42
43
  }
43
- if (arg["x-unicli-accepts"] !== undefined) {
44
+ if ("x-unicli-accepts" in arg && arg["x-unicli-accepts"] !== undefined) {
44
45
  property["x-unicli-accepts"] = arg["x-unicli-accepts"];
45
46
  }
46
47
  properties[arg.name] = property;
@@ -80,6 +81,12 @@ function tagsFor(adapter, command) {
80
81
  function contractDisplayName(adapter, commandName) {
81
82
  return `${adapter.displayName ?? adapter.name} ${commandName}`;
82
83
  }
84
+ function coreCommandUsesBrowser(command) {
85
+ return command.type === "browser";
86
+ }
87
+ function tagsForCore(command) {
88
+ return Array.from(new Set(["core", command.type, command.category].filter(Boolean))).sort();
89
+ }
83
90
  export function buildCommandContract(input) {
84
91
  const { adapter, commandName, command } = input;
85
92
  const args = command.adapterArgs ?? [];
@@ -155,6 +162,8 @@ export function buildCommandContract(input) {
155
162
  health_status: quarantined ? "quarantined" : "unknown",
156
163
  },
157
164
  repair: {
165
+ source_kind: "adapter",
166
+ ...(sourcePath ? { source_path: sourcePath } : {}),
158
167
  ...(sourcePath ? { adapter_path: sourcePath } : {}),
159
168
  repair_command: repairCommand,
160
169
  quarantined,
@@ -171,4 +180,77 @@ export function buildCommandContract(input) {
171
180
  },
172
181
  };
173
182
  }
183
+ export function buildCoreCommandContract(input) {
184
+ const { command } = input;
185
+ const args = command.args ?? [];
186
+ const targetSurface = resolveOperationTargetSurface({
187
+ adapterType: command.type,
188
+ targetSurface: command.target_surface,
189
+ });
190
+ const browser = coreCommandUsesBrowser(command);
191
+ const policy = evaluateOperationPolicy({
192
+ site: command.site,
193
+ command: command.command,
194
+ description: command.description,
195
+ adapterType: command.type,
196
+ targetSurface,
197
+ strategy: "public",
198
+ browser,
199
+ args: [...args],
200
+ });
201
+ const sourcePath = command.source_path;
202
+ return {
203
+ schema_version: "command-contract.v1",
204
+ identity: {
205
+ site: command.site,
206
+ command: command.command,
207
+ display_name: `${command.site} ${command.command}`,
208
+ category: command.category,
209
+ tags: tagsForCore(command),
210
+ ...(sourcePath ? { source_path: sourcePath } : {}),
211
+ },
212
+ description: command.description,
213
+ schemas: {
214
+ input: buildInputSchema(args),
215
+ },
216
+ effect: {
217
+ operation_effect: policy.effect,
218
+ risk: policy.risk,
219
+ safety_class: safetyClassFor({
220
+ effect: policy.effect,
221
+ authRequired: false,
222
+ }),
223
+ target_surface: targetSurface,
224
+ browser,
225
+ read_only: policy.effect === "read",
226
+ idempotent: policy.effect === "read",
227
+ open_world: policy.capability_scope.dimensions.network.access !== "none" ||
228
+ policy.capability_scope.dimensions.browser.access !== "none",
229
+ paginated: false,
230
+ },
231
+ auth: {
232
+ strategy: "public",
233
+ required: false,
234
+ },
235
+ governance: {
236
+ dimensions: policy.capability_scope.dimensions,
237
+ resources: policy.capability_scope.resources,
238
+ resource_summary: policy.capability_scope.resource_summary,
239
+ },
240
+ eval: {
241
+ fixture_status: "unknown",
242
+ live_status: "unknown",
243
+ health_status: "unknown",
244
+ },
245
+ repair: {
246
+ source_kind: "core",
247
+ ...(sourcePath ? { source_path: sourcePath } : {}),
248
+ quarantined: false,
249
+ },
250
+ artifacts: {
251
+ produces_files: false,
252
+ validators: [],
253
+ },
254
+ };
255
+ }
174
256
  //# sourceMappingURL=command-contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-contract.js","sourceRoot":"","sources":["../../src/core/command-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-contract.js","sourceRoot":"","sources":["../../src/core/command-contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../../src/discovery/aliases.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAyLnD,CAAC;AAKH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAuIhE,CAAC;AAKH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAgnBhE,CAAC;AAKH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAqStD,CAAC;AAKH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAiEvD,CAAC;AAIH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBnD;AASD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAiCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAiErD"}
1
+ {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../../src/discovery/aliases.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAyLnD,CAAC;AAKH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA2IhE,CAAC;AAKH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA8nBhE,CAAC;AAKH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAwStD,CAAC;AAKH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAwEvD,CAAC;AAIH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBnD;AASD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAiCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAiErD"}
@@ -306,6 +306,10 @@ export const ACTION_ALIASES = new Map([
306
306
  ["detail", ["detail", "info", "get"]],
307
307
  // Play / Media intent
308
308
  ["播放", ["play", "stream"]],
309
+ ["想听", ["play", "listen", "music", "song", "audio"]],
310
+ ["我想听", ["play", "listen", "music", "song", "audio"]],
311
+ ["听一下", ["play", "listen", "music", "song", "audio"]],
312
+ ["放一下", ["play", "listen", "music", "song", "audio"]],
309
313
  ["收听", ["play", "listen"]],
310
314
  ["我喜欢", ["play-liked", "liked", "favorite", "music"]],
311
315
  ["喜欢的音乐", ["play-liked", "liked", "favorite", "music"]],
@@ -333,10 +337,23 @@ export const DOMAIN_ALIASES = new Map([
333
337
  ["弹幕", ["danmaku", "comment", "barrage"]],
334
338
  ["直播", ["live", "stream", "broadcast"]],
335
339
  ["音乐", ["music", "song", "audio", "playlist"]],
340
+ ["歌曲", ["song", "track", "music", "audio"]],
336
341
  ["播客", ["podcast", "audio", "episode"]],
337
342
  ["video", ["video", "clip", "stream"]],
338
343
  ["music", ["music", "song", "audio"]],
344
+ ["song", ["song", "track", "music", "audio"]],
345
+ ["track", ["track", "song", "music", "audio"]],
339
346
  ["podcast", ["podcast", "episode", "audio"]],
347
+ // Travel / Local
348
+ ["旅行", ["travel", "trip", "destination"]],
349
+ ["旅游", ["travel", "trip", "destination"]],
350
+ ["酒店", ["hotel", "lodging", "stay"]],
351
+ ["住宿", ["hotel", "lodging", "stay"]],
352
+ ["入住", ["checkin", "hotel", "stay"]],
353
+ ["退房", ["checkout", "hotel", "stay"]],
354
+ ["hotel", ["hotel", "lodging", "stay"]],
355
+ ["hotels", ["hotel", "lodging", "stay"]],
356
+ ["travel", ["travel", "trip", "destination"]],
340
357
  // News / Content
341
358
  ["新闻", ["news", "article", "headline"]],
342
359
  ["文章", ["article", "post", "story"]],
@@ -1016,6 +1033,8 @@ export const SITE_CATEGORIES = new Map([
1016
1033
  ["dangdang", "shopping"],
1017
1034
  ["ele", "shopping"],
1018
1035
  ["maoyan", "shopping"],
1036
+ // Travel
1037
+ ["ctrip", "travel"],
1019
1038
  // Developer
1020
1039
  ["github-trending", "dev"],
1021
1040
  ["gitlab", "dev"],
@@ -1255,6 +1274,13 @@ export const CATEGORY_ALIASES = new Map([
1255
1274
  ["知识产权", "patent"],
1256
1275
  ["patent", "patent"],
1257
1276
  ["patents", "patent"],
1277
+ ["旅行", "travel"],
1278
+ ["旅游", "travel"],
1279
+ ["酒店", "travel"],
1280
+ ["住宿", "travel"],
1281
+ ["travel", "travel"],
1282
+ ["hotel", "travel"],
1283
+ ["hotels", "travel"],
1258
1284
  ["音乐", "audio"],
1259
1285
  ["音频", "audio"],
1260
1286
  ["求职", "jobs"],