dsh-web-search-pro 0.2.1 → 0.2.3

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 (258) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/README.md +154 -58
  3. package/assets/skills/dsh-web-search-pro/SKILL.md +13 -12
  4. package/assets/skills/dsh-web-search-pro/references/config.md +36 -0
  5. package/assets/skills/dsh-web-search-pro/references/sources.md +13 -7
  6. package/assets/skills/dsh-web-search-pro/references/troubleshooting.md +3 -1
  7. package/catalog/sources.v1.json +16 -14
  8. package/lib/actions/approval.js +50 -1
  9. package/lib/actions/approval.js.map +1 -1
  10. package/lib/actions/config.js +274 -0
  11. package/lib/actions/config.js.map +1 -0
  12. package/lib/actions/errors.js +8 -1
  13. package/lib/actions/errors.js.map +1 -1
  14. package/lib/actions/format.js +10 -0
  15. package/lib/actions/format.js.map +1 -1
  16. package/lib/actions/index-view.js +2 -2
  17. package/lib/actions/index-view.js.map +1 -1
  18. package/lib/actions/read.js +7 -3
  19. package/lib/actions/read.js.map +1 -1
  20. package/lib/actions/registry.js +3 -1
  21. package/lib/actions/registry.js.map +1 -1
  22. package/lib/actions/run.js +2 -2
  23. package/lib/actions/run.js.map +1 -1
  24. package/lib/actions/schema.js +18 -0
  25. package/lib/actions/schema.js.map +1 -1
  26. package/lib/actions/search.js +7 -2
  27. package/lib/actions/search.js.map +1 -1
  28. package/lib/actions/sources.js +76 -18
  29. package/lib/actions/sources.js.map +1 -1
  30. package/lib/actions/types.js +19 -1
  31. package/lib/actions/types.js.map +1 -1
  32. package/lib/browser-access.js +25 -0
  33. package/lib/browser-access.js.map +1 -1
  34. package/lib/catalog/recommend.js +11 -3
  35. package/lib/catalog/recommend.js.map +1 -1
  36. package/lib/catalog/schema.js +3 -1
  37. package/lib/catalog/schema.js.map +1 -1
  38. package/lib/cli/builtin-specs.js +57 -22
  39. package/lib/cli/builtin-specs.js.map +1 -1
  40. package/lib/cli/chain.js +13 -12
  41. package/lib/cli/chain.js.map +1 -1
  42. package/lib/cli/chains-spec.js +31 -11
  43. package/lib/cli/chains-spec.js.map +1 -1
  44. package/lib/cli/engine.js +19 -3
  45. package/lib/cli/engine.js.map +1 -1
  46. package/lib/cli/opencli-sites.js +83 -0
  47. package/lib/cli/opencli-sites.js.map +1 -0
  48. package/lib/cli/opencli.js +65 -17
  49. package/lib/cli/opencli.js.map +1 -1
  50. package/lib/cli/probe.js +1 -1
  51. package/lib/cli/probe.js.map +1 -1
  52. package/lib/cli/runner.js +217 -27
  53. package/lib/cli/runner.js.map +1 -1
  54. package/lib/cli/spec.js +100 -20
  55. package/lib/cli/spec.js.map +1 -1
  56. package/lib/cli/time-text.js +79 -0
  57. package/lib/cli/time-text.js.map +1 -0
  58. package/lib/cli/trial.js +57 -0
  59. package/lib/cli/trial.js.map +1 -0
  60. package/lib/client/SettingsCard.js +14 -32
  61. package/lib/client/SettingsCard.js.map +1 -1
  62. package/lib/client/agent-mark.js +27 -0
  63. package/lib/client/agent-mark.js.map +1 -0
  64. package/lib/client/card-frame.js +118 -0
  65. package/lib/client/card-frame.js.map +1 -0
  66. package/lib/client/cli-form.js +257 -0
  67. package/lib/client/cli-form.js.map +1 -0
  68. package/lib/client/field-docs.js +130 -0
  69. package/lib/client/field-docs.js.map +1 -0
  70. package/lib/client/field-keys.js +81 -0
  71. package/lib/client/field-keys.js.map +1 -0
  72. package/lib/client/field-rows.js +71 -0
  73. package/lib/client/field-rows.js.map +1 -0
  74. package/lib/client/fill.js +3 -0
  75. package/lib/client/fill.js.map +1 -0
  76. package/lib/client/form-specs.js +13 -1
  77. package/lib/client/form-specs.js.map +1 -1
  78. package/lib/client/form.js +282 -24
  79. package/lib/client/form.js.map +1 -1
  80. package/lib/client/group-advanced.js +23 -0
  81. package/lib/client/group-advanced.js.map +1 -0
  82. package/lib/client/group-agent.js +28 -0
  83. package/lib/client/group-agent.js.map +1 -0
  84. package/lib/client/group-cli.js +136 -0
  85. package/lib/client/group-cli.js.map +1 -0
  86. package/lib/client/group-common.js +29 -0
  87. package/lib/client/group-common.js.map +1 -0
  88. package/lib/client/group-judge.js +67 -0
  89. package/lib/client/group-judge.js.map +1 -0
  90. package/lib/client/group-order.js +201 -0
  91. package/lib/client/group-order.js.map +1 -0
  92. package/lib/client/group-runtime.js +33 -0
  93. package/lib/client/group-runtime.js.map +1 -0
  94. package/lib/client/group-sources.js +83 -0
  95. package/lib/client/group-sources.js.map +1 -0
  96. package/lib/client/groups-basic.js +36 -0
  97. package/lib/client/groups-basic.js.map +1 -0
  98. package/lib/client/index.js.map +1 -1
  99. package/lib/client/json-list.js +50 -0
  100. package/lib/client/json-list.js.map +1 -0
  101. package/lib/client/locales.js +666 -219
  102. package/lib/client/locales.js.map +1 -1
  103. package/lib/client/order.js +192 -0
  104. package/lib/client/order.js.map +1 -0
  105. package/lib/client/overlay-ops.js +46 -0
  106. package/lib/client/overlay-ops.js.map +1 -0
  107. package/lib/client/sources-table.js +1 -0
  108. package/lib/client/sources-table.js.map +1 -1
  109. package/lib/client/styles.js +74 -47
  110. package/lib/client/styles.js.map +1 -1
  111. package/lib/client/text-view.js +98 -0
  112. package/lib/client/text-view.js.map +1 -0
  113. package/lib/client/ui-kit.js +120 -0
  114. package/lib/client/ui-kit.js.map +1 -0
  115. package/lib/client/validators.js +8 -1
  116. package/lib/client/validators.js.map +1 -1
  117. package/lib/client.js +7313 -1571
  118. package/lib/client.js.map +1 -1
  119. package/lib/config-fillers.js +53 -0
  120. package/lib/config-fillers.js.map +1 -0
  121. package/lib/config-groups.js +49 -0
  122. package/lib/config-groups.js.map +1 -0
  123. package/lib/config.js +84 -108
  124. package/lib/config.js.map +1 -1
  125. package/lib/default-chain.js +66 -0
  126. package/lib/default-chain.js.map +1 -0
  127. package/lib/deps.js +1 -1
  128. package/lib/deps.js.map +1 -1
  129. package/lib/engines.js +3 -3
  130. package/lib/engines.js.map +1 -1
  131. package/lib/fetch.js +23 -4
  132. package/lib/fetch.js.map +1 -1
  133. package/lib/index.js +30 -5
  134. package/lib/index.js.map +1 -1
  135. package/lib/overlay-types.js +88 -0
  136. package/lib/overlay-types.js.map +1 -0
  137. package/lib/overlay.js +683 -0
  138. package/lib/overlay.js.map +1 -0
  139. package/lib/pipeline/candidates.js +27 -1
  140. package/lib/pipeline/candidates.js.map +1 -1
  141. package/lib/pipeline/compile.js +63 -0
  142. package/lib/pipeline/compile.js.map +1 -1
  143. package/lib/pipeline/confidence.js +64 -0
  144. package/lib/pipeline/confidence.js.map +1 -0
  145. package/lib/pipeline/fusion.js +50 -3
  146. package/lib/pipeline/fusion.js.map +1 -1
  147. package/lib/pipeline/plan.js +2 -2
  148. package/lib/pipeline/plan.js.map +1 -1
  149. package/lib/pipeline/render.js +20 -2
  150. package/lib/pipeline/render.js.map +1 -1
  151. package/lib/pipeline/run.js +17 -5
  152. package/lib/pipeline/run.js.map +1 -1
  153. package/lib/pipeline/sources-spec.js +19 -3
  154. package/lib/pipeline/sources-spec.js.map +1 -1
  155. package/lib/providers/builtin.js +3 -0
  156. package/lib/providers/builtin.js.map +1 -1
  157. package/lib/providers/deepseek.js +348 -0
  158. package/lib/providers/deepseek.js.map +1 -0
  159. package/lib/providers/http.js.map +1 -1
  160. package/lib/providers/keyed-meta.js +7 -0
  161. package/lib/providers/keyed-meta.js.map +1 -1
  162. package/lib/providers/platforms.js +18 -17
  163. package/lib/providers/platforms.js.map +1 -1
  164. package/lib/providers/registry.js.map +1 -1
  165. package/lib/restart.js +47 -0
  166. package/lib/restart.js.map +1 -0
  167. package/lib/router.js +145 -26
  168. package/lib/router.js.map +1 -1
  169. package/lib/rpc-types.js +15 -0
  170. package/lib/rpc-types.js.map +1 -0
  171. package/lib/rpc.js +85 -0
  172. package/lib/rpc.js.map +1 -0
  173. package/lib/tools.js +10 -4
  174. package/lib/tools.js.map +1 -1
  175. package/lib/types/actions/approval.d.ts +11 -0
  176. package/lib/types/actions/config.d.ts +54 -0
  177. package/lib/types/actions/format.d.ts +9 -2
  178. package/lib/types/actions/run.d.ts +1 -0
  179. package/lib/types/actions/schema.d.ts +7 -1
  180. package/lib/types/actions/sources.d.ts +29 -3
  181. package/lib/types/actions/types.d.ts +28 -2
  182. package/lib/types/browser-access.d.ts +17 -0
  183. package/lib/types/catalog/recommend.d.ts +4 -0
  184. package/lib/types/catalog/schema.d.ts +2 -0
  185. package/lib/types/cli/builtin-specs.d.ts +11 -3
  186. package/lib/types/cli/chains-spec.d.ts +12 -3
  187. package/lib/types/cli/engine.d.ts +10 -3
  188. package/lib/types/cli/opencli-sites.d.ts +24 -0
  189. package/lib/types/cli/opencli.d.ts +42 -3
  190. package/lib/types/cli/runner.d.ts +47 -8
  191. package/lib/types/cli/spec.d.ts +101 -8
  192. package/lib/types/cli/time-text.d.ts +12 -0
  193. package/lib/types/cli/trial.d.ts +19 -0
  194. package/lib/types/client/SettingsCard.d.ts +17 -1
  195. package/lib/types/client/agent-mark.d.ts +22 -0
  196. package/lib/types/client/card-frame.d.ts +35 -0
  197. package/lib/types/client/cli-form.d.ts +97 -0
  198. package/lib/types/client/field-docs.d.ts +15 -0
  199. package/lib/types/client/field-keys.d.ts +41 -0
  200. package/lib/types/client/field-rows.d.ts +70 -0
  201. package/lib/types/client/fill.d.ts +2 -0
  202. package/lib/types/client/form-specs.d.ts +12 -3
  203. package/lib/types/client/form.d.ts +79 -1
  204. package/lib/types/client/group-advanced.d.ts +9 -0
  205. package/lib/types/client/group-agent.d.ts +20 -0
  206. package/lib/types/client/group-cli.d.ts +52 -0
  207. package/lib/types/client/group-common.d.ts +12 -0
  208. package/lib/types/client/group-judge.d.ts +17 -0
  209. package/lib/types/client/group-order.d.ts +26 -0
  210. package/lib/types/client/group-runtime.d.ts +15 -0
  211. package/lib/types/client/group-sources.d.ts +46 -0
  212. package/lib/types/client/groups-basic.d.ts +18 -0
  213. package/lib/types/client/index.d.ts +8 -0
  214. package/lib/types/client/json-list.d.ts +21 -0
  215. package/lib/types/client/locales.d.ts +1079 -200
  216. package/lib/types/client/order.d.ts +102 -0
  217. package/lib/types/client/overlay-ops.d.ts +37 -0
  218. package/lib/types/client/styles.d.ts +56 -41
  219. package/lib/types/client/text-view.d.ts +22 -0
  220. package/lib/types/client/ui-kit.d.ts +200 -0
  221. package/lib/types/config-fillers.d.ts +9 -0
  222. package/lib/types/config-groups.d.ts +23 -0
  223. package/lib/types/config.d.ts +263 -225
  224. package/lib/types/default-chain.d.ts +63 -0
  225. package/lib/types/engines.d.ts +29 -1
  226. package/lib/types/fetch.d.ts +12 -3
  227. package/lib/types/index.d.ts +164 -150
  228. package/lib/types/overlay-types.d.ts +98 -0
  229. package/lib/types/overlay.d.ts +141 -0
  230. package/lib/types/pipeline/candidates.d.ts +17 -0
  231. package/lib/types/pipeline/compile.d.ts +11 -0
  232. package/lib/types/pipeline/confidence.d.ts +35 -0
  233. package/lib/types/pipeline/fusion.d.ts +23 -1
  234. package/lib/types/pipeline/render.d.ts +16 -0
  235. package/lib/types/pipeline/run.d.ts +2 -1
  236. package/lib/types/pipeline/sources-spec.d.ts +5 -2
  237. package/lib/types/pipeline/types.d.ts +37 -0
  238. package/lib/types/providers/deepseek.d.ts +130 -0
  239. package/lib/types/providers/http.d.ts +2 -1
  240. package/lib/types/providers/keyed-meta.d.ts +5 -0
  241. package/lib/types/providers/registry.d.ts +7 -0
  242. package/lib/types/restart.d.ts +52 -0
  243. package/lib/types/router.d.ts +57 -10
  244. package/lib/types/rpc-types.d.ts +79 -0
  245. package/lib/types/rpc.d.ts +41 -0
  246. package/lib/types/tools.d.ts +6 -0
  247. package/lib/types/util.d.ts +10 -0
  248. package/lib/util.js +10 -1
  249. package/lib/util.js.map +1 -1
  250. package/package.json +50 -42
  251. package/scripts/check-client-bundle.mjs +1 -1
  252. package/scripts/cli-login-check.mjs +214 -0
  253. package/lib/client/RubricEditor.js +0 -47
  254. package/lib/client/RubricEditor.js.map +0 -1
  255. package/lib/client/fields.js +0 -31
  256. package/lib/client/fields.js.map +0 -1
  257. package/lib/types/client/RubricEditor.d.ts +0 -6
  258. package/lib/types/client/fields.d.ts +0 -65
