Vincent Koc
25665dd335
fix(runtime): bypass get-reply barrel exports
2026-04-11 21:56:48 +01:00
Vincent Koc
b1290e61fd
fix(plugin-sdk): narrow reply payload type surface
2026-04-11 21:52:31 +01:00
Vincent Koc
8a9ead6211
fix(reply): bypass heavy error helper imports
2026-04-11 21:47:40 +01:00
Vincent Koc
35664d5447
fix(agents): extract user-facing text sanitizer
2026-04-11 21:47:21 +01:00
Vincent Koc
3607cea991
fix(plugins): split setup registry runtime types
2026-04-11 21:36:07 +01:00
Peter Steinberger
057fe786bd
style: apply formatter drift
2026-04-11 21:25:24 +01:00
Peter Steinberger
b41091ac7f
fix: quiet extension unresolved import warnings
2026-04-11 21:25:24 +01:00
Vincent Koc
7808d3f08f
fix(pairing): export channel type from store seam
2026-04-11 21:21:10 +01:00
Vincent Koc
d7fcd23091
fix(runtime): split cli provider and abort seams
2026-04-11 21:16:50 +01:00
Vincent Koc
dc469a3db5
fix(gateway): preserve channel plugin identity in cache
2026-04-11 21:15:32 +01:00
Vincent Koc
cde21de828
fix(pairing): bypass store and channel barrels
2026-04-11 21:09:59 +01:00
Vincent Koc
8e952eba75
fix(core): align channel runtime and inventory types
2026-04-11 21:03:44 +01:00
Vincent Koc
05db7299f5
fix(agents): split messaging send types
2026-04-11 20:42:19 +01:00
Vincent Koc
1300f8e077
fix(plugins): narrow memory runtime imports
2026-04-11 20:29:59 +01:00
Vincent Koc
7d1bd0c98c
fix(tts): split shared tts config types
2026-04-11 20:25:02 +01:00
Vincent Koc
44f02dbbc6
fix(agents): split effective tool inventory types
2026-04-11 20:24:20 +01:00
Vincent Koc
f1c4e2f11d
fix(agents): split queued embedded compaction wrapper
2026-04-11 20:23:46 +01:00
Vincent Koc
9d717176d3
fix(plugins): split pairing runtime store types
2026-04-11 20:22:57 +01:00
Vincent Koc
0c4a19d060
fix(plugins): narrow runtime channel registry state
2026-04-11 20:01:32 +01:00
Vincent Koc
b1caec142f
fix(logging): avoid message channel registry back-edge
2026-04-11 19:52:03 +01:00
Vincent Koc
462d8e3bc0
fix(cycles): narrow channel runtime surface
2026-04-11 19:30:33 +01:00
HDYA
26f633b604
feat(msteams): add federated credential support (certificate + managed identity) ( #53615 )
...
* feat(msteams): add federated authentication support (certificate + managed identity + workload identity)
* msteams: fix vitest 4.1.2 compat, type errors, and regenerate config baseline
* msteams: fix lint errors, update fetch allowlist, regenerate protocol Swift
* fix(msteams): gate secret-only delegated auth flows
* fix(ci): unblock gateway watch and install smoke
* fix(ci): restore mergeability for pr 53615
* fix(ci): restore channel registry helper typing
* fix(ci): refresh raw fetch guard allowlist
---------
Co-authored-by: Chudi Huang <Chudi.Huang@microsoft.com >
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com >
2026-04-11 13:29:22 -05:00
stain lu
acd3697162
fix(agents): prevent cross-provider error context leak in fallback chain ( #62907 )
...
Merged via squash.
Prepared head SHA: 06a3a82816
Co-authored-by: stainlu <109842185+stainlu@users.noreply.github.com >
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com >
Reviewed-by: @altaywtf
2026-04-11 19:15:26 +01:00
Vincent Koc
97b60b992c
fix(channels): narrow runtime channel registry caching
2026-04-11 19:12:36 +01:00
Vincent Koc
1ce87cda52
fix(skills): bypass config and skills barrel imports
2026-04-11 18:58:31 +01:00
Vincent Koc
04ca103090
fix(channels): bypass public channel meta types
2026-04-11 18:53:11 +01:00
Nimrod Gutman
8923e9bcba
fix(auto-reply): preserve image attachment notes ( #64918 )
...
* fix(auto-reply): preserve image attachment notes
* fix(auto-reply): harden media note rendering
* fix: preserve image attachment notes (#64918 ) (thanks @ngutman)
2026-04-11 20:49:36 +03:00
Vincent Koc
6738e9abdf
fix(gateway): bypass sessions barrel types
2026-04-11 18:46:43 +01:00
Vincent Koc
abd5e34104
fix(config): bypass control ui origins barrel
2026-04-11 18:36:48 +01:00
Vincent Koc
0f7d9c9570
fix(runtime): split approval and gateway client seams
2026-04-11 18:36:48 +01:00
Tak Hoffman
958c34e82c
feat(qa-lab): Add proxy capture stack and QA Lab inspector ( #64895 )
...
* Add proxy capture core and CLI
* Expand transport capture coverage
* Add QA Lab capture backend
* Refine QA Lab capture UI
* Fix proxy capture review feedback
* Fix proxy run cleanup and TTS capture
* Fix proxy capture transport follow-ups
* Fix debug proxy CONNECT target parsing
* Harden QA Lab asset path containment
2026-04-11 12:34:57 -05:00
Nimrod Gutman
f04e045815
fix(context-engine): restore bundled legacy engine loading ( #64936 )
2026-04-11 20:31:49 +03:00
Vincent Koc
7f5a5a34db
fix(plugins): split hook contract types
2026-04-11 18:06:18 +01:00
Vincent Koc
4a799e77d7
fix(runtime): split reply dispatcher type surface
2026-04-11 17:46:58 +01:00
Vincent Koc
e03db28ba7
fix(plugins): split hook runner registry types
2026-04-11 17:46:58 +01:00
Tak Hoffman
49b42b4a45
fix(release): handle nested default-wrapped bundled channel entries
2026-04-11 11:36:44 -05:00
Vincent Koc
f3f1ab0a3f
fix(plugin-sdk): use outbound adapter leaf types
2026-04-11 17:32:36 +01:00
Vincent Koc
f630e8d440
fix(utils): bypass delivery context wrapper for shared consumers
2026-04-11 17:26:38 +01:00
Vincent Koc
899a1b7565
fix(runtime): drop media stt type back-edge
2026-04-11 17:08:24 +01:00
Josh Lehman
77a0ee7f9d
fix: canonicalize topic session transcript fallback ( #64869 )
...
* fix: canonicalize topic session transcript fallback
When initSessionState has a topic-scoped SessionKey but no MessageThreadId, fallback transcript selection should still land on the topic-qualified JSONL path instead of the bare session file. Match the existing transcript resolver by parsing the thread id from the session key, and cover the regression with a session init test that loads the Telegram session-conversation grammar.
Regeneration-Prompt: |
Investigate why a Telegram topic session could alternate between <session-id>.jsonl and <session-id>-topic-<n>.jsonl for the same logical session. The fix should be in OpenClaw's session initialization path, not in lossless-claw. Keep behavior unchanged when MessageThreadId is present, but when the inbound turn only carries a topic-scoped SessionKey, derive the same topic-specific transcript path that the canonical transcript resolver would use. Add a regression test that proves initSessionState chooses the topic-qualified file even without MessageThreadId, and make the test load the session-conversation registry needed to parse Telegram :topic: grammar.
* fix: preserve topic session transcript history
2026-04-11 09:06:49 -07:00
Vincent Koc
2028fd53f0
fix(utils): split delivery context shared types
2026-04-11 17:03:38 +01:00
Vincent Koc
1f1b504980
fix(commands): split chat command listing surface
2026-04-11 16:58:43 +01:00
Vincent Koc
796d4dfc49
fix(reply): split dispatcher shared types
2026-04-11 16:52:18 +01:00
Vincent Koc
9656ae649c
fix(channels): bypass public channel types in registry
2026-04-11 16:42:35 +01:00
Vincent Koc
9ae27f9297
fix(gateway): avoid duplicate channel runtime snapshot export
2026-04-11 16:38:43 +01:00
Vincent Koc
382ffcf9ab
fix(cycles): split embedded subscribe shared types
2026-04-11 16:35:07 +01:00
Vincent Koc
c37aaf0b60
fix(cycles): bypass session binding service type import
2026-04-11 16:26:40 +01:00
Vincent Koc
7157244708
fix(cycles): bypass channel public session type import
2026-04-11 16:17:08 +01:00
Vincent Koc
6e74d77a42
fix(cycles): split media understanding runtime contracts
2026-04-11 16:17:08 +01:00
Peter Steinberger
788c37a6c2
chore(release): prepare 2026.4.11-beta.1
2026-04-11 16:10:13 +01:00