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
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The settings that are read once, when the plugin starts. Almost every field of `Config` is live (the Host updates the entry's
|
|
3
|
+
* configuration in place and every call reads it through `dynamic()`), but these few are applied while the plugin is mounted:
|
|
4
|
+
* a database opened, a tool registered, a cache sized, a deadline fixed. The Host lets them be edited (they are volatile in
|
|
5
|
+
* the schema), so without a marker the edit looks like it was ignored until the next restart.
|
|
6
|
+
*
|
|
7
|
+
* One constant lists them; the settings card marks them, the save bar says so when a save touches one, and `sources.status` /
|
|
8
|
+
* `config.inspect` report "待重启" when the configured value differs from the one the running plugin started with. Pure and
|
|
9
|
+
* free of imports: the client bundle includes this file.
|
|
10
|
+
* @module web-search-pro/restart
|
|
11
|
+
*/
|
|
12
|
+
export interface PendingRestart {
|
|
13
|
+
field: string;
|
|
14
|
+
/** The value in force: what the plugin started with. */
|
|
15
|
+
running: string;
|
|
16
|
+
/** The value the configuration holds now. */
|
|
17
|
+
configured: string;
|
|
18
|
+
}
|
|
19
|
+
/** Why each field is read at start-up only (shown in the docs and the card's `?` text). */
|
|
20
|
+
export declare const RESTART_FIELDS: {
|
|
21
|
+
readonly toolSurface: "the tools (web_index + web_call, or one tool per action) are registered at start-up";
|
|
22
|
+
readonly 'playwright.snapshotDir': "the snapshot folder of read.snapshot is resolved at start-up";
|
|
23
|
+
readonly providerId: "the id of the ctx.web provider is given to the Host at registration";
|
|
24
|
+
readonly registerProvider: "the ctx.web provider is registered at start-up";
|
|
25
|
+
readonly timeoutMs: "the per-action deadlines and the Host tool ceiling are fixed at start-up (the cooperative time budget of a search reads it live)";
|
|
26
|
+
readonly memoryCacheEntries: "the in-process LRU cache is sized at start-up";
|
|
27
|
+
readonly dbPath: "the SQLite store and the overlay file are opened at start-up";
|
|
28
|
+
readonly verbose: "the load marker is written at start-up";
|
|
29
|
+
};
|
|
30
|
+
export type RestartField = keyof typeof RESTART_FIELDS;
|
|
31
|
+
/** The field names, in the order of the configuration groups (config-groups.ts). */
|
|
32
|
+
export declare const RESTART_FIELD_LIST: RestartField[];
|
|
33
|
+
export declare const isRestartField: (field: string) => field is RestartField;
|
|
34
|
+
/** The slice of the resolved configuration the restart check reads. */
|
|
35
|
+
export interface RestartSource {
|
|
36
|
+
dbPath: string;
|
|
37
|
+
toolSurface: string;
|
|
38
|
+
registerProvider: boolean;
|
|
39
|
+
providerId: string;
|
|
40
|
+
verbose: boolean;
|
|
41
|
+
memoryCacheEntries: number;
|
|
42
|
+
timeoutMs: number;
|
|
43
|
+
playwright: {
|
|
44
|
+
snapshotDir?: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/** The values of the restart fields as short text, from a resolved configuration. */
|
|
48
|
+
export declare function restartValues(config: RestartSource): Record<RestartField, string>;
|
|
49
|
+
/** The restart fields whose configured value differs from the one the running plugin started with. */
|
|
50
|
+
export declare function pendingRestart(mounted: Readonly<Record<RestartField, string>>, current: Readonly<Record<RestartField, string>>): PendingRestart[];
|
|
51
|
+
/** `待重启:toolSurface(当前生效 indexed,配置为 flat)`, one line per field. */
|
|
52
|
+
export declare function pendingRestartLine(entry: PendingRestart): string;
|
package/lib/types/router.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { Context } from '@deepseek-ai/cordis';
|
|
|
7
7
|
import type { WebSearchRequest, WebSearchResult } from '@deepseek-ai/dsh-web';
|
|
8
8
|
import type { Store } from './store.ts';
|
|
9
9
|
import type { ResolvedConfig } from './config.ts';
|
|
10
|
-
import { type EngineSearchOptions } from './engines.ts';
|
|
10
|
+
import { type EngineSearchOptions, type UsageRecorder } from './engines.ts';
|
|
11
11
|
import type { ChainEntryReport, ChainReport } from './cli/chain.ts';
|
|
12
12
|
import { type CostTier, type ProviderDescriptor, type Readiness, type ProviderRegistry } from './providers/index.ts';
|
|
13
13
|
import { type RequestBudgetState } from './pipeline/ledger.ts';
|
|
@@ -47,14 +47,19 @@ export interface PlatformRequest {
|
|
|
47
47
|
authProfile?: string;
|
|
48
48
|
rulePack?: string;
|
|
49
49
|
}
|
|
50
|
+
/** A result row as the router returns it; `via`, `confidence` and `tag` appear for custom CLIs and for sources with a confidence below 1. */
|
|
51
|
+
export type RouterSource = {
|
|
52
|
+
url: string;
|
|
53
|
+
title?: string;
|
|
54
|
+
snippet?: string;
|
|
55
|
+
publishedAt?: string;
|
|
56
|
+
via?: string;
|
|
57
|
+
confidence?: number;
|
|
58
|
+
tag?: string;
|
|
59
|
+
};
|
|
50
60
|
export interface RouterSearchResult {
|
|
51
61
|
content?: string;
|
|
52
|
-
sources:
|
|
53
|
-
url: string;
|
|
54
|
-
title?: string;
|
|
55
|
-
snippet?: string;
|
|
56
|
-
publishedAt?: string;
|
|
57
|
-
}[];
|
|
62
|
+
sources: RouterSource[];
|
|
58
63
|
engine: string;
|
|
59
64
|
enginesTried: string[];
|
|
60
65
|
fromCache: boolean;
|
|
@@ -95,8 +100,14 @@ export interface ProviderReport {
|
|
|
95
100
|
budget?: RequestBudgetState;
|
|
96
101
|
/** Not verified against the live service (descriptor.verification). */
|
|
97
102
|
unverified?: boolean;
|
|
103
|
+
/** "常用": the plugin's recommended source (descriptor.common). With a resolved key it leads the default order. */
|
|
104
|
+
common?: boolean;
|
|
105
|
+
/** Confidence (0..1) of what this source returns: 1 for a built-in source unless `sources.confidence` says otherwise; a custom CLI has its spec's. */
|
|
106
|
+
confidence: number;
|
|
98
107
|
/** Platforms with an ordered backend chain: each backend, in order, with its readiness or the reason it is skipped. */
|
|
99
|
-
chain?: ChainEntryReport
|
|
108
|
+
chain?: (ChainEntryReport & {
|
|
109
|
+
confidence: number;
|
|
110
|
+
})[];
|
|
100
111
|
readiness: Readiness & {
|
|
101
112
|
state?: ChainReport['state'];
|
|
102
113
|
lastLocalCheck: string;
|
|
@@ -124,6 +135,8 @@ export declare class SearchRouter {
|
|
|
124
135
|
/** User-defined CLI adapters (settings `cliAdapters`) this router registered as `custom-cli:<id>` platforms, with the diagnostics of the entries it ignored. */
|
|
125
136
|
private readonly customCli;
|
|
126
137
|
private cliAdapterDiagnostics;
|
|
138
|
+
/** Confidence of each registered custom CLI by route id (its spec's, default 0.5), rebuilt with the registrations. */
|
|
139
|
+
private customConfidence;
|
|
127
140
|
/** Latest local probe per route id (read by providerStatuses for the credential dimension). */
|
|
128
141
|
private readonly readiness;
|
|
129
142
|
/** Last real call per route id: feeds the health dimension (never inferred from a local probe). */
|
|
@@ -152,10 +165,27 @@ export declare class SearchRouter {
|
|
|
152
165
|
private bindingsOf;
|
|
153
166
|
private probeEnv;
|
|
154
167
|
/**
|
|
155
|
-
* The configured `engines` list with the user's `sources.*`
|
|
156
|
-
*
|
|
168
|
+
* The default engine order for a search that names no `engines`: the configured `engines` list with the user's `sources.*`
|
|
169
|
+
* preferences applied, then the default rule for "常用" (common) sources.
|
|
170
|
+
* 1. an explicit `engines` of a call never comes through here;
|
|
171
|
+
* 2. `sources.disabled` ids are removed, `sources.priority` ids that are in the list move to the front in their listed order;
|
|
172
|
+
* 3. a common source (DeepSeek Search) whose key resolves leads what is left, while `engines` is still the default list (a
|
|
173
|
+
* list the user wrote is theirs: it keeps its order, and a common source in it keeps the position given). `sources.disabled`
|
|
174
|
+
* and `evidence.sourcePolicy: anonymous-only` switch it off.
|
|
157
175
|
*/
|
|
158
176
|
private preferred;
|
|
177
|
+
/** Route ids of the common ("常用") sources that are ready to run now (key resolved), best `priority` first. */
|
|
178
|
+
private commonReady;
|
|
179
|
+
/**
|
|
180
|
+
* Key and endpoint of the DeepSeek Fetch API for the fetch pipeline, or undefined when no key resolves (settings literal ->
|
|
181
|
+
* DSH credentials ref -> process environment, the same order as the search side). Resolved per call; the key is never cached.
|
|
182
|
+
*/
|
|
183
|
+
deepseekAccess(): Promise<{
|
|
184
|
+
apiKey: string;
|
|
185
|
+
baseUrl?: string;
|
|
186
|
+
allowProxyFakeIp: boolean;
|
|
187
|
+
usage: UsageRecorder;
|
|
188
|
+
} | undefined>;
|
|
159
189
|
/** Alias / full id -> route id; ids the registry does not know are kept as written (the backend then reports them unknown). */
|
|
160
190
|
private canonicalIds;
|
|
161
191
|
backendDiagnostics(cliAvailability?: ReadonlyMap<string, boolean>): Promise<BackendDiagnostic[]>;
|
|
@@ -176,6 +206,13 @@ export declare class SearchRouter {
|
|
|
176
206
|
runProvider(call: ProviderCall, opts?: {
|
|
177
207
|
skipSeam?: boolean;
|
|
178
208
|
}): Promise<ProviderOutcome>;
|
|
209
|
+
/**
|
|
210
|
+
* The credential variables of the CLI adapters under the names the tools read, each resolved like the plugin's other secrets:
|
|
211
|
+
* settings literal -> DSH credentials ref (`twitterAuthTokenEnv`) -> process environment. Values only ever reach a command's environment.
|
|
212
|
+
*/
|
|
213
|
+
cliEnv(): Promise<Record<string, string>>;
|
|
214
|
+
/** Sync twin of {@link cliEnv} for `available()` checks: settings literal and process environment only. */
|
|
215
|
+
private cliEnvSync;
|
|
179
216
|
/** Resolve a key through credentials first, then process env. */
|
|
180
217
|
private resolveKey;
|
|
181
218
|
private deps;
|
|
@@ -194,6 +231,16 @@ export declare class SearchRouter {
|
|
|
194
231
|
requestBudgetOf(route: string): RequestBudgetState | undefined;
|
|
195
232
|
/** Problems of the `sources.*` settings (unknown ids, bad numbers), for `sources.status`. */
|
|
196
233
|
sourceDiagnostics(): string[];
|
|
234
|
+
/** The confidence of one platform backend as a leg of a chain (`xhs`, `custom-cli:echo`): its own, without the provider's. */
|
|
235
|
+
backendConfidenceOf(id: string): number;
|
|
236
|
+
/** `sources.confidence` by canonical id (a provider's route id; a platform backend id as written), valid entries only. */
|
|
237
|
+
private confidenceOverrides;
|
|
238
|
+
/**
|
|
239
|
+
* The confidence (0..1) of what `route` returned, through `backend` when it is a platform chain: `sources.confidence` of the
|
|
240
|
+
* provider times that of the backend that answered, each defaulting to the custom CLI's own (spec `confidence`, 0.5) and to 1
|
|
241
|
+
* for every built-in source, so the built-in ones are 1 unless the user set something.
|
|
242
|
+
*/
|
|
243
|
+
confidenceOf(route: string, backend?: string): number;
|
|
197
244
|
/** Counts a metered, non-model request (Bocha search) in the usage ledger; best effort, never throws into the search. */
|
|
198
245
|
private usageRecorder;
|
|
199
246
|
/** Whether any configured engine is currently usable. */
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The private RPC channel between the settings card and the running plugin: the shapes it carries. Free of runtime imports (the card
|
|
3
|
+
* bundle includes this file); the server half is src/rpc.ts. The calls:
|
|
4
|
+
* - `status`: what the plugin can tell about each source and backend right now (installed, ready, why not), from the same local probes
|
|
5
|
+
* as `sources.status`; never a search, never a login;
|
|
6
|
+
* - `trial`: runs ONE search of a custom CLI spec that is still a draft in the dialog, the way a real search would run it (probe, then the
|
|
7
|
+
* spec's command through the same runner and the same read-only guard), and reports what it parsed and what the tool said;
|
|
8
|
+
* - `overlay`: what the agent overlay holds (the settings an agent changed with `config.*`) and its newest audit entries;
|
|
9
|
+
* - `overlay.revoke`: drop overlay entries (one or several keys, or all), as the user: the card's "Revoke" and the second half of
|
|
10
|
+
* "Adopt" (the card writes the value into the profile first, then asks the plugin to drop the entry). Audited with actor `user`.
|
|
11
|
+
* @module web-search-pro/rpc-types
|
|
12
|
+
*/
|
|
13
|
+
import type { OverlayView } from './overlay-types.ts';
|
|
14
|
+
import type { PendingRestart } from './restart.ts';
|
|
15
|
+
/** The channel prefix this plugin registers with the Host transport (Browser registers `/dsh-browser-assets` the same way). */
|
|
16
|
+
export declare const RPC_CHANNEL = "/dsh-web-search-pro";
|
|
17
|
+
/** `status`: readiness by source route id and by the backend legs of each platform chain (`<platform>/<backend>`). */
|
|
18
|
+
export interface StatusView {
|
|
19
|
+
sources: Record<string, {
|
|
20
|
+
available: boolean;
|
|
21
|
+
reason?: string;
|
|
22
|
+
confidence: number;
|
|
23
|
+
}>;
|
|
24
|
+
legs: Record<string, {
|
|
25
|
+
ready: boolean;
|
|
26
|
+
reason?: string;
|
|
27
|
+
confidence: number;
|
|
28
|
+
}>;
|
|
29
|
+
/** Settings the configuration holds that the running plugin only reads at start-up (the card shows "restart the plugin"). */
|
|
30
|
+
pendingRestart?: PendingRestart[];
|
|
31
|
+
/** The agent overlay in one line: how many keys it overrides and whether it is being ignored. */
|
|
32
|
+
overlay?: {
|
|
33
|
+
revision: number;
|
|
34
|
+
count: number;
|
|
35
|
+
valid: boolean;
|
|
36
|
+
problem?: string;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export type { OverlayView, PendingRestart };
|
|
40
|
+
/** `overlay.revoke`: the keys to drop (`OverlayItem.key`), or `'all'`; `adopted` says the value was first written into the configuration. */
|
|
41
|
+
export interface RevokeRequest {
|
|
42
|
+
keys: string[] | 'all';
|
|
43
|
+
adopted?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface TrialRequest {
|
|
46
|
+
/** The key of the entry (`cliAdapters.<id>`). */
|
|
47
|
+
id: string;
|
|
48
|
+
/** The spec as the dialog has it now (validated by the server with the rule every spec goes through). */
|
|
49
|
+
spec: unknown;
|
|
50
|
+
/** The sample query; the dialog proposes one. */
|
|
51
|
+
query: string;
|
|
52
|
+
}
|
|
53
|
+
/** What a trial found: the first results (as the runner mapped them) and the tool's own words, or the stage it stopped at and why. */
|
|
54
|
+
export type TrialResult = {
|
|
55
|
+
ok: true;
|
|
56
|
+
stage: 'search';
|
|
57
|
+
probe: {
|
|
58
|
+
version?: string;
|
|
59
|
+
path?: string;
|
|
60
|
+
};
|
|
61
|
+
sources: {
|
|
62
|
+
url: string;
|
|
63
|
+
title?: string;
|
|
64
|
+
snippet?: string;
|
|
65
|
+
publishedAt?: string;
|
|
66
|
+
}[];
|
|
67
|
+
total: number;
|
|
68
|
+
raw: string;
|
|
69
|
+
elapsedMs: number;
|
|
70
|
+
} | {
|
|
71
|
+
ok: false;
|
|
72
|
+
stage: 'disabled' | 'validate' | 'probe' | 'search';
|
|
73
|
+
message: string;
|
|
74
|
+
errors?: string[];
|
|
75
|
+
code?: string;
|
|
76
|
+
hint?: string;
|
|
77
|
+
raw?: string;
|
|
78
|
+
elapsedMs?: number;
|
|
79
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The server half of the private RPC channel of the settings card (see rpc-types.ts). It uses the Host's connection transport the
|
|
3
|
+
* way the dsh-browser plugin does for its panel (`connection.rpc.handle`, an authenticated absolute channel prefix); when the Host
|
|
4
|
+
* has no `connection` / `webServer` service nothing is registered and the card says that "Try it" and the live readiness are
|
|
5
|
+
* unavailable (everything else in the card works without them).
|
|
6
|
+
* @module web-search-pro/rpc
|
|
7
|
+
*/
|
|
8
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
9
|
+
import type { ResolvedConfig } from './config.ts';
|
|
10
|
+
import type { SearchRouter } from './router.ts';
|
|
11
|
+
import type { OverlayStore } from './overlay.ts';
|
|
12
|
+
import type { PendingRestart } from './restart.ts';
|
|
13
|
+
import { type StatusView } from './rpc-types.ts';
|
|
14
|
+
type Handler = (endpoint: string, payload: unknown, context?: {
|
|
15
|
+
signal?: AbortSignal;
|
|
16
|
+
}) => Promise<{
|
|
17
|
+
ok: true;
|
|
18
|
+
value: unknown;
|
|
19
|
+
} | {
|
|
20
|
+
ok: false;
|
|
21
|
+
error: {
|
|
22
|
+
code: 'bad-request' | 'not-found';
|
|
23
|
+
message: string;
|
|
24
|
+
details: Record<string, unknown>;
|
|
25
|
+
};
|
|
26
|
+
}>;
|
|
27
|
+
export interface RpcServices {
|
|
28
|
+
router: Pick<SearchRouter, 'providerReport'>;
|
|
29
|
+
dynamic: () => ResolvedConfig;
|
|
30
|
+
/** The agent overlay (read and revoke endpoints); absent in tests of the older endpoints. */
|
|
31
|
+
overlay?: OverlayStore;
|
|
32
|
+
/** Settings changed in the configuration that only take effect at the next start. */
|
|
33
|
+
pendingRestart?: () => PendingRestart[];
|
|
34
|
+
}
|
|
35
|
+
/** Readiness for the card, from the report `sources.status` is made of (local probes; never a search). */
|
|
36
|
+
export declare function statusView(router: Pick<SearchRouter, 'providerReport'>, extras?: Pick<RpcServices, 'overlay' | 'pendingRestart'>): Promise<StatusView>;
|
|
37
|
+
/** The handler of the channel: `status` and `trial`. A failure is a value (`ok: false`), never a throw into the transport. */
|
|
38
|
+
export declare function createHandler(services: RpcServices): Handler;
|
|
39
|
+
/** The part of the Host's `connection` service used here. */
|
|
40
|
+
export interface ConnectionRegistrar {
|
|
41
|
+
rpc: {
|
|
42
|
+
handle(channel: string, handler: Handler): () => Promise<void>;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/** The part of a cordis Context used to reach the Host's connection transport. */
|
|
46
|
+
export interface ChannelContext {
|
|
47
|
+
get(name: 'webServer'): unknown;
|
|
48
|
+
extend(meta: {
|
|
49
|
+
webServer: unknown;
|
|
50
|
+
}): {
|
|
51
|
+
connection: ConnectionRegistrar;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Mount the channel and return its disposer.
|
|
56
|
+
*
|
|
57
|
+
* `connection.rpc.handle` mounts the Web route with `owner.webServer`, where `owner` is the Context the `rpc` getter captured
|
|
58
|
+
* (`this.ctx`; packages/client/connection/src/rpc-host.ts:274 in the Host). Under cordis 4.1 (DSH 0.2.2) a service property read is
|
|
59
|
+
* checked against the `inject` list of the Context that DEFINED the service, i.e. the Connection plugin, which does not list `webServer`,
|
|
60
|
+
* so the call throws `cannot get property "webServer" without inject` for every external plugin (cordis 4.0.x did not check). The throw
|
|
61
|
+
* happened inside an inject callback and was never reported: the channel stayed unmounted and the settings card got HTTP 405.
|
|
62
|
+
*
|
|
63
|
+
* The public-API way around it (found by @shuaigekda in anweat/dsh-browser#49): read the service through a derived context that carries
|
|
64
|
+
* the dependency this plugin did inject as its own property, `ctx.extend({ webServer: ctx.get('webServer') })`. `Context.extend` defines
|
|
65
|
+
* those properties directly on the child, so the `rpc` getter captures the child as `owner` and `owner.webServer` resolves as an own
|
|
66
|
+
* property, without the inject check. Same route, same transport and authentication; no private Host method. It is used on every Host
|
|
67
|
+
* (on cordis 4.0.x the own property is simply redundant). Reading `connection` from `ctx.root` or from `ctx` itself does not help.
|
|
68
|
+
*/
|
|
69
|
+
export declare function openChannel(connectionCtx: ChannelContext, handler: Handler): () => Promise<void>;
|
|
70
|
+
/** The one console line for a channel that could not be mounted (exported for the test). */
|
|
71
|
+
export declare function channelFailureMessage(error: unknown): string;
|
|
72
|
+
/** Register the channel when the Host has the transport; the effect unregisters it with the plugin. */
|
|
73
|
+
export declare function registerRpc(ctx: Context, services: RpcServices): void;
|
|
74
|
+
export {};
|
package/lib/types/tools.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ import type { BrowserService } from './browser-service.ts';
|
|
|
22
22
|
import type { ResolvedConfig, ToolSurface } from './config.ts';
|
|
23
23
|
import { EvidenceService } from './pipeline/service.ts';
|
|
24
24
|
import type { ProviderState } from './provider.ts';
|
|
25
|
+
import type { OverlayStore } from './overlay.ts';
|
|
26
|
+
import type { PendingRestart } from './restart.ts';
|
|
25
27
|
export interface ToolDeps {
|
|
26
28
|
ctx: Context;
|
|
27
29
|
config: ResolvedConfig;
|
|
@@ -40,5 +42,9 @@ export interface ToolDeps {
|
|
|
40
42
|
providerState?: () => ProviderState;
|
|
41
43
|
/** Whether the `dsh-web-search-pro` skill is currently registered; read at call time. */
|
|
42
44
|
skillAvailable?: () => boolean;
|
|
45
|
+
/** The agent overlay behind the `config.*` actions. */
|
|
46
|
+
overlay?: OverlayStore;
|
|
47
|
+
/** Settings changed in the configuration that only take effect at the next start. */
|
|
48
|
+
pendingRestart?: () => PendingRestart[];
|
|
43
49
|
}
|
|
44
50
|
export declare function registerTools(deps: ToolDeps): void;
|
package/lib/types/util.d.ts
CHANGED
|
@@ -111,10 +111,20 @@ export declare function shapeSources(sources: readonly {
|
|
|
111
111
|
snippet?: string | null;
|
|
112
112
|
publishedAt?: string | null;
|
|
113
113
|
lowConfidence?: boolean;
|
|
114
|
+
rerankScore?: number | null;
|
|
115
|
+
authority?: number | null;
|
|
116
|
+
via?: string | null;
|
|
117
|
+
tag?: string | null;
|
|
118
|
+
confidence?: number | null;
|
|
114
119
|
}[], count: number): {
|
|
115
120
|
url: string;
|
|
116
121
|
title?: string;
|
|
117
122
|
snippet?: string;
|
|
118
123
|
publishedAt?: string;
|
|
124
|
+
rerankScore?: number;
|
|
125
|
+
authority?: number;
|
|
119
126
|
lowConfidence?: true;
|
|
127
|
+
via?: string;
|
|
128
|
+
confidence?: number;
|
|
129
|
+
tag?: string;
|
|
120
130
|
}[];
|
package/lib/util.js
CHANGED
|
@@ -11,6 +11,7 @@ import path from 'node:path';
|
|
|
11
11
|
import crossSpawn from 'cross-spawn';
|
|
12
12
|
import { load as yamlLoad } from 'js-yaml';
|
|
13
13
|
import { parse as parseHtml } from 'node-html-parser';
|
|
14
|
+
import { WHOLE_OUTPUT_SCHEME } from "./cli/spec.js";
|
|
14
15
|
import { assertResolvedPublicUrl, readBoundedBody, stripSensitiveHeadersForRedirect } from "./safe-http.js";
|
|
15
16
|
/** js-yaml parser (npm dep). */
|
|
16
17
|
export const jsYaml = { load: (input) => yamlLoad(input) };
|
|
@@ -285,9 +286,17 @@ export function shapeSources(sources, count) {
|
|
|
285
286
|
return sources.slice(0, count).map(s => ({
|
|
286
287
|
url: s.url,
|
|
287
288
|
...s.title ? { title: s.title } : {},
|
|
288
|
-
|
|
289
|
+
// A whole-output result (`cli://`) was already cut by the runner, with a note saying so: the generic cap would only cut it again.
|
|
290
|
+
...s.snippet ? { snippet: s.url.startsWith(WHOLE_OUTPUT_SCHEME) ? s.snippet : capText(s.snippet, SNIPPET_MAX_CHARS) } : {},
|
|
289
291
|
...s.publishedAt ? { publishedAt: s.publishedAt } : {},
|
|
292
|
+
// The provider's own quality grade (DeepSeek Search), as source metadata.
|
|
293
|
+
...typeof s.rerankScore === 'number' && Number.isFinite(s.rerankScore) ? { rerankScore: Math.round(s.rerankScore * 100) / 100 } : {},
|
|
294
|
+
...typeof s.authority === 'number' && Number.isFinite(s.authority) && s.authority >= 0 ? { authority: s.authority } : {},
|
|
290
295
|
...s.lowConfidence ? { lowConfidence: true } : {},
|
|
296
|
+
// Which user-defined CLI returned the row, how far the source is trusted (below 1 only) and the honest label.
|
|
297
|
+
...s.via ? { via: s.via } : {},
|
|
298
|
+
...typeof s.confidence === 'number' && Number.isFinite(s.confidence) && s.confidence < 1 ? { confidence: Math.round(Math.max(s.confidence, 0) * 10_000) / 10_000 } : {},
|
|
299
|
+
...s.tag ? { tag: s.tag } : {},
|
|
291
300
|
}));
|
|
292
301
|
}
|
|
293
302
|
//# sourceMappingURL=util.js.map
|
package/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-web-search-pro",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "Enhanced, persistent web search plugin for DeepSeek Harness — multi-engine routing (DeepSeek/Exa/DDG/Bing/Jina + GitHub/B站/YouTube/V2EX/小红书/Twitter/Reddit/RSS), SQLite+LRU cache, userscript-style extraction, and Playwright rendering.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"catalog",
|
|
25
25
|
"cordis.patch.yml",
|
|
26
26
|
"README.md",
|
|
27
|
+
"README.en.md",
|
|
27
28
|
"CHANGELOG.md",
|
|
28
|
-
"LOGIN.md",
|
|
29
29
|
"scripts",
|
|
30
30
|
"LICENSE"
|
|
31
31
|
],
|
|
@@ -34,18 +34,19 @@
|
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@anweat/dsh-browser": "^0.2.0",
|
|
37
|
-
"@deepseek-ai/cordis": "4.0.4",
|
|
38
|
-
"@deepseek-ai/dsh-api-remotes": ">=0.2.0-rc.2 <0.2.1-0",
|
|
39
|
-
"@deepseek-ai/dsh-client-locale": ">=0.2.0-rc.2 <0.2.1-0",
|
|
40
|
-
"@deepseek-ai/dsh-client-store": ">=0.2.0-rc.2 <0.2.1-0",
|
|
41
|
-
"@deepseek-ai/dsh-client-ui-
|
|
42
|
-
"@deepseek-ai/dsh-client-ui-
|
|
43
|
-
"@deepseek-ai/dsh-client-ui-
|
|
44
|
-
"@deepseek-ai/dsh-client-ui-
|
|
45
|
-
"@deepseek-ai/dsh-
|
|
46
|
-
"@deepseek-ai/dsh-
|
|
47
|
-
"@deepseek-ai/dsh-
|
|
48
|
-
"@deepseek-ai/
|
|
37
|
+
"@deepseek-ai/cordis": "~4.0.4 || ~4.1.0",
|
|
38
|
+
"@deepseek-ai/dsh-api-remotes": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
39
|
+
"@deepseek-ai/dsh-client-locale": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
40
|
+
"@deepseek-ai/dsh-client-store": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
41
|
+
"@deepseek-ai/dsh-client-ui-primitives": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
42
|
+
"@deepseek-ai/dsh-client-ui-renderer": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
43
|
+
"@deepseek-ai/dsh-client-ui-settings": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
44
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
45
|
+
"@deepseek-ai/dsh-client-ui-slots": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
46
|
+
"@deepseek-ai/dsh-credentials": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
47
|
+
"@deepseek-ai/dsh-settings": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
48
|
+
"@deepseek-ai/dsh-tools": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
|
|
49
|
+
"@deepseek-ai/schemastery": "^3.18.5"
|
|
49
50
|
},
|
|
50
51
|
"peerDependenciesMeta": {
|
|
51
52
|
"@anweat/dsh-browser": {
|
|
@@ -60,6 +61,9 @@
|
|
|
60
61
|
"@deepseek-ai/dsh-client-store": {
|
|
61
62
|
"optional": true
|
|
62
63
|
},
|
|
64
|
+
"@deepseek-ai/dsh-client-ui-primitives": {
|
|
65
|
+
"optional": true
|
|
66
|
+
},
|
|
63
67
|
"@deepseek-ai/dsh-client-ui-renderer": {
|
|
64
68
|
"optional": true
|
|
65
69
|
},
|
|
@@ -94,35 +98,38 @@
|
|
|
94
98
|
"node-html-parser": "^9.0.4"
|
|
95
99
|
},
|
|
96
100
|
"devDependencies": {
|
|
97
|
-
"@anweat/dsh-browser": "0.2.
|
|
98
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
99
|
-
"@deepseek-ai/cordis-plugin-group": "1.0.
|
|
100
|
-
"@deepseek-ai/cordis-plugin-include": "1.0.
|
|
101
|
-
"@deepseek-ai/cosmokit": "~1.8.
|
|
102
|
-
"@deepseek-ai/dsh-agent": "0.2.
|
|
103
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.
|
|
104
|
-
"@deepseek-ai/dsh-app-boot": "0.2.
|
|
105
|
-
"@deepseek-ai/dsh-client-locale": "0.2.
|
|
106
|
-
"@deepseek-ai/dsh-client-store": "0.2.
|
|
107
|
-
"@deepseek-ai/dsh-client-ui-
|
|
108
|
-
"@deepseek-ai/dsh-client-ui-
|
|
109
|
-
"@deepseek-ai/dsh-client-ui-
|
|
110
|
-
"@deepseek-ai/dsh-client-ui-
|
|
111
|
-
"@deepseek-ai/dsh-
|
|
112
|
-
"@deepseek-ai/dsh-
|
|
113
|
-
"@deepseek-ai/dsh-
|
|
114
|
-
"@deepseek-ai/dsh-launch-environment": "0.2.
|
|
115
|
-
"@deepseek-ai/dsh-
|
|
116
|
-
"@deepseek-ai/dsh-
|
|
117
|
-
"@deepseek-ai/dsh-sandbox
|
|
118
|
-
"@deepseek-ai/dsh-
|
|
119
|
-
"@deepseek-ai/dsh-
|
|
120
|
-
"@deepseek-ai/dsh-
|
|
121
|
-
"@deepseek-ai/dsh-
|
|
122
|
-
"@deepseek-ai/dsh-
|
|
123
|
-
"@deepseek-ai/dsh-
|
|
124
|
-
"@deepseek-ai/dsh-
|
|
125
|
-
"@deepseek-ai/
|
|
101
|
+
"@anweat/dsh-browser": "0.2.1",
|
|
102
|
+
"@deepseek-ai/cordis": "^4.0.5",
|
|
103
|
+
"@deepseek-ai/cordis-plugin-group": "1.0.5",
|
|
104
|
+
"@deepseek-ai/cordis-plugin-include": "1.0.10",
|
|
105
|
+
"@deepseek-ai/cosmokit": "~1.8.6",
|
|
106
|
+
"@deepseek-ai/dsh-agent": "0.2.1-rc.3",
|
|
107
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.1-rc.3",
|
|
108
|
+
"@deepseek-ai/dsh-app-boot": "0.2.1-rc.3",
|
|
109
|
+
"@deepseek-ai/dsh-client-locale": "0.2.1-rc.3",
|
|
110
|
+
"@deepseek-ai/dsh-client-store": "0.2.1-rc.3",
|
|
111
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.1-rc.3",
|
|
112
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-rc.3",
|
|
113
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.2.1-rc.3",
|
|
114
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.1-rc.3",
|
|
115
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.1-rc.3",
|
|
116
|
+
"@deepseek-ai/dsh-credentials": "0.2.1-rc.3",
|
|
117
|
+
"@deepseek-ai/dsh-home-paths": "0.2.1-rc.3",
|
|
118
|
+
"@deepseek-ai/dsh-launch-environment": "0.2.1-rc.3",
|
|
119
|
+
"@deepseek-ai/dsh-llm": "0.2.1-rc.3",
|
|
120
|
+
"@deepseek-ai/dsh-ptc-runtime": "0.2.1-rc.3",
|
|
121
|
+
"@deepseek-ai/dsh-sandbox": "0.2.1-rc.3",
|
|
122
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.3",
|
|
123
|
+
"@deepseek-ai/dsh-scope": "0.2.1-rc.3",
|
|
124
|
+
"@deepseek-ai/dsh-session": "0.2.1-rc.3",
|
|
125
|
+
"@deepseek-ai/dsh-session-projection": "0.2.1-rc.3",
|
|
126
|
+
"@deepseek-ai/dsh-settings": "0.2.1-rc.3",
|
|
127
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.1-rc.3",
|
|
128
|
+
"@deepseek-ai/dsh-tools": "0.2.1-rc.3",
|
|
129
|
+
"@deepseek-ai/dsh-user-approval": "0.2.1-rc.3",
|
|
130
|
+
"@deepseek-ai/dsh-web": "0.2.1-rc.3",
|
|
131
|
+
"@deepseek-ai/dsh-working-directory": "0.2.1-rc.3",
|
|
132
|
+
"@deepseek-ai/schemastery": "^3.18.5",
|
|
126
133
|
"@types/js-yaml": "^4.0.9",
|
|
127
134
|
"@types/node": "^22.0.0",
|
|
128
135
|
"@types/react": "~18.3.1",
|
|
@@ -162,8 +169,10 @@
|
|
|
162
169
|
"build": "node scripts/clean-lib.mjs && tsc -p tsconfig.json && tsdown",
|
|
163
170
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
164
171
|
"test": "node --import ./test/isolate-path.mjs --test --experimental-transform-types test/*.test.ts",
|
|
172
|
+
"test:live-cli": "WSP_LIVE_CLI=1 node --import ./test/isolate-path.mjs --test --experimental-transform-types test/cli-live.test.ts",
|
|
165
173
|
"test:client-bundle": "node scripts/check-client-bundle.mjs",
|
|
166
|
-
"
|
|
174
|
+
"check:docs": "node scripts/check-docs-links.mjs",
|
|
175
|
+
"verify": "pnpm run typecheck && pnpm run test:peers && pnpm run build && pnpm test && pnpm run test:client-bundle && pnpm run check:docs",
|
|
167
176
|
"test:peers": "node test/compat/check-peer-ranges.js",
|
|
168
177
|
"bench:typecheck": "tsc -p bench/tsconfig.json",
|
|
169
178
|
"bench:test": "node --test --experimental-transform-types bench/test/*.test.ts",
|
|
@@ -6,7 +6,7 @@ const sourceMap = JSON.parse(await readFile(new URL('../lib/client.js.map', impo
|
|
|
6
6
|
const imports = [...source.matchAll(/\brequire\((['"])([^'"]+)\1\)/g)].map(match => match[2])
|
|
7
7
|
const allowed = new Set([
|
|
8
8
|
'react', 'react/jsx-runtime', 'react-dom', 'react-dom/client',
|
|
9
|
-
'@deepseek-ai/cordis', '@deepseek-ai/dsh-client-store', '@deepseek-ai/dsh-client-ui-slots',
|
|
9
|
+
'@deepseek-ai/cordis', '@deepseek-ai/dsh-client-store', '@deepseek-ai/dsh-client-ui-slots', '@deepseek-ai/dsh-client-ui-primitives',
|
|
10
10
|
])
|
|
11
11
|
const forbidden = [...new Set(imports.filter(id => !allowed.has(id)))].sort()
|
|
12
12
|
|