Peter Steinberger
f4855baf35
fix(ci): await async provider test registration
2026-04-04 09:28:43 +01:00
Peter Steinberger
a23ab9b906
refactor: move voice-call realtime providers into extensions
2026-04-04 12:07:23 +09:00
Peter Steinberger
d02fc365b4
test(plugins): drop stale core test files
2026-04-04 00:11:54 +01:00
Peter Steinberger
ab318de8b7
test(plugins): finish moving contract coverage
2026-04-04 00:11:39 +01:00
Peter Steinberger
f3a6d13965
test: trim helper partial mocks
2026-04-03 21:34:42 +01:00
Shakker
549e0bb268
test: keep imessage test plugin facade-free by default
2026-04-03 15:23:50 +01:00
Shakker
d7e4fad872
refactor: trim outbound delivery test imports
2026-04-03 15:10:48 +01:00
Peter Steinberger
8d0bed458e
refactor: simplify reply-threading and test helpers
2026-04-03 23:06:22 +09:00
Shakker
73073a91bb
refactor: isolate session store test cleanup state
2026-04-03 14:17:16 +01:00
Peter Steinberger
55e43cbc7f
test: isolate bundled plugin coverage from unit
2026-04-03 10:58:44 +01:00
Peter Steinberger
64755c52f2
test: move extension-owned coverage out of core
2026-04-03 10:58:44 +01: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
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
Vincent Koc
1a313caff3
refactor(tasks): remove flow registry layer
2026-04-01 02:25:13 +09:00
Peter Steinberger
759d37635d
Revert "refactor: move tasks behind plugin-sdk seam"
...
This reverts commit da6e9bb76f .
2026-04-01 01:30:22 +09:00
Peter Steinberger
da6e9bb76f
refactor: move tasks behind plugin-sdk seam
2026-03-31 15:22:09 +01:00
Shakker
cefa191417
test: stabilize gateway and session cleanup flows
2026-03-31 01:40:55 +01:00
Shakker
82695bb24d
test: remove timeout-prone windows ci waits
2026-03-31 01:40:55 +01:00
Shakker
da03d857f9
test: stabilize recurring windows ci suites
2026-03-31 01:40:55 +01:00
Shakker
6ab0f62b3b
test: stabilize remaining windows ci timeouts
2026-03-31 01:40:55 +01:00
Shakker
7d70b1b51e
test: stabilize windows registry cleanup flows
2026-03-31 01:40:55 +01:00
Shakker
56c9e2493b
test: harden windows timeout-sensitive suites
2026-03-31 01:40:55 +01:00
Shakker
b878a34591
test: stabilize windows flow and session cleanup tests
2026-03-31 01:40:55 +01:00
openperf
9a03fe8181
fix(facade-runtime): add recursion guard to facade module loader to prevent infinite stack overflow
...
Place a sentinel object in the loadedFacadeModules cache before the Jiti
sync load begins. Re-entrant calls (caused by circular facade references
from constant exports evaluated at module-evaluation time) now receive the
sentinel instead of recursing infinitely. Once the real module finishes
loading, Object.assign() back-fills the sentinel so any references
captured during the circular load phase see the final exports.
The Jiti load is wrapped in try/catch: on failure the sentinel is removed
from the cache so that subsequent retry attempts re-execute the load
instead of silently returning an empty object. The function returns the
sentinel (not the raw loaded module) to guarantee a single object identity
for all callers, including those that captured a reference during the
circular load phase.
Also tightens the generic constraint from <T> to <T extends object> so
Object.assign() is type-safe, and propagates the constraint to the
test-utils callers in bundled-plugin-public-surface.ts.
Fixes #57394
2026-03-30 13:48:21 +05:30
Gustavo Madeira Santana
c389b05d3c
Tests: force-reset session cleanup state between runs
2026-03-30 00:36:43 -04:00
Gustavo Madeira Santana
d8ad72bf8d
Tests: stabilize session-state cleanup mocks
2026-03-30 00:15:59 -04:00
Peter Steinberger
fec51572a3
fix: stabilize gate and extension boundary checks
2026-03-30 02:37:36 +01:00
Peter Steinberger
471e059b69
refactor(plugin-sdk): remove channel-specific sdk shims
2026-03-30 01:03:24 +01:00
Peter Steinberger
2e0682d930
refactor: finish decoupling plugin sdk seams
2026-03-29 22:42:06 +01:00
Peter Steinberger
8e0ab35b0e
refactor(plugins): decouple bundled plugin runtime loading
2026-03-29 09:10:38 +01:00
Peter Steinberger
02d4c1f2c3
refactor: derive channel metadata from plugin manifests
2026-03-28 17:17:10 +00:00
Gustavo Madeira Santana
d042543539
Tests: share agents bind command harness
2026-03-28 02:09:43 -04:00
Gustavo Madeira Santana
5292622fec
Tests: share partial module mock helper
2026-03-28 02:09:43 -04:00
Peter Steinberger
992b30604d
refactor: move extension-owned tests to extensions
2026-03-27 21:37:09 +00:00
Peter Steinberger
ed055f44ae
refactor: route plugin runtime through bundled seams
2026-03-27 16:40:27 +00:00
Ayaan Zaidi
3a7cf5364f
test(cleanup): isolate session lock queue coverage
2026-03-27 13:50:02 +05:30
Peter Steinberger
663ba5a3cd
perf: speed up test parallelism
2026-03-26 20:09:40 +00:00
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
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
Peter Steinberger
23a4ae4759
refactor: dedupe test helpers and harnesses
2026-03-24 21:41:46 +00:00
Peter Steinberger
b1b162fcdb
test: harden threaded channel follow-ups
2026-03-24 09:24:29 +00:00
Peter Steinberger
43131dcc08
test: harden threaded shared-worker suites
2026-03-24 08:37:00 +00:00
Peter Steinberger
0f84aac487
fix: stabilize matrix and teams ci assertions
2026-03-24 05:29:05 +00:00
Peter Steinberger
6b9915a106
refactor!: drop legacy CLAWDBOT env compatibility
2026-03-22 22:13:39 -07:00
Vincent Koc
c0cbc7403b
test(env): normalize path expectations on windows
2026-03-22 16:08:49 -07:00
Peter Steinberger
1ad47b8fa1
test: harden path resolution test helpers
2026-03-22 22:47:58 +00:00
Gustavo Madeira Santana
682f4d1ca3
Plugin SDK: require unified message discovery
2026-03-18 03:02:16 +00:00
Peter Steinberger
4b125762f6
refactor: clean extension api boundaries
2026-03-17 09:38:21 -07:00
Bob
ea15819ecf
ACP: harden startup and move configured routing behind plugin seams ( #48197 )
...
* ACPX: keep plugin-local runtime installs out of dist
* Gateway: harden ACP startup and service PATH
* ACP: reinitialize error-state configured bindings
* ACP: classify pre-turn runtime failures as session init failures
* Plugins: move configured ACP routing behind channel seams
* Telegram tests: align startup probe assertions after rebase
* Discord: harden ACP configured binding recovery
* ACP: recover Discord bindings after stale runtime exits
* ACPX: replace dead sessions during ensure
* Discord: harden ACP binding recovery
* Discord: fix review follow-ups
* ACP bindings: load channel snapshots across workspaces
* ACP bindings: cache snapshot channel plugin resolution
* Experiments: add ACP pluginification holy grail plan
* Experiments: rename ACP pluginification plan doc
* Experiments: drop old ACP pluginification doc path
* ACP: move configured bindings behind plugin services
* Experiments: update bindings capability architecture plan
* Bindings: isolate configured binding routing and targets
* Discord tests: fix runtime env helper path
* Tests: fix channel binding CI regressions
* Tests: normalize ACP workspace assertion on Windows
* Bindings: isolate configured binding registry
* Bindings: finish configured binding cleanup
* Bindings: finish generic cleanup
* Bindings: align runtime approval callbacks
* ACP: delete residual bindings barrel
* Bindings: restore legacy compatibility
* Revert "Bindings: restore legacy compatibility"
This reverts commit ac2ed68fa2426ecc874d68278c71c71ad363fcfe.
* Tests: drop ACP route legacy helper names
* Discord/ACP: fix binding regressions
---------
Co-authored-by: Onur <2453968+osolmaz@users.noreply.github.com >
2026-03-17 17:27:52 +01:00
Peter Steinberger
aa2d5aaa0c
feat(plugins): add image generation capability
2026-03-16 22:58:55 -07:00