Peter Steinberger
b5265a07d7
refactor: replace 156k-line generated baselines with SHA-256 hash files
...
Config and Plugin SDK drift detection now compares SHA-256 hashes instead
of full JSON content. The .sha256 files (6 lines total) are tracked in git;
the full JSON baselines are gitignored and generated locally for inspection.
Same CI guarantee, zero repo churn on schema changes.
2026-04-04 16:49:21 +09:00
Vincent Koc
5c685eee9c
fix(config): remove lingering channel streamMode leaks ( #60733 )
2026-04-04 16:14:38 +09:00
Vincent Koc
73115b5480
fix(zalouser): migrate legacy group allow aliases ( #60702 )
...
* fix(channels): prefer source contract surfaces in source checkouts
* fix(zalouser): migrate legacy group allow aliases
2026-04-04 14:50:15 +09:00
Vincent Koc
b390591779
fix(matrix): migrate room allow aliases to enabled ( #60690 )
...
* fix(matrix): migrate room allow aliases to enabled
* test(matrix): keep migration coverage on the channel seam
* chore(config): refresh baselines after matrix alias cleanup
2026-04-04 14:27:50 +09:00
Peter Steinberger
eb9051cc7c
refactor(openai): move native transport policy into extension
2026-04-04 04:27:14 +01:00
Vincent Koc
b5a849801c
chore(plugin-sdk): refresh api baseline
2026-04-04 11:30:30 +09:00
Vincent Koc
9e389cff3d
fix(config): migrate legacy group allow aliases ( #60597 )
...
* fix(config): migrate legacy group allow aliases
* fix(config): inline legacy streaming migration helpers
* refactor(config): rename legacy account matcher helper
* chore(agents): codify config contract boundaries
* fix(config): keep legacy allow aliases writable
* Update AGENTS.md
2026-04-04 11:15:32 +09:00
Vincent Koc
94adc24393
chore(plugin-sdk): refresh api baseline
2026-04-04 11:03:28 +09:00
Vincent Koc
858bf405f4
refactor(providers): share replay and tool compat helpers ( #60637 )
...
* refactor(providers): share replay and tool compat helpers
* chore(plugin-sdk): refresh api baseline
2026-04-04 10:55:36 +09:00
Peter Steinberger
e4b5027c5e
refactor(plugins): move extension seams into extensions
2026-04-04 00:10:16 +01:00
Vincent Koc
4265a59892
fix(config): hide legacy internal hook handlers
2026-04-04 04:26:51 +09:00
Peter Steinberger
856592cf00
fix(outbound): restore generic delivery and security seams
2026-04-03 19:09:20 +01:00
Gustavo Madeira Santana
dc306013e1
Approvals: scope foreign-channel account routing ( #60417 )
...
Merged via squash.
Prepared head SHA: 3ad6cae91f
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-03 13:48:00 -04:00
Gustavo Madeira Santana
ddd250d130
feat(skills): add inherited agent skill allowlists ( #59992 )
...
Merged via squash.
Prepared head SHA: 6f60779a57
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-03 13:41:28 -04:00
Peter Steinberger
865fa2ba72
fix: narrow auth permanent lockouts
2026-04-04 02:35:27 +09:00
Vincent Koc
c7a947dc0a
fix(config): remove legacy config aliases from public schema
2026-04-04 01:24:14 +09:00
Vincent Koc
8f5f78bbe8
feat(providers): reopen model request transport config ( #60327 )
...
* feat(providers): reopen model request transport config
* chore(config): refresh request override baselines
2026-04-03 23:25:11 +09:00
Josh Lehman
799c6f40aa
refactor: move provider replay runtime ownership into plugins ( #60126 )
...
* refactor: move provider replay runtime ownership into plugins
* fix(provider-runtime): address review followups
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-03 23:14:37 +09:00
Peter Steinberger
f59d0eac68
refactor(plugin-runtime): remove plugin-specific core seams
2026-04-03 13:08:39 +01:00
Peter Steinberger
fb0d82ba9f
fix(ci): refresh guardrails and config baselines
2026-04-03 11:18:40 +01:00
Peter Steinberger
2766c27b2a
refactor(plugin-sdk): genericize web channel runtime seams
2026-04-03 11:17:28 +01:00
Peter Steinberger
2ca97a7d48
docs(plugin-sdk): refresh seam cleanup docs
2026-04-03 10:45:11 +01:00
Peter Steinberger
4bfa9260ce
fix(telegram): add dangerous private-network media opt-in
2026-04-03 18:39:17 +09:00
Vincent Koc
f5c3b409ea
Config: separate core/plugin baseline entries ( #60162 )
...
* Config: separate core/plugin baseline entries
* Config: split config baseline by kind
* Config: split generated baselines by kind
* chore(build): skip generated baseline shards in local tooling
* chore(build): forbid generated docs in npm pack
2026-04-03 18:26:23 +09:00
Peter Steinberger
bff6025bde
test: refresh generated baselines
2026-04-03 04:54:59 +09:00
Vincent Koc
774beb8e5c
refactor(plugin-sdk): add task domain runtime surfaces ( #59805 )
...
* refactor(plugin-sdk): add task domain runtime views
* chore(plugin-sdk): refresh api baseline
* fix(plugin-sdk): preserve task runtime owner isolation
2026-04-03 02:11:21 +09:00
Peter Steinberger
17f6626ffe
feat(approvals): auto-enable native chat approvals
2026-04-02 17:30:40 +01:00
Peter Steinberger
423f7c3487
build: prep 2026.4.2-beta.1 release
2026-04-02 16:33:21 +01:00
Vincent Koc
3872a866a1
fix(xai): make x_search auth plugin-owned ( #59691 )
...
* fix(xai): make x_search auth plugin-owned
* fix(xai): restore x_search runtime migration fallback
* fix(xai): narrow legacy x_search auth migration
* fix(secrets): drop legacy x_search target registry entry
* fix(xai): no-op knob-only x_search migration fallback
2026-04-02 23:54:07 +09:00
Vincent Koc
3e4de956c0
!refactor(xai): move x_search config behind plugin boundary ( #59674 )
...
* refactor(xai): move x_search config behind plugin boundary
* chore(changelog): note x_search config migration
* fix(xai): include x_search migration helpers
2026-04-02 22:08:59 +09:00
Vincent Koc
6eca1949d5
refactor(plugins): tighten web fetch provider boundary ( #59646 )
...
* refactor(plugins): tighten web fetch provider boundary
* fix(config): sync fetch secret parity and baseline
* fix(ci): enforce web fetch boundary guard
2026-04-02 20:53:57 +09:00
Vincent Koc
38d2faee20
!feat(plugins): add web fetch provider boundary ( #59465 )
...
* feat(plugins): add web fetch provider boundary
* feat(plugins): add web fetch provider modules
* refactor(web-fetch): remove remaining core firecrawl fetch config
* fix(web-fetch): address review follow-ups
* fix(web-fetch): harden provider runtime boundaries
* fix(web-fetch): restore firecrawl compare helper
* fix(web-fetch): restore env-based provider autodetect
* fix(web-fetch): tighten provider hardening
* fix(web-fetch): restore fetch autodetect and compat args
* chore(changelog): note firecrawl fetch config break
2026-04-02 20:25:19 +09:00
Gustavo Madeira Santana
8748b7c54c
Matrix: keep partial previews aligned with block streaming ( #59384 )
...
Merged via squash.
Prepared head SHA: 981aa35a7c
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 03:39:27 -04:00
Gustavo Madeira Santana
a5cd921053
revert: remove TinyFish bundled plugin
2026-04-02 03:07:33 -04: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
Sally O'Malley
41aac73590
chore(docs): sync config baseline ( #59461 )
2026-04-02 01:33:21 -04:00
Sally O'Malley
ad6e42906f
chore(docs): sync generated baselines ( #59450 )
2026-04-02 01:26:45 -04:00
Gustavo Madeira Santana
c87c8e66bf
Refactor channel approval capability seams ( #58634 )
...
Merged via squash.
Prepared head SHA: c9ad4e4706
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-01 17:10:25 -04:00
Josh Lehman
90eb5b073f
fix: pass session identity to plugin commands ( #59044 )
...
Merged via squash.
Prepared head SHA: 0f7a23f139
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-01 13:07:17 -07:00
Oguri Cap
1f99c87a44
feat: add agents.defaults.compaction.notifyUser config option (default: false) [ Fix #54249 ] ( #54251 )
...
Merged via squash.
Prepared head SHA: 6fd4cdb7c3
Co-authored-by: oguricap0327 <266246182+oguricap0327@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-01 12:29:17 -07:00
Moliendo
d076153fc9
fix(config): coerce numeric Discord IDs to strings instead of rejecting ( #45125 )
...
Merged via squash.
Prepared head SHA: 099ba514a1
Co-authored-by: moliendocode <29582793+moliendocode@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-04-01 21:07:28 +03:00
Peter Steinberger
8988894ff7
build: prepare 2026.4.1-beta.1 release
2026-04-01 15:09:19 +01:00
Forgely3D
4fa11632b4
fix: escalate to model fallback after rate-limit profile rotation cap ( #58707 )
...
* fix: escalate to model fallback after rate-limit profile rotation cap
Per-model rate limits (e.g. Anthropic Sonnet-only quotas) are not
relieved by rotating auth profiles — if all profiles share the same
model quota, cycling between them loops forever without falling back
to the next model in the configured fallbacks chain.
Apply the same rotation-cap pattern introduced for overloaded_error
(#58348 ) to rate_limit errors:
- Add `rateLimitedProfileRotations` to auth.cooldowns config (default: 1)
- After N profile rotations on a rate_limit error, throw FailoverError
to trigger cross-provider model fallback
- Add `resolveRateLimitProfileRotationLimit` helper following the same
pattern as `resolveOverloadProfileRotationLimit`
Fixes #58572
* fix: cap prompt-side rate-limit failover (#58707 ) (thanks @Forgely3D)
* fix: restore latest-main gates for #58707
---------
Co-authored-by: Ember (Forgely3D) <ember@forgely.co >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-01 17:54:10 +09:00
Josh Lehman
5836ddea3f
test: fix amazon-bedrock extension test boundary ( #58753 )
...
* Tests: stop amazon-bedrock from importing private core plugin types
* Config: refresh generated doc baseline
2026-03-31 22:24:38 -07:00
Marcus Castro
ac6db066d3
feat(whatsapp): add reaction guidance levels ( #58622 )
...
* WhatsApp: add reaction guidance policy
* WhatsApp: expose reaction guidance to agents
2026-04-01 01:42:10 -03:00
Gustavo Madeira Santana
bea53d7a3f
Fix: move bootstrap session grammar into plugin-owned session-key surfaces ( #58400 )
...
Merged via squash.
Prepared head SHA: b062b18b03
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-31 19:41:01 -04:00
Peter Steinberger
6f111516ef
docs: refresh plugin sdk api baseline
2026-03-31 21:46:21 +01:00
Peter Steinberger
418fa12dfa
fix: make overload failover configurable
2026-03-31 21:34:35 +01:00
Peter Steinberger
ce58f55fe0
fix: require doctor migration for legacy web search config
2026-04-01 04:22:41 +09:00
Peter Steinberger
8fa5ac5a96
build: refresh plugin sdk api baseline
2026-03-31 19:37:05 +01:00