@@ -0,0 +1,26 @@
1
+ /**
2
+ * "Search order": the order a plain search tries its engines, and the order each platform tries its backends, as lists one
3
+ * moves, adds to and removes from (not as a comma text). Below the engine list sits the order a search would really use, with a
4
+ * sentence on why it differs from the list; the platforms are rows with a dialog. Everything stages into the same draft the sticky
5
+ * save bar writes: `engines` and `platformBackends` as they are, `sources.confidence.<id>` for the confidence box of a row.
6
+ * @module web-search-pro/client/group-order
7
+ */
8
+ import { type Card } from './field-rows.tsx';
9
+ /** The chain a plain search would try, from the draft, and one sentence on why it is not the list as written. */
10
+ export declare function EffectiveChain({ card }: {
11
+ card: Card;
12
+ }): import("react").JSX.Element;
13
+ export declare function EngineOrder({ card }: {
14
+ card: Card;
15
+ }): import("react").JSX.Element;
16
+ /** The body of the platform dialog: the chain as a list with its buttons, the backends that can still be added, and "Restore default". */
17
+ export declare function PlatformForm({ card, platform }: {
18
+ card: Card;
19
+ platform: string;
20
+ }): import("react").JSX.Element;
21
+ export declare function PlatformList({ card }: {
22
+ card: Card;
23
+ }): import("react").JSX.Element;
24
+ export declare function OrderGroup({ card }: {
25
+ card: Card;
26
+ }): import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * "Runtime and backends": the CLI / OpenCLI / Agent Reach switches, the Twitter / X login values (a dialog), the JSON objects
3
+ * that shape backends (Playwright, platform backend chains, CLI adapters) and the platform settings (custom platforms,
4
+ * selectors, browser bindings), each as a list with its own dialog. The backend order of the platforms and the custom CLIs have their own
5
+ * groups ("Search order", "Custom CLI"); their raw JSON is under "Advanced".
6
+ * @module web-search-pro/client/group-runtime
7
+ */
8
+ import { type Card } from './field-rows.tsx';
9
+ /** The two values twitter-cli needs: the controls of the dialog. */
10
+ export declare function TwitterForm({ card }: {
11
+ card: Card;
12
+ }): import("react").JSX.Element;
13
+ export declare function RuntimeGroup({ card }: {
14
+ card: Card;
15
+ }): import("react").JSX.Element;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * "Sources": how sources are ranked (policy, priority, disabled) and a list of the sources that need a key or an address: a
3
+ * row per source (name, tier, whether its key is set, and the "常用" mark), and one edit dialog per source holding its key
4
+ * reference, write-only key, endpoint and request budget. The anonymous sources are a folded reference table. Edits stage into
5
+ * the same draft the sticky save bar writes; a dialog has no save button of its own.
6
+ * @module web-search-pro/client/group-sources
7
+ */
8
+ import { type Card } from './field-rows.tsx';
9
+ import { type SourceDef } from './field-keys.ts';
10
+ import type { CredentialId } from './form.ts';
11
+ /** The write-only key of a source. It shows whether a key is stored, never the key. */
12
+ export declare function SecretRow({ card, id, label }: {
13
+ card: Card;
14
+ id: CredentialId;
15
+ label: string;
16
+ }): import("react").JSX.Element;
17
+ /** Whether a source is usable as far as the card can tell: its key is stored, or (SearXNG) its address is set. */
18
+ export declare function useSourceReady(card: Card, def: SourceDef): {
19
+ ready: boolean;
20
+ loading: boolean;
21
+ };
22
+ /** The controls of one source: reference name, write-only key, endpoint, extras and request budget. */
23
+ export declare function SourceForm({ card, def }: {
24
+ card: Card;
25
+ def: SourceDef;
26
+ }): import("react").JSX.Element;
27
+ /** One source's edit dialog. */
28
+ export declare function SourceDialog({ card, def, onClose }: {
29
+ card: Card;
30
+ def: SourceDef;
31
+ onClose: () => void;
32
+ }): import("react").JSX.Element;
33
+ /** One row of the sources list. */
34
+ export declare function SourceItem({ card, def, onEdit }: {
35
+ card: Card;
36
+ def: SourceDef;
37
+ onEdit: () => void;
38
+ }): import("react").JSX.Element;
39
+ /** Open dialog state shared by the Common and Sources groups: one source at a time. */
40
+ export declare function SourceList({ card, only }: {
41
+ card: Card;
42
+ only?: readonly string[];
43
+ }): import("react").JSX.Element;
44
+ export declare function SourcesGroup({ card }: {
45
+ card: Card;
46
+ }): import("react").JSX.Element;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The small groups: "Reading and evidence", "Network and cache", "Ranking weights" (advanced) and the built-in web tool
3
+ * "Route". Each is a handful of rows built from the same controls; the long explanations sit behind the `?`.
4
+ * @module web-search-pro/client/groups-basic
5
+ */
6
+ import { type Card } from './field-rows.tsx';
7
+ export declare function ReadingGroup({ card }: {
8
+ card: Card;
9
+ }): import("react").JSX.Element;
10
+ export declare function NetworkGroup({ card }: {
11
+ card: Card;
12
+ }): import("react").JSX.Element;
13
+ export declare function RankingGroup({ card }: {
14
+ card: Card;
15
+ }): import("react").JSX.Element;
16
+ export declare function RouteGroup({ card }: {
17
+ card: Card;
18
+ }): import("react").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots';
2
2
  import type { Context } from './context-types.ts';
