Teknium
45a6101f36
fix(gateway): secondary-profile send_message, notices and /loop wakeups go out via their own bot
...
Under gateway.multiplex_profiles a turn running for a secondary profile P resolved
its live adapter by bare platform from runner.adapters — the DEFAULT profile's map —
so P's send_message tool calls (send/react/media on slack, matrix, wecom, buzz, ntfy,
every plugin platform), its "Gateway shutting down/restarted" and /update notices,
its /loop wakeups, and its Discord bot's unauthorized-slash operator alert all left
through the default bot (Telegram DMs landed in the user's chat with the other bot).
Every such door now resolves through the profile-aware, fail-closed resolver already
used by the inbound reply path (authz_mixin: _adapters_for_profile /
_authorization_adapter / _adapter_for_source): P's own adapter, or None → a clear
error, never the default bot.
- tools/send_message_senders.py::_live_adapter — resolve via
runner._authorization_adapter(platform, get_active_profile_name()); shared by
_send_via_adapter, _handle_react/unreact, media sends, matrix E2EE fast path and
the WeCom standalone sender.
- gateway/authz_mixin.py — extract _adapters_for_profile (the whole map, for relay-
aware resolve_delivery_transport callers); _authorization_adapter reuses it.
- gateway/run_shutdown.py — shutdown/restart notice for a running session uses the
session's source transport / agent:<profile>: key lane, never self.adapters.
- gateway/slash_commands.py + run_notifications.py — /restart and /update markers
persist `profile`; the restart notice, update result and update prompt resolve the
requester's own adapter (legacy markers fall back to the session_key lane).
/goal, /heartbeat, /approve, /deny confirmations use the source's own transport.
- gateway/slash_commands_goals.py + run_goals.py — /loop persists `profile` in its
route; the wakeup watcher scans every served profile's store under its own scope
(same shape as _handoff_watcher) and fires through that profile's adapter map.
- plugins/platforms/discord/adapter.py::_notify_unauthorized_slash — alert stays in
the owning profile (its adapters and its home channels).
- plugins/platforms/wecom/adapter.py::_standalone_send — via _live_adapter.
- docs: website/docs/user-guide/multi-profile-gateways.md (outbound identity).
Tests (red on base): tests/tools/test_send_message_multiplex_profile_adapter.py,
tests/gateway/test_multiplex_notice_egress_profile_adapter.py.
Co-authored-by: pierrenode <298902573+pierrenode@users.noreply.github.com >
2026-09-10 18:17:22 -07:00
..
2026-09-04 07:17:00 -07:00
2026-09-03 02:27:52 +05:30
2026-09-01 12:07:52 -07:00
2026-09-03 13:30:27 -07:00
2026-09-07 08:13:38 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-07 14:30:41 -07:00
2026-09-05 06:07:21 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-05 06:12:37 -07:00
2026-09-07 06:46:54 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:30:27 -07:00
2026-09-03 13:49:57 -07:00
2026-09-10 10:27:07 -07:00
2026-09-10 10:27:07 -07:00
2026-09-06 13:08:31 -07:00
2026-09-07 08:15:32 -07:00
2026-09-10 10:27:07 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:25:33 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-08-26 19:25:33 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-06 23:31:05 +05:30
2026-09-03 14:18:25 -07:00
2026-09-08 05:10:57 -07:00
2026-09-08 05:10:57 -07:00
2026-09-10 10:35:07 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-10 10:35:07 -07:00
2026-09-03 14:18:25 -07:00
2026-09-02 14:44:15 -07:00
2026-09-07 06:00:46 -07:00
refactor(tools): first-wave simplification of tools/ (file ops split, lazy_deps, code_exec, approval, browser, delegate, mcp, skills, terminal, voice, media)
2026-09-02 14:43:45 -07:00
2026-08-26 16:42:44 -07:00
2026-09-07 07:05:59 -07:00
2026-09-03 13:49:57 -07:00
2026-08-28 23:10:01 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-05 18:46:53 +05:30
2026-09-10 10:35:07 -07:00
2026-09-03 13:49:57 -07:00
2026-09-07 08:25:33 -07:00
2026-09-03 13:22:51 -07:00
2026-09-03 13:22:51 -07:00
2026-09-03 13:22:51 -07:00
2026-09-03 13:22:51 -07:00
2026-09-03 13:22:51 -07:00
2026-09-03 17:45:53 -07:00
2026-09-03 13:22:51 -07:00
2026-09-03 13:22:51 -07:00
2026-09-07 22:47:33 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-03 13:24:04 -07:00
2026-09-03 01:33:18 +05:30
2026-09-03 13:49:57 -07:00
2026-09-03 13:30:27 -07:00
2026-09-09 12:17:13 +05:30
2026-09-03 13:49:57 -07:00
2026-09-09 12:17:13 +05:30
2026-09-03 14:00:59 -07:00
2026-08-28 06:36:22 -07:00
2026-09-01 22:28:52 -07:00
refactor(tools): first-wave simplification of tools/ (file ops split, lazy_deps, code_exec, approval, browser, delegate, mcp, skills, terminal, voice, media)
2026-09-02 14:43:45 -07:00
2026-09-10 02:21:15 +05:30
2026-09-09 10:55:32 -07:00
2026-09-06 05:03:20 -07:00
2026-08-27 07:38:53 -07:00
2026-08-30 05:16:10 -07:00
2026-09-06 02:20:49 -07:00
2026-09-06 10:36:08 -07:00
2026-09-03 02:35:37 -07:00
2026-09-07 05:57:26 -07:00
2026-09-07 08:08:41 -07:00
2026-09-08 02:26:05 +05:30
2026-09-08 13:38:18 -07:00
2026-09-07 07:10:28 -07:00
2026-08-31 01:02:42 -07:00
2026-09-07 06:15:43 -07:00
2026-09-05 06:18:41 -07:00
2026-09-01 12:07:52 -07:00
2026-09-08 02:26:05 +05:30
2026-09-03 19:33:28 -07:00
2026-08-29 18:23:07 -07:00
2026-08-31 21:11:11 -05:00
2026-09-09 02:36:00 -07:00
2026-09-05 21:00:19 +05:30
2026-09-05 18:32:44 +05:30
2026-09-03 13:24:04 -07:00
2026-09-05 21:07:14 +05:30
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-07 07:10:28 -07:00
2026-09-07 06:12:24 -07:00
2026-09-03 13:49:57 -07:00
2026-09-09 11:46:36 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 13:10:52 -07:00
2026-09-05 19:06:57 +05:30
2026-09-03 02:27:52 +05:30
2026-09-03 13:30:27 -07:00
2026-09-03 13:30:27 -07:00
2026-09-03 13:30:27 -07:00
2026-09-05 20:49:29 +05:30
2026-09-07 06:02:41 -07:00
2026-09-07 06:02:41 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:30:27 -07:00
2026-09-05 18:03:05 +05:30
2026-09-03 13:30:27 -07:00
2026-09-07 00:20:11 +05:30
2026-09-03 13:30:27 -07:00
2026-09-03 13:24:04 -07:00
2026-09-08 02:26:39 +05:30
2026-09-10 05:02:41 -07:00
2026-09-03 13:49:57 -07:00
2026-09-07 07:10:28 -07:00
2026-09-03 13:53:03 -07:00
2026-08-28 03:58:52 -07:00
2026-09-03 13:10:38 -07:00
2026-09-09 11:46:36 -07:00
2026-09-02 14:45:15 -07:00
2026-09-03 04:56:59 +05:30
2026-09-03 13:48:14 -07:00
2026-09-07 07:10:28 -07:00
2026-09-07 14:16:57 -07:00
2026-09-03 13:48:14 -07:00
2026-09-09 12:18:58 -07:00
2026-09-07 06:05:51 -07:00
2026-09-02 00:03:55 -07:00
2026-09-03 13:30:27 -07:00
2026-08-31 20:43:00 -05:00
2026-09-03 14:00:59 -07:00
2026-09-03 14:00:59 -07:00
2026-08-28 07:50:33 -07:00
2026-09-03 13:10:52 -07:00
2026-09-07 14:10:46 -07:00
2026-09-09 11:46:36 -07:00
2026-09-02 22:12:25 -07:00
2026-09-10 02:21:16 +05:30
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-07 08:22:35 -07:00
2026-09-03 13:29:55 -07:00
2026-09-05 17:00:18 -07:00
2026-09-07 22:47:33 +05:30
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-07 07:04:52 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-08-28 20:16:26 -07:00
2026-09-08 17:44:51 -07:00
2026-09-02 14:45:42 -07:00
2026-09-07 08:22:35 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-08-26 08:40:07 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-02 14:44:15 -07:00
2026-09-03 13:29:55 -07:00
2026-09-09 11:27:29 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-09 11:27:29 -07:00
2026-09-10 18:12:39 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:30:27 -07:00
2026-09-09 12:19:13 +05:30
2026-09-05 19:01:22 +05:30
2026-09-07 14:10:46 -07:00
2026-09-03 13:24:04 -07:00
2026-09-07 08:25:33 -07:00
2026-08-28 23:10:01 -07:00
2026-09-03 02:05:42 +05:30
2026-09-03 13:30:27 -07:00
2026-08-28 12:59:41 -07:00
2026-09-03 13:22:48 -07:00
2026-09-03 13:17:25 -07:00
2026-09-01 02:32:53 -07:00
2026-09-09 10:56:37 +05:30
2026-09-07 12:50:29 -07:00
2026-09-02 14:43:45 -07:00
2026-08-28 08:46:11 -07:00
2026-09-03 13:30:27 -07:00
2026-08-28 23:10:01 -07:00
2026-09-10 02:21:16 +05:30
2026-09-01 10:56:49 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 13:10:52 -07:00
2026-09-07 06:12:24 -07:00
2026-09-07 08:14:51 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 04:56:59 +05:30
2026-09-03 03:18:44 +05:30
2026-09-07 14:10:46 -07:00
2026-09-07 00:28:46 +05:30
2026-09-07 00:28:46 +05:30
2026-08-27 07:33:36 -07:00
2026-09-10 18:17:22 -07:00
2026-09-03 13:38:36 -07:00
2026-09-08 17:51:35 +10:00
2026-09-03 13:30:27 -07:00
2026-09-03 13:30:27 -07:00
2026-09-03 13:30:27 -07:00
2026-09-03 13:46:50 -07:00
2026-08-29 17:58:51 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:22:48 -07:00
2026-09-01 07:32:45 -07:00
2026-08-27 07:09:26 -07:00
2026-09-03 13:27:01 -07:00
2026-09-04 08:15:22 -07:00
2026-08-29 19:38:31 +05:30
2026-08-28 12:15:18 -07:00
2026-09-03 13:27:01 -07:00
2026-09-09 12:19:13 +05:30
2026-08-29 19:14:15 -07:00
2026-08-28 03:24:43 -07:00
2026-08-28 03:46:21 -07:00
2026-09-03 13:22:48 -07:00
2026-09-07 07:05:59 -07:00
2026-09-07 05:59:43 -07:00
2026-09-03 13:27:01 -07:00
2026-09-06 07:17:03 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 13:27:01 -07:00
2026-08-30 20:04:40 +05:30
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-02 13:30:10 -07:00
2026-09-06 13:32:51 +05:30
2026-09-06 05:36:26 -07:00
2026-09-03 13:17:25 -07:00
2026-09-03 13:17:25 -07:00
2026-09-03 13:17:25 -07:00
2026-09-07 12:50:29 -07:00
2026-09-10 10:23:12 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 22:00:01 -07:00
2026-08-31 10:42:39 -07:00
2026-09-03 13:24:04 -07:00
2026-09-05 21:00:19 +05:30
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-05 06:30:33 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 14:42:20 -07:00
2026-09-03 13:24:04 -07:00
2026-09-05 18:04:00 +05:30
2026-09-03 13:24:04 -07:00
2026-09-05 13:51:06 -07:00
2026-09-03 13:24:04 -07:00
2026-09-07 07:09:30 -07:00
2026-09-05 13:51:06 -07:00
2026-09-03 13:24:04 -07:00
2026-08-29 20:39:31 -07:00
2026-09-01 21:49:14 -07:00
2026-09-02 23:19:42 -07:00
2026-08-29 07:25:12 -07:00
2026-08-28 08:58:12 -07:00
2026-08-29 18:40:51 -07:00
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
refactor(tools): first-wave simplification of tools/ (file ops split, lazy_deps, code_exec, approval, browser, delegate, mcp, skills, terminal, voice, media)
2026-09-02 14:43:45 -07:00
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:15 +05:30
2026-09-01 21:50:19 -07:00
2026-09-03 13:17:25 -07:00
2026-09-03 13:17:25 -07:00
2026-09-03 13:17:25 -07:00
2026-09-03 13:17:25 -07:00
2026-09-07 08:09:20 -07:00
2026-09-05 18:46:16 +05:30
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 00:51:58 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-02 06:48:31 -07:00
2026-09-02 14:45:15 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-02 14:45:15 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-08-28 05:10:33 -07:00
2026-08-28 05:10:33 -07:00
2026-08-28 05:10:33 -07:00
2026-09-09 11:46:36 -07:00
2026-09-03 00:57:40 -07:00
2026-09-03 13:07:34 -07:00
2026-09-03 13:30:31 -07:00
2026-09-03 09:35:38 -07:00
2026-09-03 13:30:31 -07:00
2026-09-03 13:30:31 -07:00
2026-09-03 13:24:36 -07:00
2026-09-03 13:30:27 -07:00
2026-09-03 13:08:53 -07:00
2026-09-01 10:56:49 -07:00
2026-09-03 13:08:53 -07:00
2026-08-31 00:56:41 -07:00
2026-08-31 00:56:41 -07:00
2026-08-31 00:56:41 -07:00
2026-08-31 00:56:41 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 13:08:53 -07:00
2026-09-03 13:04:17 -07:00
2026-09-04 07:17:00 -07:00
2026-09-03 13:08:53 -07:00
2026-09-03 13:08:53 -07:00
2026-09-03 13:22:48 -07:00
2026-09-02 14:44:15 -07:00
2026-09-03 17:28:02 -07:00
2026-09-03 13:10:52 -07:00
2026-09-05 02:01:04 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 13:49:57 -07:00
2026-09-07 04:38:59 -07:00