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
Peter Steinberger
f319ec2dac
refactor: share onboarding allowlist entry parsing
2026-03-08 00:05:24 +00:00
Peter Steinberger
dc92f2e19d
refactor: share nextcloud onboarding allowFrom lookup
2026-03-07 23:27:51 +00:00
Peter Steinberger
c9128e1f3f
refactor: share trimmed list normalization in provider helpers
2026-03-07 23:27:51 +00:00
Peter Steinberger
c5bd84309a
refactor: share allowFrom stringification helpers
2026-03-07 23:27:51 +00:00