3
3
  import { type CredentialId, type RubricTextKey, type SettingField, type WebSearchCardState } from './form.ts';
4
+ import type { TrialRequest } from '../rpc-types.ts';
4
5
  export declare const name = "web-search-pro-client";
5
6
  export declare const inject: string[];
6
7
  export declare const NS = "web-search-pro.card";
@@ -16,5 +17,12 @@ export type SettingsCardProps = PropsLocale<typeof NS> & {
16
17
  save: () => void;
17
18
  discard: () => void;
18
19
  refreshCredentials: () => void;
20
+ refreshStatus: () => void;
21
+ /** The agent overlay: read it again, drop entries (keys, or `'all'`), write one into the configuration and drop it. */
22
+ refreshOverlay: () => void;
23
+ revokeOverlay: (keys: readonly string[] | 'all') => void;
24
+ adoptOverlay: (key: string) => void;
25
+ runTrial: (request: TrialRequest) => void;
26
+ clearTrial: () => void;
19
27
  };
20
28
  export declare function apply(ctx: Context): void;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The settings that are whole JSON objects (custom providers, platform backend chains, CLI adapters, custom platforms, ...) as a
3
+ * list: a row each (name, how many entries it holds, "default" while it is empty) and one dialog with a code box and the
4
+ * server's own validation message. Nothing here is a second place the data lives: the box edits the same staged field.
5
+ * @module web-search-pro/client/json-list
6
+ */
7
+ import { type Card } from './field-rows.tsx';
8
+ /** How many entries a JSON object text holds; undefined when it is not an object. */
9
+ export declare function entryCount(text: string): number | undefined;
10
+ /** The code box of one JSON field. */
11
+ export declare function JsonForm({ card, field }: {
12
+ card: Card;
13
+ field: string;
14
+ }): import("react").JSX.Element;
15
+ /** A list of JSON-object settings with its dialog. `fields` names which ones (see JSON_FIELDS). */
16
+ export declare function JsonList({ card, fields }: {
17
+ card: Card;
18
+ fields: readonly string[];
19
+ }): import("react").JSX.Element;
20
+ /** The fields of one group of JSON settings. */
21
+ export declare const jsonFieldsOf: (group: "judge" | "runtime" | "platform" | "advanced") => string[];