dsh-web-search-pro 0.2.0 → 0.2.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 (80) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +75 -6
  3. package/assets/skills/dsh-web-search-pro/SKILL.md +1 -1
  4. package/assets/skills/dsh-web-search-pro/references/sources.md +11 -2
  5. package/catalog/sources.v1.json +20 -12
  6. package/lib/actions/search.js +5 -4
  7. package/lib/actions/search.js.map +1 -1
  8. package/lib/actions/sources.js +42 -25
  9. package/lib/actions/sources.js.map +1 -1
  10. package/lib/cli/builtin-specs.js +306 -0
  11. package/lib/cli/builtin-specs.js.map +1 -0
  12. package/lib/cli/chain.js +192 -0
  13. package/lib/cli/chain.js.map +1 -0
  14. package/lib/cli/chains-spec.js +98 -0
  15. package/lib/cli/chains-spec.js.map +1 -0
  16. package/lib/cli/engine.js +83 -0
  17. package/lib/cli/engine.js.map +1 -0
  18. package/lib/cli/opencli.js +105 -0
  19. package/lib/cli/opencli.js.map +1 -0
  20. package/lib/cli/probe.js +128 -0
  21. package/lib/cli/probe.js.map +1 -0
  22. package/lib/cli/runner.js +374 -0
  23. package/lib/cli/runner.js.map +1 -0
  24. package/lib/cli/spec.js +416 -0
  25. package/lib/cli/spec.js.map +1 -0
  26. package/lib/client/SettingsCard.js +1 -1
  27. package/lib/client/SettingsCard.js.map +1 -1
  28. package/lib/client/form-specs.js +2 -0
  29. package/lib/client/form-specs.js.map +1 -1
  30. package/lib/client/form.js +14 -3
  31. package/lib/client/form.js.map +1 -1
  32. package/lib/client/locales.js +4 -0
  33. package/lib/client/locales.js.map +1 -1
  34. package/lib/client/validators.js +15 -0
  35. package/lib/client/validators.js.map +1 -1
  36. package/lib/client.js +1425 -3
  37. package/lib/client.js.map +1 -1
  38. package/lib/config.js +4 -0
  39. package/lib/config.js.map +1 -1
  40. package/lib/deps.js +109 -102
  41. package/lib/deps.js.map +1 -1
  42. package/lib/engine-error.js +19 -0
  43. package/lib/engine-error.js.map +1 -0
  44. package/lib/engines.js +31 -114
  45. package/lib/engines.js.map +1 -1
  46. package/lib/pipeline/candidates.js.map +1 -1
  47. package/lib/pipeline/run.js +4 -2
  48. package/lib/pipeline/run.js.map +1 -1
  49. package/lib/providers/builtin.js +10 -14
  50. package/lib/providers/builtin.js.map +1 -1
  51. package/lib/providers/platforms.js +114 -55
  52. package/lib/providers/platforms.js.map +1 -1
  53. package/lib/providers/registry.js.map +1 -1
  54. package/lib/router.js +63 -6
  55. package/lib/router.js.map +1 -1
  56. package/lib/types/cli/builtin-specs.d.ts +30 -0
  57. package/lib/types/cli/chain.d.ts +83 -0
  58. package/lib/types/cli/chains-spec.d.ts +39 -0
  59. package/lib/types/cli/engine.d.ts +43 -0
  60. package/lib/types/cli/opencli.d.ts +38 -0
  61. package/lib/types/cli/probe.d.ts +53 -0
  62. package/lib/types/cli/runner.d.ts +87 -0
  63. package/lib/types/cli/spec.d.ts +176 -0
  64. package/lib/types/client/form-specs.d.ts +1 -1
  65. package/lib/types/client/locales.d.ts +4 -0
  66. package/lib/types/client/validators.d.ts +6 -0
  67. package/lib/types/config.d.ts +11 -0
  68. package/lib/types/deps.d.ts +25 -23
  69. package/lib/types/engine-error.d.ts +12 -0
  70. package/lib/types/engines.d.ts +16 -9
  71. package/lib/types/index.d.ts +4 -0
  72. package/lib/types/pipeline/candidates.d.ts +2 -0
  73. package/lib/types/pipeline/run.d.ts +2 -1
  74. package/lib/types/providers/platforms.d.ts +15 -3
  75. package/lib/types/providers/registry.d.ts +3 -0
  76. package/lib/types/router.d.ts +13 -0
  77. package/lib/types/util.d.ts +6 -1
  78. package/lib/util.js +7 -3
  79. package/lib/util.js.map +1 -1
  80. package/package.json +2 -2
