You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
committed
feat(search): validate and normalize categories/engines against live /config (FEAT-043)
Normalize comma-separated `categories` and `engines` case-insensitively to the
SearXNG instance's canonical names from cached `/config`, so miscased input
(e.g. `Google`, `Social Media`) no longer silently degrades to a default search.
Unknown values are rejected with a helpful error listing available values; a
stale cache is refreshed once before failing; when `/config` is unavailable the
values are forwarded as-is with a non-fatal warning. Also fixes category
extraction for instances whose `/config.categories` is an array of names.
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
-`engines` (string, optional): Comma-separated SearXNG engine names (e.g. `"google,bing,ddg"`). Names are matched exactly when live `/config`validation is available.
94
+
-`categories` (string, optional): Comma-separated SearXNG categories (e.g. `"news"`, `"it,science"`). When live `/config` is available, values are trimmed and normalized case-insensitively to the instance's canonical category names; unknown values are rejected with available categories listed. If `/config` is unavailable, values are forwarded as-is with a warning. Default: SearXNG instance default.
95
+
-`engines` (string, optional): Comma-separated SearXNG engine names (e.g. `"google,bing,ddg"`, `"semantic scholar"`). When live `/config` is available, values are trimmed and normalized case-insensitively to canonical engine names, including engines disabled by default; unknown values are rejected with available engines listed. If `/config`is unavailable, values are forwarded as-is with a warning.
96
96
-`response_format` (string, optional): Response format, either `"text"` for formatted agent-readable output or `"json"` for raw SearXNG JSON with filtered/sliced `results`. (default: `"text"`)
0 commit comments