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.
- package/CHANGELOG.md +227 -0
- package/README.en.md +117 -0
- package/README.md +72 -578
- package/assets/skills/dsh-web-search-pro/SKILL.md +13 -12
- package/assets/skills/dsh-web-search-pro/references/config.md +36 -0
- package/assets/skills/dsh-web-search-pro/references/sources.md +13 -7
- package/assets/skills/dsh-web-search-pro/references/troubleshooting.md +3 -1
- package/catalog/sources.v1.json +16 -14
- package/lib/actions/approval.js +50 -1
- package/lib/actions/approval.js.map +1 -1
- package/lib/actions/config.js +274 -0
- package/lib/actions/config.js.map +1 -0
- package/lib/actions/errors.js +8 -1
- package/lib/actions/errors.js.map +1 -1
- package/lib/actions/format.js +10 -0
- package/lib/actions/format.js.map +1 -1
- package/lib/actions/index-view.js +2 -2
- package/lib/actions/index-view.js.map +1 -1
- package/lib/actions/read.js +7 -3
- package/lib/actions/read.js.map +1 -1
- package/lib/actions/registry.js +3 -1
- package/lib/actions/registry.js.map +1 -1
- package/lib/actions/run.js +2 -2
- package/lib/actions/run.js.map +1 -1
- package/lib/actions/schema.js +18 -0
- package/lib/actions/schema.js.map +1 -1
- package/lib/actions/search.js +7 -2
- package/lib/actions/search.js.map +1 -1
- package/lib/actions/sources.js +76 -18
- package/lib/actions/sources.js.map +1 -1
- package/lib/actions/types.js +19 -1
- package/lib/actions/types.js.map +1 -1
- package/lib/browser-access.js +25 -0
- package/lib/browser-access.js.map +1 -1
- package/lib/catalog/recommend.js +11 -3
- package/lib/catalog/recommend.js.map +1 -1
- package/lib/catalog/schema.js +3 -1
- package/lib/catalog/schema.js.map +1 -1
- package/lib/cli/builtin-specs.js +57 -22
- package/lib/cli/builtin-specs.js.map +1 -1
- package/lib/cli/chain.js +13 -12
- package/lib/cli/chain.js.map +1 -1
- package/lib/cli/chains-spec.js +31 -11
- package/lib/cli/chains-spec.js.map +1 -1
- package/lib/cli/engine.js +19 -3
- package/lib/cli/engine.js.map +1 -1
- package/lib/cli/opencli-sites.js +83 -0
- package/lib/cli/opencli-sites.js.map +1 -0
- package/lib/cli/opencli.js +65 -17
- package/lib/cli/opencli.js.map +1 -1
- package/lib/cli/probe.js +1 -1
- package/lib/cli/probe.js.map +1 -1
- package/lib/cli/runner.js +217 -27
- package/lib/cli/runner.js.map +1 -1
- package/lib/cli/spec.js +100 -20
- package/lib/cli/spec.js.map +1 -1
- package/lib/cli/time-text.js +79 -0
- package/lib/cli/time-text.js.map +1 -0
- package/lib/cli/trial.js +57 -0
- package/lib/cli/trial.js.map +1 -0
- package/lib/client/SettingsCard.js +14 -32
- package/lib/client/SettingsCard.js.map +1 -1
- package/lib/client/agent-mark.js +27 -0
- package/lib/client/agent-mark.js.map +1 -0
- package/lib/client/card-frame.js +118 -0
- package/lib/client/card-frame.js.map +1 -0
- package/lib/client/cli-form.js +257 -0
- package/lib/client/cli-form.js.map +1 -0
- package/lib/client/field-docs.js +130 -0
- package/lib/client/field-docs.js.map +1 -0
- package/lib/client/field-keys.js +81 -0
- package/lib/client/field-keys.js.map +1 -0
- package/lib/client/field-rows.js +71 -0
- package/lib/client/field-rows.js.map +1 -0
- package/lib/client/fill.js +3 -0
- package/lib/client/fill.js.map +1 -0
- package/lib/client/form-specs.js +13 -1
- package/lib/client/form-specs.js.map +1 -1
- package/lib/client/form.js +282 -24
- package/lib/client/form.js.map +1 -1
- package/lib/client/group-advanced.js +23 -0
- package/lib/client/group-advanced.js.map +1 -0
- package/lib/client/group-agent.js +28 -0
- package/lib/client/group-agent.js.map +1 -0
- package/lib/client/group-cli.js +136 -0
- package/lib/client/group-cli.js.map +1 -0
- package/lib/client/group-common.js +29 -0
- package/lib/client/group-common.js.map +1 -0
- package/lib/client/group-judge.js +67 -0
- package/lib/client/group-judge.js.map +1 -0
- package/lib/client/group-order.js +201 -0
- package/lib/client/group-order.js.map +1 -0
- package/lib/client/group-runtime.js +33 -0
- package/lib/client/group-runtime.js.map +1 -0
- package/lib/client/group-sources.js +83 -0
- package/lib/client/group-sources.js.map +1 -0
- package/lib/client/groups-basic.js +36 -0
- package/lib/client/groups-basic.js.map +1 -0
- package/lib/client/index.js.map +1 -1
- package/lib/client/json-list.js +50 -0
- package/lib/client/json-list.js.map +1 -0
- package/lib/client/locales.js +666 -219
- package/lib/client/locales.js.map +1 -1
- package/lib/client/order.js +192 -0
- package/lib/client/order.js.map +1 -0
- package/lib/client/overlay-ops.js +46 -0
- package/lib/client/overlay-ops.js.map +1 -0
- package/lib/client/sources-table.js +1 -0
- package/lib/client/sources-table.js.map +1 -1
- package/lib/client/styles.js +74 -47
- package/lib/client/styles.js.map +1 -1
- package/lib/client/text-view.js +98 -0
- package/lib/client/text-view.js.map +1 -0
- package/lib/client/ui-kit.js +120 -0
- package/lib/client/ui-kit.js.map +1 -0
- package/lib/client/validators.js +8 -1
- package/lib/client/validators.js.map +1 -1
- package/lib/client.js +7313 -1571
- package/lib/client.js.map +1 -1
- package/lib/config-fillers.js +53 -0
- package/lib/config-fillers.js.map +1 -0
- package/lib/config-groups.js +49 -0
- package/lib/config-groups.js.map +1 -0
- package/lib/config.js +84 -108
- package/lib/config.js.map +1 -1
- package/lib/default-chain.js +66 -0
- package/lib/default-chain.js.map +1 -0
- package/lib/deps.js +1 -1
- package/lib/deps.js.map +1 -1
- package/lib/engines.js +3 -3
- package/lib/engines.js.map +1 -1
- package/lib/fetch.js +23 -4
- package/lib/fetch.js.map +1 -1
- package/lib/fiber-config.js +5 -0
- package/lib/fiber-config.js.map +1 -0
- package/lib/index.js +36 -7
- package/lib/index.js.map +1 -1
- package/lib/overlay-types.js +88 -0
- package/lib/overlay-types.js.map +1 -0
- package/lib/overlay.js +683 -0
- package/lib/overlay.js.map +1 -0
- package/lib/pipeline/candidates.js +27 -1
- package/lib/pipeline/candidates.js.map +1 -1
- package/lib/pipeline/compile.js +63 -0
- package/lib/pipeline/compile.js.map +1 -1
- package/lib/pipeline/confidence.js +64 -0
- package/lib/pipeline/confidence.js.map +1 -0
- package/lib/pipeline/fusion.js +50 -3
- package/lib/pipeline/fusion.js.map +1 -1
- package/lib/pipeline/plan.js +2 -2
- package/lib/pipeline/plan.js.map +1 -1
- package/lib/pipeline/render.js +20 -2
- package/lib/pipeline/render.js.map +1 -1
- package/lib/pipeline/run.js +17 -5
- package/lib/pipeline/run.js.map +1 -1
- package/lib/pipeline/sources-spec.js +19 -3
- package/lib/pipeline/sources-spec.js.map +1 -1
- package/lib/providers/builtin.js +3 -0
- package/lib/providers/builtin.js.map +1 -1
- package/lib/providers/deepseek.js +348 -0
- package/lib/providers/deepseek.js.map +1 -0
- package/lib/providers/http.js.map +1 -1
- package/lib/providers/keyed-meta.js +7 -0
- package/lib/providers/keyed-meta.js.map +1 -1
- package/lib/providers/platforms.js +18 -17
- package/lib/providers/platforms.js.map +1 -1
- package/lib/providers/registry.js.map +1 -1
- package/lib/restart.js +47 -0
- package/lib/restart.js.map +1 -0
- package/lib/router.js +145 -26
- package/lib/router.js.map +1 -1
- package/lib/rpc-types.js +15 -0
- package/lib/rpc-types.js.map +1 -0
- package/lib/rpc.js +118 -0
- package/lib/rpc.js.map +1 -0
- package/lib/tools.js +10 -4
- package/lib/tools.js.map +1 -1
- package/lib/types/actions/approval.d.ts +11 -0
- package/lib/types/actions/config.d.ts +54 -0
- package/lib/types/actions/format.d.ts +9 -2
- package/lib/types/actions/run.d.ts +1 -0
- package/lib/types/actions/schema.d.ts +7 -1
- package/lib/types/actions/sources.d.ts +29 -3
- package/lib/types/actions/types.d.ts +28 -2
- package/lib/types/browser-access.d.ts +17 -0
- package/lib/types/catalog/recommend.d.ts +4 -0
- package/lib/types/catalog/schema.d.ts +2 -0
- package/lib/types/cli/builtin-specs.d.ts +11 -3
- package/lib/types/cli/chains-spec.d.ts +12 -3
- package/lib/types/cli/engine.d.ts +10 -3
- package/lib/types/cli/opencli-sites.d.ts +24 -0
- package/lib/types/cli/opencli.d.ts +42 -3
- package/lib/types/cli/runner.d.ts +47 -8
- package/lib/types/cli/spec.d.ts +101 -8
- package/lib/types/cli/time-text.d.ts +12 -0
- package/lib/types/cli/trial.d.ts +19 -0
- package/lib/types/client/SettingsCard.d.ts +17 -1
- package/lib/types/client/agent-mark.d.ts +22 -0
- package/lib/types/client/card-frame.d.ts +35 -0
- package/lib/types/client/cli-form.d.ts +97 -0
- package/lib/types/client/field-docs.d.ts +15 -0
- package/lib/types/client/field-keys.d.ts +41 -0
- package/lib/types/client/field-rows.d.ts +70 -0
- package/lib/types/client/fill.d.ts +2 -0
- package/lib/types/client/form-specs.d.ts +12 -3
- package/lib/types/client/form.d.ts +79 -1
- package/lib/types/client/group-advanced.d.ts +9 -0
- package/lib/types/client/group-agent.d.ts +20 -0
- package/lib/types/client/group-cli.d.ts +52 -0
- package/lib/types/client/group-common.d.ts +12 -0
- package/lib/types/client/group-judge.d.ts +17 -0
- package/lib/types/client/group-order.d.ts +26 -0
- package/lib/types/client/group-runtime.d.ts +15 -0
- package/lib/types/client/group-sources.d.ts +46 -0
- package/lib/types/client/groups-basic.d.ts +18 -0
- package/lib/types/client/index.d.ts +8 -0
- package/lib/types/client/json-list.d.ts +21 -0
- package/lib/types/client/locales.d.ts +1079 -200
- package/lib/types/client/order.d.ts +102 -0
- package/lib/types/client/overlay-ops.d.ts +37 -0
- package/lib/types/client/styles.d.ts +56 -41
- package/lib/types/client/text-view.d.ts +22 -0
- package/lib/types/client/ui-kit.d.ts +200 -0
- package/lib/types/config-fillers.d.ts +9 -0
- package/lib/types/config-groups.d.ts +23 -0
- package/lib/types/config.d.ts +263 -225
- package/lib/types/default-chain.d.ts +63 -0
- package/lib/types/engines.d.ts +29 -1
- package/lib/types/fetch.d.ts +12 -3
- package/lib/types/fiber-config.d.ts +18 -0
- package/lib/types/index.d.ts +164 -150
- package/lib/types/overlay-types.d.ts +98 -0
- package/lib/types/overlay.d.ts +141 -0
- package/lib/types/pipeline/candidates.d.ts +17 -0
- package/lib/types/pipeline/compile.d.ts +11 -0
- package/lib/types/pipeline/confidence.d.ts +35 -0
- package/lib/types/pipeline/fusion.d.ts +23 -1
- package/lib/types/pipeline/render.d.ts +16 -0
- package/lib/types/pipeline/run.d.ts +2 -1
- package/lib/types/pipeline/sources-spec.d.ts +5 -2
- package/lib/types/pipeline/types.d.ts +37 -0
- package/lib/types/providers/deepseek.d.ts +130 -0
- package/lib/types/providers/http.d.ts +2 -1
- package/lib/types/providers/keyed-meta.d.ts +5 -0
- package/lib/types/providers/registry.d.ts +7 -0
- package/lib/types/restart.d.ts +52 -0
- package/lib/types/router.d.ts +57 -10
- package/lib/types/rpc-types.d.ts +79 -0
- package/lib/types/rpc.d.ts +74 -0
- package/lib/types/tools.d.ts +6 -0
- package/lib/types/util.d.ts +10 -0
- package/lib/util.js +10 -1
- package/lib/util.js.map +1 -1
- package/package.json +53 -44
- package/scripts/check-client-bundle.mjs +1 -1
- package/scripts/check-docs-links.mjs +107 -0
- package/scripts/cli-login-check.mjs +214 -0
- package/LOGIN.md +0 -161
- package/lib/client/RubricEditor.js +0 -47
- package/lib/client/RubricEditor.js.map +0 -1
- package/lib/client/fields.js +0 -31
- package/lib/client/fields.js.map +0 -1
- package/lib/types/client/RubricEditor.d.ts +0 -6
- package/lib/types/client/fields.d.ts +0 -65
package/lib/cli/runner.js
CHANGED
|
@@ -9,7 +9,8 @@ import os from 'node:os';
|
|
|
9
9
|
import path from 'node:path';
|
|
10
10
|
import { capText, htmlDecode, jsYaml, runCli, stripTags } from "../util.js";
|
|
11
11
|
import { EngineError } from "../engine-error.js";
|
|
12
|
-
import {
|
|
12
|
+
import { normalizeTimeText } from "./time-text.js";
|
|
13
|
+
import { searchSpecFor, WHOLE_OUTPUT_DEFAULT_CHARS, WHOLE_OUTPUT_SCHEME, } from "./spec.js";
|
|
13
14
|
/** A structured failure of a CLI adapter: `code` is one of {@link CliErrorCode}; `hint` says what the user can do. */
|
|
14
15
|
export class CliAdapterError extends EngineError {
|
|
15
16
|
hint;
|
|
@@ -28,11 +29,19 @@ const BASE_ENV = [
|
|
|
28
29
|
];
|
|
29
30
|
/** UTF-8 for Python tools (the Windows console otherwise answers in the system code page; dev issue #28). */
|
|
30
31
|
const UTF8_ENV = { PYTHONUTF8: '1', PYTHONIOENCODING: 'utf-8' };
|
|
32
|
+
/**
|
|
33
|
+
* A NO_PROXY list with its IPv6 entries written without brackets (`[::1]` / `[::1]:8080` -> `::1`). Python's httpx (omnireach, and
|
|
34
|
+
* any tool built on it) refuses a bracketed entry with "Invalid port: ':1]'" and the whole search fails; the DSH Host sets
|
|
35
|
+
* `NO_PROXY` with `[::1]`, which a plain terminal does not (found live 2026-10-26). Every tool that takes NO_PROXY accepts the bare form.
|
|
36
|
+
*/
|
|
37
|
+
export function normalizeNoProxy(list) {
|
|
38
|
+
return list.split(',').map(entry => entry.trim().replace(/^\[([0-9a-fA-F:.]+)\](?::\d+)?$/, '$1')).filter(entry => entry.length > 0).join(',');
|
|
39
|
+
}
|
|
31
40
|
/** The environment a spec's command runs with: the base set, what the spec lists, and the fixed UTF-8 / `env.set` values. */
|
|
32
41
|
export function buildCliEnv(spec, source = process.env) {
|
|
33
42
|
const out = {};
|
|
34
43
|
const take = (name) => { const value = source[name]; if (value !== undefined)
|
|
35
|
-
out[name] = value; };
|
|
44
|
+
out[name] = name === 'NO_PROXY' || name === 'no_proxy' ? normalizeNoProxy(value) : value; };
|
|
36
45
|
for (const name of BASE_ENV)
|
|
37
46
|
take(name);
|
|
38
47
|
for (const name of spec.env.required ?? [])
|
|
@@ -59,12 +68,21 @@ export function savedLoginPresent(spec, opts = {}) {
|
|
|
59
68
|
} });
|
|
60
69
|
return files.some(file => exists(path.join(home, file.replace(/^~\//, ''))));
|
|
61
70
|
}
|
|
71
|
+
/** Credential variables the plugin also resolves from its own settings / DSH credentials (config literal -> credentials ref -> environment). */
|
|
72
|
+
export const SETTINGS_BACKED_ENV = { TWITTER_AUTH_TOKEN: 'twitterAuthToken', TWITTER_CT0: 'twitterCt0' };
|
|
62
73
|
/** What the user must do to log in: the tool's own command run by them, or the environment variables they set. Never run by the plugin. */
|
|
63
74
|
export function loginHint(spec) {
|
|
75
|
+
const required = spec.env.required ?? [];
|
|
76
|
+
// A Host process does not read a shell profile, so say where the values are looked up.
|
|
77
|
+
const where = required.length && required.every(name => SETTINGS_BACKED_ENV[name])
|
|
78
|
+
? 'in DSH credentials (plugin settings ' + required.map(name => SETTINGS_BACKED_ENV[name]).join(' / ') + ') or in the Host process environment; a shell profile alone is not enough'
|
|
79
|
+
: 'in the Host process environment (a shell profile alone is not enough)';
|
|
80
|
+
if (spec.login?.hint)
|
|
81
|
+
return spec.login.hint + (required.length ? ' (or set ' + required.join(' / ') + ' ' + where + ')' : '');
|
|
64
82
|
if (spec.login?.command)
|
|
65
|
-
return 'run `' + spec.login.command + '` yourself' + (
|
|
66
|
-
if (
|
|
67
|
-
return 'set ' +
|
|
83
|
+
return 'run `' + spec.login.command + '` yourself' + (required.length ? ' (or set ' + required.join(' / ') + ' ' + where + ')' : '');
|
|
84
|
+
if (required.length)
|
|
85
|
+
return 'set ' + required.join(' / ') + ' ' + where;
|
|
68
86
|
return 'run `' + spec.bins[0] + ' login` yourself';
|
|
69
87
|
}
|
|
70
88
|
// ── output → sources ────────────────────────────────────────────────────────
|
|
@@ -72,7 +90,11 @@ const isObject = (v) => v !== null && typeof v === 'object' && !Array.isArray(v)
|
|
|
72
90
|
export function getPath(root, dotted) {
|
|
73
91
|
let node = root;
|
|
74
92
|
for (const key of dotted.split('.')) {
|
|
75
|
-
|
|
93
|
+
// `field=value` picks the first element of an array whose field is that value (compared as text).
|
|
94
|
+
const pick = /^([^=]+)=(.+)$/.exec(key);
|
|
95
|
+
if (pick && Array.isArray(node))
|
|
96
|
+
node = node.find(entry => isObject(entry) && String(entry[pick[1]]) === pick[2]);
|
|
97
|
+
else if (Array.isArray(node))
|
|
76
98
|
node = node[Number(key)];
|
|
77
99
|
else if (isObject(node))
|
|
78
100
|
node = node[key];
|
|
@@ -88,7 +110,14 @@ function asText(value, empty) {
|
|
|
88
110
|
}
|
|
89
111
|
return undefined;
|
|
90
112
|
}
|
|
91
|
-
function joinPart(part, item, empty) {
|
|
113
|
+
function joinPart(part, item, empty, now) {
|
|
114
|
+
if (typeof part === 'object' && 'template' in part)
|
|
115
|
+
return fillTemplate(part, item, empty);
|
|
116
|
+
if (typeof part === 'object' && 'time' in part) {
|
|
117
|
+
const raw = asText(getPath(item, part.time), empty);
|
|
118
|
+
const text = raw === undefined ? undefined : normalizeTimeText(raw, now);
|
|
119
|
+
return text === undefined ? undefined : (part.prefix ?? '') + text + (part.suffix ?? '');
|
|
120
|
+
}
|
|
92
121
|
const p = typeof part === 'string' ? { path: part } : part;
|
|
93
122
|
const text = asText(getPath(item, p.path), empty);
|
|
94
123
|
return text === undefined ? undefined : (p.prefix ?? '') + text + (p.suffix ?? '');
|
|
@@ -101,7 +130,7 @@ function fillTemplate(source, item, empty) {
|
|
|
101
130
|
missing = true; return v ?? ''; });
|
|
102
131
|
return missing ? undefined : text;
|
|
103
132
|
}
|
|
104
|
-
export function resolveField(source, item, empty = new Set()) {
|
|
133
|
+
export function resolveField(source, item, empty = new Set(), now = Date.now()) {
|
|
105
134
|
if (source === undefined)
|
|
106
135
|
return undefined;
|
|
107
136
|
if (typeof source === 'string')
|
|
@@ -123,8 +152,12 @@ export function resolveField(source, item, empty = new Set()) {
|
|
|
123
152
|
}
|
|
124
153
|
if ('date' in source)
|
|
125
154
|
return asText(getPath(item, source.date), empty)?.slice(0, 10);
|
|
155
|
+
if ('time' in source) {
|
|
156
|
+
const raw = asText(getPath(item, source.time), empty);
|
|
157
|
+
return raw === undefined ? undefined : normalizeTimeText(raw, now);
|
|
158
|
+
}
|
|
126
159
|
const joined = source;
|
|
127
|
-
const parts = joined.join.map(part => joinPart(part, item, empty)).filter((v) => v !== undefined);
|
|
160
|
+
const parts = joined.join.map(part => joinPart(part, item, empty, now)).filter((v) => v !== undefined);
|
|
128
161
|
return parts.length ? parts.join(joined.sep ?? ' | ') : undefined;
|
|
129
162
|
}
|
|
130
163
|
function firstArray(value) {
|
|
@@ -144,6 +177,28 @@ function firstArray(value) {
|
|
|
144
177
|
}
|
|
145
178
|
/** The label of a spec in messages (`bili`). */
|
|
146
179
|
const labelOf = (spec) => spec.bins[0];
|
|
180
|
+
/** A title that is only a YAML-style field name (`profileImageUrl:`). */
|
|
181
|
+
const KEY_LABEL = /^[A-Za-z_][\w.-]*:$/;
|
|
182
|
+
const YAML_LINE = /^\s*(- )?[A-Za-z_][\w.-]*:(\s|$)/;
|
|
183
|
+
/**
|
|
184
|
+
* Whether the whole stdout of a text-mode command is a JSON object / array or a YAML mapping / sequence document: the tool then
|
|
185
|
+
* printed a structured format the text parsers must not guess at (twitter-cli prints YAML when piped, issue #38).
|
|
186
|
+
*/
|
|
187
|
+
export function structuredKind(text) {
|
|
188
|
+
const trimmed = text.trim();
|
|
189
|
+
if (/^[[{]/.test(trimmed)) {
|
|
190
|
+
try {
|
|
191
|
+
const value = JSON.parse(trimmed);
|
|
192
|
+
if (value !== null && typeof value === 'object')
|
|
193
|
+
return 'JSON';
|
|
194
|
+
}
|
|
195
|
+
catch { /* not JSON */ }
|
|
196
|
+
}
|
|
197
|
+
const lines = trimmed.split(/\r?\n/).filter(line => line.trim() && !/^\s*#/.test(line));
|
|
198
|
+
if (lines.length >= 3 && lines.filter(line => YAML_LINE.test(line)).length * 2 > lines.length)
|
|
199
|
+
return 'YAML';
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
147
202
|
/**
|
|
148
203
|
* Parse a tool's stdout into the items its output spec describes. A broken payload is CLI_CONTRACT_MISMATCH (the tool is not
|
|
149
204
|
* what the spec says); a payload that says it failed (`expect` not met) is CLI_FAILED with the tool's own message.
|
|
@@ -152,6 +207,10 @@ export function parseCliItems(spec, output, stdout) {
|
|
|
152
207
|
const label = labelOf(spec);
|
|
153
208
|
const text = stdout.replace(/^/, '');
|
|
154
209
|
if (output.format === 'text') {
|
|
210
|
+
const structured = structuredKind(text);
|
|
211
|
+
if (structured) {
|
|
212
|
+
throw new CliAdapterError(label + ' printed ' + structured + ' output, but this adapter reads plain text lines: use format json / yaml with the tool\'s explicit output flag instead', 'CLI_CONTRACT_MISMATCH', 'the tool\'s default output differs from what the adapter parses (a tool often prints YAML or JSON when piped): ask it for json explicitly, e.g. --json');
|
|
213
|
+
}
|
|
155
214
|
const lines = text.split(/\r?\n/);
|
|
156
215
|
if (output.lines?.mode === 'url-lines') {
|
|
157
216
|
const items = [];
|
|
@@ -160,14 +219,19 @@ export function parseCliItems(spec, output, stdout) {
|
|
|
160
219
|
if (!m)
|
|
161
220
|
continue;
|
|
162
221
|
const title = stripTags(line).replace(m[1], '').trim();
|
|
163
|
-
|
|
222
|
+
// A bare `key:` label is a field name of a structured dump, not a result.
|
|
223
|
+
if (title && !KEY_LABEL.test(title))
|
|
164
224
|
items.push({ url: m[1], title });
|
|
165
225
|
}
|
|
166
226
|
return items;
|
|
167
227
|
}
|
|
168
228
|
const columns = output.lines?.mode === 'tsv' ? output.lines.columns : [];
|
|
169
|
-
|
|
229
|
+
// A record has at least two cells; a notice or progress line on stdout (no tab) is not one.
|
|
230
|
+
return lines.filter(line => line.includes('\t')).map(line => Object.fromEntries(line.split('\t').map((cell, index) => [columns[index] ?? 'c' + index, cell])));
|
|
170
231
|
}
|
|
232
|
+
// A web page where data was expected (a login wall, a risk-control or captcha page, a proxy error page): the site did not answer with data.
|
|
233
|
+
if ((output.format === 'json' || output.format === 'yaml') && /^\s*<(?:!doctype|html|head|body|\?xml)/i.test(text))
|
|
234
|
+
throw blockedPageError(label, 'it printed a web page (HTML)');
|
|
171
235
|
let parsed;
|
|
172
236
|
if (output.format === 'ndjson') {
|
|
173
237
|
const rows = [];
|
|
@@ -212,6 +276,70 @@ export function parseCliItems(spec, output, stdout) {
|
|
|
212
276
|
throw new CliAdapterError(label + ' output has no result list' + (output.itemsPath ? ' at ' + output.itemsPath : ''), 'CLI_CONTRACT_MISMATCH', 'the installed ' + label + ' does not match this adapter: check `sources.deps`');
|
|
213
277
|
return items;
|
|
214
278
|
}
|
|
279
|
+
const BLOCKED_TEXT = 'the site returned a web page instead of data, or blocked the request (站点返回了网页而不是数据,可能是风控、IP 被拦或需要登录)';
|
|
280
|
+
const BLOCKED_HINT = 'open the site in your own Chrome and check that it loads and you are logged in, without a verification page; a proxied or shared IP address is often blocked: try another network exit or retry later, or use the next backend of the chain (platformBackends)';
|
|
281
|
+
/** The failure for a web page or a block where data was expected: said as such, with what the user can check. */
|
|
282
|
+
function blockedPageError(label, detail) {
|
|
283
|
+
return new CliAdapterError(label + ': ' + BLOCKED_TEXT + '; ' + detail, 'CLI_FAILED', BLOCKED_HINT, true);
|
|
284
|
+
}
|
|
285
|
+
/** The failure payload (`ok: false`, `error: { code, message }`) a tool prints on stderr or stdout: JSON, or a YAML document after any notices. */
|
|
286
|
+
export function parseFailurePayload(text) {
|
|
287
|
+
const trimmed = text.trim();
|
|
288
|
+
if (!trimmed)
|
|
289
|
+
return undefined;
|
|
290
|
+
if (trimmed.startsWith('{')) {
|
|
291
|
+
try {
|
|
292
|
+
return JSON.parse(trimmed);
|
|
293
|
+
}
|
|
294
|
+
catch {
|
|
295
|
+
return undefined;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
const start = /^ok:\s*false\s*$/m.exec(trimmed);
|
|
299
|
+
if (!start)
|
|
300
|
+
return undefined;
|
|
301
|
+
// The document ends at the first blank line (an update notice or a hint can follow it).
|
|
302
|
+
const block = trimmed.slice(start.index).split(/\r?\n\s*\r?\n/)[0];
|
|
303
|
+
try {
|
|
304
|
+
const parsed = jsYaml.load(block);
|
|
305
|
+
return isObject(parsed) ? parsed : undefined;
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
return undefined;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* A failed command run (non-zero exit) as the structured error its own code and message call for, or undefined when the
|
|
313
|
+
* spec lists no codes or the output carries nothing readable (the generic handling then applies).
|
|
314
|
+
*/
|
|
315
|
+
export function mapToolFailure(codes, result, spec, redact = text => text) {
|
|
316
|
+
if (!codes)
|
|
317
|
+
return undefined;
|
|
318
|
+
const label = labelOf(spec);
|
|
319
|
+
const payload = parseFailurePayload(result.stderr) ?? parseFailurePayload(result.stdout);
|
|
320
|
+
const code = payload === undefined ? undefined : asText(getPath(payload, codes.codePath), new Set());
|
|
321
|
+
const message = payload === undefined || !codes.messagePath ? undefined : asText(getPath(payload, codes.messagePath), new Set());
|
|
322
|
+
const shown = message ? redact(capText(message, 200)) : undefined;
|
|
323
|
+
const has = (list) => code !== undefined && !!list?.includes(code);
|
|
324
|
+
const notLoggedIn = () => new CliAdapterError(label + ' is not logged in' + (shown ? ': ' + shown : ''), 'CLI_NOT_LOGGED_IN', loginHint(spec));
|
|
325
|
+
if (has(codes.notLoggedIn))
|
|
326
|
+
return notLoggedIn();
|
|
327
|
+
if (has(codes.empty))
|
|
328
|
+
return new EngineError(label + ' returned no results', 'ENGINE_EMPTY', false);
|
|
329
|
+
if (has(codes.blocked) || (message !== undefined && includesAny(message, codes.blockedPatterns)))
|
|
330
|
+
return blockedPageError(label, (code ? code + ': ' : '') + (shown ?? 'no message'));
|
|
331
|
+
if (has(codes.unavailable))
|
|
332
|
+
return new CliAdapterError(label + ' could not reach its browser: ' + (shown ?? code), 'CLI_FAILED', 'check that the browser the tool drives is running and its bridge / extension is connected (opencli: OpenCLI Browser Bridge in your own Chrome; `opencli doctor` checks it)', false);
|
|
333
|
+
if (has(codes.timeout))
|
|
334
|
+
return new EngineError(label + ' timed out' + (shown ? ': ' + shown : ''), 'ENGINE_TIMEOUT', true);
|
|
335
|
+
if (has(codes.usage))
|
|
336
|
+
return new CliAdapterError(label + ' rejected the command arguments of this adapter: ' + (shown ?? code), 'CLI_CONTRACT_MISMATCH', 'the installed ' + label + ' does not match this adapter: check `sources.deps`');
|
|
337
|
+
if (code === undefined && codes.notLoggedInExit?.includes(result.code))
|
|
338
|
+
return notLoggedIn();
|
|
339
|
+
if (code !== undefined || shown !== undefined)
|
|
340
|
+
return new CliAdapterError(label + ' search failed: ' + (code ? '[' + code + '] ' : '') + (shown ?? 'no message'), 'CLI_FAILED', undefined, true);
|
|
341
|
+
return undefined;
|
|
342
|
+
}
|
|
215
343
|
/** The tool's own error text from a parsed json / yaml payload (`errorPaths`), when it carries one. */
|
|
216
344
|
export function payloadError(output, stdout) {
|
|
217
345
|
if (!output.errorPaths?.length || (output.format !== 'json' && output.format !== 'yaml'))
|
|
@@ -235,7 +363,7 @@ export function stripMarkup(input) {
|
|
|
235
363
|
* Map parsed items to sources by the output spec: http(s) URLs only, snippets and titles capped, tags stripped when asked.
|
|
236
364
|
* `skipped` counts the items (objects) that had no usable link, so the caller can say so instead of silently returning fewer.
|
|
237
365
|
*/
|
|
238
|
-
export function mapCliItemsDetailed(output, items, count) {
|
|
366
|
+
export function mapCliItemsDetailed(output, items, count, now = Date.now()) {
|
|
239
367
|
const empty = new Set(output.emptyValues ?? []);
|
|
240
368
|
const clean = (text) => (text === undefined ? undefined : output.stripTags ? stripMarkup(text) : text);
|
|
241
369
|
const sources = [];
|
|
@@ -243,17 +371,21 @@ export function mapCliItemsDetailed(output, items, count) {
|
|
|
243
371
|
for (const item of items) {
|
|
244
372
|
if (!isObject(item))
|
|
245
373
|
continue;
|
|
246
|
-
|
|
374
|
+
if (output.skipWhen && getPath(item, output.skipWhen.path) === output.skipWhen.equals)
|
|
375
|
+
continue;
|
|
376
|
+
const fields = output.fields ?? {};
|
|
377
|
+
const url = resolveField(fields.url, item, empty, now);
|
|
247
378
|
if (!url || !/^https?:\/\//i.test(url)) {
|
|
248
379
|
skipped++;
|
|
249
380
|
continue;
|
|
250
381
|
}
|
|
251
|
-
|
|
382
|
+
// A title is one line: a multi-line body (a tweet) is folded.
|
|
383
|
+
const rawTitle = clean(resolveField(fields.title, item, empty, now))?.replace(/\s+/g, ' ').trim();
|
|
252
384
|
const title = rawTitle ? capText(rawTitle, output.titleMax ?? 300) : undefined;
|
|
253
385
|
if (output.requireTitle && !title)
|
|
254
386
|
continue;
|
|
255
|
-
const snippet = clean(resolveField(
|
|
256
|
-
const publishedAt = resolveField(
|
|
387
|
+
const snippet = clean(resolveField(fields.snippet, item, empty, now));
|
|
388
|
+
const publishedAt = resolveField(fields.publishedAt, item, empty, now);
|
|
257
389
|
sources.push({
|
|
258
390
|
url,
|
|
259
391
|
...title ? { title } : {},
|
|
@@ -265,23 +397,68 @@ export function mapCliItemsDetailed(output, items, count) {
|
|
|
265
397
|
}
|
|
266
398
|
return { sources, skipped };
|
|
267
399
|
}
|
|
268
|
-
export function mapCliItems(output, items, count) {
|
|
269
|
-
return mapCliItemsDetailed(output, items, count).sources;
|
|
400
|
+
export function mapCliItems(output, items, count, now) {
|
|
401
|
+
return mapCliItemsDetailed(output, items, count, now).sources;
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* The result of a `lines: { mode: 'whole' }` command: the whole stdout as ONE source. The text is cut at `maxChars` with a note that
|
|
405
|
+
* says how much was shown; the title is "<id>: <query>"; the link is the stand-in `cli://<id>?q=<query>` (it is no web page, so the
|
|
406
|
+
* evidence pipeline lists it but never fetches it). Undefined when the tool printed nothing.
|
|
407
|
+
*/
|
|
408
|
+
export function wholeOutputSource(spec, output, query, stdout) {
|
|
409
|
+
const text = stdout.replace(/^\uFEFF/, '').replace(/\r\n?/g, '\n').trim();
|
|
410
|
+
if (!text)
|
|
411
|
+
return undefined;
|
|
412
|
+
const max = output.lines?.mode === 'whole' ? output.lines.maxChars ?? WHOLE_OUTPUT_DEFAULT_CHARS : WHOLE_OUTPUT_DEFAULT_CHARS;
|
|
413
|
+
const shown = text.length > max ? text.slice(0, max).trimEnd() + '\n… [truncated: ' + max + ' of ' + text.length + ' characters shown]' : text;
|
|
414
|
+
const shortQuery = query.replace(/\s+/g, ' ').trim();
|
|
415
|
+
return { url: WHOLE_OUTPUT_SCHEME + spec.id + '?q=' + encodeURIComponent(shortQuery.slice(0, 200)), title: capText(spec.id + ': ' + shortQuery, 300), snippet: shown };
|
|
270
416
|
}
|
|
271
417
|
/** Parse and map in one go (what the fixtures tests call). */
|
|
272
|
-
export function parseCliOutput(spec, search, stdout, count = 20) {
|
|
273
|
-
return mapCliItems(search.output, parseCliItems(spec, search.output, stdout), count);
|
|
418
|
+
export function parseCliOutput(spec, search, stdout, count = 20, now) {
|
|
419
|
+
return mapCliItems(search.output, parseCliItems(spec, search.output, stdout), count, now);
|
|
274
420
|
}
|
|
275
421
|
// ── argv ────────────────────────────────────────────────────────────────────
|
|
276
|
-
/**
|
|
422
|
+
/** Largest number of words `{terms}` expands to (more are folded into the last one). */
|
|
423
|
+
const MAX_TERMS = 16;
|
|
424
|
+
/** Split a query into words; double quotes keep a phrase in one word (`a "b c" d` -> `a`, `b c`, `d`) and are dropped. */
|
|
425
|
+
export function splitTerms(query) {
|
|
426
|
+
const terms = [];
|
|
427
|
+
let current = '';
|
|
428
|
+
let quoted = false;
|
|
429
|
+
for (const ch of query) {
|
|
430
|
+
if (ch === '"')
|
|
431
|
+
quoted = !quoted;
|
|
432
|
+
else if (!quoted && /\s/.test(ch)) {
|
|
433
|
+
if (current)
|
|
434
|
+
terms.push(current);
|
|
435
|
+
current = '';
|
|
436
|
+
}
|
|
437
|
+
else
|
|
438
|
+
current += ch;
|
|
439
|
+
}
|
|
440
|
+
if (current)
|
|
441
|
+
terms.push(current);
|
|
442
|
+
return terms.length > MAX_TERMS ? [...terms.slice(0, MAX_TERMS - 1), terms.slice(MAX_TERMS - 1).join(' ')] : terms;
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* Fill the placeholders of an argv template. A value that would read as a flag gets a leading space (the tool then takes it as the query)
|
|
446
|
+
* unless a `--` precedes it. A `{terms}` token becomes one token per word of the query.
|
|
447
|
+
*/
|
|
277
448
|
export function buildArgv(search, input) {
|
|
278
|
-
|
|
449
|
+
// The tool is asked for `overfetch` more than the count; the mapper cuts back to the count.
|
|
450
|
+
const count = Math.min(Math.max(Math.trunc(input.count) || 1, 1), search.maxCount ?? 50) + (search.overfetch ?? 0);
|
|
279
451
|
const dashdash = (index) => search.argv.slice(0, index).includes('--');
|
|
280
|
-
|
|
452
|
+
const guard = (value, index) => (value.startsWith('-') && !dashdash(index) ? ' ' + value : value);
|
|
453
|
+
return search.argv.flatMap((token, index) => {
|
|
281
454
|
const withCount = token.replace(/\{count\}/g, () => String(count));
|
|
455
|
+
if (withCount === '{terms}') {
|
|
456
|
+
const terms = splitTerms(input.query);
|
|
457
|
+
return (terms.length ? terms : [input.query]).map(term => guard(term, index));
|
|
458
|
+
}
|
|
282
459
|
if (withCount === '{query}' || withCount === '{url}')
|
|
283
|
-
return input.query
|
|
284
|
-
return withCount.replace(/\{(?:query|url)\}/g, () => input.query);
|
|
460
|
+
return [guard(input.query, index)];
|
|
461
|
+
return [withCount.replace(/\{(?:query|url)\}/g, () => input.query)];
|
|
285
462
|
});
|
|
286
463
|
}
|
|
287
464
|
function redactor(spec, source) {
|
|
@@ -329,6 +506,7 @@ export async function runCliSearchDetailed(spec, input, options = {}) {
|
|
|
329
506
|
});
|
|
330
507
|
if (input.signal?.aborted)
|
|
331
508
|
throw input.signal.reason ?? new DOMException('This operation was aborted', 'AbortError');
|
|
509
|
+
options.observe?.({ code: result.code, stdout: redact(result.stdout), stderr: redact(result.stderr) });
|
|
332
510
|
if (result.spawnFailed || (result.code === -1 && !result.timedOut && !result.stderr.trim() && !result.stdout.trim())) {
|
|
333
511
|
throw new CliAdapterError('the ' + label + ' command could not be started: install it (' + spec.packageNote + ')', 'CLI_NOT_FOUND', 'install: ' + spec.packageNote);
|
|
334
512
|
}
|
|
@@ -339,17 +517,29 @@ export async function runCliSearchDetailed(spec, input, options = {}) {
|
|
|
339
517
|
const combined = result.stderr + '\n' + result.stdout;
|
|
340
518
|
const notLoggedIn = () => new CliAdapterError(label + ' is not logged in', 'CLI_NOT_LOGGED_IN', loginHint(spec));
|
|
341
519
|
if (result.code !== 0) {
|
|
520
|
+
// The tool's own error code, when the spec knows its failure format.
|
|
521
|
+
const mapped = mapToolFailure(search.errorCodes, result, spec, redact);
|
|
522
|
+
if (mapped)
|
|
523
|
+
throw mapped;
|
|
342
524
|
if (includesAny(combined, search.notLoggedInPatterns))
|
|
343
525
|
throw notLoggedIn();
|
|
344
526
|
if (includesAny(combined, search.emptyWhen))
|
|
345
527
|
throw new EngineError(label + ' returned no results', 'ENGINE_EMPTY', false);
|
|
346
|
-
|
|
528
|
+
// A tool that answers failures in its machine-readable format (`{ ok: false, error: { message } }`) is quoted by that message, not by the raw payload.
|
|
529
|
+
const own = payloadError(search.output, result.stdout);
|
|
530
|
+
throw new CliAdapterError(label + ' ' + operation + ' failed: ' + redact(capText((own ?? (result.stderr.trim() || result.stdout.trim() || 'exit ' + result.code)), 200)), 'CLI_FAILED', undefined, true);
|
|
347
531
|
}
|
|
348
532
|
let sources;
|
|
349
533
|
let skipped = 0;
|
|
534
|
+
if (search.output.lines?.mode === 'whole') {
|
|
535
|
+
const whole = wholeOutputSource(spec, search.output, input.query, redact(result.stdout));
|
|
536
|
+
if (!whole || includesAny(result.stdout, search.emptyWhen))
|
|
537
|
+
throw new EngineError(label + ' returned no results' + (whole ? '' : ' (it printed nothing)'), 'ENGINE_EMPTY', false);
|
|
538
|
+
return { sources: [whole], skipped: 0 };
|
|
539
|
+
}
|
|
350
540
|
try {
|
|
351
541
|
const items = parseCliItems(spec, search.output, result.stdout);
|
|
352
|
-
({ sources, skipped } = mapCliItemsDetailed(search.output, items, Math.min(Math.max(Math.trunc(input.count) || 1, 1), search.maxCount ?? input.count)));
|
|
542
|
+
({ sources, skipped } = mapCliItemsDetailed(search.output, items, Math.min(Math.max(Math.trunc(input.count) || 1, 1), search.maxCount ?? input.count), options.now));
|
|
353
543
|
}
|
|
354
544
|
catch (error) {
|
|
355
545
|
if (error instanceof CliAdapterError && error.code === 'CLI_FAILED' && includesAny(combined, search.notLoggedInPatterns))
|
package/lib/cli/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"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"}
|