dsh-web-search-pro 0.2.0 → 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 (266) hide show
  1. package/CHANGELOG.md +179 -0
  2. package/README.md +197 -32
  3. package/assets/skills/dsh-web-search-pro/SKILL.md +14 -13
  4. package/assets/skills/dsh-web-search-pro/references/config.md +36 -0
  5. package/assets/skills/dsh-web-search-pro/references/sources.md +19 -4
  6. package/assets/skills/dsh-web-search-pro/references/troubleshooting.md +3 -1
  7. package/catalog/sources.v1.json +22 -12
  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 +12 -6
  27. package/lib/actions/search.js.map +1 -1
  28. package/lib/actions/sources.js +116 -41
  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 +341 -0
  39. package/lib/cli/builtin-specs.js.map +1 -0
  40. package/lib/cli/chain.js +193 -0
  41. package/lib/cli/chain.js.map +1 -0
  42. package/lib/cli/chains-spec.js +118 -0
  43. package/lib/cli/chains-spec.js.map +1 -0
  44. package/lib/cli/engine.js +99 -0
  45. package/lib/cli/engine.js.map +1 -0
  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 +153 -0
  49. package/lib/cli/opencli.js.map +1 -0
  50. package/lib/cli/probe.js +128 -0
  51. package/lib/cli/probe.js.map +1 -0
  52. package/lib/cli/runner.js +564 -0
  53. package/lib/cli/runner.js.map +1 -0
  54. package/lib/cli/spec.js +496 -0
  55. package/lib/cli/spec.js.map +1 -0
  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 +15 -1
  77. package/lib/client/form-specs.js.map +1 -1
  78. package/lib/client/form.js +296 -27
  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 -215
  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 +22 -0
  116. package/lib/client/validators.js.map +1 -1
  117. package/lib/client.js +9151 -1987
  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 +87 -107
  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 +109 -102
  128. package/lib/deps.js.map +1 -1
  129. package/lib/engine-error.js +19 -0
  130. package/lib/engine-error.js.map +1 -0
  131. package/lib/engines.js +32 -115
  132. package/lib/engines.js.map +1 -1
  133. package/lib/fetch.js +23 -4
  134. package/lib/fetch.js.map +1 -1
  135. package/lib/index.js +30 -5
  136. package/lib/index.js.map +1 -1
  137. package/lib/overlay-types.js +88 -0
  138. package/lib/overlay-types.js.map +1 -0
  139. package/lib/overlay.js +683 -0
  140. package/lib/overlay.js.map +1 -0
  141. package/lib/pipeline/candidates.js +27 -1
  142. package/lib/pipeline/candidates.js.map +1 -1
  143. package/lib/pipeline/compile.js +63 -0
  144. package/lib/pipeline/compile.js.map +1 -1
  145. package/lib/pipeline/confidence.js +64 -0
  146. package/lib/pipeline/confidence.js.map +1 -0
  147. package/lib/pipeline/fusion.js +50 -3
  148. package/lib/pipeline/fusion.js.map +1 -1
  149. package/lib/pipeline/plan.js +2 -2
  150. package/lib/pipeline/plan.js.map +1 -1
  151. package/lib/pipeline/render.js +20 -2
  152. package/lib/pipeline/render.js.map +1 -1
  153. package/lib/pipeline/run.js +21 -7
  154. package/lib/pipeline/run.js.map +1 -1
  155. package/lib/pipeline/sources-spec.js +19 -3
  156. package/lib/pipeline/sources-spec.js.map +1 -1
  157. package/lib/providers/builtin.js +13 -14
  158. package/lib/providers/builtin.js.map +1 -1
  159. package/lib/providers/deepseek.js +348 -0
  160. package/lib/providers/deepseek.js.map +1 -0
  161. package/lib/providers/http.js.map +1 -1
  162. package/lib/providers/keyed-meta.js +7 -0
  163. package/lib/providers/keyed-meta.js.map +1 -1
  164. package/lib/providers/platforms.js +118 -58
  165. package/lib/providers/platforms.js.map +1 -1
  166. package/lib/providers/registry.js.map +1 -1
  167. package/lib/restart.js +47 -0
  168. package/lib/restart.js.map +1 -0
  169. package/lib/router.js +203 -27
  170. package/lib/router.js.map +1 -1
  171. package/lib/rpc-types.js +15 -0
  172. package/lib/rpc-types.js.map +1 -0
  173. package/lib/rpc.js +85 -0
  174. package/lib/rpc.js.map +1 -0
  175. package/lib/tools.js +10 -4
  176. package/lib/tools.js.map +1 -1
  177. package/lib/types/actions/approval.d.ts +11 -0
  178. package/lib/types/actions/config.d.ts +54 -0
  179. package/lib/types/actions/format.d.ts +9 -2
  180. package/lib/types/actions/run.d.ts +1 -0
  181. package/lib/types/actions/schema.d.ts +7 -1
  182. package/lib/types/actions/sources.d.ts +29 -3
  183. package/lib/types/actions/types.d.ts +28 -2
  184. package/lib/types/browser-access.d.ts +17 -0
  185. package/lib/types/catalog/recommend.d.ts +4 -0
  186. package/lib/types/catalog/schema.d.ts +2 -0
  187. package/lib/types/cli/builtin-specs.d.ts +38 -0
  188. package/lib/types/cli/chain.d.ts +83 -0
  189. package/lib/types/cli/chains-spec.d.ts +48 -0
  190. package/lib/types/cli/engine.d.ts +50 -0
  191. package/lib/types/cli/opencli-sites.d.ts +24 -0
  192. package/lib/types/cli/opencli.d.ts +77 -0
  193. package/lib/types/cli/probe.d.ts +53 -0
  194. package/lib/types/cli/runner.d.ts +126 -0
  195. package/lib/types/cli/spec.d.ts +269 -0
  196. package/lib/types/cli/time-text.d.ts +12 -0
  197. package/lib/types/cli/trial.d.ts +19 -0
  198. package/lib/types/client/SettingsCard.d.ts +17 -1
  199. package/lib/types/client/agent-mark.d.ts +22 -0
  200. package/lib/types/client/card-frame.d.ts +35 -0
  201. package/lib/types/client/cli-form.d.ts +97 -0
  202. package/lib/types/client/field-docs.d.ts +15 -0
  203. package/lib/types/client/field-keys.d.ts +41 -0
  204. package/lib/types/client/field-rows.d.ts +70 -0
  205. package/lib/types/client/fill.d.ts +2 -0
  206. package/lib/types/client/form-specs.d.ts +12 -3
  207. package/lib/types/client/form.d.ts +79 -1
  208. package/lib/types/client/group-advanced.d.ts +9 -0
  209. package/lib/types/client/group-agent.d.ts +20 -0
  210. package/lib/types/client/group-cli.d.ts +52 -0
  211. package/lib/types/client/group-common.d.ts +12 -0
  212. package/lib/types/client/group-judge.d.ts +17 -0
  213. package/lib/types/client/group-order.d.ts +26 -0
  214. package/lib/types/client/group-runtime.d.ts +15 -0
  215. package/lib/types/client/group-sources.d.ts +46 -0
  216. package/lib/types/client/groups-basic.d.ts +18 -0
  217. package/lib/types/client/index.d.ts +8 -0
  218. package/lib/types/client/json-list.d.ts +21 -0
  219. package/lib/types/client/locales.d.ts +1079 -196
  220. package/lib/types/client/order.d.ts +102 -0
  221. package/lib/types/client/overlay-ops.d.ts +37 -0
  222. package/lib/types/client/styles.d.ts +56 -41
  223. package/lib/types/client/text-view.d.ts +22 -0
  224. package/lib/types/client/ui-kit.d.ts +200 -0
  225. package/lib/types/client/validators.d.ts +6 -0
  226. package/lib/types/config-fillers.d.ts +9 -0
  227. package/lib/types/config-groups.d.ts +23 -0
  228. package/lib/types/config.d.ts +265 -216
  229. package/lib/types/default-chain.d.ts +63 -0
  230. package/lib/types/deps.d.ts +25 -23
  231. package/lib/types/engine-error.d.ts +12 -0
  232. package/lib/types/engines.d.ts +45 -10
  233. package/lib/types/fetch.d.ts +12 -3
  234. package/lib/types/index.d.ts +164 -146
  235. package/lib/types/overlay-types.d.ts +98 -0
  236. package/lib/types/overlay.d.ts +141 -0
  237. package/lib/types/pipeline/candidates.d.ts +19 -0
  238. package/lib/types/pipeline/compile.d.ts +11 -0
  239. package/lib/types/pipeline/confidence.d.ts +35 -0
  240. package/lib/types/pipeline/fusion.d.ts +23 -1
  241. package/lib/types/pipeline/render.d.ts +16 -0
  242. package/lib/types/pipeline/run.d.ts +3 -1
  243. package/lib/types/pipeline/sources-spec.d.ts +5 -2
  244. package/lib/types/pipeline/types.d.ts +37 -0
  245. package/lib/types/providers/deepseek.d.ts +130 -0
  246. package/lib/types/providers/http.d.ts +2 -1
  247. package/lib/types/providers/keyed-meta.d.ts +5 -0
  248. package/lib/types/providers/platforms.d.ts +15 -3
  249. package/lib/types/providers/registry.d.ts +10 -0
  250. package/lib/types/restart.d.ts +52 -0
  251. package/lib/types/router.d.ts +69 -9
  252. package/lib/types/rpc-types.d.ts +79 -0
  253. package/lib/types/rpc.d.ts +41 -0
  254. package/lib/types/tools.d.ts +6 -0
  255. package/lib/types/util.d.ts +16 -1
  256. package/lib/util.js +17 -4
  257. package/lib/util.js.map +1 -1
  258. package/package.json +51 -43
  259. package/scripts/check-client-bundle.mjs +1 -1
  260. package/scripts/cli-login-check.mjs +214 -0
  261. package/lib/client/RubricEditor.js +0 -47
  262. package/lib/client/RubricEditor.js.map +0 -1
  263. package/lib/client/fields.js +0 -31
  264. package/lib/client/fields.js.map +0 -1
  265. package/lib/types/client/RubricEditor.d.ts +0 -6
  266. package/lib/types/client/fields.d.ts +0 -65
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Removal of the empty containers the Host's schema parser fills in (see the comment on `withoutFillers`). Pure and free of
3
+ * imports: the server's config resolution and the settings card's validation (client bundle) use the same functions.
4
+ * @module web-search-pro/config-fillers
5
+ */
6
+ /**
7
+ * The Host parses the plugin config with the schema above, and schemastery fills every optional nested container it was not
8
+ * given with an empty one (`calibration: { points: [] }`, `price: {}`, `limits: {}`, `criteria: []`, `thresholds: {}`).
9
+ * The validators of the judge settings (providers, rubric overrides, coverage thresholds) read "present" as "given", so
10
+ * those fillers would reject every custom provider / rubric override and report empty thresholds as invalid. They are
11
+ * removed here, on exactly the keys the schema fills, and nowhere inside user data (`extraBody` is passed through as is).
12
+ */
13
+ const isPlain = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
14
+ const isEmptyContainer = (value) => Array.isArray(value) ? value.length === 0 : isPlain(value) && Object.keys(value).length === 0;
15
+ export function withoutFillers(value, keys) {
16
+ if (!isPlain(value))
17
+ return value;
18
+ const out = { ...value };
19
+ for (const key of keys)
20
+ if (key in out && isEmptyContainer(out[key]))
21
+ delete out[key];
22
+ return out;
23
+ }
24
+ export function normalizeJudge(judge) {
25
+ const base = withoutFillers(judge, ['providers']);
26
+ if (!isPlain(base) || !isPlain(base.providers))
27
+ return base;
28
+ const providers = {};
29
+ for (const [id, entry] of Object.entries(base.providers)) {
30
+ let next = withoutFillers(entry, ['limits', 'extraBody', 'price', 'calibration']);
31
+ // `calibration: { points: [] }` is the schema's filler; a calibration the user wrote has at least a version or points.
32
+ if (isPlain(next) && isPlain(next.calibration)) {
33
+ const calibration = withoutFillers(next.calibration, ['points']);
34
+ const rest = { ...next };
35
+ if (Object.keys(calibration).length > 0)
36
+ rest.calibration = calibration;
37
+ else
38
+ delete rest.calibration;
39
+ next = rest;
40
+ }
41
+ providers[id] = next;
42
+ }
43
+ return { ...base, providers };
44
+ }
45
+ export function normalizeRubrics(rubrics) {
46
+ if (!isPlain(rubrics))
47
+ return rubrics;
48
+ return Object.fromEntries(Object.entries(rubrics).map(([id, entry]) => [id, withoutFillers(entry, ['criteria'])]));
49
+ }
50
+ export function normalizeCoverage(coverage) {
51
+ return withoutFillers(coverage, ['thresholds']);
52
+ }
53
+ //# sourceMappingURL=config-fillers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-fillers.js","sourceRoot":"","sources":["../src/config-fillers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,OAAO,GAAG,CAAC,KAAc,EAAoC,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC1I,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;AAEnJ,MAAM,UAAU,cAAc,CAAI,KAAQ,EAAE,IAAuB;IACjE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACjC,MAAM,GAAG,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAA;IACjD,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,IAAI,GAAG,IAAI,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;IACrF,OAAO,GAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,KAAQ;IACxC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAY,CAAA;IAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,IAAS,CAAA;IAChE,MAAM,SAAS,GAA4B,EAAE,CAAA;IAC7C,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;QACjF,uHAAuH;QACvH,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;YAChE,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;YACxB,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;;gBAClE,OAAO,IAAI,CAAC,WAAW,CAAA;YAC5B,IAAI,GAAG,IAAI,CAAA;QACb,CAAC;QACD,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;IACtB,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAO,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAI,OAAU;IAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAA;IACrC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAM,CAAA;AACzH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,QAAW;IAC9C,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;AACjD,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * The groups the configuration is laid out in, and the order of its fields. One definition serves four readers: the order of
3
+ * the keys of the `Config` schema (what the Host's generic configuration view and `--dump-config` print), the sections of the
4
+ * settings card's text view, the group a field belongs to in the card's tests, and the docs. A test pins the schema to this
5
+ * list, so a new field cannot be added without choosing its group.
6
+ *
7
+ * The groups follow the settings page, most used first: common, search order, sources and keys, custom CLI, reading and
8
+ * evidence, platforms and runtime, advanced and diagnostics. Only top-level `Config` keys are listed; a key that is an object
9
+ * (`sources`, `evidence`, `provider`, `keyedSources`, `playwright`) takes all of its nested options with it.
10
+ *
11
+ * Pure and free of imports: the client bundle includes this file.
12
+ * @module web-search-pro/config-groups
13
+ */
14
+ export const CONFIG_GROUP_IDS = ['common', 'order', 'sources', 'cli', 'evidence', 'runtime', 'advanced'];
15
+ /** Top-level `Config` keys by group, in display order. */
16
+ export const CONFIG_GROUPS = {
17
+ common: ['searchMaxResults', 'parallelEngines', 'toolSurface', 'allowProxyFakeIp', 'deepseekFetch'],
18
+ order: ['engines', 'sources', 'platformBackends'],
19
+ sources: [
20
+ 'keyedSources', 'exaApiKey', 'exaApiKeyEnv', 'jinaApiKey', 'jinaApiKeyEnv', 'bochaApiKey', 'bochaApiKeyEnv', 'bochaBaseUrl', 'bochaSummary',
21
+ 'githubToken', 'githubTokenEnv', 'searxngUrl', 'openalexMailto',
22
+ ],
23
+ cli: ['cliAdapters'],
24
+ evidence: ['evidence', 'fetchDefaultChars', 'exaContentsPerUrlChars', 'exaContentsTotalChars'],
25
+ runtime: [
26
+ 'enableCliBackends', 'opencliEnabled', 'agentReachEnabled', 'twitterAuthToken', 'twitterAuthTokenEnv', 'twitterCt0', 'twitterCt0Env',
27
+ 'playwright', 'customPlatforms', 'platformRules', 'browserBindings', 'providerId', 'registerProvider', 'provider', 'timeoutMs',
28
+ ],
29
+ advanced: ['ttlSeconds', 'memoryCacheEntries', 'rrfConstant', 'freshnessBoost', 'freshnessDays', 'authorityBoost', 'authorityDomains', 'dbPath', 'verbose'],
30
+ };
31
+ /** Titles of the groups, as the text view prints them (the card's own group titles live in its dictionary). */
32
+ export const CONFIG_GROUP_TITLES = {
33
+ en: {
34
+ common: 'Common', order: 'Search order', sources: 'Sources and keys (API keys by reference name only)', cli: 'Custom CLI',
35
+ evidence: 'Reading and evidence', runtime: 'Platforms and runtime', advanced: 'Advanced and diagnostics',
36
+ },
37
+ zh: {
38
+ common: '常用', order: '搜索顺序', sources: '来源与密钥(API Key 只写引用名)', cli: '自定义 CLI',
39
+ evidence: '读取与证据', runtime: '平台与运行时', advanced: '高级与诊断',
40
+ },
41
+ };
42
+ /** Every top-level key in display order. */
43
+ export const CONFIG_FIELD_ORDER = CONFIG_GROUP_IDS.flatMap(id => CONFIG_GROUPS[id]);
44
+ const GROUP_OF = new Map(CONFIG_GROUP_IDS.flatMap(id => CONFIG_GROUPS[id].map(key => [key, id])));
45
+ /** The group of a top-level key, or of a dotted field (`sources.priority`, `evidence.judge.mode`) by its first segment. */
46
+ export function groupOf(field) {
47
+ return GROUP_OF.get(field.split('.')[0]);
48
+ }
49
+ //# sourceMappingURL=config-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-groups.js","sourceRoot":"","sources":["../src/config-groups.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAU,CAAA;AAGjH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAuD;IAC/E,MAAM,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,CAAC;IACnG,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC;IACjD,OAAO,EAAE;QACP,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc;QAC3I,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB;KAChE;IACD,GAAG,EAAE,CAAC,aAAa,CAAC;IACpB,QAAQ,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,uBAAuB,CAAC;IAC9F,OAAO,EAAE;QACP,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe;QACpI,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW;KAC/H;IACD,QAAQ,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,CAAC;CAC5J,CAAA;AAED,+GAA+G;AAC/G,MAAM,CAAC,MAAM,mBAAmB,GAA2E;IACzG,EAAE,EAAE;QACF,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,oDAAoD,EAAE,GAAG,EAAE,YAAY;QACzH,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,0BAA0B;KACzG;IACD,EAAE,EAAE;QACF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,EAAE,SAAS;QAC5E,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO;KACxD;CACF,CAAA;AAED,4CAA4C;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAsB,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;AAEtG,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAwB,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAU,CAAC,CAAC,CAAC,CAAA;AAEjI,2HAA2H;AAC3H,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAA;AAC3C,CAAC"}
package/lib/config.js CHANGED
@@ -25,25 +25,31 @@ export function resolveToolSurface(value) {
25
25
  throw new Error('toolSurface must be one of: ' + TOOL_SURFACES.join(', '));
26
26
  return surface;
27
27
  }
28
+ export { DEFAULT_ENGINES };
29
+ import { DEFAULT_ENGINES } from "./default-chain.js";
28
30
  void {};
29
31
  export const Config = z.object({
30
- dbPath: z.string().volatile(),
31
- toolSurface: z.string().default('indexed').volatile(),
32
- ttlSeconds: z.number().default(3600).volatile(),
33
- memoryCacheEntries: z.number().default(128).volatile(),
34
- rrfConstant: z.number().default(60).volatile(),
35
- freshnessBoost: z.number().default(0.2).volatile(),
36
- freshnessDays: z.number().default(30).volatile(),
37
- authorityBoost: z.number().default(0.25).volatile(),
38
- authorityDomains: z.array(z.string()).default([]).volatile(),
32
+ // ── Common: what nearly everyone touches ──
39
33
  searchMaxResults: z.number().default(8).volatile(),
40
- fetchDefaultChars: z.number().default(20_000).volatile(),
41
- exaContentsPerUrlChars: z.number().default(8_000).volatile(),
42
- exaContentsTotalChars: z.number().default(30_000).volatile(),
43
- timeoutMs: z.number().default(30_000).volatile(),
44
- allowProxyFakeIp: z.boolean().default(false).volatile(),
45
- engines: z.array(z.string()).default(['ddg', 'bing', 'exa', 'seam', 'jina']).volatile(),
46
34
  parallelEngines: z.boolean().default(false).volatile(),
35
+ toolSurface: z.string().default('indexed').volatile(),
36
+ allowProxyFakeIp: z.boolean().default(false).volatile(),
37
+ deepseekFetch: z.boolean().default(false).volatile(),
38
+ // ── Search order: engines, source rules, platform backend chains ──
39
+ engines: z.array(z.string()).default([...DEFAULT_ENGINES]).volatile(),
40
+ sources: z.object({
41
+ priority: z.array(z.string()).volatile(),
42
+ disabled: z.array(z.string()).volatile(),
43
+ confidence: z.dict(z.number()).volatile(),
44
+ budget: z.dict(z.object({ total: z.number(), daily: z.number() })).volatile(),
45
+ }),
46
+ platformBackends: z.dict(z.array(z.string())).volatile(),
47
+ // ── Sources and keys: key references, endpoints, tokens ──
48
+ keyedSources: z.dict(z.object({
49
+ apiKey: z.string().role('secret'),
50
+ apiKeyEnv: z.string(),
51
+ baseUrl: z.string(),
52
+ })).volatile(),
47
53
  exaApiKey: z.string().role('secret').volatile(),
48
54
  exaApiKeyEnv: z.string().default('EXA_API_KEY').volatile(),
49
55
  jinaApiKey: z.string().role('secret').volatile(),
@@ -52,52 +58,13 @@ export const Config = z.object({
52
58
  bochaApiKeyEnv: z.string().default('BOCHA_SEARCH_API_KEY').volatile(),
53
59
  bochaBaseUrl: z.string().default('https://api.bocha.cn').volatile(),
54
60
  bochaSummary: z.boolean().default(true).volatile(),
55
- searxngUrl: z.string().volatile(),
56
- openalexMailto: z.string().volatile(),
57
- keyedSources: z.dict(z.object({
58
- apiKey: z.string().role('secret'),
59
- apiKeyEnv: z.string(),
60
- baseUrl: z.string(),
61
- })).volatile(),
62
61
  githubToken: z.string().role('secret').volatile(),
63
62
  githubTokenEnv: z.string().default('GITHUB_TOKEN').volatile(),
64
- enableCliBackends: z.boolean().default(true).volatile(),
65
- opencliEnabled: z.boolean().default(true).volatile(),
66
- agentReachEnabled: z.boolean().default(true).volatile(),
67
- providerId: z.string().default('web-search-pro').volatile(),
68
- registerProvider: z.boolean().default(false).volatile(),
69
- provider: z.object({
70
- evidence: z.string().default('auto').volatile(),
71
- deadlineMs: z.number().default(25_000).volatile(),
72
- }),
73
- platformRules: z.dict(z.object({
74
- item: z.string(),
75
- title: z.string(),
76
- link: z.string(),
77
- text: z.string(),
78
- })).volatile(),
79
- customPlatforms: z.dict(z.object({
80
- name: z.string(),
81
- url: z.string(),
82
- item: z.string(),
83
- title: z.string(),
84
- link: z.string(),
85
- text: z.string(),
86
- cookie: z.string().role('secret'),
87
- })).volatile(),
88
- browserBindings: z.dict(z.object({
89
- authProfile: z.string(),
90
- rulePack: z.string(),
91
- })).volatile(),
92
- playwright: z.object({
93
- enabled: z.boolean().default(true).volatile(),
94
- snapshotDir: z.string(),
95
- }),
96
- sources: z.object({
97
- priority: z.array(z.string()).volatile(),
98
- disabled: z.array(z.string()).volatile(),
99
- budget: z.dict(z.object({ total: z.number(), daily: z.number() })).volatile(),
100
- }),
63
+ searxngUrl: z.string().volatile(),
64
+ openalexMailto: z.string().volatile(),
65
+ // ── Custom CLI: your own read-only command-line sources ──
66
+ cliAdapters: z.dict(z.dict(z.any())).volatile(),
67
+ // ── Reading and evidence: page sizes, evidence pipeline, scoring model ──
101
68
  evidence: z.object({
102
69
  scorer: z.union(['rule', 'jev']).default('rule').volatile(),
103
70
  jevMode: z.union(['off', 'shadow', 'control', 'hybrid']).default('off').volatile(),
@@ -145,6 +112,56 @@ export const Config = z.object({
145
112
  providers: z.dict(z.object({ perSearchInputTokens: z.number(), dailyInputTokens: z.number() })),
146
113
  }).volatile(),
147
114
  }),
115
+ fetchDefaultChars: z.number().default(20_000).volatile(),
116
+ exaContentsPerUrlChars: z.number().default(8_000).volatile(),
117
+ exaContentsTotalChars: z.number().default(30_000).volatile(),
118
+ // ── Platforms and runtime: CLI backends, logins, browser, ctx.web route, deadlines ──
119
+ enableCliBackends: z.boolean().default(true).volatile(),
120
+ opencliEnabled: z.boolean().default(true).volatile(),
121
+ agentReachEnabled: z.boolean().default(true).volatile(),
122
+ twitterAuthToken: z.string().role('secret').volatile(),
123
+ twitterAuthTokenEnv: z.string().default('TWITTER_AUTH_TOKEN').volatile(),
124
+ twitterCt0: z.string().role('secret').volatile(),
125
+ twitterCt0Env: z.string().default('TWITTER_CT0').volatile(),
126
+ playwright: z.object({
127
+ enabled: z.boolean().default(true).volatile(),
128
+ snapshotDir: z.string().volatile(),
129
+ }),
130
+ customPlatforms: z.dict(z.object({
131
+ name: z.string(),
132
+ url: z.string(),
133
+ item: z.string(),
134
+ title: z.string(),
135
+ link: z.string(),
136
+ text: z.string(),
137
+ cookie: z.string().role('secret'),
138
+ })).volatile(),
139
+ platformRules: z.dict(z.object({
140
+ item: z.string(),
141
+ title: z.string(),
142
+ link: z.string(),
143
+ text: z.string(),
144
+ })).volatile(),
145
+ browserBindings: z.dict(z.object({
146
+ authProfile: z.string(),
147
+ rulePack: z.string(),
148
+ })).volatile(),
149
+ providerId: z.string().default('web-search-pro').volatile(),
150
+ registerProvider: z.boolean().default(false).volatile(),
151
+ provider: z.object({
152
+ evidence: z.string().default('auto').volatile(),
153
+ deadlineMs: z.number().default(25_000).volatile(),
154
+ }),
155
+ timeoutMs: z.number().default(30_000).volatile(),
156
+ // ── Advanced and diagnostics: cache, ranking weights, storage path, logging ──
157
+ ttlSeconds: z.number().default(3600).volatile(),
158
+ memoryCacheEntries: z.number().default(128).volatile(),
159
+ rrfConstant: z.number().default(60).volatile(),
160
+ freshnessBoost: z.number().default(0.2).volatile(),
161
+ freshnessDays: z.number().default(30).volatile(),
162
+ authorityBoost: z.number().default(0.25).volatile(),
163
+ authorityDomains: z.array(z.string()).default([]).volatile(),
164
+ dbPath: z.string().volatile(),
148
165
  verbose: z.boolean().default(false).volatile(),
149
166
  });
150
167
  /** Read a possibly-volatile config field (schemastery `Volatile<T>` wraps live fields). */
@@ -163,53 +180,8 @@ export function defaultDbPath() {
163
180
  const home = process.env.DSH_HOME ?? path.join(os.homedir(), '.dsh');
164
181
  return path.join(home, 'data', 'web-search-pro', 'store.db');
165
182
  }
166
- /**
167
- * The Host parses the plugin config with the schema above, and schemastery fills every optional nested container it was not
168
- * given with an empty one (`calibration: { points: [] }`, `price: {}`, `limits: {}`, `criteria: []`, `thresholds: {}`).
169
- * The validators of the judge settings (providers, rubric overrides, coverage thresholds) read "present" as "given", so
170
- * those fillers would reject every custom provider / rubric override and report empty thresholds as invalid. They are
171
- * removed here, on exactly the keys the schema fills, and nowhere inside user data (`extraBody` is passed through as is).
172
- */
173
- const isPlain = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
174
- const isEmptyContainer = (value) => Array.isArray(value) ? value.length === 0 : isPlain(value) && Object.keys(value).length === 0;
175
- function withoutFillers(value, keys) {
176
- if (!isPlain(value))
177
- return value;
178
- const out = { ...value };
179
- for (const key of keys)
180
- if (key in out && isEmptyContainer(out[key]))
181
- delete out[key];
182
- return out;
183
- }
184
- export function normalizeJudge(judge) {
185
- const base = withoutFillers(judge, ['providers']);
186
- if (!isPlain(base) || !isPlain(base.providers))
187
- return base;
188
- const providers = {};
189
- for (const [id, entry] of Object.entries(base.providers)) {
190
- let next = withoutFillers(entry, ['limits', 'extraBody', 'price', 'calibration']);
191
- // `calibration: { points: [] }` is the schema's filler; a calibration the user wrote has at least a version or points.
192
- if (isPlain(next) && isPlain(next.calibration)) {
193
- const calibration = withoutFillers(next.calibration, ['points']);
194
- const rest = { ...next };
195
- if (Object.keys(calibration).length > 0)
196
- rest.calibration = calibration;
197
- else
198
- delete rest.calibration;
199
- next = rest;
200
- }
201
- providers[id] = next;
202
- }
203
- return { ...base, providers };
204
- }
205
- export function normalizeRubrics(rubrics) {
206
- if (!isPlain(rubrics))
207
- return rubrics;
208
- return Object.fromEntries(Object.entries(rubrics).map(([id, entry]) => [id, withoutFillers(entry, ['criteria'])]));
209
- }
210
- export function normalizeCoverage(coverage) {
211
- return withoutFillers(coverage, ['thresholds']);
212
- }
183
+ export { normalizeJudge, normalizeRubrics, normalizeCoverage } from "./config-fillers.js";
184
+ import { normalizeJudge, normalizeRubrics, normalizeCoverage } from "./config-fillers.js";
213
185
  /** Resolve a fully-defaulted config from user input. Unwraps volatile fields (schemastery `Volatile<T>`) into plain values so consumers never see the wrapper. */
214
186
  export function resolveConfig(config) {
215
187
  const dbPath = vOr(config.dbPath, defaultDbPath());
@@ -235,7 +207,7 @@ export function resolveConfig(config) {
235
207
  exaContentsTotalChars: vOr(config.exaContentsTotalChars, 30_000),
236
208
  timeoutMs: vOr(config.timeoutMs, 30_000),
237
209
  allowProxyFakeIp: vOr(config.allowProxyFakeIp, false),
238
- engines: vOr(config.engines, ['ddg', 'bing', 'exa', 'seam', 'jina']),
210
+ engines: vOr(config.engines, [...DEFAULT_ENGINES]),
239
211
  parallelEngines: vOr(config.parallelEngines, false),
240
212
  exaApiKey: config.exaApiKey !== undefined ? v(config.exaApiKey) : undefined,
241
213
  exaApiKeyEnv: vOr(config.exaApiKeyEnv, 'EXA_API_KEY'),
@@ -245,11 +217,16 @@ export function resolveConfig(config) {
245
217
  bochaApiKeyEnv: vOr(config.bochaApiKeyEnv, 'BOCHA_SEARCH_API_KEY'),
246
218
  bochaBaseUrl: vOr(config.bochaBaseUrl, 'https://api.bocha.cn'),
247
219
  bochaSummary: vOr(config.bochaSummary, true),
220
+ deepseekFetch: vOr(config.deepseekFetch, false),
248
221
  searxngUrl: config.searxngUrl !== undefined ? v(config.searxngUrl) : undefined,
249
222
  openalexMailto: config.openalexMailto !== undefined ? v(config.openalexMailto) : undefined,
250
223
  keyedSources: config.keyedSources !== undefined ? v(config.keyedSources) : undefined,
251
224
  githubToken: config.githubToken !== undefined ? v(config.githubToken) : undefined,
252
225
  githubTokenEnv: vOr(config.githubTokenEnv, 'GITHUB_TOKEN'),
226
+ twitterAuthToken: config.twitterAuthToken !== undefined ? v(config.twitterAuthToken) : undefined,
227
+ twitterAuthTokenEnv: vOr(config.twitterAuthTokenEnv, 'TWITTER_AUTH_TOKEN'),
228
+ twitterCt0: config.twitterCt0 !== undefined ? v(config.twitterCt0) : undefined,
229
+ twitterCt0Env: vOr(config.twitterCt0Env, 'TWITTER_CT0'),
253
230
  enableCliBackends: vOr(config.enableCliBackends, true),
254
231
  opencliEnabled: vOr(config.opencliEnabled, true),
255
232
  agentReachEnabled: vOr(config.agentReachEnabled, true),
@@ -262,6 +239,8 @@ export function resolveConfig(config) {
262
239
  platformRules: config.platformRules !== undefined ? v(config.platformRules) : undefined,
263
240
  customPlatforms: config.customPlatforms !== undefined ? v(config.customPlatforms) : undefined,
264
241
  browserBindings: config.browserBindings !== undefined ? v(config.browserBindings) : undefined,
242
+ platformBackends: config.platformBackends !== undefined ? v(config.platformBackends) : undefined,
243
+ cliAdapters: config.cliAdapters !== undefined ? v(config.cliAdapters) : undefined,
265
244
  playwright: {
266
245
  enabled: vOr(pw.enabled, true),
267
246
  snapshotDir,
@@ -284,6 +263,7 @@ export function resolveConfig(config) {
284
263
  priority: vOr(sv.priority, []),
285
264
  disabled: vOr(sv.disabled, []),
286
265
  budget: vOr(sv.budget, {}),
266
+ confidence: vOr(sv.confidence, {}),
287
267
  },
288
268
  verbose: vOr(config.verbose, false),
289
269
  };
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * The default engine order of a plain search, as a pure function: the router uses it to decide the order, and the settings
3
+ * card's status summary uses the same code to show the chain a search would try first, so the two cannot disagree.
4
+ * No imports: the client bundle includes this file.
5
+ * @module web-search-pro/default-chain
6
+ */
7
+ /** The default `engines` list. A list equal to it is "not customised": the default rule for common ("常用") sources applies to it. */
8
+ export const DEFAULT_ENGINES = Object.freeze(['ddg', 'bing', 'exa', 'seam', 'jina']);
9
+ /**
10
+ * Order of the configured chain: `sources.disabled` removed, `sources.priority` ids that are in the list first, then the common
11
+ * sources whose key resolves (only while `engines` is the default list; a list the user wrote keeps its order and the position
12
+ * it gave a common source), then the rest. Throws when everything is disabled.
13
+ */
14
+ export function effectiveChain(input) {
15
+ const disabled = new Set(input.disabled ?? []);
16
+ const kept = input.engines.filter(id => !disabled.has(id));
17
+ if (input.engines.length && !kept.length)
18
+ throw new Error('every configured engine is disabled (sources.disabled): ' + input.engines.join(', '));
19
+ const first = (input.priority ?? []).filter(id => kept.includes(id));
20
+ const customised = input.engines.length !== DEFAULT_ENGINES.length || input.engines.some((id, i) => id !== DEFAULT_ENGINES[i]);
21
+ const lead = customised || input.anonymousOnly ? [] : (input.commonReady ?? []).filter(id => !disabled.has(id) && !kept.includes(id));
22
+ return [...new Set([...first, ...lead, ...kept.filter(id => !first.includes(id))])];
23
+ }
24
+ /**
25
+ * {@link effectiveChain} plus why it differs from the list: the preview of the settings card says it in one sentence per reason, so
26
+ * a person who sees `deepseek` first in a list that does not begin with it knows which rule did that. Same inputs, same rule.
27
+ */
28
+ export function explainChain(input) {
29
+ let chain;
30
+ try {
31
+ chain = effectiveChain(input);
32
+ }
33
+ catch {
34
+ chain = undefined;
35
+ }
36
+ const reasons = [];
37
+ const disabled = new Set(input.disabled ?? []);
38
+ const removed = [...new Set(input.engines.filter(id => disabled.has(id)))];
39
+ if (removed.length)
40
+ reasons.push({ kind: 'disabled', ids: removed });
41
+ if (!chain)
42
+ return { chain, reasons };
43
+ const customised = input.engines.length !== DEFAULT_ENGINES.length || input.engines.some((id, i) => id !== DEFAULT_ENGINES[i]);
44
+ const ready = (input.commonReady ?? []).filter(id => !disabled.has(id));
45
+ const led = chain.filter(id => !input.engines.includes(id));
46
+ if (led.length)
47
+ reasons.push({ kind: 'common', ids: led });
48
+ const kept = input.engines.filter(id => !disabled.has(id));
49
+ const first = (input.priority ?? []).filter(id => kept.includes(id));
50
+ // Priority ids that actually changed place: those not already at the position priority gives them.
51
+ const moved = first.filter((id, index) => kept.indexOf(id) !== index);
52
+ if (moved.length)
53
+ reasons.push({ kind: 'priority', ids: moved });
54
+ if (input.anonymousOnly) {
55
+ const skipped = ready.filter(id => !input.engines.includes(id));
56
+ if (skipped.length)
57
+ reasons.push({ kind: 'anonymous-only', ids: skipped });
58
+ }
59
+ else if (customised) {
60
+ const skipped = ready.filter(id => !input.engines.includes(id));
61
+ if (skipped.length)
62
+ reasons.push({ kind: 'own-list', ids: skipped });
63
+ }
64
+ return { chain, reasons };
65
+ }
66
+ //# sourceMappingURL=default-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-chain.js","sourceRoot":"","sources":["../src/default-chain.ts"],"names":[],"mappings":"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"}