Peter Steinberger
fe79d85ae0
feat(imessage): add native imsg message actions
...
Adds native iMessage private-API message actions, lightweight message-tool discovery, bridge capability cache sharing, execution-time action gates, target alias coverage, and regression tests.
2026-05-08 05:34:22 +01:00
Omar Shahine
df069f7b02
fix(imessage): surface silent group-allowlist drops at default log level ( #79190 )
...
Merged via squash.
Prepared head SHA: 6454366a62
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Reviewed-by: @omarshahine
2026-05-07 20:09:05 -07:00
Omar Shahine
e259751ec9
feat(imessage): private-API support via imsg JSON-RPC [AI-assisted] ( #78317 )
...
Merged via squash.
Prepared head SHA: b7d336b296
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Reviewed-by: @omarshahine
2026-05-07 19:20:18 -07:00
Peter Steinberger
1ef85c7d4c
test: make suites safe without isolation ( #78834 )
...
* test: make suites safe without isolation
* fix: narrow auth profile credential types
* test: inject channel module loader factory locally
2026-05-07 08:43:29 +01:00
Peter Steinberger
05eda57b3c
refactor: migrate bundled plugins to message lifecycle
2026-05-06 01:46:42 +01:00
Peter Steinberger
235d06bff1
refactor: trim imessage helper exports
2026-05-01 18:23:49 +01:00
Peter Steinberger
15649228d4
refactor: trim extension helper shims
2026-05-01 14:39:03 +01:00
Peter Steinberger
0fe007f71b
refactor: trim extension test hooks
2026-05-01 14:32:30 +01:00
Peter Steinberger
ffe67e9cdc
refactor(channels): route inbound turns through kernel
2026-04-30 04:08:47 +01:00
Peter Steinberger
c403ea9063
refactor(channels): move more turn policy into kernel
2026-04-30 03:44:21 +01:00
Peter Steinberger
02ebac6250
refactor(channels): share turn dispatch results
2026-04-30 02:58:40 +01:00
Peter Steinberger
9a9cd0c0ab
refactor(channels): add shared turn kernel
2026-04-29 23:16:16 +01:00
Peter Steinberger
7d74c1f4b9
test: align channel fixtures with open dm policy
2026-04-29 07:08:06 +01:00
Peter Steinberger
bd1d1f0f2b
fix: align open DM allowlist policy ( #74112 )
...
* fix: harden telegram open dm allowlist merging
* fix: align open dm allowlist policy
2026-04-29 06:52:12 +01:00
openclaw-clownfish[bot]
be445dd1c1
fix(imessage): normalize leading echoed text corruption
...
Fixes #59973
2026-04-28 21:04:20 -07:00
Peter Steinberger
56875c4d32
refactor: split generic plugin test fixtures
2026-04-28 01:21:39 +01:00
Peter Steinberger
74e62c32c3
test: route extension tests through sdk subpaths
2026-04-27 21:58:48 +01:00
Peter Steinberger
f0000ab72d
refactor(plugin-sdk): split infra runtime barrel
2026-04-27 20:50:35 +01:00
Peter Steinberger
4336a7f3a9
refactor(plugin-sdk): narrow config runtime imports
2026-04-27 14:58:32 +01:00
Peter Steinberger
7f3f108521
refactor(config): migrate plugin config access
2026-04-27 12:35:58 +01:00
Peter Steinberger
95331e5cc5
fix(channels): thread runtime config through sends
2026-04-22 06:47:51 +01:00
Vincent Koc
ea71a59127
fix(imessage): repair monitor retry type checks
2026-04-12 19:57:37 +01:00
Peter Steinberger
fa87c6334a
fix(imessage): align monitor retry types
2026-04-12 11:52:33 -07:00
Vincent Koc
35a784c165
fix(imessage): retry watch.subscribe startup failures ( #65482 )
...
* fix(imessage): retry watch.subscribe startup failures
* fix(imessage): sanitize watch error logging
2026-04-12 19:40:19 +01:00
Peter Steinberger
d85b2a0e81
refactor: simplify core conversions
2026-04-11 01:17:51 +01:00
Neerav Makwana
782b5622b6
fix: strip wrapped imsg rpc text fields ( #64000 ) (thanks @neeravmakwana)
...
* fix(imessage): strip length-prefixed UTF-8 from imsg rpc text
* fix: strip wrapped imsg rpc text fields (#64000 ) (thanks @neeravmakwana)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-10 14:00:09 +05:30
Ayaan Zaidi
e3e2a19ab7
fix(imessage): drop ambiguous reflected self-chat echoes
2026-04-10 13:42:02 +05:30
Neerav Makwana
8ed7c95a6a
fix: require destination_caller_id for self-chat classification ( #63989 ) (thanks @neeravmakwana)
...
* fix(imessage): require destination_caller_id for self-chat classification (#63980 )
Made-with: Cursor
* fix(imessage): scope self-chat cache to self-chat
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-10 13:36:01 +05:30
Ayaan Zaidi
1ee4a1606e
fix: exclude DM participant lists from iMessage self-chat check
2026-04-09 17:23:22 +05:30
Neerav Makwana
9267c3f8f2
fix: preserve iMessage self-chat aliases ( #61619 ) (thanks @neeravmakwana)
...
* fix(imessage): avoid DM self-chat false positives
* fix(imessage): treat blank destination caller id as missing
* fix(imessage): preserve alias self-chat
* fix: preserve iMessage self-chat aliases (#61619 ) (thanks @neeravmakwana)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-09 17:13:22 +05:30
Peter Steinberger
625fd5b3e3
refactor: centralize inbound mention policy
2026-04-07 07:51:00 +01:00
Peter Steinberger
1566a5b3bc
refactor: dedupe broad record guard
2026-04-07 00:21:12 +01:00
Peter Steinberger
e4b5027c5e
refactor(plugins): move extension seams into extensions
2026-04-04 00:10:16 +01:00
Peter Steinberger
f36ed7105f
test: reduce extension runtime partial mocks
2026-04-03 18:33:47 +01:00
Peter Steinberger
d74d47443e
test: trim extension setup startup
2026-04-03 17:33:45 +01:00
Vincent Koc
568859e1fb
test(extensions): avoid barrel testing helpers in media tests
2026-04-03 21:23:47 +09:00
Peter Steinberger
2766c27b2a
refactor(plugin-sdk): genericize web channel runtime seams
2026-04-03 11:17:28 +01:00
Peter Steinberger
694d12a90b
refactor: apply context visibility across channels
2026-04-03 04:34:57 +09:00
Peter Steinberger
8861cdbb6f
refactor(plugin-sdk): untangle extension test seams
2026-03-29 23:43:53 +01:00
Ayaan Zaidi
4a5885df3a
fix(imessage): try all inbound echo ids
2026-03-29 13:00:01 +05:30
Rohan Marr
b29e180ef4
fix: prevent self-chat dedupe false positives ( #55359 ) (thanks @rmarr)
...
* fix(imessage): prevent self-chat dedupe false positives (#47830 )
Move echo cache remember() to post-send only, add early return when
inbound message ID doesn't match cached IDs (prevents text-based
false positives in self-chat), and reduce text TTL from 5s to 3s.
Three targeted changes to fix silent user message loss in self-chat:
1. deliver.ts: Remove pre-send remember() call — cache only reflects
successfully-delivered content, not pre-send full text.
2. echo-cache.ts: Skip text fallback when inbound has a valid message ID
that doesn't match any cached outbound ID. In self-chat, sender == target
so scopes collide; a user message with a fresh ID but matching text was
incorrectly dropped as an echo.
3. echo-cache.ts: Reduce text TTL from 5000ms to 3000ms — agent echoes
arrive within 1-2s, 5s was too wide.
Adds self-chat-dedupe.test.ts (7 tests) + updates deliver.test.ts.
BlueBubbles uses a different cache pattern — no changes needed there.
Closes #47830
* review(imessage): strip debug logs, bump echo TTL to 4s (#47830 )
Bruce Phase 4 review changes:
- Remove all [IMSG-DEBUG] console.error calls from inbound-processing.ts
and monitor-provider.ts (23 lines, left over from Phase 2 debug deploy)
- Bump SENT_MESSAGE_TEXT_TTL_MS from 3s to 4s in echo-cache.ts to give
~2s margin above the observed 2.2s echo arrival time under load
- Update TTL tests to reflect 4s TTL (expired at 5s, live at 3s)
* fix(imessage): add dedupe comments and canary/compat/TTL tests
* fix(imessage): address review feedback on echo cache, shadowing, and test IDs
* refactor(imessage): hoist inboundMessageId to eliminate duplicate computation (#47830 )
* fix(imessage): unify self-chat echo matching
* fix: use inbound guid for self-chat echo matching (#55359 ) (thanks @rmarr)
---------
Co-authored-by: Rohan Marr <rmarr@users.noreply.github.com >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-29 12:51:17 +05:30
Peter Steinberger
70c2458861
refactor: add host and collection runtime sdk seams
2026-03-28 06:19:16 +00:00
Peter Steinberger
ee73342445
refactor: use channel runtime for imessage readiness
2026-03-28 04:16:35 +00:00
Peter Steinberger
c42ec81e37
feat(acp): add conversation binds for message channels
2026-03-28 01:54:25 +00:00
Peter Steinberger
4ca07559ab
refactor: move provider seams behind plugin sdk surfaces
2026-03-27 23:26:26 +00:00
Peter Steinberger
fc9739313c
test: harden channel suite isolation
2026-03-23 11:09:12 +00:00
Peter Steinberger
62ddc9d9e0
refactor: consolidate plugin sdk surface
2026-03-20 19:24:10 +00:00
Peter Steinberger
510f4276b5
refactor: tighten sdk reply pipeline contract
2026-03-19 03:13:15 +00:00
Peter Steinberger
002cc07322
refactor: tighten plugin sdk channel surfaces
2026-03-19 00:46:36 +00:00
Peter Steinberger
62edfdffbd
refactor: deduplicate reply payload handling
2026-03-18 18:14:57 +00:00