Architecture: How to transform Vitto from reactive chatbot to autonomous m...
Documentation for Sessions
🏗️ Architecture: How to transform Vitto from reactive chatbot to autonomous m...
Date: 2026-03-04
Time: 04:31:13 UTC
Session: gspace1-174.4
Agent: angular
Confidence: 90%
Status: ✅ Documented
📋 Decision Context
Question:
How to transform Vitto from reactive chatbot to autonomous messaging agent with identity, groups, proactive outreach, and VM-powered data gathering?
Task: Session 174: Vitto Autonomous Messaging Agent enhancement
🎯 Decision Made
Chosen:
5-phase additive architecture: (1) VittoIdentity schema + service in messaging-core for tiered per-space identity, (2) GroupOrchestrationService + WhatsApp Cloud API + Telegram + Slack group services, (3) ScheduledMessageQueueService + ProactiveReachService + MilestoneNotificationService, (4) Wire existing SnapshotService into ComputerUseLoop with persistentVm flag, (5) Agent mesh groups via SubAgentService + EventBus agent events
Options Considered:
- No alternatives documented
💭 Reasoning
Key design principle: VMs for hands (GUI interaction), APIs for voice (messaging). Never automate messaging UIs via computer use — too slow (5-30s/msg), too expensive ($0.01-0.05/msg), too fragile. Used tiered identity model (free=platform credentials, premium=BYOT) for scalable multi-tenant support. Built WhatsApp Cloud API and Telegram services in parallel per user request. All changes ADDITIVE — no existing code removed. 13 new files, 14 enhanced files, 0 files replaced.
📁 Files Involved
libs/libs-api/messaging-core/src/lib/schemas/vitto-identity.schema.tslibs/libs-api/messaging-core/src/lib/services/vitto-identity.service.tslibs/libs-api/messaging-core/src/lib/services/whatsapp-cloud-api.service.tslibs/libs-api/messaging-core/src/lib/services/telegram-group.service.tslibs/libs-api/messaging-core/src/lib/services/slack-channel-manager.service.tslibs/libs-api/messaging-core/src/lib/schemas/group-conversation.schema.tsAPIs/backend-vitto-api/src/app/connectivity/group-orchestration.service.tsAPIs/backend-vitto-api/src/app/connectivity/channel-gateway.service.tsAPIs/backend-vitto-api/src/app/engine/vitto.controller.tsAPIs/backend-vitto-api/src/app/tools/tool-registry.service.tsAPIs/backend-ai-api/src/app/infrastructure/services/sandbox/sandbox-provider.interface.tsAPIs/backend-ai-api/src/app/infrastructure/services/computer-use-loop.service.ts
🔗 Related
- Decision ID:
dev_1772598673361_nntn9w0 - Session: 174
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation