Files
Tara Menon a694757b6f feat(gateway): full Telegram+Discord integration with agent loop
Complete multi-platform gateway wiring:

config:
- [platform.telegram] section with bot_token
- [platform.discord] section with bot_token + guild_id
- Threaded through GyandootConfig → AgentConfig via typed structs

gateway:
- GatewayRunner::new(platforms) takes Vec<Box<dyn Platform>>
- start() spawns all platform pollers, merges receivers
- serve(agent) runs full message loop: receive → access control →
  typing indicator → session_turn() → platform.send()
- Ctrl+C graceful shutdown via tokio::select!

cmd_serve now:
1. Loads config, creates agent
2. Builds Telegram + Discord adapters from config
3. Starts gateway pollers
4. Enters serve loop until Ctrl+C
2026-06-12 16:52:28 +05:30

24 lines
764 B
TOML

[package]
name = "gyandoot-gateway"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "GyanDoot v2 — Gateway for platform sessions, routing, streaming"
[dependencies]
gyandoot-core = { path = "../gyandoot-core" }
gyandoot-memory = { path = "../gyandoot-memory" }
gyandoot-providers = { path = "../gyandoot-providers" }
gyandoot-platform = { path = "../gyandoot-platform" }
gyandoot-agent = { path = "../gyandoot-agent" }
tokio.workspace = true
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
anyhow.workspace = true
tracing.workspace = true
uuid.workspace = true
chrono.workspace = true
async-trait.workspace = true
reqwest = { workspace = true, features = ["json"] }
futures.workspace = true