@@ -0,0 +1,416 @@
1
+ /**
2
+ * Declarative CLI adapter spec (dev-plan M12): what a standalone command-line tool is, which of its commands the plugin
3
+ * may run, and how its output maps to search sources. Pure data plus validation, no Node imports, so the settings card
4
+ * (client bundle) validates `cliAdapters` with the very function the server uses.
5
+ *
6
+ * The read-only guarantee lives here and applies to built-in and user-defined specs alike:
7
+ * - argv is an array of tokens, never a shell string (the runner spawns without a shell);
8
+ * - a spec declares `allowedSubcommands`, and every command word its argv uses (the leading literal tokens before the
9
+ * first flag or placeholder) must be in that list;
10
+ * - no command word, declared subcommand or flag may match the global deny-list (login, post, delete*, like, ...,
11
+ * and the flags that make a CLI read browser cookies or carry secrets in argv).
12
+ * @module web-search-pro/cli/spec
13
+ */
14
+ export const OUTPUT_FORMATS = ['json', 'ndjson', 'yaml', 'text'];
15
+ /** How far a spec has been checked against the real tool (recorded in the spec and shown in `sources.status`). */
16
+ export const CLI_VERIFICATIONS = ['live', 'contract-only', 'docs-only'];
17
+ export const CLI_ERROR_CODES = ['CLI_NOT_FOUND', 'CLI_CONTRACT_MISMATCH', 'CLI_NOT_LOGGED_IN', 'ENGINE_EMPTY', 'CLI_FAILED'];
18
+ // ── the read-only guard ─────────────────────────────────────────────────────
19
+ /** Command words that write, log in, or change local or remote state. Matched exactly, or as `<word>-...` / `<word>_...`. */
20
+ export const DENIED_SUBCOMMANDS = [
21
+ 'login', 'logout', 'signin', 'signout', 'sign-in', 'sign-out', 'auth', 'whoami-login',
22
+ 'post', 'comment', 'reply', 'publish', 'ask', 'article', 'pin', 'draft', 'upload', 'send', 'create', 'edit', 'write', 'add',
23
+ 'like', 'unlike', 'dislike', 'upvote', 'downvote', 'vote', 'follow', 'unfollow', 'subscribe', 'unsubscribe', 'favorite', 'unfavorite', 'bookmark', 'unbookmark', 'save', 'unsave',
24
+ 'retweet', 'unretweet', 'quote', 'share', 'block', 'unblock', 'mute', 'accept', 'forward',
25
+ 'setup', 'init', 'install', 'uninstall', 'update', 'upgrade', 'config', 'configure', 'register', 'set', 'import', 'export', 'bridge', 'daemon', 'plugin', 'adapter', 'external', 'profile', 'mcp', 'serve',
26
+ ];
27
+ /** Command words denied by prefix alone (`delete`, `delete-note`, `deleteNote`, `remove...`). */
28
+ export const DENIED_PREFIXES = ['delete', 'remove', 'destroy', 'drop', 'purge', 'revoke'];
29
+ /** Flags (without leading dashes) that read browser cookies or carry credentials in argv. */
30
+ export const DENIED_FLAGS = [
31
+ 'cookie-source', 'cookie', 'cookies', 'cookies-from-browser', 'browser-cookies', 'from-browser', 'browser',
32
+ 'password', 'passwd', 'secret', 'token', 'access-token', 'auth-token', 'api-key', 'apikey', 'key', 'username', 'user-token', 'ap-password', 'netrc', 'client-secret', 'authorization', 'auth',
33
+ ];
34
+ function matchesDeniedSubcommand(word) {
35
+ const w = word.toLowerCase();
36
+ if (DENIED_PREFIXES.some(prefix => w.startsWith(prefix)))
37
+ return true;
38
+ return DENIED_SUBCOMMANDS.some(denied => w === denied || w.startsWith(denied + '-') || w.startsWith(denied + '_'));
39
+ }
40
+ const flagName = (token) => token.replace(/^-+/, '').split('=')[0].toLowerCase();
41
+ const isFlag = (token) => token.startsWith('-') && token.length > 1;
42
+ const hasPlaceholder = (token) => /\{[A-Za-z0-9_.]+\}/.test(token);
43
+ /** The command words of an argv: leading literal tokens before the first flag or placeholder token. */
44
+ export function commandWords(argv) {
45
+ const words = [];
46
+ for (const token of argv) {
47
+ if (isFlag(token) || hasPlaceholder(token))
48
+ break;
49
+ words.push(token);
50
+ }
51
+ return words;
52
+ }
53
+ /** Problems of one argv template with respect to the read-only guard (empty = fine). */
54
+ export function argvProblems(argv, allowed, where) {
55
+ const problems = [];
56
+ for (const word of commandWords(argv)) {
57
+ if (matchesDeniedSubcommand(word))
58
+ problems.push(where + ': "' + word + '" is a write / login command (read-only guard)');
59
+ else if (!allowed.includes(word))
60
+ problems.push(where + ': command word "' + word + '" is not in allowedSubcommands');
61
+ }
62
+ for (const token of argv) {
63
+ if (isFlag(token) && DENIED_FLAGS.includes(flagName(token)))
64
+ problems.push(where + ': flag "' + token + '" reads cookies or carries credentials (read-only guard)');
65
+ }
66
+ return problems;
67
+ }
68
+ // ── validation ──────────────────────────────────────────────────────────────
69
+ const isObject = (v) => v !== null && typeof v === 'object' && !Array.isArray(v);
70
+ const isStr = (v, max = 200) => typeof v === 'string' && v.length > 0 && v.length <= max;
71
+ const strList = (v, maxItems, maxLen = 200) => Array.isArray(v) && v.length <= maxItems && v.every(x => isStr(x, maxLen));
72
+ const ID_RE = /^[a-z0-9][a-z0-9._-]{0,39}$/;
73
+ const BIN_RE = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
74
+ const ENV_RE = /^[A-Za-z_][A-Za-z0-9_]{0,63}$/;
75
+ const PATH_RE = /^[A-Za-z0-9_$-]+(\.[A-Za-z0-9_$-]+)*$/;
76
+ const VERSION_RE = /^\d+(\.\d+){0,3}$/;
77
+ const PLACEHOLDERS = new Set(['query', 'count', 'url']);
78
+ const MAX_TIMEOUT_MS = 180_000;
79
+ const MAX_OUTPUT_BYTES = 16 * 1024 * 1024;
80
+ const SPEC_KEYS = new Set(['id', 'bins', 'packageNote', 'platforms', 'probe', 'allowedSubcommands', 'search', 'searches', 'read', 'env', 'needsLogin', 'login', 'timeoutMs', 'maxOutputBytes', 'verification']);
81
+ const PROBE_KEYS = new Set(['versionArgs', 'minVersion', 'helpArgs', 'mustContain']);
82
+ const SEARCH_KEYS = new Set(['argv', 'maxCount', 'output', 'emptyWhen', 'notLoggedInPatterns']);
83
+ const OUTPUT_KEYS = new Set(['format', 'itemsPath', 'expect', 'errorPaths', 'lines', 'fields', 'stripTags', 'emptyValues', 'snippetMax', 'titleMax', 'requireTitle']);
84
+ const FIELD_KEYS = new Set(['url', 'title', 'snippet', 'publishedAt']);
85
+ const ENV_KEYS = new Set(['required', 'passthrough', 'set']);
86
+ const LOGIN_KEYS = new Set(['command', 'savedCredentialPaths', 'readsBrowserCookiesWithoutLogin']);
87
+ function closed(obj, keys, where, errors) {
88
+ for (const key of Object.keys(obj))
89
+ if (!keys.has(key))
90
+ errors.push(where + '.' + key + ' is not a spec field');
91
+ }
92
+ function templateProblems(text, where, allowedPlaceholders, errors) {
93
+ for (const match of text.matchAll(/\{([^}]*)\}/g)) {
94
+ const name = match[1];
95
+ if (allowedPlaceholders ? !allowedPlaceholders.has(name) : !PATH_RE.test(name))
96
+ errors.push(where + ': unknown placeholder {' + name + '}');
97
+ }
98
+ if (/\{[^}]*$/.test(text) || /^[^{]*\}/.test(text))
99
+ errors.push(where + ': unbalanced brace');
100
+ }
101
+ function checkFieldSource(value, where, errors) {
102
+ if (typeof value === 'string') {
103
+ if (!PATH_RE.test(value))
104
+ errors.push(where + ': "' + value + '" is not a dotted path');
105
+ return;
106
+ }
107
+ if (Array.isArray(value)) {
108
+ if (!value.length || value.length > 12)
109
+ errors.push(where + ': a source list needs 1..12 entries');
110
+ for (const entry of value) {
111
+ if (typeof entry === 'string') {
112
+ if (!PATH_RE.test(entry))
113
+ errors.push(where + ': "' + entry + '" is not a dotted path');
114
+ }
115
+ else if (isObject(entry) && typeof entry.template === 'string')
116
+ checkFieldSource(entry, where, errors);
117
+ else
118
+ errors.push(where + ': list entries are paths or { template, when? }');
119
+ }
120
+ return;
121
+ }
122
+ if (!isObject(value)) {
123
+ errors.push(where + ' must be a path, a list, { template }, { join }, { epoch } or { date }');
124
+ return;
125
+ }
126
+ const keys = Object.keys(value);
127
+ if (keys.length === 1 && (keys[0] === 'epoch' || keys[0] === 'date')) {
128
+ if (typeof value[keys[0]] !== 'string' || !PATH_RE.test(value[keys[0]]))
129
+ errors.push(where + '.' + keys[0] + ' must be a dotted path');
130
+ return;
131
+ }
132
+ if (keys.every(k => k === 'template' || k === 'when') && 'template' in value) {
133
+ if (!isStr(value.template, 300))
134
+ errors.push(where + '.template must be a string');
135
+ else
136
+ templateProblems(value.template, where + '.template', undefined, errors);
137
+ if (value.when !== undefined) {
138
+ const w = value.when;
139
+ if (!(isObject(w) && typeof w.path === 'string' && PATH_RE.test(w.path) && ['string', 'number', 'boolean'].includes(typeof w.equals) && Object.keys(w).every(k => k === 'path' || k === 'equals')))
140
+ errors.push(where + '.when must be { path, equals }');
141
+ }
142
+ return;
143
+ }
144
+ if (keys.every(k => k === 'join' || k === 'sep') && Array.isArray(value.join)) {
145
+ if (!value.join.length || value.join.length > 8)
146
+ errors.push(where + '.join needs 1..8 parts');
147
+ for (const part of value.join) {
148
+ if (typeof part === 'string') {
149
+ if (!PATH_RE.test(part))
150
+ errors.push(where + '.join: "' + part + '" is not a dotted path');
151
+ }
152
+ else if (isObject(part) && typeof part.path === 'string' && PATH_RE.test(part.path) && Object.keys(part).every(k => ['path', 'prefix', 'suffix'].includes(k))) {
153
+ for (const k of ['prefix', 'suffix'])
154
+ if (part[k] !== undefined && !(typeof part[k] === 'string' && part[k].length <= 40))
155
+ errors.push(where + '.join.' + k + ' must be a short string');
156
+ }
157
+ else
158
+ errors.push(where + '.join: each part is a path or { path, prefix?, suffix? }');
159
+ }
160
+ if (value.sep !== undefined && !(typeof value.sep === 'string' && value.sep.length <= 16))
161
+ errors.push(where + '.sep must be a short string');
162
+ return;
163
+ }
164
+ errors.push(where + ' must be a path, a list, { template }, { join }, { epoch } or { date }');
165
+ }
166
+ function checkOutput(value, where, errors) {
167
+ if (!isObject(value)) {
168
+ errors.push(where + ' must be an object');
169
+ return;
170
+ }
171
+ closed(value, OUTPUT_KEYS, where, errors);
172
+ if (!OUTPUT_FORMATS.includes(value.format))
173
+ errors.push(where + '.format must be one of ' + OUTPUT_FORMATS.join('|'));
174
+ if (value.itemsPath !== undefined && !(typeof value.itemsPath === 'string' && PATH_RE.test(value.itemsPath)))
175
+ errors.push(where + '.itemsPath must be a dotted path');
176
+ if (value.expect !== undefined) {
177
+ if (!Array.isArray(value.expect) || value.expect.length > 8)
178
+ errors.push(where + '.expect must be a list of { path, equals }');
179
+ else
180
+ for (const e of value.expect) {
181
+ if (!(isObject(e) && typeof e.path === 'string' && PATH_RE.test(e.path) && ['string', 'number', 'boolean'].includes(typeof e.equals) && Object.keys(e).every(k => k === 'path' || k === 'equals')))
182
+ errors.push(where + '.expect entries are { path, equals }');
183
+ }
184
+ }
185
+ if (value.errorPaths !== undefined && !(Array.isArray(value.errorPaths) && value.errorPaths.length <= 6 && value.errorPaths.every(p => typeof p === 'string' && PATH_RE.test(p))))
186
+ errors.push(where + '.errorPaths must be dotted paths');
187
+ if (value.lines !== undefined) {
188
+ const l = value.lines;
189
+ if (isObject(l) && l.mode === 'url-lines' && Object.keys(l).length === 1) { /* fine */ }
190
+ else if (isObject(l) && l.mode === 'tsv' && strList(l.columns, 24, 40) && l.columns.length >= 2 && l.columns.every(c => /^[A-Za-z0-9_]+$/.test(c)) && Object.keys(l).every(k => k === 'mode' || k === 'columns')) { /* fine */ }
191
+ else
192
+ errors.push(where + '.lines must be { mode: "url-lines" } or { mode: "tsv", columns: [...] }');
193
+ }
194
+ if (value.format === 'text' && value.lines === undefined)
195
+ errors.push(where + '.lines is required for format text');
196
+ if (value.format !== 'text' && value.lines !== undefined)
197
+ errors.push(where + '.lines is only for format text');
198
+ if (!isObject(value.fields))
199
+ errors.push(where + '.fields must be an object');
200
+ else {
201
+ closed(value.fields, FIELD_KEYS, where + '.fields', errors);
202
+ if (value.fields.url === undefined)
203
+ errors.push(where + '.fields.url is required');
204
+ for (const key of Object.keys(value.fields))
205
+ if (FIELD_KEYS.has(key))
206
+ checkFieldSource(value.fields[key], where + '.fields.' + key, errors);
207
+ }
208
+ if (value.stripTags !== undefined && typeof value.stripTags !== 'boolean')
209
+ errors.push(where + '.stripTags must be a boolean');
210
+ if (value.emptyValues !== undefined && !strList(value.emptyValues, 8, 20))
211
+ errors.push(where + '.emptyValues must be short strings');
212
+ for (const key of ['snippetMax', 'titleMax'])
213
+ if (value[key] !== undefined && !(Number.isInteger(value[key]) && value[key] >= 40 && value[key] <= 2000))
214
+ errors.push(where + '.' + key + ' must be an integer 40..2000');
215
+ if (value.requireTitle !== undefined && typeof value.requireTitle !== 'boolean')
216
+ errors.push(where + '.requireTitle must be a boolean');
217
+ }
218
+ function checkSearch(value, where, allowed, errors) {
219
+ if (!isObject(value)) {
220
+ errors.push(where + ' must be an object');
221
+ return;
222
+ }
223
+ closed(value, SEARCH_KEYS, where, errors);
224
+ if (!Array.isArray(value.argv) || !value.argv.length || value.argv.length > 24 || !value.argv.every(t => typeof t === 'string' && t.length > 0 && t.length <= 200)) {
225
+ errors.push(where + '.argv must be an array of 1..24 non-empty strings (never a shell string)');
226
+ }
227
+ else {
228
+ const argv = value.argv;
229
+ argv.forEach(token => templateProblems(token, where + '.argv', PLACEHOLDERS, errors));
230
+ if (!argv.some(t => /\{(query|url)\}/.test(t)))
231
+ errors.push(where + '.argv must carry a {query} (or {url}) placeholder');
232
+ errors.push(...argvProblems(argv, allowed, where + '.argv'));
233
+ }
234
+ if (value.maxCount !== undefined && !(Number.isInteger(value.maxCount) && value.maxCount >= 1 && value.maxCount <= 100))
235
+ errors.push(where + '.maxCount must be an integer 1..100');
236
+ checkOutput(value.output, where + '.output', errors);
237
+ for (const key of ['emptyWhen', 'notLoggedInPatterns'])
238
+ if (value[key] !== undefined && !strList(value[key], 12, 120))
239
+ errors.push(where + '.' + key + ' must be a list of short strings');
240
+ }
241
+ /**
242
+ * Validate one adapter spec (built-in or user-defined). Never throws. A user-defined spec (`origin: 'user'`) may not carry a
243
+ * `verification` (it is unverified by definition) and its `platforms` are ignored: it is registered as `custom-cli:<id>`.
244
+ */
245
+ export function validateCliAdapterSpec(raw, origin = 'user') {
246
+ const errors = [];
247
+ if (!isObject(raw))
248
+ return { ok: false, errors: ['spec must be an object'] };
249
+ const id = typeof raw.id === 'string' ? raw.id : '(no id)';
250
+ const at = 'cliAdapters.' + id;
251
+ closed(raw, SPEC_KEYS, at, errors);
252
+ if (typeof raw.id !== 'string' || !ID_RE.test(raw.id))
253
+ errors.push(at + '.id must match ' + String(ID_RE));
254
+ if (!Array.isArray(raw.bins) || !raw.bins.length || raw.bins.length > 4 || !raw.bins.every(b => typeof b === 'string' && BIN_RE.test(b)))
255
+ errors.push(at + '.bins must be 1..4 command names (no paths)');
256
+ if (!isStr(raw.packageNote, 240))
257
+ errors.push(at + '.packageNote must be a short string (what the package is called, which can differ from the command)');
258
+ if (!strList(raw.platforms, 8, 40) || !raw.platforms.length)
259
+ errors.push(at + '.platforms must list 1..8 platform ids');
260
+ if (typeof raw.needsLogin !== 'boolean')
261
+ errors.push(at + '.needsLogin must be a boolean');
262
+ if (!(Number.isInteger(raw.timeoutMs) && raw.timeoutMs >= 1_000 && raw.timeoutMs <= MAX_TIMEOUT_MS))
263
+ errors.push(at + '.timeoutMs must be an integer 1000..' + MAX_TIMEOUT_MS);
264
+ if (!(Number.isInteger(raw.maxOutputBytes) && raw.maxOutputBytes >= 1_024 && raw.maxOutputBytes <= MAX_OUTPUT_BYTES))
265
+ errors.push(at + '.maxOutputBytes must be an integer 1024..' + MAX_OUTPUT_BYTES);
266
+ const allowed = strList(raw.allowedSubcommands, 12, 60) ? raw.allowedSubcommands : undefined;
267
+ if (!allowed)
268
+ errors.push(at + '.allowedSubcommands must list the command words the spec uses (up to 12; empty for a tool without subcommands)');
269
+ else
270
+ for (const word of allowed)
271
+ if (matchesDeniedSubcommand(word))
272
+ errors.push(at + '.allowedSubcommands: "' + word + '" is a write / login command (read-only guard)');
273
+ if (!isObject(raw.probe))
274
+ errors.push(at + '.probe must be an object');
275
+ else {
276
+ const p = raw.probe;
277
+ closed(p, PROBE_KEYS, at + '.probe', errors);
278
+ for (const key of ['versionArgs', 'helpArgs']) {
279
+ if (!Array.isArray(p[key]) || !p[key].every(t => typeof t === 'string' && t.length > 0 && t.length <= 80) || p[key].length > 6)
280
+ errors.push(at + '.probe.' + key + ' must be an array of short strings');
281
+ else if (allowed)
282
+ errors.push(...argvProblems(p[key], allowed, at + '.probe.' + key));
283
+ }
284
+ if (!(Array.isArray(p.helpArgs) && p.helpArgs.length))
285
+ errors.push(at + '.probe.helpArgs must not be empty');
286
+ if (p.minVersion !== undefined && !(typeof p.minVersion === 'string' && VERSION_RE.test(p.minVersion)))
287
+ errors.push(at + '.probe.minVersion must look like 1.2.3');
288
+ if (!strList(p.mustContain, 12, 80))
289
+ errors.push(at + '.probe.mustContain must be a list of short strings (the subcommands / flags that prove the contract)');
290
+ }
291
+ const searchWhere = (key) => at + '.' + key;
292
+ if (allowed) {
293
+ checkSearch(raw.search, searchWhere('search'), allowed, errors);
294
+ if (raw.searches !== undefined) {
295
+ if (!isObject(raw.searches))
296
+ errors.push(at + '.searches must be an object keyed by platform id');
297
+ else
298
+ for (const [platform, s] of Object.entries(raw.searches)) {
299
+ if (!ID_RE.test(platform))
300
+ errors.push(at + '.searches: "' + platform + '" is not a platform id');
301
+ checkSearch(s, at + '.searches.' + platform, allowed, errors);
302
+ }
303
+ }
304
+ if (raw.read !== undefined)
305
+ checkSearch(raw.read, searchWhere('read'), allowed, errors);
306
+ }
307
+ if (!isObject(raw.env))
308
+ errors.push(at + '.env must be an object');
309
+ else {
310
+ closed(raw.env, ENV_KEYS, at + '.env', errors);
311
+ for (const key of ['required', 'passthrough']) {
312
+ const list = raw.env[key];
313
+ if (list !== undefined && !(Array.isArray(list) && list.length <= 16 && list.every(n => typeof n === 'string' && ENV_RE.test(n))))
314
+ errors.push(at + '.env.' + key + ' must be environment variable NAMES (never values)');
315
+ }
316
+ if (raw.env.set !== undefined) {
317
+ const set = raw.env.set;
318
+ if (!isObject(set) || Object.keys(set).length > 8 || !Object.entries(set).every(([k, val]) => ENV_RE.test(k) && typeof val === 'string' && val.length <= 80))
319
+ errors.push(at + '.env.set must be a few NAME: short literal pairs');
320
+ else if (Object.keys(set).some(k => /key|token|secret|password|cookie/i.test(k)))
321
+ errors.push(at + '.env.set must not set credentials: name them in env.required / env.passthrough and keep the value in your environment');
322
+ }
323
+ }
324
+ if (raw.login !== undefined) {
325
+ const l = raw.login;
326
+ if (!isObject(l))
327
+ errors.push(at + '.login must be an object');
328
+ else {
329
+ closed(l, LOGIN_KEYS, at + '.login', errors);
330
+ if (!isStr(l.command, 120))
331
+ errors.push(at + '.login.command must be a short string (what the user runs themselves)');
332
+ if (l.savedCredentialPaths !== undefined && !(strList(l.savedCredentialPaths, 4, 160) && l.savedCredentialPaths.every(p => /^~\/[^\0]+$/.test(p) && !p.includes('..'))))
333
+ errors.push(at + '.login.savedCredentialPaths must be paths starting with ~/ (no ..)');
334
+ if (l.readsBrowserCookiesWithoutLogin !== undefined && typeof l.readsBrowserCookiesWithoutLogin !== 'boolean')
335
+ errors.push(at + '.login.readsBrowserCookiesWithoutLogin must be a boolean');
336
+ if (l.readsBrowserCookiesWithoutLogin === true && !(Array.isArray(l.savedCredentialPaths) && l.savedCredentialPaths.length))
337
+ errors.push(at + '.login: a tool that reads browser cookies without a login needs savedCredentialPaths, so the plugin can refuse to run it without one');
338
+ }
339
+ }
340
+ if (raw.needsLogin === true && !isObject(raw.login) && !(isObject(raw.env) && Array.isArray(raw.env.required) && raw.env.required.length))
341
+ errors.push(at + ': needsLogin without login.command or env.required gives the user nothing to run');
342
+ if (raw.verification !== undefined) {
343
+ const v = raw.verification;
344
+ if (origin === 'user')
345
+ errors.push(at + '.verification is for built-in specs only');
346
+ else if (!(isObject(v) && CLI_VERIFICATIONS.includes(v.status) && Object.keys(v).every(k => ['status', 'version', 'date', 'note'].includes(k))))
347
+ errors.push(at + '.verification must be { status, version?, date?, note? }');
348
+ else if (v.status === 'live' && !(isStr(v.version, 40) && typeof v.date === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(v.date)))
349
+ errors.push(at + '.verification: live needs the verified version and a YYYY-MM-DD date');
350
+ }
351
+ if (errors.length)
352
+ return { ok: false, errors };
353
+ const spec = raw;
354
+ // Every platform the spec lists has a search command.
355
+ return { ok: true, errors: [], spec };
356
+ }
357
+ /** Validate the `cliAdapters` setting: the valid specs by id and the problems of the rest (an invalid entry is ignored, never fatal). */
358
+ export function resolveCliAdapters(input) {
359
+ const specs = new Map();
360
+ const diagnostics = [];
361
+ if (input === undefined || input === null)
362
+ return { specs, diagnostics };
363
+ if (!isObject(input))
364
+ return { specs, diagnostics: ['cliAdapters must be an object keyed by adapter id'] };
365
+ for (const [key, raw] of Object.entries(input)) {
366
+ if (isObject(raw) && raw.id !== undefined && raw.id !== key) {
367
+ diagnostics.push('cliAdapters.' + key + ' ignored: its id "' + String(raw.id) + '" must equal its key');
368
+ continue;
369
+ }
370
+ const result = validateCliAdapterSpec(isObject(raw) ? { ...raw, id: key } : raw, 'user');
371
+ if (!result.ok) {
372
+ diagnostics.push('cliAdapters.' + key + ' ignored: ' + result.errors.slice(0, 4).join('; ') + (result.errors.length > 4 ? ' (+' + (result.errors.length - 4) + ' more)' : ''));
373
+ continue;
374
+ }
375
+ specs.set(key, result.spec);
376
+ }
377
+ return { specs, diagnostics };
378
+ }
379
+ /** Search spec of one platform: the platform's override, else the default. */
380
+ export function searchSpecFor(spec, platform) {
381
+ return spec.searches?.[platform] ?? spec.search;
382
+ }
383
+ // ── versions ────────────────────────────────────────────────────────────────
384
+ export function compareVersions(left, right) {
385
+ const a = left.split('.').map(Number);
386
+ const b = right.split('.').map(Number);
387
+ for (let index = 0; index < Math.max(a.length, b.length); index++) {
388
+ const delta = (a[index] ?? 0) - (b[index] ?? 0);
389
+ if (delta !== 0)
390
+ return delta;
391
+ }
392
+ return 0;
393
+ }
394
+ /** The first `X.Y.Z` (or `X.Y`) in a tool's version output. */
395
+ export function parseVersion(output) {
396
+ return /\b(\d+\.\d+(?:\.\d+)?)\b/.exec(output)?.[1];
397
+ }
398
+ // ── platform backend settings (`platformBackends`) ──────────────────────────
399
+ /** `platformBackends`: ordered backend ids per platform. Pure shape check; ids are checked against the known backends by the caller. */
400
+ export function platformBackendProblems(input) {
401
+ if (input === undefined || input === null)
402
+ return [];
403
+ if (!isObject(input))
404
+ return ['platformBackends must be an object: { <platform>: [backend ids] }'];
405
+ const problems = [];
406
+ for (const [platform, ids] of Object.entries(input)) {
407
+ if (!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,59}$/.test(platform))
408
+ problems.push('platformBackends: "' + platform + '" is not a platform id');
409
+ if (!(Array.isArray(ids) && ids.length <= 12 && ids.every(id => typeof id === 'string' && /^[A-Za-z0-9][A-Za-z0-9._:-]{0,59}$/.test(id))))
410
+ problems.push('platformBackends.' + platform + ' must be a list of backend ids');
411
+ else if (new Set(ids).size !== ids.length)
412
+ problems.push('platformBackends.' + platform + ' lists a backend twice');
413
+ }
414
+ return problems;
415
+ }
416
+ //# sourceMappingURL=spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/cli/spec.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,6 @@ export function SettingsCard(props) {
31
31
  const urlField = `keyedSources.${id}.baseUrl`;
