Commit Graph

841 Commits

Author SHA1 Message Date
Peter Steinberger 6b8a1b77a0
refactor(nodes): split media and invoke handlers 2026-03-30 00:57:27 +01:00
Peter Steinberger 2255e04b07
test(nodes): update coverage after exec consolidation 2026-03-30 00:41:06 +01:00
Peter Steinberger 5dae663ea4
refactor(nodes): remove nodes.run execution path 2026-03-30 00:41:06 +01:00
Mariano 17c36b5093
Gateway: track background task lifecycle (#52518)
Merged via squash.

Prepared head SHA: 7c4554204e
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-03-29 12:48:02 +02:00
助爪 443295448c
Track ACP sessions_spawn runs and emit ACP lifecycle events (#40885)
* Fix ACP sessions_spawn lifecycle tracking

* fix(tests): resolve leftover merge markers in sessions spawn lifecycle test

* fix(agents): clarify acp spawn cleanup semantics

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-03-29 18:20:10 +09:00
Vincent Koc 57882f0351
fix(web-search): localize shared search cache (#54040)
* fix(web-search): localize shared search cache

* docs(changelog): note localized web search cache

* test(web-search): assert module-local cache behavior

* Update CHANGELOG.md
2026-03-29 17:25:07 +09:00
huntharo b7ab0ddb55 refactor(xai): move code_execution into plugin 2026-03-28 21:35:13 +00:00
Peter Steinberger 2a950157b1 refactor(xai): move x_search into plugin 2026-03-28 21:35:13 +00:00
huntharo 396bf20cc6 Tools: add xAI-backed code_execution 2026-03-28 21:35:13 +00:00
huntharo 1c9684608a Docs: guide x_search toward exact-post stats lookups 2026-03-28 21:35:13 +00:00
huntharo c8ed1638ea xAI: restore generic auth and x_search seams 2026-03-28 21:35:13 +00:00
huntharo 92fb4ad233 xAI: route x_search through public api seam 2026-03-28 21:35:13 +00:00
huntharo df61660a26 xAI: centralize fallback auth resolution 2026-03-28 21:35:13 +00:00
huntharo 800042a3d5 xAI: reuse plugin key for x_search 2026-03-28 21:35:13 +00:00
huntharo 38e4b77e60 Tools: add x_search via xAI Responses 2026-03-28 21:35:13 +00:00
Lakshya Agarwal 4dfd2cd60c
feat: add support for extra headers in Tavily API requests (#55335)
* feat: add support for extra headers in Tavily API requests

* test(tavily-client): add unit tests for X-Client-Source header in API calls

* fix(tavily): add client source attribution (#55335) (thanks @lakshyaag-tavily)

---------

Co-authored-by: Nimrod Gutman <nimrod.gutman@gmail.com>
2026-03-28 11:36:59 +03:00
Peter Steinberger d042192c7c
refactor(plugins): move provider policy hooks into plugins 2026-03-28 06:11:13 +00:00
Peter Steinberger c4e6fdf94d
refactor(xai): move bundled xai runtime into plugin
Co-authored-by: Harold Hunt <harold@pwrdrvr.com>
2026-03-28 05:02:41 +00:00
Tak Hoffman 12488f45c2
fix(regression): preserve announce thread ids 2026-03-27 23:22:17 -05:00
Tak Hoffman 8c60e4e9f9
fix(regression): normalize image tool provider config aliases 2026-03-27 22:09:52 -05:00
Tak Hoffman bd7375f84a
fix: normalize image provider alias selection 2026-03-27 21:28:15 -05:00
Tak Hoffman d604ce9950
fix(regression): preserve numeric session thread ids 2026-03-27 20:24:14 -05:00
Tak Hoffman 1b16a112e7
fix: keep numeric session thread ids in sessions list 2026-03-27 20:21:06 -05:00
Tak Hoffman f0d5d7a33a
fix: preserve session origin account metadata in announce routing 2026-03-27 20:21:06 -05:00
Peter Steinberger 4ca07559ab refactor: move provider seams behind plugin sdk surfaces 2026-03-27 23:26:26 +00:00
Jacob Tomlinson 4d7cc6bb4f
gateway: restrict node pairing approvals (#55951)
* gateway: restrict node pairing approvals

* gateway: tighten node pairing scope checks

* gateway: harden node pairing reconnects

* agents: request elevated node pairing scopes

* agents: fix node pairing approval preflight scopes
2026-03-27 19:14:16 +00:00
Jacob Tomlinson fdbcfced84
Agents: enforce session status visibility (#55904)
* Agents: enforce session_status visibility

* Agents: preserve sandboxed session_status visibility checks
2026-03-27 18:49:24 +00:00
Peter Steinberger ed055f44ae refactor: route plugin runtime through bundled seams 2026-03-27 16:40:27 +00:00
Peter Steinberger 8ddeada97d test: move extension-owned coverage into plugins 2026-03-27 15:11:33 +00:00
Peter Steinberger c7b4c34e89 refactor: route provider test seams through extension barrels 2026-03-27 13:46:17 +00:00
Jacob Tomlinson 76411b2afc
Agents: block protected gateway config writes (#55682)
* Agents: block protected gateway config writes

* Agents: tighten gateway config guard coverage

* Agents: guard migrated exec config aliases
2026-03-27 09:42:15 +00:00
Tak Hoffman 962cc740a0
fix: keep session settings in sessions list 2026-03-26 22:48:39 -05:00
Tak Hoffman e25965ed4a
fix: keep session thread ids in sessions list 2026-03-26 22:43:05 -05:00
Tak Hoffman 5783c2e070
fix: use session origin provider in status queue settings 2026-03-26 22:42:45 -05:00
Tak Hoffman bd5fe92c94
fix: use session origin provider in sessions list 2026-03-26 22:42:45 -05:00
Tak Hoffman 5b4669632a
Avoid stale sessions_send reply carryover 2026-03-26 22:40:50 -05:00
scoootscooob cc359d4c9d
fix: use runtime model and per-agent thinking defaults in status (thanks @scoootscooob, @xaeon2026, @ysfbsf) (#55425)
Merged via squash.

Prepared head SHA: 061d7c7ac0
Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com>
Co-authored-by: scoootscooob <167050519+scoootscooob@users.noreply.github.com>
Reviewed-by: @scoootscooob
2026-03-26 17:49:21 -07:00
Peter Steinberger 0ef2a9c8b5 refactor: remove core browser test duplicates 2026-03-26 23:28:34 +00:00
Peter Steinberger d1d0887932 refactor: remove legacy browser bridge entrypoints 2026-03-26 23:11:17 +00:00
Peter Steinberger 09c186d5f9 refactor: remove browser compat shadow tree 2026-03-26 22:53:37 +00:00
Peter Steinberger 83ca6fbfc6 refactor: finish browser compat untangle 2026-03-26 22:42:41 +00:00
Peter Steinberger 8eeb7f0829 refactor: switch browser ownership to bundled plugin 2026-03-26 22:20:40 +00:00
Peter Steinberger e955d574b2
refactor: move memory tooling into memory-core extension 2026-03-26 22:00:13 +00:00
Tak Hoffman 1062a048eb
fix: expose spawned session owners in sessions list 2026-03-26 13:41:46 -05:00
Tak Hoffman c041fcc04d
fix: expose parent session keys in sessions list 2026-03-26 13:41:46 -05:00
Jacob Tomlinson d9810811b6
fix(agents): enforce session_status guard after sessionId resolution (#55105)
* fix(agents): enforce visibility guard after sessionId resolution in session_status

When a sessionId (rather than an explicit agent key) is passed to the
session_status tool, the sessionId resolution block rewrites
requestedKeyRaw to an explicit "agent:..." key.  The subsequent
visibility guard check at line 375 tested
`!requestedKeyRaw.startsWith("agent:")`, which was now always false
after resolution — skipping the visibility check entirely.

This meant a sandboxed agent could bypass visibility restrictions by
providing a sessionId instead of an explicit session key.

Fix: use the original `isExplicitAgentKey` flag (captured before
resolution) instead of re-checking the dynamic requestedKeyRaw.
This ensures the visibility guard runs for sessionId inputs while
still skipping the redundant check for inputs that were already
validated at the earlier explicit-key check (lines 281-286).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* test: cover session status sessionId guard

* test: align parent sessionId guard coverage

---------

Co-authored-by: Kevin Sheng <shenghuikevin@github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 11:34:22 +00:00
kevinlin-openai 432d5f863c
fix: add slack upload-file action (#54987) (thanks @kevinlin-openai)
* feat(slack): add upload-file action

Co-authored-by: Codex <noreply@openai.com>

* fix(slack): guard upload-file routing

Co-authored-by: Codex <noreply@openai.com>

* fix(slack): tighten upload-file validation

---------

Co-authored-by: kevinlin-openai <kevin@dendron.so>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-26 13:37:58 +05:30
George Zhang 6cbd2d36f8
Revert "feat: add video generation core infrastructure and extend image generation parameters (#53681)" (#54943)
This reverts commit 4cb8dde894.
2026-03-25 23:00:14 -07:00
Ted Li 76ff0d9298
fix: restore image-tool generic provider fallback (#54858) (thanks @MonkeyLeeT)
* Image tool: restore generic provider fallback

* Image tool: cover multi-image generic fallback

* test: tighten minimax-portal image fallback coverage

* fix: restore image-tool generic provider fallback (#54858) (thanks @MonkeyLeeT)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-26 10:07:43 +05:30
xieyongliang 4cb8dde894
feat: add video generation core infrastructure and extend image generation parameters (#53681)
* feat: add video generation core infrastructure and extend image generation parameters

Add full video generation capability to OpenClaw core:

- New `video_generate` agent tool with support for prompt, duration, aspect ratio,
  resolution, seed, watermark, I2V (first/last frame), camerafixed, and draft mode
- New `VideoGenerationProvider` plugin SDK type and `registerVideoGenerationProvider` API
- New `src/video-generation/` module (types, runtime with fallback, provider registry)
- New `openclaw/plugin-sdk/video-generation` export for external plugins
- 200MB max file size for generated videos (vs default 5MB for images)

Extend image generation with additional parameters:
- `seed`, `watermark`, `guidanceScale`, `optimizePrompt`, `providerOptions`
- New `readBooleanParam()` helper in tool common utilities

Update plugin registry, contracts, and all test mocks to include
`videoGenerationProviders` and `videoGenerationProviderIds`.

Made-with: Cursor

* fix: validate aspect ratio against target provider when model override is set

* cleanup: remove redundant ?? undefined from video/image generate tools

* chore: regenerate plugin SDK API baseline after video generation additions

---------

Co-authored-by: yongliang.xie <yongliang.xie@bytedance.com>
2026-03-25 18:45:06 -07:00