Peter Steinberger
18e5b0e3e3
test(web): trim duplicate provider test surfaces ( #121727 )
2026-08-10 15:44:54 -07:00
Peter Steinberger
084833b324
fix(search): propagate cancellation through provider-owned requests ( #118895 )
2026-08-03 12:46:17 -07:00
mushuiyu886
c5bc6c3d2d
fix(duckduckgo): preserve words around highlighted matches ( #111460 )
2026-07-19 19:09:09 -07:00
Peter Steinberger
090cb49122
refactor(duckduckgo): privatize safe-search default ( #107542 )
2026-07-14 06:27:12 -07:00
Peter Steinberger
84500db379
refactor(plugin-sdk): isolate HTML entity runtime
2026-07-14 00:16:37 -07:00
Peter Steinberger
b58a75d726
refactor(html): share entity decoding
2026-07-14 00:00:05 -07: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
llagy009
2720ac06b7
fix(duckduckgo): guard out-of-range numeric HTML entities ( #96583 )
...
decodeHtmlEntities decoded numeric entities with String.fromCodePoint(parseInt(...)) without a range check, so an out-of-range entity such as � or � threw RangeError and made the whole results page fail to parse. Validate the code point is within 0..0x10FFFF and keep the original entity text otherwise. Add a regression covering decimal and hex out-of-range entities plus a valid astral entity.
2026-06-27 09:37:58 -07:00
joshavant
0a14444924
Bound successful provider response reads
2026-06-24 19:08:22 -05:00
ly-wang19
f0be8e7b6e
fix(duckduckgo): decode & last in decodeHtmlEntities to avoid double-decoding ( #96348 )
...
* fix(duckduckgo): decode & last in decodeHtmlEntities to avoid double-decoding
decodeHtmlEntities decoded & FIRST, so result text that literally contains
an entity (e.g. a page title 'How to escape < in HTML', which DuckDuckGo
returns double-encoded as '&lt;') was re-decoded into markup: '&lt;'
became '<' instead of the literal '<', corrupting the titles, snippets, and
URLs the web-search tool returns to the model.
Reorder so & is decoded last, matching the established convention elsewhere
in the codebase (msteams/inbound.ts, openai-transport-stream.ts,
launchd-plist.ts, doctor-session-snapshots.ts all decode & last).
Behavior-preserving for all singly-encoded input.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
* fix(duckduckgo): decode html entities in one pass
---------
Co-authored-by: ly-wang19 <ly-wang19@users.noreply.github.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-06-24 21:35:27 +08: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
Peter Steinberger
827b0de0ce
refactor: reduce plugin sdk surface
2026-05-10 12:37:10 +01:00
Shakker
0fef42ddcc
test: tighten plugin extension array assertions
2026-05-09 05:58:17 +01:00
Peter Steinberger
13dacceed4
test: tighten extension helper assertions
2026-05-08 20:39:25 +01:00
Shakker
b7bdcaeb88
test: tighten web search provider assertions
2026-05-08 18:58:20 +01:00
Peter Steinberger
1ef85c7d4c
test: make suites safe without isolation ( #78834 )
...
* test: make suites safe without isolation
* fix: narrow auth profile credential types
* test: inject channel module loader factory locally
2026-05-07 08:43:29 +01:00
Peter Steinberger
614a294afa
refactor: trim contract helper exports
2026-05-02 05:03:37 +01:00
Peter Steinberger
09c0b138a3
fix(duckduckgo): show search provider in setup
2026-05-02 04:54:44 +01:00
Peter Steinberger
c1f31f3870
refactor: trim provider helper exports
2026-05-01 16:25:10 +01:00
Peter Steinberger
4336a7f3a9
refactor(plugin-sdk): narrow config runtime imports
2026-04-27 14:58:32 +01:00
Peter Steinberger
0b0662b1c9
chore: apply extension lint cleanups
2026-04-23 05:30:49 +01:00
Peter Steinberger
1680c86b6c
refactor: share duckduckgo web search provider base
2026-04-20 22:05:39 +01:00
Peter Steinberger
a7e029fde9
refactor: cache provider tool runtimes
2026-04-18 19:05:00 +01:00
Gustavo Madeira Santana
c9dfb19001
test: lazy-load duckduckgo web search runtime
...
Keep DuckDuckGo provider metadata on the contract path and defer
client plus runtime argument helpers until search execution.
2026-04-17 17:49:17 -04:00
Peter Steinberger
ad605052bf
refactor: dedupe provider lowercase helpers
2026-04-07 15:12:31 +01:00
Peter Steinberger
8d095147b4
fix: restore check gate
2026-04-06 15:20:03 +01:00
Vincent Koc
ac6f696baa
fix(check): repair typed test and cli drift
2026-04-06 15:14:37 +01:00
Peter Steinberger
af62a2c2e4
style: fix extension lint violations
2026-04-06 14:53:55 +01:00
Peter Steinberger
73ead2425b
test: drop redundant web search registration smokes
2026-04-01 02:57:08 +01:00
Peter Steinberger
f7285e0a9e
test: speed up extension suites
2026-03-31 02:25:02 +01:00
Peter Steinberger
f7de5c3b83
test: collapse search helper suites
2026-03-25 00:42:09 +00:00
Peter Steinberger
3725b38335
fix: restore ci gates
2026-03-23 14:32:10 +00:00
Vincent Koc
d43e26e399
fix(web-search): mark DuckDuckGo experimental
2026-03-22 22:07:53 -07:00
Vincent Koc
c6ca11e5a5
feat(web-search): add DuckDuckGo bundled plugin ( #52629 )
...
* feat(web-search): add DuckDuckGo bundled plugin
* chore(changelog): restore main changelog
* fix(web-search): harden DuckDuckGo challenge detection
2026-03-22 22:05:33 -07:00