32
32
  const status = state.credentials[`keyed:${id}`];
33
33
  return (_jsxs("details", { className: css.keyedSource, open: state.fields[envField].overridden || state.fields[urlField].overridden || state.fields[`sources.budget.${id}.total`].overridden || state.fields[`sources.budget.${id}.daily`].overridden || status.configured || undefined, "data-web-search-pro-keyed": id, children: [_jsxs("summary", { children: [KEYED_NAMES[id] ?? id, _jsx("span", { className: css.badge, "data-on": status.configured || undefined, children: status.loading ? t('credentialChecking') : status.configured ? t('credentialSet') : t('credentialUnset') })] }), _jsxs("div", { className: css.grid, children: [_jsx(TextField, { field: envField, state: state.fields[envField], label: t('keyedEnv'), hint: `${t('keyedEnvHint')}${defaultEnv}`, disabled: disabled, t: t, edit: props.edit, reset: props.resetField, placeholder: defaultEnv }), credential(`keyed:${id}`, 'keyedApiKey'), _jsx(TextField, { field: urlField, state: state.fields[urlField], label: t('keyedBaseUrl'), hint: t('keyedBaseUrlHint'), disabled: disabled, t: t, edit: props.edit, reset: props.resetField }), text(`sources.budget.${id}.total`, 'reqTotal', 'reqTotalHint', 'number'), text(`sources.budget.${id}.daily`, 'reqDaily', 'reqDailyHint', 'number')] })] }, id));
