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
Vincent Koc
f5ef936615
Tests: replace local channel contracts
2026-03-15 23:46:45 -07:00
Vincent Koc
9df7e8bec4
Tests: add global status contract suite
2026-03-15 23:46:45 -07:00
Vincent Koc
acf7e83ac4
Tests: add global setup contract suite
2026-03-15 23:46:45 -07:00
Vincent Koc
c5d61b9677
Tests: add global actions contract suite
2026-03-15 23:46:45 -07:00
Vincent Koc
910d039ea7
Tests: add global plugin contract suite
2026-03-15 23:46:45 -07:00
Vincent Koc
6043e733a6
Tests: add plugin contract registry
2026-03-15 23:46:45 -07:00
Vincent Koc
3105a1284a
Tests: add plugin contract suites
2026-03-15 23:46:45 -07:00
Peter Steinberger
fb47777d38
fix: address bot nit on session route preservation ( #47797 ) (thanks @brokemac79)
2026-03-15 23:37:59 -07:00
brokemac79
623ba14031
fix(session): preserve external channel route when webchat views session ( #47745 )
...
When a Telegram/WhatsApp/iMessage session was viewed or messaged from the
dashboard/webchat, resolveLastChannelRaw() unconditionally returned 'webchat'
for any isDirectSessionKey() or isMainSessionKey() match, overwriting the
persisted external delivery route.
This caused subagent completion events to be delivered to the webchat/dashboard
instead of the original channel (Telegram, WhatsApp, etc.), silently dropping
messages for the channel user.
Fix: only allow webchat to own routing when no external delivery route has been
established (no persisted external lastChannel, no external channel hint in the
session key). If an external route exists, webchat is treated as admin/monitoring
access and must not mutate the delivery route.
Updated/added tests to document the correct behaviour.
Fixes #47745
2026-03-15 23:37:59 -07:00
Vincent Koc
3838ef9b2a
Tests: add Discord channel contract suite
2026-03-15 23:32:13 -07:00
Vincent Koc
4fc3492da5
Tests: add Telegram channel contract suite
2026-03-15 23:32:13 -07:00
Vincent Koc
13090da3ac
Tests: add Mattermost channel contract suite
2026-03-15 23:32:13 -07:00
Vincent Koc
4ae80407a6
Tests: add Slack channel contract suite
2026-03-15 23:32:13 -07:00
Vincent Koc
c01515672f
Tests: add channel plugin contract helper
2026-03-15 23:32:13 -07:00
Vincent Koc
bd67f33364
Tests: add channel actions contract helper
2026-03-15 23:32:13 -07:00
Vincent Koc
c7137270d1
Security: split audit runtime surfaces
2026-03-15 23:30:34 -07:00
Peter Steinberger
d163278e9c
refactor: move channel delivery and ACP seams into plugins
2026-03-15 23:25:20 -07:00
Vincent Koc
d5b12f505c
Status: lazy-load security audit commands
2026-03-15 23:24:25 -07:00
Vincent Koc
a608d09552
Status: lazy-load summary session helpers
2026-03-15 23:24:25 -07:00
Peter Steinberger
4ab016a9bd
fix: preserve loopback gateway scopes for local auth
2026-03-16 06:22:15 +00:00
Peter Steinberger
130b575c21
fix: recover bonjour advertiser from ciao announce loops
2026-03-16 06:21:46 +00:00
Vincent Koc
7b2a7da549
Gateway: import normalizeAgentId in hooks
2026-03-15 23:20:11 -07:00
Vincent Koc
853d8c0d8e
Tests: cover plugin capability matrix
2026-03-15 23:17:58 -07:00
Vincent Koc
81d3c6c909
Tests: fix Feishu full registration mock
2026-03-15 23:13:45 -07:00
Vincent Koc
ed82c7e57b
Status: lazy-load tailscale and memory scan deps
2026-03-15 23:12:27 -07:00
Peter Steinberger
f0f934556e
build: remove land gate script
2026-03-16 06:08:41 +00:00
Tak Hoffman
fa62231afc
feishu: add structured card actions and interactive approval flows ( #47873 )
...
* feishu: add structured card actions and interactive approval flows
* feishu: address review fixes and test-gate regressions
* feishu: hold inflight card dedup until completion
* feishu: restore fire-and-forget bot menu handling
* feishu: format card interaction helpers
* Feishu: add changelog entry for card interactions
* Feishu: add changelog entry for ACP session binding
2026-03-16 01:07:09 -05:00
Peter Steinberger
aa97368f7d
test: add openshell sandbox e2e smoke
2026-03-15 23:02:36 -07:00
Peter Steinberger
ddd34b6cc3
refactor(plugins): simplify provider auth choice metadata
2026-03-15 23:01:12 -07:00
Vincent Koc
c4b18ab3c9
Status: split lightweight gateway agent list
2026-03-15 22:55:27 -07:00
Vincent Koc
d47fc009de
Config: keep native command defaults off heavy channel registry
2026-03-15 22:55:27 -07:00
Vincent Koc
5f42389d8d
Security: lazy-load audit config snapshot IO
2026-03-15 22:55:26 -07:00
Vincent Koc
a2119efe1c
Security: lazy-load deep skill audit helpers
2026-03-15 22:55:26 -07:00
Vincent Koc
4cb46f223c
Security: trim audit policy import surfaces
2026-03-15 22:55:26 -07:00
Vincent Koc
ebfd32efc3
Status: split heartbeat summary helpers
2026-03-15 22:55:26 -07:00
Peter Steinberger
0a6f22a694
docs: sync config baseline
2026-03-16 05:54:58 +00:00
Peter Steinberger
465567b1eb
test: fix setup wizard smoke mocks
2026-03-16 05:54:58 +00:00
Peter Steinberger
2852eab323
build: add land gate parity script
2026-03-16 05:54:16 +00:00
Peter Steinberger
ecaafb6a4f
refactor: unify telegram interactive button resolution
2026-03-16 05:54:16 +00:00
Peter Steinberger
ff558862f0
refactor: extract discord shared interactive mapper
2026-03-16 05:54:16 +00:00
Peter Steinberger
7bea559166
refactor: unify reply content checks
2026-03-16 05:54:16 +00:00
Peter Steinberger
3963408871
refactor: split plugin interactive dispatch adapters
2026-03-16 05:53:35 +00:00
Peter Steinberger
9cd9c7a488
refactor: split slack block action handling
2026-03-16 05:53:35 +00:00
Peter Steinberger
2580b81bd2
refactor: move channel capability diagnostics into plugins
2026-03-15 22:53:03 -07:00
Peter Steinberger
f9e185887f
docs: restore onboard docs references
2026-03-16 05:50:57 +00:00
Peter Steinberger
2acbea0da7
docs: restore onboard as canonical setup command
2026-03-16 05:50:57 +00:00
Peter Steinberger
55cbfb6e6a
refactor(plugins): move provider onboarding auth into plugins
2026-03-15 22:43:10 -07:00