dsh-web-search-pro 0.2.1 → 0.2.4

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 (264) hide show
  1. package/CHANGELOG.md +227 -0
  2. package/README.en.md +117 -0
  3. package/README.md +72 -578
  4. package/assets/skills/dsh-web-search-pro/SKILL.md +13 -12
  5. package/assets/skills/dsh-web-search-pro/references/config.md +36 -0
  6. package/assets/skills/dsh-web-search-pro/references/sources.md +13 -7
  7. package/assets/skills/dsh-web-search-pro/references/troubleshooting.md +3 -1
  8. package/catalog/sources.v1.json +16 -14
  9. package/lib/actions/approval.js +50 -1
  10. package/lib/actions/approval.js.map +1 -1
  11. package/lib/actions/config.js +274 -0
  12. package/lib/actions/config.js.map +1 -0
  13. package/lib/actions/errors.js +8 -1
  14. package/lib/actions/errors.js.map +1 -1
  15. package/lib/actions/format.js +10 -0
  16. package/lib/actions/format.js.map +1 -1
  17. package/lib/actions/index-view.js +2 -2
  18. package/lib/actions/index-view.js.map +1 -1
  19. package/lib/actions/read.js +7 -3
  20. package/lib/actions/read.js.map +1 -1
  21. package/lib/actions/registry.js +3 -1
  22. package/lib/actions/registry.js.map +1 -1
  23. package/lib/actions/run.js +2 -2
  24. package/lib/actions/run.js.map +1 -1
  25. package/lib/actions/schema.js +18 -0
  26. package/lib/actions/schema.js.map +1 -1
  27. package/lib/actions/search.js +7 -2
  28. package/lib/actions/search.js.map +1 -1
  29. package/lib/actions/sources.js +76 -18
  30. package/lib/actions/sources.js.map +1 -1
  31. package/lib/actions/types.js +19 -1
  32. package/lib/actions/types.js.map +1 -1
  33. package/lib/browser-access.js +25 -0
  34. package/lib/browser-access.js.map +1 -1
  35. package/lib/catalog/recommend.js +11 -3
  36. package/lib/catalog/recommend.js.map +1 -1
  37. package/lib/catalog/schema.js +3 -1
  38. package/lib/catalog/schema.js.map +1 -1
  39. package/lib/cli/builtin-specs.js +57 -22
  40. package/lib/cli/builtin-specs.js.map +1 -1
  41. package/lib/cli/chain.js +13 -12
  42. package/lib/cli/chain.js.map +1 -1
  43. package/lib/cli/chains-spec.js +31 -11
  44. package/lib/cli/chains-spec.js.map +1 -1
  45. package/lib/cli/engine.js +19 -3
  46. package/lib/cli/engine.js.map +1 -1
  47. package/lib/cli/opencli-sites.js +83 -0
  48. package/lib/cli/opencli-sites.js.map +1 -0
  49. package/lib/cli/opencli.js +65 -17
  50. package/lib/cli/opencli.js.map +1 -1
  51. package/lib/cli/probe.js +1 -1
  52. package/lib/cli/probe.js.map +1 -1
  53. package/lib/cli/runner.js +217 -27
  54. package/lib/cli/runner.js.map +1 -1
  55. package/lib/cli/spec.js +100 -20
  56. package/lib/cli/spec.js.map +1 -1
  57. package/lib/cli/time-text.js +79 -0
  58. package/lib/cli/time-text.js.map +1 -0
  59. package/lib/cli/trial.js +57 -0
  60. package/lib/cli/trial.js.map +1 -0
  61. package/lib/client/SettingsCard.js +14 -32
  62. package/lib/client/SettingsCard.js.map +1 -1
  63. package/lib/client/agent-mark.js +27 -0
  64. package/lib/client/agent-mark.js.map +1 -0
  65. package/lib/client/card-frame.js +118 -0
  66. package/lib/client/card-frame.js.map +1 -0
  67. package/lib/client/cli-form.js +257 -0
  68. package/lib/client/cli-form.js.map +1 -0
  69. package/lib/client/field-docs.js +130 -0
  70. package/lib/client/field-docs.js.map +1 -0
  71. package/lib/client/field-keys.js +81 -0
  72. package/lib/client/field-keys.js.map +1 -0
  73. package/lib/client/field-rows.js +71 -0
  74. package/lib/client/field-rows.js.map +1 -0
  75. package/lib/client/fill.js +3 -0
  76. package/lib/client/fill.js.map +1 -0
  77. package/lib/client/form-specs.js +13 -1
  78. package/lib/client/form-specs.js.map +1 -1
  79. package/lib/client/form.js +282 -24
  80. package/lib/client/form.js.map +1 -1
  81. package/lib/client/group-advanced.js +23 -0
  82. package/lib/client/group-advanced.js.map +1 -0
  83. package/lib/client/group-agent.js +28 -0
  84. package/lib/client/group-agent.js.map +1 -0
  85. package/lib/client/group-cli.js +136 -0
  86. package/lib/client/group-cli.js.map +1 -0
  87. package/lib/client/group-common.js +29 -0
  88. package/lib/client/group-common.js.map +1 -0
  89. package/lib/client/group-judge.js +67 -0
  90. package/lib/client/group-judge.js.map +1 -0
  91. package/lib/client/group-order.js +201 -0
  92. package/lib/client/group-order.js.map +1 -0
  93. package/lib/client/group-runtime.js +33 -0
  94. package/lib/client/group-runtime.js.map +1 -0
  95. package/lib/client/group-sources.js +83 -0
  96. package/lib/client/group-sources.js.map +1 -0
  97. package/lib/client/groups-basic.js +36 -0
  98. package/lib/client/groups-basic.js.map +1 -0
  99. package/lib/client/index.js.map +1 -1
  100. package/lib/client/json-list.js +50 -0
  101. package/lib/client/json-list.js.map +1 -0
  102. package/lib/client/locales.js +666 -219
  103. package/lib/client/locales.js.map +1 -1
  104. package/lib/client/order.js +192 -0
  105. package/lib/client/order.js.map +1 -0
  106. package/lib/client/overlay-ops.js +46 -0
  107. package/lib/client/overlay-ops.js.map +1 -0
  108. package/lib/client/sources-table.js +1 -0
  109. package/lib/client/sources-table.js.map +1 -1
  110. package/lib/client/styles.js +74 -47
  111. package/lib/client/styles.js.map +1 -1
  112. package/lib/client/text-view.js +98 -0
  113. package/lib/client/text-view.js.map +1 -0
  114. package/lib/client/ui-kit.js +120 -0
  115. package/lib/client/ui-kit.js.map +1 -0
  116. package/lib/client/validators.js +8 -1
  117. package/lib/client/validators.js.map +1 -1
  118. package/lib/client.js +7313 -1571
  119. package/lib/client.js.map +1 -1
  120. package/lib/config-fillers.js +53 -0
  121. package/lib/config-fillers.js.map +1 -0
  122. package/lib/config-groups.js +49 -0
  123. package/lib/config-groups.js.map +1 -0
  124. package/lib/config.js +84 -108
  125. package/lib/config.js.map +1 -1
  126. package/lib/default-chain.js +66 -0
  127. package/lib/default-chain.js.map +1 -0
  128. package/lib/deps.js +1 -1
  129. package/lib/deps.js.map +1 -1
  130. package/lib/engines.js +3 -3
  131. package/lib/engines.js.map +1 -1
  132. package/lib/fetch.js +23 -4
  133. package/lib/fetch.js.map +1 -1
  134. package/lib/fiber-config.js +5 -0
  135. package/lib/fiber-config.js.map +1 -0
  136. package/lib/index.js +36 -7
  137. package/lib/index.js.map +1 -1
  138. package/lib/overlay-types.js +88 -0
  139. package/lib/overlay-types.js.map +1 -0
  140. package/lib/overlay.js +683 -0
  141. package/lib/overlay.js.map +1 -0
  142. package/lib/pipeline/candidates.js +27 -1
  143. package/lib/pipeline/candidates.js.map +1 -1
  144. package/lib/pipeline/compile.js +63 -0
  145. package/lib/pipeline/compile.js.map +1 -1
  146. package/lib/pipeline/confidence.js +64 -0
  147. package/lib/pipeline/confidence.js.map +1 -0
  148. package/lib/pipeline/fusion.js +50 -3
  149. package/lib/pipeline/fusion.js.map +1 -1
  150. package/lib/pipeline/plan.js +2 -2
  151. package/lib/pipeline/plan.js.map +1 -1
  152. package/lib/pipeline/render.js +20 -2
  153. package/lib/pipeline/render.js.map +1 -1
  154. package/lib/pipeline/run.js +17 -5
  155. package/lib/pipeline/run.js.map +1 -1
  156. package/lib/pipeline/sources-spec.js +19 -3
  157. package/lib/pipeline/sources-spec.js.map +1 -1
  158. package/lib/providers/builtin.js +3 -0
  159. package/lib/providers/builtin.js.map +1 -1
  160. package/lib/providers/deepseek.js +348 -0
  161. package/lib/providers/deepseek.js.map +1 -0
  162. package/lib/providers/http.js.map +1 -1
  163. package/lib/providers/keyed-meta.js +7 -0
  164. package/lib/providers/keyed-meta.js.map +1 -1
  165. package/lib/providers/platforms.js +18 -17
  166. package/lib/providers/platforms.js.map +1 -1
  167. package/lib/providers/registry.js.map +1 -1
  168. package/lib/restart.js +47 -0
  169. package/lib/restart.js.map +1 -0
  170. package/lib/router.js +145 -26
  171. package/lib/router.js.map +1 -1
  172. package/lib/rpc-types.js +15 -0
  173. package/lib/rpc-types.js.map +1 -0
  174. package/lib/rpc.js +118 -0
  175. package/lib/rpc.js.map +1 -0
  176. package/lib/tools.js +10 -4
  177. package/lib/tools.js.map +1 -1
  178. package/lib/types/actions/approval.d.ts +11 -0
  179. package/lib/types/actions/config.d.ts +54 -0
  180. package/lib/types/actions/format.d.ts +9 -2
  181. package/lib/types/actions/run.d.ts +1 -0
  182. package/lib/types/actions/schema.d.ts +7 -1
  183. package/lib/types/actions/sources.d.ts +29 -3
  184. package/lib/types/actions/types.d.ts +28 -2
  185. package/lib/types/browser-access.d.ts +17 -0
  186. package/lib/types/catalog/recommend.d.ts +4 -0
  187. package/lib/types/catalog/schema.d.ts +2 -0
  188. package/lib/types/cli/builtin-specs.d.ts +11 -3
  189. package/lib/types/cli/chains-spec.d.ts +12 -3
  190. package/lib/types/cli/engine.d.ts +10 -3
  191. package/lib/types/cli/opencli-sites.d.ts +24 -0
  192. package/lib/types/cli/opencli.d.ts +42 -3
  193. package/lib/types/cli/runner.d.ts +47 -8
  194. package/lib/types/cli/spec.d.ts +101 -8
  195. package/lib/types/cli/time-text.d.ts +12 -0
  196. package/lib/types/cli/trial.d.ts +19 -0
  197. package/lib/types/client/SettingsCard.d.ts +17 -1
  198. package/lib/types/client/agent-mark.d.ts +22 -0
  199. package/lib/types/client/card-frame.d.ts +35 -0
  200. package/lib/types/client/cli-form.d.ts +97 -0
  201. package/lib/types/client/field-docs.d.ts +15 -0
  202. package/lib/types/client/field-keys.d.ts +41 -0
  203. package/lib/types/client/field-rows.d.ts +70 -0
  204. package/lib/types/client/fill.d.ts +2 -0
  205. package/lib/types/client/form-specs.d.ts +12 -3
  206. package/lib/types/client/form.d.ts +79 -1
  207. package/lib/types/client/group-advanced.d.ts +9 -0
  208. package/lib/types/client/group-agent.d.ts +20 -0
  209. package/lib/types/client/group-cli.d.ts +52 -0
  210. package/lib/types/client/group-common.d.ts +12 -0
  211. package/lib/types/client/group-judge.d.ts +17 -0
  212. package/lib/types/client/group-order.d.ts +26 -0
  213. package/lib/types/client/group-runtime.d.ts +15 -0
  214. package/lib/types/client/group-sources.d.ts +46 -0
  215. package/lib/types/client/groups-basic.d.ts +18 -0
  216. package/lib/types/client/index.d.ts +8 -0
  217. package/lib/types/client/json-list.d.ts +21 -0
  218. package/lib/types/client/locales.d.ts +1079 -200
  219. package/lib/types/client/order.d.ts +102 -0
  220. package/lib/types/client/overlay-ops.d.ts +37 -0
  221. package/lib/types/client/styles.d.ts +56 -41
  222. package/lib/types/client/text-view.d.ts +22 -0
  223. package/lib/types/client/ui-kit.d.ts +200 -0
  224. package/lib/types/config-fillers.d.ts +9 -0
  225. package/lib/types/config-groups.d.ts +23 -0
  226. package/lib/types/config.d.ts +263 -225
  227. package/lib/types/default-chain.d.ts +63 -0
  228. package/lib/types/engines.d.ts +29 -1
  229. package/lib/types/fetch.d.ts +12 -3
  230. package/lib/types/fiber-config.d.ts +18 -0
  231. package/lib/types/index.d.ts +164 -150
  232. package/lib/types/overlay-types.d.ts +98 -0
  233. package/lib/types/overlay.d.ts +141 -0
  234. package/lib/types/pipeline/candidates.d.ts +17 -0
  235. package/lib/types/pipeline/compile.d.ts +11 -0
  236. package/lib/types/pipeline/confidence.d.ts +35 -0
  237. package/lib/types/pipeline/fusion.d.ts +23 -1
  238. package/lib/types/pipeline/render.d.ts +16 -0
  239. package/lib/types/pipeline/run.d.ts +2 -1
  240. package/lib/types/pipeline/sources-spec.d.ts +5 -2
  241. package/lib/types/pipeline/types.d.ts +37 -0
  242. package/lib/types/providers/deepseek.d.ts +130 -0
  243. package/lib/types/providers/http.d.ts +2 -1
  244. package/lib/types/providers/keyed-meta.d.ts +5 -0
  245. package/lib/types/providers/registry.d.ts +7 -0
  246. package/lib/types/restart.d.ts +52 -0
  247. package/lib/types/router.d.ts +57 -10
  248. package/lib/types/rpc-types.d.ts +79 -0
  249. package/lib/types/rpc.d.ts +74 -0
  250. package/lib/types/tools.d.ts +6 -0
  251. package/lib/types/util.d.ts +10 -0
  252. package/lib/util.js +10 -1
  253. package/lib/util.js.map +1 -1
  254. package/package.json +53 -44
  255. package/scripts/check-client-bundle.mjs +1 -1
  256. package/scripts/check-docs-links.mjs +107 -0
  257. package/scripts/cli-login-check.mjs +214 -0
  258. package/LOGIN.md +0 -161
  259. package/lib/client/RubricEditor.js +0 -47
  260. package/lib/client/RubricEditor.js.map +0 -1
  261. package/lib/client/fields.js +0 -31
  262. package/lib/client/fields.js.map +0 -1
  263. package/lib/types/client/RubricEditor.d.ts +0 -6
  264. package/lib/types/client/fields.d.ts +0 -65
