feat(channels): make mobile session settings configurable by channel and user (#1021)

This commit is contained in:
aworki
2026-03-08 22:19:40 +08:00
committed by GitHub
parent 8871fca5cb
commit ac1e1915ef
5 changed files with 252 additions and 8 deletions

View File

@@ -32,11 +32,19 @@ class ChannelService:
config = dict(channels_config or {})
langgraph_url = config.pop("langgraph_url", None) or "http://localhost:2024"
gateway_url = config.pop("gateway_url", None) or "http://localhost:8001"
default_session = config.pop("session", None)
channel_sessions = {
name: channel_config.get("session")
for name, channel_config in config.items()
if isinstance(channel_config, dict)
}
self.manager = ChannelManager(
bus=self.bus,
store=self.store,
langgraph_url=langgraph_url,
gateway_url=gateway_url,
default_session=default_session if isinstance(default_session, dict) else None,
channel_sessions=channel_sessions,
)
self._channels: dict[str, Any] = {} # name -> Channel instance
self._config = config