34
- }), _jsx("h4", { className: css.subheading, children: "SearXNG \u00B7 OpenAlex" }), _jsxs("div", { className: css.grid, children: [text('searxngUrl', 'searxngUrl', 'searxngUrlHint', 'text', 'http://127.0.0.1:8080'), text('openalexMailto', 'openalexMailto', 'openalexMailtoHint')] }), _jsx("h4", { className: css.subheading, children: t('anonymousTitle') }), _jsx("p", { className: css.hint, children: t('anonymousHint') }), _jsxs("table", { className: css.table, "data-web-search-pro-anonymous": true, children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { scope: "col", children: t('anonymousName') }), _jsx("th", { scope: "col", children: "id" }), _jsx("th", { scope: "col", children: t('anonymousUse') })] }) }), _jsx("tbody", { children: ANONYMOUS_SOURCES.map(source => (_jsxs("tr", { children: [_jsx("td", { children: source.name }), _jsx("td", { children: _jsx("code", { children: source.id }) }), _jsx("td", { children: t(source.use) })] }, source.id))) })] }), _jsx("p", { className: css.note, "data-web-search-pro-status-line": true, children: t('sourcesStatusLine') })] }), _jsx(Section, { id: "credentials", title: t('credentialsSection'), hint: t('credentialsSectionHint'), defaultOpen: true, children: _jsxs("div", { className: css.grid, children: [text('exaApiKeyEnv', 'exaApiKeyEnv', 'credentialRefHint'), credential('exa', 'exaApiKey'), text('jinaApiKeyEnv', 'jinaApiKeyEnv', 'credentialRefHint'), credential('jina', 'jinaApiKey'), text('githubTokenEnv', 'githubTokenEnv', 'credentialRefHint'), credential('github', 'githubToken')] }) }), _jsx(Section, { id: "runtime", title: t('runtimeSection'), hint: t('runtimeSectionHint'), defaultOpen: true, children: _jsxs("div", { className: css.grid, children: [toggle('enableCliBackends', 'enableCliBackends', 'enableCliBackendsHint'), toggle('opencliEnabled', 'opencliEnabled', 'opencliEnabledHint'), toggle('agentReachEnabled', 'agentReachEnabled', 'agentReachEnabledHint'), json('playwright', 'playwright', 'playwrightHint', 4)] }) }), _jsxs("details", { className: css.advanced, children: [_jsx("summary", { children: t('advancedSection') }), _jsx("p", { className: css.advancedHint, children: t('advancedSectionHint') }), _jsxs("div", { className: css.grid, children: [text('ttlSeconds', 'ttlSeconds', 'ttlSecondsHint', 'number'), text('memoryCacheEntries', 'memoryCacheEntries', 'memoryCacheEntriesHint', 'number'), text('rrfConstant', 'rrfConstant', 'rrfConstantHint', 'number'), text('freshnessBoost', 'freshnessBoost', 'boostHint', 'number'), text('freshnessDays', 'freshnessDays', 'freshnessDaysHint', 'number'), text('authorityBoost', 'authorityBoost', 'boostHint', 'number'), text('authorityDomains', 'authorityDomains', 'authorityDomainsHint'), text('dbPath', 'dbPath', 'dbPathHint'), json('platformRules', 'platformRules', 'platformRulesHint'), json('customPlatforms', 'customPlatforms', 'customPlatformsHint', 7), json('browserBindings', 'browserBindings', 'browserBindingsHint', 7), toggle('verbose', 'verbose', 'verboseHint')] })] }), _jsxs("div", { className: css.footer, children: [_jsx("p", { className: state.failed ? css.failed : css.status, role: "status", "aria-live": "polite", children: state.failed ? t('saveFailed') : state.invalid ? t('invalidSave') : state.dirty ? t('pendingSave') : t('saved') }), _jsxs("div", { className: css.actions, children: [_jsx("button", { type: "button", className: css.secondaryButton, disabled: !state.dirty || state.saving, onClick: props.discard, children: t('discard') }), _jsx("button", { type: "button", className: css.primaryButton, disabled: !state.dirty || state.invalid || state.saving || !state.writable, onClick: props.save, children: t(state.saving ? 'saving' : 'save') })] })] })] })) : null] }));
34
+ }), _jsx("h4", { className: css.subheading, children: "SearXNG \u00B7 OpenAlex" }), _jsxs("div", { className: css.grid, children: [text('searxngUrl', 'searxngUrl', 'searxngUrlHint', 'text', 'http://127.0.0.1:8080'), text('openalexMailto', 'openalexMailto', 'openalexMailtoHint')] }), _jsx("h4", { className: css.subheading, children: t('anonymousTitle') }), _jsx("p", { className: css.hint, children: t('anonymousHint') }), _jsxs("table", { className: css.table, "data-web-search-pro-anonymous": true, children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { scope: "col", children: t('anonymousName') }), _jsx("th", { scope: "col", children: "id" }), _jsx("th", { scope: "col", children: t('anonymousUse') })] }) }), _jsx("tbody", { children: ANONYMOUS_SOURCES.map(source => (_jsxs("tr", { children: [_jsx("td", { children: source.name }), _jsx("td", { children: _jsx("code", { children: source.id }) }), _jsx("td", { children: t(source.use) })] }, source.id))) })] }), _jsx("p", { className: css.note, "data-web-search-pro-status-line": true, children: t('sourcesStatusLine') })] }), _jsx(Section, { id: "credentials", title: t('credentialsSection'), hint: t('credentialsSectionHint'), defaultOpen: true, children: _jsxs("div", { className: css.grid, children: [text('exaApiKeyEnv', 'exaApiKeyEnv', 'credentialRefHint'), credential('exa', 'exaApiKey'), text('jinaApiKeyEnv', 'jinaApiKeyEnv', 'credentialRefHint'), credential('jina', 'jinaApiKey'), text('githubTokenEnv', 'githubTokenEnv', 'credentialRefHint'), credential('github', 'githubToken')] }) }), _jsx(Section, { id: "runtime", title: t('runtimeSection'), hint: t('runtimeSectionHint'), defaultOpen: true, children: _jsxs("div", { className: css.grid, children: [toggle('enableCliBackends', 'enableCliBackends', 'enableCliBackendsHint'), toggle('opencliEnabled', 'opencliEnabled', 'opencliEnabledHint'), toggle('agentReachEnabled', 'agentReachEnabled', 'agentReachEnabledHint'), json('playwright', 'playwright', 'playwrightHint', 4), json('platformBackends', 'platformBackends', 'platformBackendsHint', 7), json('cliAdapters', 'cliAdapters', 'cliAdaptersHint', 12)] }) }), _jsxs("details", { className: css.advanced, children: [_jsx("summary", { children: t('advancedSection') }), _jsx("p", { className: css.advancedHint, children: t('advancedSectionHint') }), _jsxs("div", { className: css.grid, children: [text('ttlSeconds', 'ttlSeconds', 'ttlSecondsHint', 'number'), text('memoryCacheEntries', 'memoryCacheEntries', 'memoryCacheEntriesHint', 'number'), text('rrfConstant', 'rrfConstant', 'rrfConstantHint', 'number'), text('freshnessBoost', 'freshnessBoost', 'boostHint', 'number'), text('freshnessDays', 'freshnessDays', 'freshnessDaysHint', 'number'), text('authorityBoost', 'authorityBoost', 'boostHint', 'number'), text('authorityDomains', 'authorityDomains', 'authorityDomainsHint'), text('dbPath', 'dbPath', 'dbPathHint'), json('platformRules', 'platformRules', 'platformRulesHint'), json('customPlatforms', 'customPlatforms', 'customPlatformsHint', 7), json('browserBindings', 'browserBindings', 'browserBindingsHint', 7), toggle('verbose', 'verbose', 'verboseHint')] })] }), _jsxs("div", { className: css.footer, children: [_jsx("p", { className: state.failed ? css.failed : css.status, role: "status", "aria-live": "polite", children: state.failed ? t('saveFailed') : state.invalid ? t('invalidSave') : state.dirty ? t('pendingSave') : t('saved') }), _jsxs("div", { className: css.actions, children: [_jsx("button", { type: "button", className: css.secondaryButton, disabled: !state.dirty || state.saving, onClick: props.discard, children: t('discard') }), _jsx("button", { type: "button", className: css.primaryButton, disabled: !state.dirty || state.invalid || state.saving || !state.writable, onClick: props.save, children: t(state.saving ? 'saving' : 'save') })] })] })] })) : null] }));
35
35
  }
36
36
  //# sourceMappingURL=SettingsCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsCard.js","sourceRoot":"","sources":["../../src/client/SettingsCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsCard.js","sourceRoot":"","sources":["../../src/client/SettingsCard.tsx"],"names":[],"mappings":"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"}
@@ -209,6 +209,8 @@ export const FIELD_SPECS = [
209
209
  jsonField('platformRules'),
210
210
  jsonField('customPlatforms'),
211
211
  jsonField('browserBindings'),
212
+ jsonField('platformBackends'),
213
+ jsonField('cliAdapters'),
212
214
  booleanField('verbose'),
213
215
  ];
214
216
  /** The effective judge mode: the neutral `judge.mode` wins over the legacy `jevMode`. */