@@ -2,14 +2,16 @@
2
2
  * The built-in CLI adapter specs (dev-plan M12). Every argv, flag and output field was derived from the tool's own
3
3
  * `--help` (and, where the help does not show the output shape, from the installed package source or the upstream
4
4
  * README), and `verification` records how far each was checked:
5
- * - `live`: a real read-only search was run and its output parsed (bili, gh, omnireach/wechat);
5
+ * - `live`: a real read-only search was run and its output parsed (bili, gh, omnireach, yt-dlp, wx-search-cli, xhs; the standalone
6
+ * opencli for the twitter and zhihu sites, see opencli-sites.ts; and Exa through mcporter, which is not a spec);
6
7
  * - `contract-only`: help and version probed on a real install, output shape taken from the tool's own source,
7
- * README or documented output option, because a search needs the user's login or reads browser cookies, or was outside
8
- * the checks allowed (xhs, zhihu, rdt, twitter, opencli sites, yt-dlp, wx-search-cli);
8
+ * README or documented output option, because a search needs the user's login or reads browser cookies
9
+ * (zhihu, rdt, twitter, the other opencli sites);
9
10
  * - `docs-only`: not installed here; derived from the upstream README (tanso).
10
11
  * Fixtures for the contract-only and docs-only parsers are marked "constructed from help/docs" in test/fixtures/cli.
