Peter Steinberger
46f49eb6eb
refactor: shrink plugin sdk public surface
2026-03-18 23:31:08 +00:00
Vincent Koc
757c2cc2de
fix(release): isolate bundled config docs loading
2026-03-18 16:01:43 -07:00
Vincent Koc
91d37ccfc3
fix(auth): lazy-load provider oauth helpers
2026-03-18 13:40:28 -07:00
Vincent Koc
6ebcd853be
fix(plugin-sdk): isolate provider entry surfaces
2026-03-18 13:20:46 -07:00
Peter Steinberger
a0d3dc94d0
perf: reduce unit test hot path overhead
2026-03-18 18:19:40 +00:00
Vincent Koc
fa52d122c4
Plugin SDK: route provider metadata through public models subpath
2026-03-18 11:18:04 -07:00
Peter Steinberger
62edfdffbd
refactor: deduplicate reply payload handling
2026-03-18 18:14:57 +00:00
Vincent Koc
152d179302
Plugin SDK: add public WhatsApp runtime subpaths
2026-03-18 11:13:19 -07:00
Vincent Koc
8240fd900a
Plugin SDK: route core channel runtimes through public subpaths
2026-03-18 11:00:58 -07:00
Peter Steinberger
8d73bc77fa
refactor: deduplicate reply payload helpers
2026-03-18 17:30:25 +00:00
Vincent Koc
891e2a3da8
Build: isolate optional bundled plugin-sdk clusters
2026-03-18 09:54:22 -07:00
Peter Steinberger
27f655ed11
refactor: deduplicate channel runtime helpers
2026-03-18 16:37:27 +00:00
Peter Steinberger
3d8afb96bd
fix: use transpiled jiti for source plugin shims
2026-03-18 16:24:45 +00:00
Vincent Koc
73539ac787
Core: move web media seam out of plugin sdk
2026-03-18 09:12:23 -07:00
Peter Steinberger
f6928617b7
test: stabilize gate regressions
2026-03-18 15:36:32 +00:00
Peter Steinberger
7943e83c6c
fix: restore rebased full gate
2026-03-18 15:36:18 +00:00
Peter Steinberger
e9b19ca1d1
fix: restore full gate after web-search rebase
2026-03-18 15:35:27 +00:00
Peter Steinberger
861fcb1575
fix: restore rebased full gate
2026-03-18 15:34:27 +00:00
Peter Steinberger
b5d2123156
fix: stabilize rebased full gate
2026-03-18 15:34:27 +00:00
Peter Steinberger
0cddb5fb7c
fix: restore full gate
2026-03-18 15:34:27 +00:00
Vincent Koc
f96ee99bbc
Plugin SDK: harden provider auth seams
2026-03-18 02:29:25 -07:00
Vincent Koc
d8a1ad0f0d
Plugin SDK: split provider auth login seam
2026-03-18 02:04:10 -07:00
Vincent Koc
9b6859e5db
Feishu: break plugin-sdk setup cycle
2026-03-18 01:02:16 -07:00
Vincent Koc
2afa556746
Format: sync seam fixes with oxfmt
2026-03-18 01:02:16 -07:00
Vincent Koc
0ae3e70a5c
Plugin SDK: fix contract seam regressions
2026-03-18 00:50:19 -07:00
Vincent Koc
fbd88e2c8f
Main recovery: restore formatter and contract checks ( #49570 )
...
* Extensions: fix oxfmt drift on main
* Plugins: restore runtime barrel exports on main
* Config: restore web search compatibility types
* Telegram: align test harness with reply runtime
* Plugin SDK: fix channel config accessor generics
* CLI: remove redundant search provider casts
* Tests: restore main typecheck coverage
* Lobster: fix test import formatting
* Extensions: route bundled seams through plugin-sdk
* Tests: use extension env helper for xai
* Image generation: fix main oxfmt drift
* Config: restore latest main compatibility checks
* Plugin SDK: align guardrail tests with lint
* Telegram: type native command skill mock
2026-03-18 00:30:01 -07:00
Vincent Koc
466510b6d8
refactor: replace "seam" terminology across codebase
...
Replace "seam" with clearer terms throughout:
- "surface" for public API/extension boundaries
- "boundary" for plugin/module interfaces
- "interface" for runtime connection points
- "hook" for test injection points
- "palette" for the lobster palette reference
Also delete experiments/acp-pluginification-architecture-plan.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 00:20:15 -07:00
Vincent Koc
c99c4b1e27
Plugin SDK: restore read-only directory inspection seam
2026-03-18 00:10:35 -07:00
Vincent Koc
e17d10f7cd
Plugin SDK: restore lobster and voice-call exports
2026-03-18 00:09:22 -07:00
Vincent Koc
3d31ba7830
Plugin SDK: guard package subpaths and fix Twitch setup export
...
* fix(plugins): add missing secret-input-schema build entry and Matrix runtime export
buildSecretInputSchema was not included in plugin-sdk-entrypoints.json,
so it was never emitted to dist/plugin-sdk/secret-input-schema.js. This
caused a ReferenceError during onboard when configuring channels that use
secret input schemas (matrix, feishu, mattermost, bluebubbles, nextcloud-talk, zalo).
Additionally, the Matrix extension's hand-written runtime-api barrel was
missing the re-export, unlike other extensions that use `export *` from
their plugin-sdk subpath.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Plugin SDK: guard package subpaths and fix Twitch setup export
* Plugin SDK: fix import guardrail drift
---------
Co-authored-by: hxy91819 <masonxhuang@icloud.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 23:56:49 -07:00
Vincent Koc
bd444435c9
Plugin SDK: clarify ACPX public seam
2026-03-17 23:53:32 -07:00
Vincent Koc
0385553918
Plugin SDK: trim lobster and qwen helper exports
2026-03-17 23:48:19 -07:00
Vincent Koc
d341d68180
Plugin SDK: trim legacy helper exports
2026-03-17 23:32:16 -07:00
Vincent Koc
d1d10007a9
Plugins: guard whatsapp local barrel
2026-03-17 23:11:32 -07:00
Vincent Koc
8af4628a6d
Plugins: guard signal and telegram barrels
2026-03-17 23:09:26 -07:00
Vincent Koc
c81b4a5389
Plugins: guard remaining local barrels
2026-03-17 23:09:26 -07:00
scoootscooob
08a0219b1a
Google Chat: thin runtime api seam ( #49504 )
...
Merged via squash.
Prepared head SHA: 3369cf2c35
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-17 23:02:30 -07:00
Vincent Koc
75f98fe19a
Plugins: guard small extension barrels
2026-03-17 23:01:28 -07:00
Ayaan Zaidi
c245c8b39d
refactor(plugin-sdk): split interactive runtime helpers
2026-03-18 11:30:34 +05:30
Vincent Koc
1aab71cf5b
Plugins: guard local extension barrels
2026-03-17 22:59:24 -07:00
Vincent Koc
0a065bc6c2
Plugins: guard channel api barrels
2026-03-17 22:56:28 -07:00
Josh Lehman
7f0f8dd268
feat: expose context-engine compaction delegate helper ( #49061 )
...
* ContextEngine: add runtime compaction delegate helper
* plugin-sdk: expose compaction delegate through compat
* docs: clarify delegated plugin compaction
* docs: use scoped compaction delegate import
2026-03-17 22:54:18 -07:00
Tak Hoffman
cd2752346c
refactor move web search sdk helpers into plugin-sdk
2026-03-18 00:27:02 -05:00
Val Alexander
5464ad113e
UI: expand-to-canvas, session navigation, plugin SDK fixes ( #49483 )
...
* Plugins: fix signal SDK circular re-exports and reserved commands TDZ
* UI: add expand-to-canvas button and in-app session navigation
* changelog: UI expand/navigate and plugin TDZ/import fixes
2026-03-18 00:07:53 -05:00
Peter Steinberger
05603e4e6c
refactor: deduplicate channel config adapters
2026-03-18 04:51:29 +00:00
Vincent Koc
6710a2be61
Image generation: add fal provider ( #49454 )
2026-03-17 21:35:13 -07:00
Peter Steinberger
a8907d80dd
feat: finish xai provider integration
2026-03-17 21:31:20 -07:00
Gustavo Madeira Santana
2b5fa0931d
Plugins: move config-backed directories behind channel plugins
2026-03-18 04:29:50 +00:00
Peter Steinberger
b86bc9de95
refactor: split remaining monitor runtime helpers
2026-03-17 21:27:21 -07:00
Gustavo Madeira Santana
826c592deb
Plugin SDK: add outbound session route helpers
2026-03-18 04:09:47 +00:00
Peter Steinberger
1a9114a169
refactor: deduplicate setup wizard helpers
2026-03-18 03:58:22 +00:00
Tak Hoffman
e691345774
fix preserve plugin-sdk web search compatibility
2026-03-17 22:53:12 -05:00
Peter Steinberger
fb5ab95e03
build: update deps except carbon
2026-03-17 20:51:54 -07:00
Vincent Koc
4c9028439c
Tests: make seam guardrails path-safe
2026-03-17 20:44:37 -07:00
Gustavo Madeira Santana
1aae93b1fa
LINE: remove shared group mentions helper
2026-03-18 03:43:07 +00:00
Gustavo Madeira Santana
a8f433d611
BlueBubbles: move group policy behind plugin boundary
2026-03-18 03:40:42 +00:00
Gustavo Madeira Santana
bf8702973f
Google Chat: move group policy behind plugin boundary
2026-03-18 03:39:25 +00:00
Gustavo Madeira Santana
1f5f3fc2ef
iMessage: move group policy behind plugin boundary
2026-03-18 03:38:01 +00:00
Gustavo Madeira Santana
c29458d407
WhatsApp: move group policy behind plugin boundary
2026-03-18 03:38:01 +00:00
Peter Steinberger
9c12b41c52
fix: restore plugin sdk exports after rebase
2026-03-17 20:36:03 -07:00
Gustavo Madeira Santana
7ba8dd112f
Telegram: move group policy behind plugin boundary
2026-03-18 03:32:51 +00:00
Vincent Koc
f8f9e06b58
Guardrails: pin runtime-api export seams ( #49371 )
...
* Guardrails: pin runtime-api export seams
* Guardrails: tighten runtime-api keyed lookup
* Changelog: note runtime-api guardrails
* Tests: harden runtime-api guardrail parsing
* Tests: align runtime-api guardrails with current seams
2026-03-17 20:30:14 -07:00
Gustavo Madeira Santana
0bfaa36126
Discord: move group policy behind plugin boundary
2026-03-18 03:30:02 +00:00
Peter Steinberger
9350cb19dd
refactor: deduplicate plugin setup and channel config helpers
2026-03-18 03:28:05 +00:00
Gustavo Madeira Santana
9e556f75f5
Slack: move group policy behind plugin boundary
2026-03-18 03:26:21 +00:00
Vincent Koc
2f21eeb3cb
Plugins: internalize bluebubbles SDK imports
2026-03-17 20:21:00 -07:00
Gustavo Madeira Santana
1777b99ccc
Signal: move message actions behind plugin boundary
2026-03-18 03:19:35 +00:00
Gustavo Madeira Santana
28b888cbcd
Slack: move message actions behind plugin boundary
2026-03-18 03:14:32 +00:00
Peter Steinberger
cd5c2f4cb2
refactor: dedupe channel plugin shared assembly
2026-03-17 20:13:52 -07:00
Vincent Koc
3cc83cb81e
Plugins: internalize msteams SDK imports
2026-03-17 20:11:24 -07:00
Peter Steinberger
fa34cb887d
fix: resolve rebase export collisions
2026-03-17 19:53:32 -07:00
Peter Steinberger
5b2c5ee2bc
refactor: remove remaining extension src imports
2026-03-17 19:53:32 -07:00
Vincent Koc
889bb8a78a
Plugins: internalize matrix and feishu SDK imports
2026-03-17 19:47:25 -07:00
Peter Steinberger
1313767825
refactor: enforce plugin boundary seams
2026-03-17 19:45:36 -07:00
Gustavo Madeira Santana
1c6676cd57
Plugins: remove first-party legacy message discovery shims
2026-03-18 02:17:40 +00:00
Gustavo Madeira Santana
ed7269518f
Tlon: fix plugin-sdk import boundaries
2026-03-18 02:12:53 +00:00
Gustavo Madeira Santana
b3ae50c71c
Slack: move action runtime into extension
2026-03-18 02:08:08 +00:00
Gustavo Madeira Santana
c3386d34d2
Telegram: move action runtime into extension
2026-03-18 02:08:07 +00:00
Gustavo Madeira Santana
9df3e9b617
Discord: move action runtime into extension
2026-03-18 02:08:07 +00:00
Gustavo Madeira Santana
4c36436fb4
Plugin SDK: add legacy message discovery helper
2026-03-18 02:08:07 +00:00
Vincent Koc
d3fc6c0cc7
Plugins: internalize mattermost and tlon SDK imports
2026-03-17 19:05:51 -07:00
Gustavo Madeira Santana
a14ad01d66
Plugin SDK: centralize message tool discovery and context
2026-03-17 23:48:43 +00:00
Gustavo Madeira Santana
f118191182
Plugin SDK: break line and nostr export cycles
2026-03-17 23:22:22 +00:00
Vincent Koc
af63b72901
Plugins: internalize nextcloud talk SDK imports
2026-03-17 15:58:00 -07:00
Josh Lehman
2f65ae1b80
fix: break Synology Chat plugin-sdk reexport cycle ( #49281 )
...
Build failed because src/plugin-sdk/synology-chat.ts reexported setup symbols through extensions/synology-chat/api.ts, and that API shim reexports openclaw/plugin-sdk/synology-chat back into the same entry. Export the setup symbols directly from the concrete setup surface so tsdown can bundle the SDK subpath without a self-referential export graph.
2026-03-17 15:27:58 -07:00
Vincent Koc
90a0d50ae9
Plugins: internalize line SDK imports
2026-03-17 15:10:20 -07:00
Vincent Koc
dcdfed995a
Plugins: internalize nostr SDK imports
2026-03-17 15:08:06 -07:00
Vincent Koc
f23a069d37
Plugins: internalize synology chat SDK imports
2026-03-17 15:06:22 -07:00
Vincent Koc
ba09092a44
Plugins: guard internalized extension SDK imports
2026-03-17 14:54:12 -07:00
Peter Steinberger
6d9bf6de93
refactor: narrow extension public seams
2026-03-17 09:58:33 -07:00
Peter Steinberger
4b125762f6
refactor: clean extension api boundaries
2026-03-17 09:38:21 -07:00
Peter Steinberger
a724bbce1a
feat: add bundled Chutes extension ( #49136 )
...
* refactor: generalize bundled provider discovery seams
* feat: land chutes extension via plugin-owned auth (#41416 ) (thanks @Veightor)
2026-03-17 09:35: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
39a8dab0da
refactor: dedupe plugin lazy runtime helpers
2026-03-17 09:24:22 -07:00
Peter Steinberger
9f8cf7f71a
test: stabilize full gate
2026-03-17 16:21:59 +00:00
Peter Steinberger
91f055c10e
test: preload plugin sdk subpath imports
2026-03-17 16:21:58 +00:00
Peter Steinberger
795f1f438b
refactor: expose lazy runtime helper to plugins
2026-03-17 08:37:11 -07:00
Peter Steinberger
3a456678ee
feat(image-generation): add image_generate tool
2026-03-17 01:09:58 -07:00
Peter Steinberger
f9588da3e0
refactor: split plugin testing seam from bundled extension helpers
2026-03-17 01:05:09 -07:00
Peter Steinberger
ec1b80809d
refactor: remove remaining extension core imports
2026-03-17 00:59:46 -07:00
Peter Steinberger
9648e7fecb
refactor: consolidate lazy runtime surfaces
2026-03-17 00:59:20 -07:00
Peter Steinberger
449127b474
fix: restore full gate
2026-03-17 07:47:28 +00:00
Peter Steinberger
6f795fd60e
refactor: dedupe bundled plugin entrypoints
2026-03-17 00:14:12 -07:00
Peter Steinberger
5fb7a1363f
fix: stabilize full gate
2026-03-17 07:06:25 +00:00
Peter Steinberger
026d8ea534
fix: unblock full gate
2026-03-17 07:06:24 +00:00
Peter Steinberger
f6868b7e42
refactor: dedupe channel entrypoints and test bridges
2026-03-16 23:52:23 -07:00
Peter Steinberger
e32976f8cf
fix(plugin-sdk): restore core export boundary
2026-03-17 06:24:01 +00:00
Peter Steinberger
520d753b27
refactor(usage): share legacy pi auth token lookup
2026-03-17 06:24:01 +00:00
Peter Steinberger
da9e0b658d
refactor(outbound): share base session helpers
2026-03-17 06:24:01 +00:00
Peter Steinberger
79078f6a70
refactor(setup): share env-aware patched adapters
2026-03-17 06:24:01 +00:00
Peter Steinberger
618d35f933
feat(google): add image generation provider
2026-03-16 23:21:16 -07:00
Peter Steinberger
c1ef5748eb
refactor: enforce scoped plugin sdk imports
2026-03-16 23:15:24 -07:00
Peter Steinberger
aa2d5aaa0c
feat(plugins): add image generation capability
2026-03-16 22:58:55 -07:00
Peter Steinberger
00b57145ff
refactor: move agent runtime into agents layer
2026-03-16 22:53:16 -07:00
Peter Steinberger
5dd2245094
refactor: restore public sdk seams after rebase
2026-03-16 22:51:46 -07:00
Peter Steinberger
f2bd76cd1a
refactor: finalize plugin sdk legacy boundary cleanup
2026-03-16 22:51:46 -07:00
Vincent Koc
0bf11c1d69
Tests: guard channel setup import seams
2026-03-16 22:26:20 -07:00
Peter Steinberger
d2445b5fcd
feat(plugins): share capability capture helpers
2026-03-16 22:21:18 -07:00
Peter Steinberger
10660fe47d
refactor(channels): share legacy dm allowlist paths
2026-03-17 05:17:51 +00:00
Peter Steinberger
880bc969f9
refactor: move plugin sdk setup helpers out of commands
2026-03-16 22:11:56 -07:00
Peter Steinberger
50c3321d2e
feat(media): route image tool through media providers
2026-03-16 22:00:39 -07:00
Peter Steinberger
dde89d2a83
refactor: isolate provider sdk auth and model helpers
2026-03-16 21:47:28 -07:00
Peter Steinberger
0cfc80b81c
refactor: finish public plugin sdk boundary seams
2026-03-16 21:33:59 -07:00
Peter Steinberger
73703d977c
refactor: remove onboard auth compat barrels
2026-03-16 21:33:41 -07:00
Peter Steinberger
9183081bf1
refactor: move provider auth helpers into plugin layer
2026-03-16 21:21:17 -07:00
Peter Steinberger
9ebe38b6e3
refactor: untangle remaining plugin sdk boundaries
2026-03-16 21:16:32 -07:00
Peter Steinberger
3e010e280a
feat(plugins): add media understanding provider registration
2026-03-16 20:42:00 -07:00
Peter Steinberger
a71c61122d
refactor: add plugin sdk setup entrypoint
2026-03-16 20:17:45 -07:00
Peter Steinberger
2497b8147e
refactor: add shared setup sdk subpath
2026-03-16 20:17:13 -07:00
Peter Steinberger
5a763ac57b
fix: restore check after upstream type drift
2026-03-16 20:17:00 -07:00
Peter Steinberger
fe4368cbca
fix: align thinking defaults and plugin sdk exports
2026-03-17 03:16:39 +00:00
lishuaigit
76500c7a78
fix: detect Ollama "prompt too long" as context overflow error ( #34019 )
...
Merged via squash.
Prepared head SHA: 825a402f0f
Co-authored-by: lishuaigit <7495165+lishuaigit@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-16 18:57:33 -07:00
Peter Steinberger
662031a88e
feat(plugins): add speech provider registration
2026-03-16 18:50:09 -07:00
Peter Steinberger
e554eee541
refactor: route bundled channel setup helpers through private sdk bridges
2026-03-16 18:35:20 -07:00
Harold Hunt
94c27f34a1
fix(plugins): keep built plugin loading on one module graph ( #48595 )
2026-03-16 20:58:58 -04:00
Tak Hoffman
2de28379dd
Plugins: remove public extension-api surface ( #48462 )
...
* Plugins: remove public extension-api surface
* Plugins: fix loader setup routing follow-ups
* CI: ignore non-extension helper dirs in extension-fast
* Docs: note extension-api removal as breaking
2026-03-16 15:51:08 -05:00
Gustavo Madeira Santana
8ad8069854
Tests: fix green check typing regressions
2026-03-16 12:54:01 +00:00
Gustavo Madeira Santana
841025da66
Plugin SDK: add narrow setup subpaths
2026-03-16 12:46:04 +00:00
Gustavo Madeira Santana
c186176ca3
Plugin SDK: keep root alias reflection lazy
2026-03-16 12:35:13 +00:00
Gustavo Madeira Santana
9fc6c1929a
Plugin SDK: split setup and sandbox subpaths
2026-03-16 12:06:32 +00:00
Gustavo Madeira Santana
296083a49a
Plugin SDK: consolidate shared channel exports
2026-03-16 10:05:40 +00:00
Gustavo Madeira Santana
92700940d9
Plugin SDK: restore scoped imports for bundled channels
2026-03-16 09:51:36 +00:00
Peter Steinberger
7e74adef91
refactor: shrink public channel plugin sdk surfaces
2026-03-16 01:34:22 -07:00
Peter Steinberger
a73d6620b3
refactor: route remaining channel imports through plugin sdk
2026-03-16 01:17:13 -07:00
Peter Steinberger
f11589b311
refactor: tighten plugin sdk channel seams
2026-03-16 01:05:51 -07:00
Peter Steinberger
3a2c24e598
refactor: route shared channel sdk imports through plugin seams
2026-03-16 00:48:53 -07:00
Peter Steinberger
b3025e6d8e
refactor(plugin-sdk): clean shared core imports
2026-03-16 00:25:32 -07:00
Peter Steinberger
7964563299
refactor: finish plugin-owned channel runtime seams
2026-03-16 00:25:19 -07:00
Peter Steinberger
99c501a9a7
refactor(plugin-sdk): use scoped core imports for bundled channels
2026-03-16 00:19:31 -07:00
Peter Steinberger
85b7bc7edf
refactor: remove dock shim and move session routing into plugins
2026-03-16 00:09:38 -07:00
Peter Steinberger
7cdd8a84a6
refactor: add plugin-owned outbound adapters
2026-03-15 23:47:43 -07:00
Peter Steinberger
2054cb9431
refactor: move remaining channel seams into plugins
2026-03-15 23:47:30 -07:00
Peter Steinberger
ae60094fb5
refactor(plugins): move onboarding auth metadata to manifests
2026-03-15 23:47:16 -07:00
Peter Steinberger
e627a5069f
refactor(plugins): move auth profile hooks into providers
2026-03-15 22:23:55 -07:00
Vincent Koc
0277aa0159
Slack: fix review regressions
2026-03-15 21:55:45 -07:00
Vincent Koc
c7d31bae8a
Channels: centralize shared interactive rendering
2026-03-15 21:55:45 -07:00
Vincent Koc
2d048980af
Slack: map shared interactive sends in SDK actions
2026-03-15 21:55:45 -07:00
Vincent Koc
28de97356d
Plugin SDK: export Slack interactive handler context
2026-03-15 21:55:45 -07:00
Peter Steinberger
656848dcd7
refactor: rename setup wizard surfaces
2026-03-15 21:40:31 -07:00
Peter Steinberger
b8bb8510a2
feat: move ssh sandboxing into core
2026-03-15 21:35:30 -07:00
Peter Steinberger
53ccc78c63
refactor: rename setup helper surfaces
2026-03-15 21:06:55 -07:00
Peter Steinberger
a33caab280
refactor(plugins): move auth and model policy to providers
2026-03-15 20:59:06 -07:00
Peter Steinberger
371366e9eb
feat: add synology chat setup wizard
2026-03-15 20:44:26 -07:00
Peter Steinberger
77d0ff629c
refactor: rename channel setup flow seam
2026-03-15 20:44:25 -07:00
Peter Steinberger
d8b927ee6a
feat: add openshell sandbox backend
2026-03-15 20:03:22 -07:00
Peter Steinberger
46482a283a
feat: add nostr setup and unify channel setup discovery
2026-03-15 19:58:22 -07:00
Peter Steinberger
84c0326f4d
refactor: move group access into setup wizard
2026-03-15 19:58:22 -07:00
Vincent Koc
dd203c8eee
Zalouser: split setup adapter helpers
2026-03-15 19:39:38 -07:00
Vincent Koc
88b8151c52
Zalo: split setup adapter helpers
2026-03-15 19:37:25 -07:00
Vincent Koc
61bcdcca9c
Feishu: split setup adapter helpers
2026-03-15 19:35:25 -07:00
Vincent Koc
0c9428a865
MSTeams: split setup adapter helpers
2026-03-15 19:32:48 -07:00
Vincent Koc
7212b5f01a
Matrix: split setup adapter helpers
2026-03-15 19:31:11 -07:00
Vincent Koc
ecc688d205
Google Chat: split setup adapter helpers
2026-03-15 19:29:19 -07:00
Peter Steinberger
47a9c1a893
refactor: merge minimax bundled plugins
2026-03-16 02:26:45 +00:00
Peter Steinberger
38abdea8ce
fix: restore ci type checks
2026-03-16 02:23:44 +00:00
Vincent Koc
6a2efa541b
LINE: split setup adapter helpers
2026-03-15 19:21:40 -07:00
Vincent Koc
c89527f389
Tlon: split setup adapter helpers
2026-03-15 19:19:28 -07:00
Vincent Koc
067215629f
Telegram: split setup adapter helpers
2026-03-15 19:15:50 -07:00
Peter Steinberger
60bf58ddbc
refactor: trim onboarding sdk exports
2026-03-15 19:14:36 -07:00
Peter Steinberger
ec93398d7b
refactor: move line to setup wizard
2026-03-15 19:14:36 -07:00
Peter Steinberger
59940cb3ee
refactor(plugin-sdk): centralize entrypoint manifest
2026-03-16 02:11:18 +00:00
Vincent Koc
413d2ff3da
iMessage: lazy-load setup wizard surface
2026-03-15 18:53:58 -07:00
Vincent Koc
de6666b895
Signal: lazy-load setup wizard surface
2026-03-15 18:44:59 -07:00
Vincent Koc
d663df7a74
Discord: lazy-load setup wizard surface
2026-03-15 18:36:57 -07:00
Vincent Koc
961f42e0cf
Slack: lazy-load setup wizard surface
2026-03-15 18:29:40 -07:00
Peter Steinberger
26a8aee01c
refactor: drop channel onboarding fallback
2026-03-15 18:24:39 -07:00
Peter Steinberger
0958aea112
refactor: move matrix msteams twitch to setup wizard
2026-03-15 18:24:39 -07:00
Peter Steinberger
40be12db96
refactor: move feishu zalo zalouser to setup wizard
2026-03-15 18:24:39 -07:00
Peter Steinberger
b54e37c71f
feat(plugins): merge openai vendor seams into one plugin
2026-03-15 18:20:52 -07:00
Peter Steinberger
bc5054ce68
refactor(google): merge gemini auth into google plugin
2026-03-16 01:19:32 +00:00
Peter Steinberger
a78b83472e
refactor: expose setup wizard sdk surfaces
2026-03-15 17:57:04 -07:00
Peter Steinberger
c455cccd3d
refactor: move nextcloud talk to setup wizard
2026-03-15 17:34:36 -07:00
Peter Steinberger
bad65f130e
refactor: move bluebubbles to setup wizard
2026-03-15 17:34:36 -07:00
Peter Steinberger
1f37203f88
refactor: move signal imessage mattermost to setup wizard
2026-03-15 17:06:42 -07:00
Peter Steinberger
e7555724af
feat(plugins): add provider usage runtime hooks
2026-03-15 16:57:16 -07:00
Peter Steinberger
5a68e8261e
refactor: drop onboarding adapter sdk exports
2026-03-15 16:48:43 -07:00
Harold Hunt
aa1454d1a8
Plugins: broaden plugin surface for Codex App Server ( #45318 )
...
* Plugins: add inbound claim and Telegram interaction seams
* Plugins: add Discord interaction surface
* Chore: fix formatting after plugin rebase
* fix(hooks): preserve observers after inbound claim
* test(hooks): cover claimed inbound observer delivery
* fix(plugins): harden typing lease refreshes
* fix(discord): pass real auth to plugin interactions
* fix(plugins): remove raw session binding runtime exposure
* fix(plugins): tighten interactive callback handling
* Plugins: gate conversation binding with approvals
* Plugins: migrate legacy plugin binding records
* Plugins/phone-control: update test command context
* Plugins: migrate legacy binding ids
* Plugins: migrate legacy codex session bindings
* Discord: fix plugin interaction handling
* Discord: support direct plugin conversation binds
* Plugins: preserve Discord command bind targets
* Tests: fix plugin binding and interactive fallout
* Discord: stabilize directory lookup tests
* Discord: route bound DMs to plugins
* Discord: restore plugin bindings after restart
* Telegram: persist detached plugin bindings
* Plugins: limit binding APIs to Telegram and Discord
* Plugins: harden bound conversation routing
* Plugins: fix extension target imports
* Plugins: fix Telegram runtime extension imports
* Plugins: format rebased binding handlers
* Discord: bind group DM interactions by channel
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-03-15 16:06:11 -07:00
Peter Steinberger
4eee827dce
Channels: use owned helper imports
2026-03-15 15:59:12 -07:00
Peter Steinberger
8b001d6e4d
Channels: move onboarding adapters into extensions
2026-03-15 15:59:12 -07:00
Peter Steinberger
4a0f72866b
feat(plugins): move provider runtimes into bundled plugins
2026-03-15 15:18:32 -07:00
Nimrod Gutman
e2dac5d5cb
fix(plugins): load bundled extensions from dist ( #47560 )
2026-03-15 21:16:27 +02:00
Vincent Koc
5e78c8bc95
Webhooks: tighten pre-auth body handling ( #46802 )
...
* Webhooks: tighten pre-auth body handling
* Webhooks: clean up request body guards
2026-03-15 09:45:18 -07:00
Peter Steinberger
87c4ae36b4
refactor: drop deprecated whatsapp mention pattern sdk helper
2026-03-15 08:50:31 -07:00
Peter Steinberger
ff61343d76
fix: harden mention pattern regex compilation
2026-03-15 08:44:12 -07:00
songlei
df3a247db2
feat(feishu): structured cards with identity header, note footer, and streaming enhancements (openclaw#29938)
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: nszhsl <512639+nszhsl@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-14 20:31:46 -05:00
Tak Hoffman
f4dbd78afd
Add Feishu reactions and card action support ( #46692 )
...
* Add Feishu reactions and card action support
* Tighten Feishu action handling
2026-03-14 20:25:02 -05:00
Tak Hoffman
774b40467b
fix(zalouser): stop inheriting dm allowlist for groups ( #46663 )
2026-03-14 19:10:11 -05:00
Tomáš Dinh
b5b589d99d
fix(zalo): use plugin-sdk export for webhook client IP resolution (openclaw#46549)
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Tomáš Dinh <82420070+No898@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-14 18:37:56 -05:00
scoootscooob
439c21e078
refactor: remove channel shim directories, point all imports to extensions ( #45967 )
...
* refactor: remove channel shim directories, point all imports to extensions
Delete the 6 backward-compat shim directories (src/telegram, src/discord,
src/slack, src/signal, src/imessage, src/web) that were re-exporting from
extensions. Update all 112+ source files to import directly from
extensions/{channel}/src/ instead of through the shims.
Also:
- Move src/channels/telegram/ (allow-from, api) to extensions/telegram/src/
- Fix outbound adapters to use resolveOutboundSendDep (fixes 5 pre-existing TS errors)
- Update cross-extension imports (src/web/media.js → extensions/whatsapp/src/media.js)
- Update vitest, tsdown, knip, labeler, and script configs for new paths
- Update guard test allowlists for extension paths
After this, src/ has zero channel-specific implementation code — only the
generic plugin framework remains.
* fix: update raw-fetch guard allowlist line numbers after shim removal
* refactor: document direct extension channel imports
* test: mock transcript module in delivery helpers
2026-03-14 03:43:07 -07:00
scoootscooob
16505718e8
refactor: move WhatsApp channel implementation to extensions/ ( #45725 )
...
* refactor: move WhatsApp channel from src/web/ to extensions/whatsapp/
Move all WhatsApp implementation code (77 source/test files + 9 channel
plugin files) from src/web/ and src/channels/plugins/*/whatsapp* to
extensions/whatsapp/src/.
- Leave thin re-export shims at all original locations so cross-cutting
imports continue to resolve
- Update plugin-sdk/whatsapp.ts to only re-export generic framework
utilities; channel-specific functions imported locally by the extension
- Update vi.mock paths in 15 cross-cutting test files
- Rename outbound.ts -> send.ts to match extension naming conventions
and avoid false positive in cfg-threading guard test
- Widen tsconfig.plugin-sdk.dts.json rootDir to support shim->extension
cross-directory references
Part of the core-channels-to-extensions migration (PR 6/10).
* style: format WhatsApp extension files
* fix: correct stale import paths in WhatsApp extension tests
Fix vi.importActual, test mock, and hardcoded source paths that weren't
updated during the file move:
- media.test.ts: vi.importActual path
- onboarding.test.ts: vi.importActual path
- test-helpers.ts: test/mocks/baileys.js path
- monitor-inbox.test-harness.ts: incomplete media/store mock
- login.test.ts: hardcoded source file path
- message-action-runner.media.test.ts: vi.mock/importActual path
2026-03-14 02:44:55 -07:00
Peter Steinberger
b61bc4948e
refactor: share dual text command gating
2026-03-14 01:41:17 +00:00
Peter Steinberger
c0831927b0
refactor: share allowlist wildcard matching
2026-03-14 01:41:17 +00:00
Peter Steinberger
7285e04ead
refactor: share whatsapp outbound adapter base
2026-03-14 01:41:17 +00:00
Peter Steinberger
d55fa78e40
refactor: share delimited channel entry parsing
2026-03-14 01:41:16 +00:00
Peter Steinberger
81ea997d40
refactor: share self hosted provider plugin helpers
2026-03-14 01:40:41 +00:00
Peter Steinberger
a66a0852bb
test: cover plugin-sdk subpath imports
2026-03-13 22:09:06 +00:00
Peter Steinberger
b7ff8256ef
test: guard plugin-sdk shared-bundle regression ( #45426 ) (thanks @TarasShyn)
2026-03-13 21:57:43 +00:00
Vincent Koc
a976cc2e95
Slack: add opt-in interactive reply directives ( #44607 )
...
* Reply: add Slack interactive directive parser
* Reply: wire Slack directives into normalization
* Reply: cover Slack directive parsing
* Reply: test Slack directive normalization
* Slack: hint interactive reply directives
* Config: add Slack interactive reply capability type
* Config: validate Slack interactive reply capability
* Reply: gate Slack directives behind capability
* Slack: gate interactive reply hints by capability
* Tests: cover Slack interactive reply capability gating
* Changelog: note opt-in Slack interactive replies
* Slack: fix interactive reply review findings
* Slack: harden interactive reply routing and limits
* Slack: harden interactive reply trust and validation
2026-03-13 14:08:04 -07:00
Peter Steinberger
496ca3a637
fix(feishu): fail closed on webhook signature checks
2026-03-13 03:13:56 +00:00
Peter Steinberger
88244c0942
refactor(zalouser): reuse shared name matching helper
2026-03-13 01:44:42 +00:00
Peter Steinberger
87ad1ce9b1
refactor: add non-interactive provider plugin setup
2026-03-13 01:19:35 +00:00
Peter Steinberger
d83491e751
feat: modularize provider plugin architecture
2026-03-12 22:24:35 +00:00
Peter Steinberger
bf89947a8e
fix: switch pairing setup codes to bootstrap tokens
2026-03-12 22:23:07 +00:00
Lyle
c965049dc6
fix(mattermost): pass mediaLocalRoots through reply delivery ( #44021 )
...
Merged via squash.
Prepared head SHA: 856f11f129
Co-authored-by: LyleLiu666 <31182860+LyleLiu666@users.noreply.github.com>
Co-authored-by: mukhtharcm <56378562+mukhtharcm@users.noreply.github.com>
Reviewed-by: @mukhtharcm
2026-03-12 20:13:51 +05:30
Xaden Ryan
658bd54ecf
feat(llm-task): add thinking override
...
Co-authored-by: Xaden Ryan <165437834+xadenryan@users.noreply.github.com>
2026-03-12 19:21:35 +11:00
ademczuk
8618a711ff
fix(voice-call): add speed and instructions to OpenAI TTS config schema ( #39226 )
...
Merged via squash.
Prepared head SHA: 775e3063b5
Co-authored-by: ademczuk <5212682+ademczuk@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
2026-03-11 23:15:48 +05:30
Peter Steinberger
f4a4b50cd5
refactor: compile allowlist matchers
2026-03-11 00:07:47 +00:00
Peter Steinberger
201420a7ee
fix: harden secret-file readers
2026-03-10 23:40:10 +00:00
Peter Steinberger
bc1cc2e50f
refactor: share telegram payload send flow
2026-03-10 22:18:04 +00:00
Peter Steinberger
a455c0cc3d
refactor: share passive account lifecycle helpers
2026-03-10 22:18:04 +00:00
Peter Steinberger
50ded5052f
refactor: share channel config schema fragments
2026-03-10 22:18:04 +00:00
Peter Steinberger
4a8e039a5f
refactor: share channel config security scaffolding
2026-03-10 22:18:04 +00:00
Peter Steinberger
725958c66f
refactor: share onboarding secret prompt flows
2026-03-10 22:18:03 +00:00
Peter Steinberger
00170f8e1a
refactor: share scoped account config patching
2026-03-10 22:18:03 +00:00
Rodrigo Uroz
ff2e7a2945
fix(acp): strip provider auth env for child ACP processes (openclaw#42250)
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: rodrigouroz <384037+rodrigouroz@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-10 16:50:10 -05:00
Josh Avant
d30dc28b8c
Secrets: reject exec SecretRef traversal ids across schema/runtime/gateway ( #42370 )
...
* Secrets: harden exec SecretRef validation and reload LKG coverage
* Tests: harden exec fast-exit stdin regression case
* Tests: align lifecycle daemon test formatting with oxfmt 0.36
2026-03-10 13:45:37 -05:00
Xinhua Gu
4790e40ac6
fix(plugins): expose model auth API to context-engine plugins ( #41090 )
...
Merged via squash.
Prepared head SHA: ee96e96bb9
Co-authored-by: xinhuagu <562450+xinhuagu@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-09 16:07:26 -07:00
Kyle
a438ff4397
fix(plugin-sdk): remove remaining bundled plugin src imports (openclaw#39638)
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Kyle <3477429+kyledh@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-08 22:32:45 -05:00
Peter Steinberger
936ac22ec2
refactor: share channel config adapter base
2026-03-08 23:38:24 +00:00
Peter Steinberger
5845b5bfba
refactor: share multi-account config schema fragments
2026-03-08 23:38:24 +00:00
Peter Steinberger
8d7778d1d6
refactor: dedupe plugin runtime stores
2026-03-08 23:38:24 +00:00
Gustavo Madeira Santana
5889a2e98e
fix(plugin-sdk): lazily load legacy root alias
2026-03-08 17:13:46 -04:00
Peter Steinberger
25d0aa7296
refactor: simplify plugin sdk compatibility aliases
2026-03-08 18:40:14 +00:00
darkamenosa
67b2e81360
Zalo: fix provider lifecycle restarts ( #39892 )
...
* Zalo: fix provider lifecycle restarts
* Zalo: add typing indicators, smart webhook cleanup, and API type fixes
* fix review
* add allow list test secrect
* Zalo: bound webhook cleanup during shutdown
* Zalo: bound typing chat action timeout
* Zalo: use plugin-safe abort helper import
2026-03-08 22:33:18 +07:00
Vincent Koc
3b1be1a08c
Plugin SDK: align allowFrom helper test input
2026-03-07 16:08:39 -08:00
Peter Steinberger
cc03c097c5
refactor: share provider group-policy warning collectors
2026-03-08 00:05:24 +00:00
Peter Steinberger
566a821e5d
refactor: share missing-sender matched allowlist evaluation
2026-03-08 00:05:24 +00:00
Peter Steinberger
2b54070526
refactor: share allowlist provider warning resolution
2026-03-08 00:05:24 +00:00
Peter Steinberger
846ec320e2
refactor: share account-scoped config adapter accessors
2026-03-08 00:05:24 +00:00
Peter Steinberger
b0d9246768
refactor: share matched group policy evaluation
2026-03-08 00:05:24 +00:00