Gustavo Madeira Santana
a5cd921053
revert: remove TinyFish bundled plugin
2026-04-02 03:07:33 -04:00
Mingkuan
c15cfeb21c
fix(qqbot): lazy-load silk-wasm to avoid hard failure when package is missing ( #58829 )
...
* fix(qqbot): lazy-load silk-wasm to avoid hard failure when package is missing
Replace the static top-level import with a cached dynamic import helper.
If silk-wasm is unavailable the plugin loads normally; voice encode/decode
degrades gracefully instead of crashing the module at load time.
* fix(qqbot): store in-flight Promise in loadSilkWasm to prevent duplicate imports
Concurrent cold-start calls to loadSilkWasm() before the first import()
resolves would each fire a separate dynamic import. Storing the Promise
instead of the resolved value (matching the detectFfmpeg pattern in
platform.ts) ensures all concurrent callers await the same import,
keeping the codebase consistent and avoiding redundant parallel loads.
* QQBot: add changelog for silk-wasm lazy load
* QQBot: move changelog entry for PR #58829
---------
Co-authored-by: sliverp <870080352@qq.com >
Co-authored-by: Sliverp <38134380+sliverp@users.noreply.github.com >
2026-04-02 14:46:53 +08:00
Gustavo Madeira Santana
0809c8d29a
fix(matrix): preserve legacy mention edits
2026-04-02 02:33:00 -04:00
Vincent Koc
3e52f5a021
docs(changelog): add TinyFish PR number and attribution
2026-04-02 15:29:36 +09:00
Vincent Koc
f28f0f29ba
fix(providers): centralize media request shaping ( #59469 )
...
* fix(providers): centralize media request shaping
* style(providers): normalize shared request imports
* fix(changelog): add media request shaping entry
* fix(google): preserve private network guard
2026-04-02 15:28:57 +09:00
Gustavo Madeira Santana
9786946b2d
fix(matrix): restore guided setup flow ( #59462 )
...
Merged via squash.
Prepared head SHA: 9b29023c68
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-02 02:15:32 -04:00
Gustavo Madeira Santana
5c331687ff
fix(matrix): ignore escaped backticks in mention masking
2026-04-02 02:06:50 -04:00
Gustavo Madeira Santana
be52594766
fix(matrix): emit spec-compliant mentions ( #59323 )
...
Merged via squash.
Prepared head SHA: 4b641e35a2
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-02 02:00:24 -04:00
Vincent Koc
7b748a57f0
fix(contracts): activate runtime-backed binding suites
2026-04-02 14:57:11 +09:00
Simantak Dabhade
b880118d2d
feat: add TinyFish as bundled browser automation plugin ( #58645 )
...
* feat: add TinyFish as bundled browser automation plugin
Add a default-off bundled `tinyfish` plugin with one tool
(`tinyfish_automation`) for hosted browser automation of complex public
web workflows. Follows the existing plugin architecture pattern.
- Plugin entry, manifest with contracts, config schema, SecretRef support
- SSE stream parser with COMPLETE-terminal, SSRF guards, credential rejection
- Bundled skill with escalation guidance (web_fetch -> web_search -> tinyfish -> browser)
- Docs page, labeler rule, glossary entry, changelog entry
- 21 tests covering request serialization, auth, security, streaming, and error paths
Closes #41300
* plugins: address review feedback and regenerate baselines
- Split API_INTEGRATION into TINYFISH_API_INTEGRATION and CLIENT_SOURCE
for semantic clarity (Greptile P2)
- Wrap post-finally parseEventBlock in try/catch so trailing malformed
data does not mask "stream ended before COMPLETE" error (Greptile P2)
- Regenerate config-baseline and plugin-sdk-api-baseline for new plugin
---------
Co-authored-by: Simantak Dabhade <simantak@mac.local >
2026-04-02 01:46:05 -04:00
Vincent Koc
93fa6920b4
perf(memory): lazy-load telegram message context runtime
2026-04-02 14:44:14 +09:00
Vincent Koc
16c5bd466c
perf(memory): split telegram body helper surface
2026-04-02 14:41:26 +09:00
Vincent Koc
52a018680d
fix(plugins): guard runtime facade activation ( #59412 )
...
* fix(plugins): guard runtime facade activation
* refactor(plugin-sdk): localize facade load policy
* fix(plugin-sdk): narrow facade activation guards
* fix(browser): keep cleanup helpers outside activation guard
* style(browser): apply formatter follow-ups
* chore(changelog): note plugin activation guard regressions
* fix(discord): keep cleanup thread unbinds outside activation guard
* fix(browser): fallback when trash exits non-zero
2026-04-02 14:37:12 +09:00
Vincent Koc
ed6012eb5b
fix(agents): honor cacheRetention for custom anthropic providers ( #59049 )
...
* fix(agents): honor cacheRetention for custom anthropic providers
* docs(changelog): add cache retention entry
* Update CHANGELOG.md
* test(agents): add direct cache retention assertions
2026-04-02 14:34:01 +09:00
Sally O'Malley
41aac73590
chore(docs): sync config baseline ( #59461 )
2026-04-02 01:33:21 -04:00
Vincent Koc
703a363589
perf(memory): lazy-load telegram context session helpers
2026-04-02 14:31:48 +09:00
Vincent Koc
1707493be4
refactor(providers): add internal request config seam ( #59454 )
2026-04-02 14:28:25 +09:00
Gustavo Madeira Santana
f69570f820
Exec approvals: fix policy source attribution ( #59367 )
...
Merged via squash.
Prepared head SHA: 974945a9f0
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-02 01:28:14 -04:00
Sally O'Malley
ad6e42906f
chore(docs): sync generated baselines ( #59450 )
2026-04-02 01:26:45 -04:00
Vincent Koc
0e8e986c95
perf(memory): narrow telegram bot deps skill/runtime imports
2026-04-02 14:16:13 +09:00
Vincent Koc
7dc065dab0
docs(changelog): add missing PR numbers
2026-04-02 14:12:28 +09:00
Vincent Koc
5b952836e3
perf(memory): trim telegram command runtime imports
2026-04-02 14:11:28 +09:00
Vincent Koc
1a037ff6cd
refactor(providers): centralize request attribution policy ( #59433 )
...
* refactor(providers): centralize request attribution policy
* style(providers): normalize request policy formatting
* style(providers): normalize request policy formatting
* style(providers): normalize request policy formatting
* docs(changelog): note provider request policy fix
* fix(providers): tighten request policy gates
2026-04-02 14:10:53 +09:00
Vincent Koc
4309dc6d5e
perf(memory): lazy-load telegram monitor runtime graphs
2026-04-02 14:07:35 +09:00
Vincent Koc
fcfb9ddb1d
fix(matrix): preserve mocked auth context in bootstrap
2026-04-02 14:03:07 +09:00
Gustavo Madeira Santana
e718493ae6
test(matrix): cover draft overflow fallback
2026-04-02 01:02:18 -04:00
Vincent Koc
85928e29f1
perf(memory): lazy-load matrix bootstrap and probe runtimes
2026-04-02 13:57:03 +09:00
Vincent Koc
be1b4e6683
fix(ci): route matrix config helper through local barrel
2026-04-02 13:52:54 +09:00
Vincent Koc
4fd1e1c64f
perf(memory): lazy-load matrix client runtime deps
2026-04-02 13:51:48 +09:00
Scott Glover
9bbbee32e1
Docs: replace personal device names with generic placeholders ( #50825 )
2026-04-02 00:50:25 -04:00
Vincent Koc
6dbdcbda58
perf(memory): lazy-load matrix shared client creation
2026-04-02 13:48:20 +09:00
Vincent Koc
bfa561b1a7
perf(memory): lazy-load matrix secret config input
2026-04-02 13:46:06 +09:00
Vincent Koc
a398520ac8
perf(memory): trim matrix resolved config imports
2026-04-02 13:42:58 +09:00
Priyansh Gupta
b9c74fc884
fix(image-tool): resolve relative paths against workspaceDir ( #57222 )
...
Relative paths like "inbox/receipt.png" were resolved against
process.cwd() instead of the agent's workspaceDir, causing the
allowlist check to fail with "Local media path is not under an
allowed directory". This matches how the read tool already behaves.
Fixes #57215
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 00:41:09 -04:00
Marcus Castro
e1c96785ac
fix(whatsapp): gate connect-time presence on selfChatMode to preserve phone notifications ( #59410 )
2026-04-02 01:40:06 -03:00
Vincent Koc
df60fa8d49
perf(memory): trim matrix account resolution imports
2026-04-02 13:39:33 +09:00
Vincent Koc
45adba882f
docs: add contributor attribution for diffs viewerBaseUrl
2026-04-02 13:35:23 +09:00
Gustavo Madeira Santana
19c954bd78
diffs: add configurable viewer base URL ( #59341 )
...
Merged via squash.
Prepared head SHA: 3c2a84849f
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-02 00:31:29 -04:00
Vincent Koc
d55cefac00
perf(memory): trim matrix config import graph
2026-04-02 13:21:44 +09:00
Vincent Koc
75b5a4c713
perf(memory): lazy-load matrix send client bootstrap
2026-04-02 13:10:24 +09:00
Vincent Koc
4a5102c1bb
docs: fix changelog attribution and add missing WhatsApp MIME fix entry
2026-04-02 13:03:35 +09:00
Vincent Koc
d4c7ef3778
perf(memory): lazy-load matrix crypto runtime graph
2026-04-02 12:51:50 +09:00
Sally O'Malley
ee274dbdd1
remove noisy podman output from launch script and update doc ( #59368 )
...
Signed-off-by: sallyom <somalley@redhat.com >
2026-04-01 23:28:11 -04:00
bobbyt74
cae1d9bc6d
fix(whatsapp): add HTML/XML/CSS to MIME map + fallback for unknown media types ( #51562 )
...
Merged via squash.
Prepared head SHA: 83f2eabd49
Co-authored-by: bobbyt74 <262672147+bobbyt74@users.noreply.github.com >
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com >
Reviewed-by: @mcaxtr
2026-04-02 00:25:12 -03:00
Vincent Koc
8c3167a7c7
perf(memory): trim matrix auth test sdk imports
2026-04-02 11:45:32 +09:00
Vincent Koc
534f0a644b
fix(plugins): keep browser facade helpers cold
2026-04-02 11:44:49 +09:00
wangchunyue
51edd30bea
fix: restore local loopback role upgrades ( #59092 ) (thanks @openperf)
...
* fix(gateway ): allow silent role upgrades for local loopback clients
When a local loopback client connects with a role not covered by
existing device tokens, listEffectivePairedDeviceRoles incorrectly
returns an empty role set for devices whose tokens map is an empty
object. This triggers a role-upgrade pairing request that
shouldAllowSilentLocalPairing rejects because it does not recognise
the role-upgrade reason.
Fix listEffectivePairedDeviceRoles to fall back to legacy role fields
when the tokens map has no entries, and extend
shouldAllowSilentLocalPairing to accept role-upgrade for local
clients.
Fixes #59045
* fix: restore local loopback role upgrades (#59092 ) (thanks @openperf)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-02 08:13:45 +05:30
Vincent Koc
1ea901b107
perf(memory): lazy-load slack action runtime graph
2026-04-02 11:31:19 +09:00
Vincent Koc
a7e3c0b0e1
feat(slack): add scoped prompts and mrkdwn hints ( #59100 )
...
* feat(slack): add scoped prompts and mrkdwn hints
* refactor(slack): drop dm prompt override
* refactor(slack): drop exposed prompt config
* chore(changelog): note slack mrkdwn fix
2026-04-02 11:23:43 +09:00
Vincent Koc
7c913f2e13
chore(changelog): record plugin loading hardening
2026-04-02 11:20:50 +09:00