11
12
  * @module web-search-pro/cli/builtin-specs
12
13
  */
14
+ import { OPENCLI_SITE_OF, opencliSiteVerification } from "./opencli-sites.js";
13
15
  import { validateCliAdapterSpec } from "./spec.js";
14
16
  export const BILI_CLI_VERSION = '0.6.2';
15
17
  export const BILI_CLI_REVISION = '489607468f967e0e11f3cdff6efc022d011e982a';
@@ -41,6 +43,8 @@ const bili = {
41
43
  search: {
42
44
  argv: ['search', '{query}', '--type', 'video', '--max', '{count}', '--json'],
43
45
  maxCount: 10,
46
+ // About one entry in five is a course / series without a bvid or link and is skipped: ask for a few more so the count is met.
47
+ overfetch: 3,
44
48
  output: {
45
49
  format: 'json', itemsPath: 'data', expect: ENVELOPE, errorPaths: ['message', 'error'], stripTags: true, snippetMax: 300,
46
50
  fields: {
@@ -55,7 +59,7 @@ const bili = {
55
59
  needsLogin: false,
56
60
  timeoutMs: 30_000,
57
61
  maxOutputBytes: 4 * MB,
58
- verification: { status: 'live', version: BILI_CLI_VERSION, date: SPEC_CHECK_DATE, note: '`bili search DeepSeek --type video --max 2 --json` parsed (fixture bili-search.json)' },
62
+ verification: { status: 'live', version: BILI_CLI_VERSION, date: '2026-10-26', note: 'zh / en / special-character searches parsed (fixtures live-bili-*); about one entry in five is a course / series without a bvid and link, so the adapter asks for 3 more than the count (overfetch) and a count of 3 stays 3. `bili search` never reads credentials or browser cookies (checked in bili_cli/auth.py and commands/user_search.py)' },
59
63
  };
60
64
  const ytDlp = {
61
65
  id: 'yt-dlp',
@@ -65,10 +69,12 @@ const ytDlp = {
65
69
  probe: { versionArgs: ['--version'], helpArgs: ['--help'], mustContain: ['--flat-playlist', '--print', '--skip-download'] },
66
70
  allowedSubcommands: [],
67
71
  search: {
68
- argv: ['ytsearch{count}:{query}', '--flat-playlist', '--skip-download', '--no-warnings', '--print', '%(id)s\t%(title)s\t%(channel)s\t%(view_count)s\t%(duration_string)s'],
72
+ argv: ['ytsearch{count}:{query}', '--flat-playlist', '--skip-download', '--no-warnings', '--print', '%(id)s\t%(title)s\t%(channel)s\t%(view_count)s\t%(duration>%H:%M:%S)s'],
69
73
  maxCount: 10,
70
74
  output: {
71
- format: 'text', lines: { mode: 'tsv', columns: ['id', 'title', 'channel', 'view_count', 'duration'] }, emptyValues: ['None'], requireTitle: true,
75
+ // A field yt-dlp does not have (a live stream has no view count or duration) prints as its NA placeholder; duration is H:M:S because
76
+ // duration_string prints bare seconds ("11") for short videos.
77
+ format: 'text', lines: { mode: 'tsv', columns: ['id', 'title', 'channel', 'view_count', 'duration'] }, emptyValues: ['NA', 'None'], requireTitle: true,
72
78
  fields: {
73
79
  url: { template: 'https://www.youtube.com/watch?v={id}' },
74
80
  title: 'title',
@@ -80,26 +86,37 @@ const ytDlp = {
80
86
  needsLogin: false,
81
87
  timeoutMs: 60_000,
82
88
  maxOutputBytes: 4 * MB,
83
- verification: { status: 'contract-only', version: '2026.08.19', date: SPEC_CHECK_DATE, note: 'help and version probed; flags from `yt-dlp --help`; the print template is the one the plugin has used since 0.1; no search was run' },
89
+ verification: { status: 'live', version: '2026.08.19', date: '2026-10-26', note: 'zh / en / special-character / empty / live-stream searches parsed (fixtures live-yt-dlp-*). Live streams have no view count or duration: yt-dlp prints NA for them (the 2026-10-11 spec listed only None, so snippets read "NA views | NA"); duration is now H:M:S (duration_string printed a bare "11" for an 11 s video). Stdout held only the records, the Python 3.10 deprecation notice went to stderr' },
84
90
  };
85
91
  const twitter = {
86
92
  id: 'twitter',
87
93
  bins: ['twitter'],
88
94
  packageNote: 'twitter-cli (PyPI twitter-cli; the command is `twitter`; Agent-Reach alone does not provide it)',
89
95
  platforms: ['twitter'],
90
- probe: { versionArgs: ['--version'], helpArgs: ['search', '--help'], mustContain: ['search'] },
96
+ // Without --json the tool prints YAML when stdout is not a terminal (twitter_cli/output.py), so the flag must exist.
97
+ probe: { versionArgs: ['--version'], helpArgs: ['search', '--help'], mustContain: ['--json', '--max'], contractHint: 'twitter-cli 0.8.5 is the oldest version known to offer --json on search' },
91
98
  allowedSubcommands: ['search'],
92
99
  search: {
93
- argv: ['search', '{query}', '-n', '{count}'],
100
+ argv: ['search', '{query}', '-n', '{count}', '--json'],
94
101
  maxCount: 10,
95
- output: { format: 'text', lines: { mode: 'url-lines' }, titleMax: 200, requireTitle: true, fields: { url: 'url', title: 'title' } },
96
- notLoggedInPatterns: ['not authenticated', 'unauthorized', 'no twitter cookies', 'auth_token', 'ct0'],
102
+ output: {
103
+ // `{ ok, schema_version, data: [tweet] }`; a failure is `{ ok: false, error: { code, message } }`. A tweet has no permalink: it is built from the author and the id.
104
+ format: 'json', itemsPath: 'data', expect: ENVELOPE, errorPaths: ['error.message'], titleMax: 200,
105
+ fields: {
106
+ url: { template: 'https://x.com/{author.screenName}/status/{id}' },
107
+ title: ['text', { template: '{author.name} (@{author.screenName})' }],
108
+ snippet: { join: [{ template: '{author.name} (@{author.screenName})' }, { path: 'metrics.likes', prefix: 'likes ' }, { path: 'metrics.retweets', prefix: 'retweets ' }, { path: 'metrics.views', prefix: 'views ' }, 'createdAtISO'], sep: ' · ' },
109
+ publishedAt: 'createdAtISO',
110
+ },
111
+ },
112
+ // The tool's own error codes and messages (exceptions.py, auth.py): code not_authenticated, "No Twitter cookies found.", "Cookie expired or invalid (HTTP 401)".
113
+ notLoggedInPatterns: ['not_authenticated', 'not authenticated', 'no twitter cookies', 'cookie expired or invalid'],
97
114
  },
98
115
  env: { required: ['TWITTER_AUTH_TOKEN', 'TWITTER_CT0'] },
99
116
  needsLogin: true,
100
117
  timeoutMs: 45_000,
101
118
  maxOutputBytes: 4 * MB,
102
- verification: { status: 'contract-only', version: '0.8.5', date: SPEC_CHECK_DATE, note: 'help probed; the plain-text output (`search QUERY -n N`) is the one the plugin has used since 0.1; the tool also offers --json, not used here; no search was run (needs your tokens)' },
119
+ verification: { status: 'contract-only', version: '0.8.5', date: '2026-10-11', note: 'contract from the installed twitter-cli 0.8.5 source (`--json` envelope, tweet_to_dict fields, error payload) plus the real output reported in issue #38; the plugin itself has not run a search (it needs your tokens). Before 0.2.2 the spec parsed the default output, which is YAML when piped (issue #38)' },
103
120
  };
104
121
  const xhs = {
105
122
  id: 'xhs',
@@ -112,10 +129,14 @@ const xhs = {
112
129
  argv: ['search', '{query}', '--json'],
113
130
  output: {
114
131
  format: 'json', itemsPath: 'data.items', expect: ENVELOPE, errorPaths: ['error.message'],
132
+ // The result list also carries `hot_query` suggestion cards ("大家都在搜": an id and a token, but no note_card): not results. Excluded by what they are, so a note that lacks model_type still counts.
133
+ skipWhen: { path: 'model_type', equals: 'hot_query' },
115
134
  fields: {
116
135
  url: { template: 'https://www.xiaohongshu.com/explore/{id}?xsec_token={xsec_token}&xsec_source=pc_search' },
117
136
  title: ['note_card.display_title', 'note_card.title'],
118
137
  snippet: { join: [{ path: 'note_card.user.nickname', prefix: '作者: ' }, { path: 'note_card.interact_info.liked_count', prefix: '赞: ' }] },
138
+ // `corner_tag_info` holds `{ type: 'publish_time', text: '08-26' }` ('2025-12-01' for an older year); read conservatively, a text that is not a known format gives no time.
139
+ publishedAt: { time: 'note_card.corner_tag_info.type=publish_time.text' },
119
140
  },
120
141
  },
121
142
  notLoggedInPatterns: NOT_LOGGED_IN,
@@ -125,7 +146,7 @@ const xhs = {
125
146
  login: { command: 'xhs login', savedCredentialPaths: ['~/.xiaohongshu-cli/cookies.json'], readsBrowserCookiesWithoutLogin: true },
126
147
  timeoutMs: 45_000,
127
148
  maxOutputBytes: 4 * MB,
128
- verification: { status: 'contract-only', version: '0.6.4', date: SPEC_CHECK_DATE, note: 'help probed; output shape from the installed package source (client response + its own normalizer); no search was run: it needs your login and, without a saved one, reads browser cookies' },
149
+ verification: { status: 'live', version: '0.6.4', date: '2026-10-27', note: 'a real `xhs search --json` run with the user\'s own saved login and parsed (fixture live-xhs-search.json, synthetic content in the real shape): 22 items for a count of 3, two of the 22 are hot_query suggestion cards (skipped by model_type); the publish time is in note_card.corner_tag_info (MM-DD or YYYY-MM-DD). Without a saved login the tool reads browser cookies by itself, so the plugin never runs it then' },
129
150
  };
130
151
  const zhihu = {
131
152
  id: 'zhihu',
@@ -188,9 +209,12 @@ const rdt = {
188
209
  verification: { status: 'contract-only', version: '0.4.2', date: SPEC_CHECK_DATE, note: 'help probed; `--compact --json` output (post dicts in the `data` envelope) from the installed package source; no search was run: without a saved login it reads browser cookies' },
189
210
  };
190
211
  const OMNIREACH_OUTPUT = {
191
- format: 'json', itemsPath: 'results', errorPaths: ['errors.0.error'], stripTags: true,
212
+ // The bilibili source writes a lone "-" when a video has no description.
213
+ format: 'json', itemsPath: 'results', errorPaths: ['errors.0.error'], stripTags: true, emptyValues: ['-'],
192
214
  fields: { url: 'url', title: 'title', snippet: 'content', publishedAt: 'ts' },
193
215
  };
216
+ /** The omnireach sources that need neither a key, a login nor a browser (the others are `heavy` / booster tiers or need a URL query). */
217
+ export const OMNIREACH_KEYLESS_SOURCES = 'hackernews,youtube,github,wechat,bilibili';
194
218
  const omnireach = {
195
219
  id: 'omnireach',
196
220
  bins: ['omnireach'],
@@ -198,8 +222,10 @@ const omnireach = {
198
222
  platforms: ['omnireach', 'wechat'],
199
223
  probe: { versionArgs: ['--version'], minVersion: '0.19.0', helpArgs: ['search', '--help'], mustContain: ['--on', '--limit', '--json'] },
200
224
  allowedSubcommands: ['search'],
201
- // The multi-source search: the tool's own default sources (its browser-backed sources are opt-in there, never in the default fan-out).
202
- search: { argv: ['search', '{query}', '--limit', '{count}', '--json'], maxCount: 20, output: OMNIREACH_OUTPUT },
225
+ // The multi-source search. Never the tool's own automatic routing: with `opencli` on PATH (or its Chrome bridge set up) that adds
226
+ // browser-backed Google and Twitter/X sources, which drive the user's logged-in Chrome (observed live 2026-10-26). `--on` names the
227
+ // keyless HTTP / CLI sources explicitly, and explicit sources are never augmented.
228
+ search: { argv: ['search', '{query}', '--on', OMNIREACH_KEYLESS_SOURCES, '--limit', '{count}', '--json'], maxCount: 20, output: OMNIREACH_OUTPUT },
203
229
  searches: {
204
230
  // WeChat official accounts through Sogou: no key, no login, no browser (the tool prefers Exa when EXA_API_KEY is set, which this adapter never passes).
205
231
  wechat: { argv: ['search', '{query}', '--on', 'wechat', '--limit', '{count}', '--json'], maxCount: 10, output: OMNIREACH_OUTPUT },
@@ -208,7 +234,7 @@ const omnireach = {
208
234
  needsLogin: false,
209
235
  timeoutMs: 60_000,
210
236
  maxOutputBytes: 8 * MB,
211
- verification: { status: 'live', version: '0.19.0-alpha', date: SPEC_CHECK_DATE, note: '`omnireach search 大模型 备案 --on wechat --limit 2 --json` parsed (fixture omnireach-wechat.json); the multi-source command was not run' },
237
+ verification: { status: 'live', version: '0.19.0-alpha', date: '2026-10-26', note: '`--on wechat` (2026-10-06, fixture omnireach-wechat.json) and the multi-source command with an explicit `--on hackernews,youtube,github,wechat,bilibili` (fixtures live-omnireach-multi-*.json) parsed. Its automatic routing added browser-backed google / twitter sources through opencli (they drive the user\'s Chrome), so the adapter never uses it' },
212
238
  };
213
239
  const GH_REPO_FIELDS = 'fullName,description,url,stargazersCount,language,updatedAt,forksCount';
214
240
  const gh = {
@@ -219,7 +245,7 @@ const gh = {
219
245
  probe: { versionArgs: ['--version'], helpArgs: ['search', 'repos', '--help'], mustContain: ['--json', '--limit', 'stargazersCount'] },
220
246
  allowedSubcommands: ['search', 'repos', 'issues', 'code'],
221
247
  search: {
222
- argv: ['search', 'repos', '--json', GH_REPO_FIELDS, '--limit', '{count}', '--sort', 'stars', '--order', 'desc', '--', '{query}'],
248
+ argv: ['search', 'repos', '--json', GH_REPO_FIELDS, '--limit', '{count}', '--sort', 'stars', '--order', 'desc', '--', '{terms}'],
223
249
  maxCount: 15,
224
250
  output: {
225
251
  format: 'json', stripTags: false,
@@ -232,7 +258,7 @@ const gh = {
232
258
  },
233
259
  searches: {
234
260
  'github-issues': {
235
- argv: ['search', 'issues', '--json', 'title,url,state,repository,commentsCount,updatedAt', '--limit', '{count}', '--sort', 'updated', '--order', 'desc', '--', '{query}'],
261
+ argv: ['search', 'issues', '--json', 'title,url,state,repository,commentsCount,updatedAt', '--limit', '{count}', '--sort', 'updated', '--order', 'desc', '--', '{terms}'],
236
262
  maxCount: 15,
237
263
  output: {
238
264
  format: 'json',
@@ -244,7 +270,7 @@ const gh = {
244
270
  notLoggedInPatterns: ['gh auth login', 'not logged in', 'authentication required'],
245
271
  },
246
272
  'github-code': {
247
- argv: ['search', 'code', '--json', 'path,repository,url', '--limit', '{count}', '--', '{query}'],
273
+ argv: ['search', 'code', '--json', 'path,repository,url', '--limit', '{count}', '--', '{terms}'],
248
274
  maxCount: 15,
249
275
  output: { format: 'json', fields: { url: 'url', title: { template: '{repository.nameWithOwner} / {path}' }, snippet: { template: '仓库: {repository.nameWithOwner}' } } },
250
276
  notLoggedInPatterns: ['gh auth login', 'not logged in', 'authentication required'],
@@ -255,7 +281,7 @@ const gh = {
255
281
  login: { command: 'gh auth login' },
256
282
  timeoutMs: 30_000,
257
283
  maxOutputBytes: 4 * MB,
258
- verification: { status: 'live', version: '2.101.0', date: SPEC_CHECK_DATE, note: '`gh search repos --json … --sort stars -- "dsh web search"` parsed (fixture gh-repos.json); issues and code searches follow the documented JSON fields of their help pages and were not run' },
284
+ verification: { status: 'live', version: '2.101.0', date: '2026-10-26', note: 'repos, issues and code searches run (zh / en / qualifier / empty) and parsed (fixtures live-gh-*); the query is passed as separate words ({terms}) because gh quotes a one-token query as an exact phrase (found nothing for four-word queries, broke `repo:x words`). Needs the user\'s own gh login (a token, never a browser cookie)' },
259
285
  };
260
286
  const wxSearchCli = {
261
287
  id: 'wx-search-cli',
@@ -273,7 +299,7 @@ const wxSearchCli = {
273
299
  needsLogin: false,
274
300
  timeoutMs: 45_000,
275
301
  maxOutputBytes: 2 * MB,
276
- verification: { status: 'contract-only', version: '0.1.0', date: SPEC_CHECK_DATE, note: 'help and version probed on a real install; output shape (JSON array of { title, link, real_url, publish_time, page }) from the upstream README and src/index.ts read with gh api; no search was run' },
302
+ verification: { status: 'live', version: '0.1.0', date: '2026-10-26', note: '`search` run for Chinese, English and special-character / nonsense queries and parsed (fixtures live-wx-search-cli-*): a JSON array of 10 { title, link, real_url, publish_time, page } per page, whatever the requested count (the adapter cuts it). Sogou anti-spider answers `[]` with exit 0 in this mode, indistinguishable from no hits' },
277
303
  };
278
304
  const tanso = {
279
305
  id: 'tanso',
@@ -302,5 +328,14 @@ for (const spec of BUILTIN_CLI_SPECS) {
302
328
  if (!result.ok)
303
329
  throw new Error('built-in CLI spec ' + spec.id + ' is invalid: ' + result.errors.join('; '));
304
330
  }
331
+ /**
332
+ * How far the adapter of a command (by its first bin name) was verified: a built-in spec's own record, and for the standalone
333
+ * OpenCLI that of the site of `platform` (`live` for twitter and zhihu), else `contract-only`.
334
+ */
335
+ export function cliVerificationOf(bin, platform) {
336
+ if (bin === 'opencli')
337
+ return (platform && OPENCLI_SITE_OF[platform] ? opencliSiteVerification(OPENCLI_SITE_OF[platform]).status : undefined) ?? 'contract-only';
338
+ return BUILTIN_CLI_SPECS.find(spec => spec.bins[0] === bin)?.verification?.status;
339
+ }
305
340
  export const builtinSpecById = (id) => BUILTIN_CLI_SPECS.find(spec => spec.id === id);
306
341
  //# sourceMappingURL=builtin-specs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-specs.js","sourceRoot":"","sources":["../../src/cli/builtin-specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin-specs.js","sourceRoot":"","sources":["../../src/cli/builtin-specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAA2C,MAAM,WAAW,CAAA;AAE3F,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAA;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,0CAA0C,CAAA;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,mDAAmD,iBAAiB,EAAE,CAAA;AACrG,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,eAAe,EAAE,EAAE;IAC1E,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,eAAe,EAAE,EAAE;IACzE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,iCAAiC,eAAe,EAAE,EAAE;CAClF,CAAA;AACD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE;IAC3D,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,EAAE;IAC1D,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE;CACzD,CAAA;AAED,6CAA6C;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAA;AAE3C,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAEtB,gHAAgH;AAChH,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAU,CAAA;AAEjG,4HAA4H;AAC5H,MAAM,aAAa,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAA;AAEpJ,MAAM,IAAI,GAAmB;IAC3B,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,WAAW,EAAE,8CAA8C,gBAAgB,kGAAkG;IAC7K,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IAC/I,kBAAkB,EAAE,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC5E,QAAQ,EAAE,EAAE;QACZ,8HAA8H;QAC9H,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG;YACvH,MAAM,EAAE;gBACN,kKAAkK;gBAClK,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,uCAAuC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;gBACrF,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE;aACtG;SACF;KACF;IACD,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,kVAAkV,EAAE;CAC1a,CAAA;AAED,MAAM,KAAK,GAAmB;IAC5B,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,CAAC,QAAQ,CAAC;IAChB,WAAW,EAAE,iCAAiC;IAC9C,SAAS,EAAE,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE;IAC3H,kBAAkB,EAAE,EAAE;IACtB,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,uEAAuE,CAAC;QAC5K,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE;YACN,qIAAqI;YACrI,+DAA+D;YAC/D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI;YACtJ,MAAM,EAAE;gBACN,GAAG,EAAE,EAAE,QAAQ,EAAE,sCAAsC,EAAE;gBACzD,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,UAAU,CAAC,EAAE;aACrF;SACF;KACF;IACD,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,6YAA6Y,EAAE;CACje,CAAA;AAED,MAAM,OAAO,GAAmB;IAC9B,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,WAAW,EAAE,iGAAiG;IAC9G,SAAS,EAAE,CAAC,SAAS,CAAC;IACtB,qHAAqH;IACrH,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,yEAAyE,EAAE;IAChM,kBAAkB,EAAE,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QACtD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE;YACN,qKAAqK;YACrK,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,GAAG;YACjG,MAAM,EAAE;gBACN,GAAG,EAAE,EAAE,QAAQ,EAAE,+CAA+C,EAAE;gBAClE,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,sCAAsC,EAAE,CAAC;gBACrE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,sCAAsC,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;gBAClP,WAAW,EAAE,cAAc;aAC5B;SACF;QACD,iKAAiK;QACjK,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,2BAA2B,CAAC;KACnH;IACD,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE;IACxD,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,gTAAgT,EAAE;CACxY,CAAA;AAED,MAAM,GAAG,GAAmB;IAC1B,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,WAAW,EAAE,8DAA8D;IAC3E,SAAS,EAAE,CAAC,aAAa,CAAC;IAC1B,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;IACnH,kBAAkB,EAAE,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;QACrC,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,eAAe,CAAC;YACxF,kMAAkM;YAClM,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;YACrD,MAAM,EAAE;gBACN,GAAG,EAAE,EAAE,QAAQ,EAAE,wFAAwF,EAAE;gBAC3G,KAAK,EAAE,CAAC,yBAAyB,EAAE,iBAAiB,CAAC;gBACrD,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;gBACxI,4KAA4K;gBAC5K,WAAW,EAAE,EAAE,IAAI,EAAE,kDAAkD,EAAE;aAC1E;SACF;QACD,mBAAmB,EAAE,aAAa;KACnC;IACD,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,iCAAiC,CAAC,EAAE,+BAA+B,EAAE,IAAI,EAAE;IACjI,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,2ZAA2Z,EAAE;CAC1e,CAAA;AAED,MAAM,KAAK,GAAmB;IAC5B,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,WAAW,EAAE,8HAA8H;IAC3I,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;IAC5H,kBAAkB,EAAE,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC7E,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI;YAClD,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,EAAE,QAAQ,EAAE,wEAAwE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;oBACvI,EAAE,QAAQ,EAAE,0CAA0C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;oBAC1G,EAAE,QAAQ,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;iBAC9G;gBACD,KAAK,EAAE,CAAC,cAAc,EAAE,sBAAsB,EAAE,aAAa,CAAC;gBAC9D,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAC7C,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;aAC9C;SACF;QACD,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,aAAa,CAAC;KAC1D;IACD,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC,2BAA2B,CAAC,EAAE;IACtF,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kKAAkK,EAAE;CAC7P,CAAA;AAED,MAAM,GAAG,GAAmB;IAC1B,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,WAAW,EAAE,qDAAqD;IAClE,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;IAC/H,kBAAkB,EAAE,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;QACxE,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,eAAe,CAAC;YAClF,MAAM,EAAE;gBACN,GAAG,EAAE,EAAE,QAAQ,EAAE,mCAAmC,EAAE;gBACtD,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,EAAE;gBACxJ,WAAW,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;aACtC;SACF;QACD,mBAAmB,EAAE,aAAa;KACnC;IACD,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,mCAAmC,CAAC,EAAE,+BAA+B,EAAE,IAAI,EAAE;IACnI,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,iLAAiL,EAAE;CAC5Q,CAAA;AAED,MAAM,gBAAgB,GAAG;IACvB,yEAAyE;IACzE,MAAM,EAAE,MAAe,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC;IAClH,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;CAC9E,CAAA;AAED,yIAAyI;AACzI,MAAM,CAAC,MAAM,yBAAyB,GAAG,2CAA2C,CAAA;AAEpF,MAAM,SAAS,GAAmB;IAChC,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,WAAW,EAAE,6EAA6E;IAC1F,SAAS,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;IAClC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;IACvI,kBAAkB,EAAE,CAAC,QAAQ,CAAC;IAC9B,kIAAkI;IAClI,oIAAoI;IACpI,mFAAmF;IACnF,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAClJ,QAAQ,EAAE;QACR,wJAAwJ;QACxJ,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;KAClI;IACD,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,2VAA2V,EAAE;CACjb,CAAA;AAED,MAAM,cAAc,GAAG,wEAAwE,CAAA;AAE/F,MAAM,EAAE,GAAmB;IACzB,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,CAAC,IAAI,CAAC;IACZ,WAAW,EAAE,kFAAkF;IAC/F,SAAS,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC;IACrD,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE;IACrI,kBAAkB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;IACzD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QAChI,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK;YAChC,MAAM,EAAE;gBACN,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACjE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;aACvK;SACF;QACD,mBAAmB,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,yBAAyB,CAAC;KACnF;IACD,QAAQ,EAAE;QACR,eAAe,EAAE;YACf,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,oDAAoD,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;YACzK,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE;gBACN,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE;oBACN,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;oBAC9D,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,0BAA0B,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;iBACzJ;aACF;YACD,mBAAmB,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,yBAAyB,CAAC;SACnF;QACD,aAAa,EAAE;YACb,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;YAChG,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,qCAAqC,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,gCAAgC,EAAE,EAAE,EAAE;YACvK,mBAAmB,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,yBAAyB,CAAC;SACnF;KACF;IACD,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE;IAC9E,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;IACnC,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,yUAAyU,EAAE;CAC1Z,CAAA;AAED,MAAM,WAAW,GAAmB;IAClC,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB,WAAW,EAAE,8FAA8F;IAC3G,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE;IACrG,kBAAkB,EAAE,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC3B,yHAAyH;QACzH,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;KACrG;IACD,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,+UAA+U,EAAE;CAC9Z,CAAA;AAED,MAAM,KAAK,GAAmB;IAC5B,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,WAAW,EAAE,wHAAwH;IACrI,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IACpG,kBAAkB,EAAE,CAAC,SAAS,CAAC;IAC/B,MAAM,EAAE;QACN,2HAA2H;QAC3H,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC;QAChF,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;QAC1J,mBAAmB,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC;KAChF;IACD,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,CAAC,EAAE;IAClH,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;IACvC,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,CAAC,GAAG,EAAE;IACtB,YAAY,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,2IAA2I,EAAE;CAClO,CAAA;AAED,qIAAqI;AACrI,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA;AAEtI,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACtD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,GAAG,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,QAAiB;IAC9D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,eAAe,CAAA;IAChK,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,CAAA;AACnF,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAU,EAA8B,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA"}
package/lib/cli/chain.js CHANGED
@@ -12,10 +12,10 @@ import { browserGap } from "../browser-access.js";
12
12
  import { BUILTIN_CLI_SPECS } from "./builtin-specs.js";
13
13
  import { backendServes, CHAIN_PLATFORMS, DEFAULT_CHAINS, OPENCLI_SITE_OF } from "./chains-spec.js";
14
14
  import { cliSpecEngine, disabledBySettings, probeError, specReadiness } from "./engine.js";
15
- import { listOpencliSites, OPENCLI_PROBE, opencliSearchSpec } from "./opencli.js";
15
+ import { listOpencliSites, OPENCLI_PROBE, opencliSiteVerification, planOpencliSearch } from "./opencli.js";
16
16
  import { cachedProbe, probeCli } from "./probe.js";
17
17
  import { CliAdapterError, runCliSearchDetailed } from "./runner.js";
18
- import { resolveCliAdapters } from "./spec.js";
18
+ import { resolveCliAdapters, USER_DEFINED } from "./spec.js";
19
19
  export { DEFAULT_CHAINS, CHAIN_PLATFORMS };
20
20
  /** All specs a chain may use: the built-ins by id and the user's `cliAdapters` as `custom-cli:<id>`. */
21
21
  export function allSpecs(config) {
@@ -32,9 +32,9 @@ const fromSpec = (r) => ({
32
32
  function specLeg(id, spec, platform, ctx) {
33
33
  return {
34
34
  id, kind: id.startsWith('custom-cli:') ? 'custom-cli' : 'cli', label: spec.bins[0],
35
- engine: cliSpecEngine(spec, platform, ctx.deps, { id, label: spec.bins[0] }),
35
+ engine: cliSpecEngine(spec, platform, ctx.deps, { id, label: spec.bins[0], ...id.startsWith('custom-cli:') ? { userDefined: true } : {} }),
36
36
  readiness: async () => fromSpec(await specReadiness(spec, ctx.deps)),
37
- verification: spec.verification?.status ?? 'unverified',
37
+ verification: spec.verification?.status ?? (id.startsWith('custom-cli:') ? USER_DEFINED : 'unverified'),
38
38
  };
39
39
  }
40
40
  function opencliLeg(platform, ctx) {
@@ -44,6 +44,10 @@ function opencliLeg(platform, ctx) {
44
44
  backend: 'opencli',
45
45
  label: 'OpenCLI (standalone)',
46
46
  available: () => !disabledBySettings({ id: 'opencli' }, ctx.deps) && (cachedProbe(OPENCLI_PROBE)?.state ?? 'detected') === 'detected',
47
+ unavailableReason: () => {
48
+ const probe = cachedProbe(OPENCLI_PROBE);
49
+ return disabledBySettings({ id: 'opencli' }, ctx.deps) ?? (probe && probe.state !== 'detected' ? probeError(OPENCLI_PROBE, probe)?.message : undefined);
50
+ },
47
51
  async search(query, count, signal) {
48
52
  const off = disabledBySettings({ id: 'opencli' }, ctx.deps);
49
53
  if (off)
@@ -52,19 +56,16 @@ function opencliLeg(platform, ctx) {
52
56
  const failure = probe.state === 'detected' ? undefined : probeError(OPENCLI_PROBE, probe);
53
57
  if (failure)
54
58
  throw failure;
55
- const listed = await listOpencliSites();
56
- const entry = listed.sites?.get(site);
57
- if (!entry)
58
- throw new CliAdapterError(listed.problem ?? 'opencli has no read `search` command for the site ' + site + ' (opencli list)', 'CLI_CONTRACT_MISMATCH', 'run `opencli list` to see the sites your version supports');
59
- const spec = opencliSearchSpec(platform, entry);
60
- if (!spec)
61
- throw new CliAdapterError('opencli site ' + site + ' cannot be used by this adapter', 'CLI_CONTRACT_MISMATCH');
59
+ const plan = await planOpencliSearch(platform, site);
60
+ if (!plan.spec)
61
+ throw new CliAdapterError(plan.problem ?? 'opencli site ' + site + ' cannot be used by this adapter', 'CLI_CONTRACT_MISMATCH', plan.hint);
62
+ const spec = plan.spec;
62
63
  const { sources, skipped } = await runCliSearchDetailed(spec, { query, count, signal }, { platform, bin: probe.path ?? 'opencli' });
63
64
  return { sources, via: 'opencli', backend: 'opencli', ...skipped ? { notes: [skipped + ' result' + (skipped === 1 ? '' : 's') + ' without a link skipped'] } : {} };
64
65
  },
65
66
  };
66
67
  return {
67
- id: 'opencli', kind: 'opencli', label: 'OpenCLI (standalone)', engine, verification: 'contract-only',
68
+ id: 'opencli', kind: 'opencli', label: 'OpenCLI (standalone)', engine, verification: opencliSiteVerification(site).status,
68
69
  async readiness() {
69
70
  const off = disabledBySettings({ id: 'opencli' }, ctx.deps);
70
71
  if (off)
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/cli/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAqB,aAAa,EAAE,wBAAwB,GAC/G,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAsB,MAAM,aAAa,CAAA;AAC9G,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAuB,MAAM,WAAW,CAAA;AAInE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA;AAkC1C,wGAAwG;AACxG,MAAM,UAAU,QAAQ,CAAC,MAA2C;IAClE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAyB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAC7F,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACnD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,KAAK,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;IACxE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAA;AACjD,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,CAAgB,EAAgB,EAAE,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;IACtL,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;CAC3C,CAAC,CAAA;AAEF,SAAS,OAAO,CAAC,EAAU,EAAE,IAAoB,EAAE,QAAgB,EAAE,GAAiB;IACpF,OAAO;QACL,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE;QACnF,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC;QAC7E,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACpE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,YAAY;KACxD,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,GAAiB;IACrD,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAE,CAAA;IACvC,MAAM,MAAM,GAAW;QACrB,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,sBAAsB;QAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,UAAU;QACrI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM;YAC/B,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;YAC3D,IAAI,GAAG;gBAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;YACxD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;YACzF,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAA;YAC1B,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAA;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,IAAI,oDAAoD,GAAG,IAAI,GAAG,iBAAiB,EAAE,uBAAuB,EAAE,2DAA2D,CAAC,CAAA;YAC9N,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAC/C,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,eAAe,GAAG,IAAI,GAAG,iCAAiC,EAAE,uBAAuB,CAAC,CAAA;YACzH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAA;YACnI,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,GAAG,SAAS,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACrK,CAAC;KACF,CAAA;IACD,OAAO;QACL,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe;QACpG,KAAK,CAAC,SAAS;YACb,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;YAC3D,IAAI,GAAG;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;YACtG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAA;YAC7S,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAA;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,wCAAwC,GAAG,IAAI,GAAG,oBAAoB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;YACxP,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACrL,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,GAAiB;IAC5D,MAAM,MAAM,GAAW,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC3F,OAAO;QACL,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;QAChH,KAAK,CAAC,SAAS;YACb,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,GAAG,QAAQ,CAAC,CAAA;YAC3E,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,8DAA8D,CAAC,CAAC,CAAC,SAAS,CAAA;YACrM,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAA;YACzB,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAuB,CAAC,CAAC,CAAC,UAAmB,CAAA;YACjH,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QAClK,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,GAAiB;IAC3D,MAAM,MAAM,GAAW,EAAE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAA;IACrG,OAAO;QACL,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;QAClH,KAAK,CAAC,SAAS;YACb,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,GAAG,QAAQ,CAAC,CAAA;YACjF,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAA;YACjE,OAAO,GAAG;gBACR,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBAClM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACtG,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,YAAY,GAA2D,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAA;AAE3K,SAAS,OAAO,CAAC,QAAgB,EAAE,GAAiB;IAClD,MAAM,MAAM,GAAW,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IAChF,OAAO;QACL,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;QAChF,KAAK,CAAC,SAAS;YACb,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YAChC,OAAO,KAAK;gBACV,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE;gBAC9H,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,6FAA6F,EAAE,IAAI,EAAE,eAAe,EAAE,CAAA;QAClM,CAAC;KACF,CAAA;AACH,CAAC;AAED,uIAAuI;AACvI,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,GAAiB;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;IAC1D,MAAM,GAAG,GAAG,UAAU,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC5G,MAAM,IAAI,GAAe,EAAE,CAAA;IAC3B,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,GAAW,EAAQ,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAA,CAAC,CAAC,CAAA;IAC9H,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAU,CAAC,CAAC,CAAA;IACtF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;YAAE,SAAQ;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;YAAC,SAAQ;QAAC,CAAC;QAClF,IAAI,EAAE,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;aACrD,IAAI,EAAE,KAAK,iBAAiB;YAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;aACzE,IAAI,EAAE,KAAK,gBAAgB;YAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;aACvE,IAAI,EAAE,KAAK,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;;YACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;AAC9B,CAAC;AAoCD,mKAAmK;AACnK,SAAS,YAAY,CAAC,KAAiC,EAAE,GAA0C;IACjG,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IACvB,OAAO,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AACpG,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,GAAiB;IACnE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACzR,MAAM,OAAO,GAAuB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACtE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY;QAClI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY;KACzK,CAAC,CAAC,CAAA;IACH,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAW,CAAA;IACnF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjG,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC,CAAA;IACxH,MAAM,KAAK,GAAe,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAA;IACjK,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAA;IACjF,OAAO;QACL,OAAO;QACP,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,KAAK;QACL,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,IAAI,SAAS;QACtF,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE;QAClI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACjB,CAAC,CAAC,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9F,CAAC,CAAC,qBAAqB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;YAC5E,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,YAAY;SACnD,CAAC,CAAC,CAAC;YACF,GAAG,KAAK,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,sBAAsB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,6DAA6D,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACnS,cAAc,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI;SACxM;QACD,WAAW;KACZ,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/cli/chain.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,19 @@
5
5
  * @module web-search-pro/cli/chains-spec
6
6
  */
7
7
  import { BUILTIN_CLI_SPECS } from "./builtin-specs.js";
8
+ import { OPENCLI_SITE_OF } from "./opencli-sites.js";
8
9
  import { platformBackendProblems, resolveCliAdapters } from "./spec.js";
9
- /** The default chain of each platform: first usable backend answers, empty or failing ones fall through in order. */
10
+ /**
11
+ * The default chain of each platform: first usable backend answers, empty or failing ones fall through in order. The platforms
12
+ * that need a login (xiaohongshu, reddit, twitter, zhihu) try the standalone OpenCLI first: it reads the login of the user's
13
+ * own day-to-day Chrome through the OpenCLI Browser Bridge, so nothing is logged in by the plugin. The standalone CLIs
14
+ * (xhs, rdt, twitter, zhihu) stay as the optional fallback for users who logged them in themselves.
15
+ */
10
16
  export const DEFAULT_CHAINS = {
11
17
  xiaohongshu: ['opencli', 'xhs', 'browser-opencli'],
12
- reddit: ['rdt', 'opencli', 'browser-opencli'],
13
- twitter: ['twitter', 'opencli', 'browser-opencli'],
14
- zhihu: ['zhihu', 'browser-search'],
18
+ reddit: ['opencli', 'rdt', 'browser-opencli'],
19
+ twitter: ['opencli', 'twitter', 'browser-opencli'],
20
+ zhihu: ['opencli', 'zhihu', 'browser-search'],
15
21
  bilibili: ['bili'],
16
22
  youtube: ['yt-dlp'],
17
23
  github: ['rest', 'gh'],
@@ -30,11 +36,7 @@ export const DEFAULT_CHAINS = {
30
36
  };
31
37
  /** Platforms whose provider is a chain (everything in the default table). */
32
38
  export const CHAIN_PLATFORMS = Object.keys(DEFAULT_CHAINS);
33
- /** Platform -> site of the standalone OpenCLI (`opencli <site> search`). */
34
- export const OPENCLI_SITE_OF = {
35
- xiaohongshu: 'xiaohongshu', twitter: 'twitter', reddit: 'reddit', instagram: 'instagram', facebook: 'facebook',
36
- zhihu: 'zhihu', weibo: 'weibo', douban: 'douban', tieba: 'tieba', douyin: 'douyin', bilibili: 'bilibili', youtube: 'youtube', wechat: 'weixin',
37
- };
39
+ export { OPENCLI_SITE_OF };
38
40
  /** Platforms the dsh-browser OpenCLI bridge has a site adapter for (pinned to engines.ts by a test). */
39
41
  export const BROWSER_OPENCLI_PLATFORMS = ['xiaohongshu', 'twitter', 'reddit', 'instagram', 'facebook'];
40
42
  /** Platforms with a built-in rendered-search-page spec in dsh-browser's searchResults (pinned to platform-search.ts by a test). */
@@ -43,6 +45,10 @@ export const BROWSER_SEARCH_PLATFORMS = ['zhihu', 'weibo', 'douban', 'tieba', 'd
43
45
  export const REST_PLATFORMS = ['github', 'github-issues', 'github-code'];
44
46
  /** Backend ids that are not CLI specs. */
45
47
  export const FIXED_BACKENDS = ['opencli', 'browser-opencli', 'browser-search', 'rest'];
48
+ /** Whether `id` names a platform backend: a built-in CLI spec, a fixed backend, or a custom CLI (`custom-cli:<id>`). */
49
+ export function isBackendId(id) {
50
+ return FIXED_BACKENDS.includes(id) || BUILTIN_CLI_SPECS.some(spec => spec.id === id) || id.startsWith('custom-cli:');
51
+ }
46
52
  /**
47
53
  * Whether backend `id` can serve `platform`. `specPlatforms` maps a CLI spec id (built-in, or `custom-cli:<id>` of the user)
48
54
  * to the platforms it lists; a user spec serves any platform its chain names.
@@ -59,8 +65,11 @@ export function backendServes(id, platform, specPlatforms) {
59
65
  const platforms = specPlatforms.get(id);
60
66
  if (!platforms)
61
67
  return { ok: false, why: 'is not a known backend (built-in ids: ' + [...specPlatforms.keys()].filter(k => !k.startsWith('custom-cli:')).join(', ') + ', ' + FIXED_BACKENDS.join(', ') + ')' };
62
- if (!id.startsWith('custom-cli:') && !platforms.includes(platform))
63
- return { ok: false, why: 'does not serve platform ' + platform + ' (it serves ' + platforms.join(', ') + ')' };
68
+ // A custom CLI is the platform `custom-cli:<id>` of its own and serves exactly the platforms its spec declares.
69
+ if (id === platform)
70
+ return { ok: true };
71
+ if (!platforms.includes(platform))
72
+ return { ok: false, why: 'does not serve platform ' + platform + (platforms.length ? ' (it serves ' + platforms.join(', ') + ')' : ' (it declares no platform' + (id.startsWith('custom-cli:') ? ': add ' + platform + ' to its "platforms"' : '') + ')') };
64
73
  return { ok: true };
65
74
  }
66
75
  /** The CLI specs a chain may name: the built-ins by id and the user's valid `cliAdapters` as `custom-cli:<id>`. */
@@ -71,6 +80,17 @@ export function specPlatformsOf(cliAdapters) {
71
80
  platforms.set('custom-cli:' + id, spec.platforms);
72
81
  return { platforms, diagnostics: user.diagnostics };
73
82
  }
83
+ /** The declared platforms of the user's CLI adapters that no backend chain exists for (the spec would serve nothing there). */
84
+ export function customCliPlatformIssues(cliAdapters) {
85
+ const { specs } = resolveCliAdapters(cliAdapters);
86
+ const out = [];
87
+ for (const [id, spec] of specs) {
88
+ const unknown = spec.platforms.filter(platform => !CHAIN_PLATFORMS.includes(platform));
89
+ if (unknown.length)
90
+ out.push('cliAdapters.' + id + '.platforms: no backend chain exists for ' + unknown.join(', ') + ' (platforms with a chain: ' + CHAIN_PLATFORMS.join(', ') + ')');
91
+ }
92
+ return out;
93
+ }
74
94
  /**
75
95
  * Every problem of the `platformBackends` setting (shape, unknown platform, unknown or foreign backend id) given the
76
96
  * `cliAdapters` setting. The settings card and `sources.status` both call this.
@@ -1 +1 @@
1
- {"version":3,"file":"chains-spec.js","sourceRoot":"","sources":["../../src/cli/chains-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chains-spec.js","sourceRoot":"","sources":["../../src/cli/chains-spec.ts"],"names":[],"mappings":"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"}
package/lib/cli/engine.js CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { CliAdapterError, loginHint, missingEnv, runCliSearchDetailed, savedLoginPresent } from "./runner.js";
8
8
  import { cachedProbe, probeCli } from "./probe.js";
9
+ import { USER_DEFINED_TAG } from "./spec.js";
9
10
  /** Settings that gate a spec on top of `enableCliBackends` (twitter-cli kept its own `agentReachEnabled` switch). */
10
11
  const SETTING_GATE = {
11
12
  twitter: { key: 'agentReachEnabled', label: 'the twitter-cli backend is disabled in settings (agentReachEnabled)' },
@@ -17,6 +18,13 @@ export function disabledBySettings(spec, deps) {
17
18
  const gate = SETTING_GATE[spec.id];
18
19
  return gate && !deps[gate.key] ? gate.label : undefined;
19
20
  }
21
+ /**
22
+ * The environment a spec's credential variables are read from: the process environment overlaid with the values the router
23
+ * resolved (settings literal -> DSH credentials -> process environment). Undefined = the process environment as it is.
24
+ */
25
+ export function specEnv(deps) {
26
+ return deps.cliEnv && Object.keys(deps.cliEnv).length ? { ...process.env, ...deps.cliEnv } : undefined;
27
+ }
20
28
  /** The probe verdict as the structured error a search would raise, or undefined when the command is usable. */
21
29
  export function probeError(spec, probe) {
22
30
  if (probe.state === 'detected')
@@ -36,6 +44,13 @@ export function cliSpecEngine(spec, platform, deps, options = {}) {
36
44
  // Before the first probe the command is assumed present; the search itself probes and reports.
37
45
  return options.run ? true : (cachedProbe(spec)?.state ?? 'detected') === 'detected';
38
46
  },
47
+ unavailableReason: () => {
48
+ const off = disabledBySettings(spec, deps);
49
+ if (off)
50
+ return off;
51
+ const probe = options.run ? undefined : cachedProbe(spec);
52
+ return probe && probe.state !== 'detected' ? probeError(spec, probe)?.message : undefined;
53
+ },
39
54
  async search(query, count, signal) {
40
55
  const why = disabledBySettings(spec, deps);
41
56
  if (why)
@@ -51,12 +66,13 @@ export function cliSpecEngine(spec, platform, deps, options = {}) {
51
66
  const runOptions = {
52
67
  platform, bin,
53
68
  ...options.run ? { run: options.run } : {},
54
- ...options.env ? { env: options.env } : {},
69
+ ...(options.env ?? specEnv(deps)) ? { env: (options.env ?? specEnv(deps)) } : {},
55
70
  ...options.home ? { home: options.home } : {},
56
71
  ...options.skipCredentialGate ? { skipCredentialGate: true } : {},
57
72
  };
58
73
  const { sources, skipped } = await runCliSearchDetailed(spec, { query, count, signal }, runOptions);
59
- return { sources, via: options.id ?? spec.id, backend: options.id ?? spec.id, ...skipped ? { notes: [skipped + ' result' + (skipped === 1 ? '' : 's') + ' without a link skipped'] } : {} };
74
+ const rows = options.userDefined ? sources.map(source => ({ ...source, via: options.id ?? spec.id, tag: USER_DEFINED_TAG })) : sources;
75
+ return { sources: rows, via: options.id ?? spec.id, backend: options.id ?? spec.id, ...skipped ? { notes: [skipped + ' result' + (skipped === 1 ? '' : 's') + ' without a link skipped'] } : {} };
60
76
  },
61
77
  };
62
78
  }
@@ -71,7 +87,7 @@ export async function specReadiness(spec, deps, options = {}) {
71
87
  return { ...base, ready: false, installation: 'missing', credential: 'not_required', reason: spec.id + ': ' + (probe.reason ?? 'not installed'), code: 'cli_missing' };
72
88
  if (probe.state === 'incompatible')
73
89
  return { ...base, ready: false, installation: 'incompatible', credential: 'not_required', reason: spec.id + ': ' + (probe.reason ?? 'contract mismatch'), code: 'cli_incompatible' };
74
- const missing = missingEnv(spec, options.env);
90
+ const missing = missingEnv(spec, options.env ?? specEnv(deps));
75
91
  if (missing.length)
76
92
  return { ...base, ready: false, installation: 'detected', credential: 'missing', reason: spec.id + ': ' + missing.join(' / ') + ' not set (' + loginHint(spec) + ')', code: 'not_logged_in' };
77
93
  const saved = savedLoginPresent(spec, options);