Peter Steinberger
d0c77c9dfd
refactor: narrow outbound payload runtime mock reach-ins
2026-03-27 13:46:17 +00:00
Peter Steinberger
169bf6adba
refactor: route outbound payload tests through extension test seams
2026-03-27 13:46:17 +00:00
Peter Steinberger
c2b28753e7
refactor: route more test seams through public plugin APIs
2026-03-27 13:46:17 +00:00
Peter Steinberger
fc3246d8fd
refactor: add public channel contract test seams
2026-03-27 13:46:16 +00:00
Peter Steinberger
04bde8c2b1
refactor: route session-binding contract tests through public seams
2026-03-27 13:46:16 +00:00
Peter Steinberger
8d39fe5a76
refactor: route channel contract tests through public barrels
2026-03-27 13:46:16 +00:00
Peter Steinberger
a10763e118
refactor: generate bundled channel seams
2026-03-27 13:46:16 +00:00
Peter Steinberger
9a775aa59c
refactor: continue plugin seam cleanup
2026-03-27 13:46:16 +00:00
Peter Steinberger
ef56d79a6a
refactor: collapse zod setup validators
2026-03-27 03:48:15 +00:00
Peter Steinberger
e6c5ce136e
refactor: share zod setup validators across channels
2026-03-27 03:41:40 +00:00
Peter Steinberger
40bd36e35d
refactor: move channel config metadata into plugin-owned manifests
2026-03-27 01:59:30 +00:00
Peter Steinberger
bfad32aa16
refactor: share directory config listers
2026-03-26 23:20:26 +00:00
Peter Steinberger
236e041ef9
test: share discord monitor fixtures
2026-03-26 20:12:21 +00:00
Peter Steinberger
48167a69b9
refactor: dedupe gateway and binding helpers
2026-03-26 17:49:19 +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
Marcus Castro
bc1c308383
fix(whatsapp): clarify allowFrom policy error ( #54850 )
2026-03-26 00:44:10 -03:00
Devin Robison
b7d70ade3b
Fix/telegram writeback admin scope gate ( #54561 )
...
* fix(telegram): require operator.admin for legacy target writeback persistence
* Address claude feedback
* Update extensions/telegram/src/target-writeback.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Remove stray brace
* Add updated docs
* Add missing test file, address codex concerns
* Fix test formatting error
* Address comments, fix tests
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-25 12:12:09 -06:00
Peter Steinberger
46d3617d25
refactor: split gateway plugin bootstrap and registry surfaces
2026-03-24 22:16:26 -07:00
affsantos
3a4c860798
fix(gateway): pin channel registry at startup to survive registry swaps
...
Channel plugin resolution fails with 'Channel is unavailable: <channel>'
after the active plugin registry is replaced at runtime. The root cause is
that getChannelPlugin() resolves against the live registry snapshot, which
is replaced when non-primary registry loads (e.g., config-schema reads)
call loadOpenClawPlugins(). If the replacement registry does not carry the
same channel entries, outbound message delivery and subagent announce
silently break.
This mirrors the existing pinActivePluginHttpRouteRegistry pattern: the
channel registry is pinned at gateway startup and released on shutdown.
Subsequent setActivePluginRegistry calls no longer evict the channel
snapshot, so getChannelPlugin() always resolves against the registry that
was active when the gateway booted.
2026-03-24 21:33:04 -07:00
Peter Steinberger
bcd61f0a38
refactor: dedupe helpers and source seams
2026-03-24 21:00:36 +00:00
Vincent Koc
e16f0cf908
refactor(channels): route registry lookups through runtime
2026-03-24 11:01:48 -07:00
Vincent Koc
7eefddd0ed
test(memory): clear browser and plugin caches between cases
2026-03-24 10:05:32 -07:00
Peter Steinberger
49e3f2db06
test: speed up core unit suites
2026-03-24 16:26:58 +00:00
Peter Steinberger
38137b0cf8
refactor: split tracked ClawHub update flows
2026-03-23 20:01:51 -07:00
Nimrod Gutman
041c47419f
fix(channels): preserve external catalog overrides ( #52988 )
...
* fix(channels): preserve external catalog overrides
* fix(channels): clarify catalog precedence
* fix(channels): respect overridden install specs
2026-03-23 18:08:17 +02:00
Nimrod Gutman
b84a130788
fix(release): preserve shipped channel surfaces in npm tar ( #52913 )
...
* fix(channels): ship official channel catalog (#52838 )
* fix(release): keep shipped bundles in npm tar (#52838 )
* build(release): fix rebased release-check helpers (#52838 )
2026-03-23 17:39:22 +02:00
Bakhtier Sizhaev
a0cb443aa3
fix: document Telegram asDocument alias ( #52461 ) (thanks @bakhtiersizhaev)
...
* feat(telegram): add asDocument param to message tool
Adds `asDocument` as a user-facing alias for the existing `forceDocument`
parameter in the message tool. When set to `true`, media files (images,
videos, GIFs) are sent via `sendDocument` instead of `sendPhoto`/
`sendVideo`/`sendAnimation`, preserving the original file quality
without Telegram compression.
This is useful when agents need to deliver high-resolution images or
uncompressed files to users via Telegram.
`asDocument` is intentionally an alias rather than a replacement — the
existing `forceDocument` continues to work unchanged.
Changes:
- src/agents/tools/message-tool.ts: add asDocument to send schema
- src/agents/tools/telegram-actions.ts: OR asDocument into forceDocument
- src/infra/outbound/message-action-runner.ts: same OR logic for outbound path
- extensions/telegram/src/channel-actions.ts: read and forward asDocument
- src/channels/plugins/actions/actions.test.ts: add test case
* fix: restore channel-actions.ts to main version (rebase conflict fix)
* fix(test): match asDocument test payload to actual params structure
* fix(telegram): preserve forceDocument alias semantics
* fix: document Telegram asDocument alias (#52461 ) (thanks @bakhtiersizhaev)
---------
Co-authored-by: Бахтиер Сижаев <bkh@MacBook-Air.local >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-23 17:32:46 +05:30
Peter Steinberger
db5369f5f9
test: harden isolated test mocks
2026-03-23 01:13:08 -07:00
Peter Steinberger
9105b3723d
test: harden no-isolate test module resets
2026-03-23 01:02:16 -07:00
Peter Steinberger
72e58ca260
test(models): refresh example model fixtures
2026-03-22 23:00:18 -07:00
Peter Steinberger
6b9915a106
refactor!: drop legacy CLAWDBOT env compatibility
2026-03-22 22:13:39 -07:00
Vincent Koc
faae3e155d
fix(whatsapp): remove outbound runtime cycle
2026-03-22 21:04:14 -07:00
Vincent Koc
ac0fd26e16
fix(ci): resync generated baselines and line runtime seam
2026-03-22 19:53:26 -07:00
Vincent Koc
2131981230
refactor(plugins): move remaining channel and provider ownership out of src
2026-03-22 19:13:25 -07:00
Peter Steinberger
9aafff7378
fix: restore main gate after type updates
2026-03-22 19:08:08 -07:00
Peter Steinberger
e5be5c1b99
style: format plugin sdk helper updates
2026-03-23 01:56:01 +00:00
Peter Steinberger
5c8ea0a175
refactor: share channel setup status helpers
2026-03-23 01:56:01 +00:00
Peter Steinberger
583bea001c
refactor: share parsed channel allowlist prompts
2026-03-23 01:56:01 +00:00
Peter Steinberger
797f3cc377
fix: stabilize stale buffer sweep landing ( #52428 ) (thanks @karanuppal)
2026-03-22 16:56:19 -07:00
Peter Steinberger
ac8e81a5cd
refactor: compose account security warning helpers
2026-03-22 23:37:12 +00:00
Peter Steinberger
39faf4725d
refactor: share warning collector projections
2026-03-22 23:37:12 +00:00
Peter Steinberger
47e8ffc2e9
test: repair current main gate regressions
2026-03-22 22:22:46 +00:00
Peter Steinberger
66743b84fa
refactor(whatsapp): centralize web monitor state
2026-03-22 22:07:41 +00:00
Peter Steinberger
00b2f10dec
refactor: share account snapshot descriptions
2026-03-22 20:55:16 +00:00
Peter Steinberger
8aca2fdc73
refactor: reuse shared core account lookups
2026-03-22 20:30:20 +00:00
Peter Steinberger
ff941b0193
refactor: share nested account config merges
2026-03-22 19:53:51 +00:00
Peter Steinberger
3c071a397f
refactor: share account id selection helpers
2026-03-22 19:45:59 +00:00
Peter Steinberger
bddb6fca7b
refactor: share remaining account config helpers
2026-03-22 19:45:59 +00:00
Peter Steinberger
c74a50e4f1
refactor: share merged account config helper
2026-03-22 19:01:52 +00:00
Peter Steinberger
ff759f991e
refactor: share account config merge helper
2026-03-22 19:01:52 +00:00