Commit Graph

28 Commits

Author SHA1 Message Date
Peter Steinberger 49d8cfd393 fix(security): prevent blocked SearXNG refs from using ambient URLs (#126214)
* fix(security): honor blocked SearXNG secret refs

* docs(searxng): clarify blocked SecretRef policy

* test(codex): route attempt tools coverage
2026-08-19 00:02:58 -07:00
Peter Steinberger 1320a0bff9 feat(lint): reject widen-then-assert type laundering (#124003)
* feat(lint): add no-widen-then-assert guard

* refactor: preserve typed boundary evidence

* refactor(types): remove redundant unknown aliases

* fix(agent): preserve replay sanitizer fallback

* fix(lint): close widen-then-assert nested-chain and const-alias bypasses
2026-08-14 22:10:19 -07:00
Peter Steinberger 964c8c84c1 refactor: consolidate coercion ownership (#122299)
* refactor: consolidate coercion ownership

Centralize four canonical coercion helpers, migrate exact core and plugin duplicates through narrow Plugin SDK facades, and enforce declaration and plugin-normalization ownership boundaries.

The sweep adds eight focused SDK exports while deleting more production and tooling code than it adds. User-visible behavior is unchanged except for safer equivalent object and UI parsing at existing boundaries.

* fix: guard integer option ownership

Register resolveIntegerOption with the canonical function owner and extend the declaration-guard fixture so future local duplicates fail validation.

* fix: keep integer helpers on numeric facade

Remove the unshipped duplicate string-coerce exports and route every affected plugin consumer through the existing number-runtime contract.

* fix: point numeric coercion to number runtime

Make boundary and declaration diagnostics recommend the canonical numeric facade, with failing-before coverage for both guidance paths.
2026-08-11 17:14:53 -07:00
Peter Steinberger 18e5b0e3e3 test(web): trim duplicate provider test surfaces (#121727) 2026-08-10 15:44:54 -07:00
VectorPeak 404fafff77 fix(searxng): avoid duplicating search endpoint (#113661)
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
2026-07-29 06:15:51 -04:00
xingzhou fe6e6a5072 fix(searxng): stop web search requests when runs are aborted (#104216)
* fix(searxng): cancel pending searches with parent runs

* fix(searxng): preserve parent cancellation

* refactor(web-search): isolate provider execution

* fix(web-search): use stable provider type

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 06:36:21 -07:00
Peter Steinberger 81941f2d68 test: enable noUncheckedIndexedAccess for extension tests (#105343) 2026-07-12 12:48:22 +01:00
qingminlong 6cd94f6049 fix(web): mark partial response reads when streams fail (#102550)
* fix(web): mark partial response reads when streams fail

* fix(web): report partial stream bytes accurately

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-09 11:58:56 +01:00
Dallin Romney 8c5f45fc36 refactor(shared): consolidate provider and utility lazy loaders (#98749)
* refactor(shared): consolidate provider lazy loaders

* refactor(shared): leave enforcement to follow-up
2026-07-02 21:16:26 -07:00
Peter Steinberger 4fa5092cdc docs: document small extension sources 2026-06-04 21:02:07 -04:00
Peter Steinberger 59d4327698 fix: validate web search count integers 2026-05-28 18:38:39 -04:00
Peter Steinberger 4f4d108639 chore(lint): remove underscore-dangle allow list (#83542)
* chore(lint): reduce underscore-dangle exceptions

* chore(lint): reduce more underscore exceptions

* chore(lint): remove underscore-dangle allow list

* fix(lint): repair underscore cleanup regressions

* test(lint): track version define suppression
2026-05-18 14:56:06 +01:00
Shakker be8bf3585e test: tighten searxng empty result assertion 2026-05-11 08:22:05 +01:00
Peter Steinberger a89634da59 test: clear rebased ci helper typing 2026-05-10 17:06:15 +01:00
Shakker 84d654f25c test: clear searxng broad matcher 2026-05-10 16:43:42 +01:00
Peter Steinberger 827b0de0ce refactor: reduce plugin sdk surface 2026-05-10 12:37:10 +01:00
Peter Steinberger 5cd175bde9 test: require provider optional hooks 2026-05-08 18:38:52 +01:00
Peter Steinberger eac7a281d5 fix(searxng): retry empty category searches 2026-05-02 08:15:30 +01:00
Peter Steinberger ad85e5c64c feat(searxng): pass through image result urls 2026-05-02 06:56:23 +01:00
Peter Steinberger ee8f47eda7 feat(searxng): show setup JSON format note 2026-05-02 06:51:18 +01:00
Peter Steinberger 1771160d2c fix(web-search): restrict private network guard 2026-05-02 06:39:48 +01:00
Peter Steinberger 0ba5586ba9 refactor: trim config helper exports 2026-05-01 19:58:36 +01:00
Peter Steinberger 4336a7f3a9 refactor(plugin-sdk): narrow config runtime imports 2026-04-27 14:58:32 +01:00
Peter Steinberger a7e029fde9 refactor: cache provider tool runtimes 2026-04-18 19:05:00 +01:00
Gustavo Madeira Santana c54464a887 test: keep searxng web search contract light
Lazy-load the SearXNG web-search client from provider execution and reuse
the shared contract helper for credential and selection wiring. Keep the
shared fast-path contract focused on the single bundled manifest it checks.
2026-04-17 18:15:59 -04:00
Vincent Koc 63db3443f1 fix(plugin-sdk): prefer canonical private-network opt-in 2026-04-05 11:45:09 +01:00
Peter Steinberger 847faa3d04 test: trim extension test import churn 2026-04-03 04:41:08 +01:00
Charles Dusek 32ae841098 feat(web-search): add SearXNG as bundled web search provider plugin (#57317)
* feat(web-search): add bundled searxng plugin

* test(web-search): cover searxng config wiring

* test(web-search): include searxng in bundled provider inventory

* test(web-search): keep searxng ordering aligned

* fix(web-search): sanitize searxng result rows

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-01 19:24:33 +09:00